%% BioMed_Central_Tex_Template_v1.06
%%                                      %
%  bmc_article.tex            ver: 1.06 %
%                                       %

%%IMPORTANT: do not delete the first line of this template
%%It must be present to enable the BMC Submission system to
%%recognise this template!!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                     %%
%%  LaTeX template for BioMed Central  %%
%%     journal article submissions     %%
%%                                     %%
%%          <8 June 2012>              %%
%%                                     %%
%%                                     %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                                                 %%
%% For instructions on how to fill out this Tex template           %%
%% document please refer to Readme.html and the instructions for   %%
%% authors page on the biomed central website                      %%
%% http://www.biomedcentral.com/info/authors/                      %%
%%                                                                 %%
%% Please do not use \input{...} to include other tex files.       %%
%% Submit your LaTeX manuscript as one .tex document.              %%
%%                                                                 %%
%% All additional figures and files should be attached             %%
%% separately and not embedded in the \TeX\ document itself.       %%
%%                                                                 %%
%% BioMed Central currently use the MikTex distribution of         %%
%% TeX for Windows) of TeX and LaTeX.  This is available from      %%
%% http://www.miktex.org                                           %%
%%                                                                 %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% additional documentclass options:
%  [doublespacing]
%  [linenumbers]   - put the line numbers on margins

%%% loading packages, author definitions

\documentclass[twocolumn]{bmcart}% uncomment this for twocolumn layout and comment line below
%\documentclass{bmcart}

%%% Load packages
\usepackage{amsthm,amsmath}
\RequirePackage{natbib}
%\RequirePackage[authoryear]{natbib}% uncomment this for author-year bibliography
\RequirePackage{hyperref}
\usepackage[utf8]{inputenc} %unicode support
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage{url}
\usepackage[switch]{lineno}
\linenumbers 
%\usepackage[applemac]{inputenc} %applemac support if unicode package fails
%\usepackage[latin1]{inputenc} %UNIX support if unicode package fails
\linespread{1.6}
  




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                             %%
%%  If you wish to display your graphics for   %%
%%  your own use using includegraphic or       %%
%%  includegraphics, then comment out the      %%
%%  following two lines of code.               %%
%%  NB: These line *must* be included when     %%
%%  submitting to BMC.                         %%
%%  All figure files must be submitted as      %%
%%  separate graphics through the BMC          %%
%%  submission process, not included in the    %%
%%  submitted article.                         %%
%%                                             %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%\def\includegraphic{}
%\def\includegraphics{}



%%% Put your definitions there:
\startlocaldefs
\endlocaldefs


%%% Begin ...
\begin{document}
%%% Start of article front matter
\begin{frontmatter}

\begin{fmbox}
\dochead{Research}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                          %%
%% Enter the title of your article here     %%
%%                                          %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\title{Joint multi-domain feature learning for image steganalysis based on CNN}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                          %%
%% Enter the authors here                   %%
%%                                          %%
%% Specify information, if available,       %%
%% in the form:                             %%
%%   <key>={<id1>,<id2>}                    %%
%%   <key>=                                 %%
%% Comment or delete the keys which are     %%
%% not used. Repeat \author command as much %%
%% as required.                             %%
%%                                          %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\author[
addressref={aff1, aff2},
                   % id's of addresses, e.g. {aff1,aff2}
%   corref={aff1},                       % id of corresponding address, if any
%   noteref={n1},                        % id's of article notes, if any
%   email={wangze123@bupt.edu.cn}   % email address
]{\fnm{Ze} \snm{Wang}}
\author[
   addressref={aff3}
]{\fnm{Mingzhi} \snm{Chen}}
\author[
addressref={aff2,aff1},
email={yangyu@bupt.edu.cn}
]{\fnm{Yu} \snm{Yang}}
\author[
addressref={aff2,aff1}
]{\fnm{Min} \snm{Lei}}
\author[
addressref={aff4}
]{\fnm{Zhexuan} \snm{Dong}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                          %%
%% Enter the authors' addresses here        %%
%%                                          %%
%% Repeat \address commands as much as      %%
%% required.                                %%
%%                                          %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\address[id=aff1]{%                           % unique id
  \orgname{State Key Laboratory of Public Big Data, Guizhou University}, % university, etc
  %\street{Waterloo Road},                     %
  \postcode{550025}                                % post or zip code
  \city{Guizhou Guiyang},                              % city
  \cny{China}                                    % country
}
\address[id=aff2]{%
  \orgname{Laboratory of Cyberspace Security, Beijing University of Posts and Telecommunications},
  %\street{D\"{u}sternbrooker Weg 20},
  \postcode{100876}
  \city{Beijing},
  \cny{China}
}
\address[id=aff3]{%
\orgname{College of New Media, Beijing Institute of Graphic Communication},
%\street{D\"{u}sternbrooker Weg 20},
\postcode{102600}
\city{Beijing},
\cny{China}
}
\address[id=aff4]{%
\orgname{Department of Computer Science, University of California, Irvine},
%\street{D\"{u}sternbrooker Weg 20},
\postcode{92697}
\city{CA},
\cny{U.S.}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                          %%
%% Enter short notes here                   %%
%%                                          %%
%% Short notes will be after addresses      %%
%% on first page.                           %%
%%                                          %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{artnotes}
%\note{Sample of title note}     % note to the article
%\note[id=n1]{Equal contributor} % note, connected to author
\end{artnotes}

%\end{fmbox}% comment this for two column layout

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                          %%
%% The Abstract begins here                 %%
%%                                          %%
%% Please refer to the Instructions for     %%
%% authors on http://www.biomedcentral.com  %%
%% and include the section headings         %%
%% accordingly for your article type.       %%
%%                                          %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{abstractbox}

\begin{abstract} % abstract
%\parttitle{First part title} %if any
Recently steganalysis methods based on convolutional neural networks (CNN) have achieved great improvement. However, detection against adaptive steganographic algorithms with low embedding rates has still been a challenging task. To deal with this problem, we propose a CNN steganalysis model employing the joint domain detection mechanism and nonlinear detection mechanism. For the joint domain detection mechanism, we use not only the high-pass filters from the SRM for spatial residuals, but also the patterns from the DCTR for frequency steganographic impacts. For the nonlinear detection mechanism, we enlarge steganographic effects by nonlinearly transforming the extracted steganographic residual information. In addition, we innovatively put forward a model learning method based on the high learning ability of a model. That is, we use lower embedding rate image datasets to train a model and higher embedding rate image datasets to test the model, which effectively improves sensitivity to steganographic traces. Compared with the existing steganalysis models such as SRM+EC, Ye-Net, Xu-Net, Yedroudj-Net and Zhu-Net, the detection accuracy of our model is about 4\%$\sim$6\% higher than that of the best Zhu-Net model.

%\parttitle{Second part title} %if any
%Text for this section.
\end{abstract}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                          %%
%% The keywords begin here                  %%
%%                                          %%
%% Put each keyword in separate \kwd{}.     %%
%%                                          %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{keyword}
\kwd{Image steganalysis}
\kwd{Convolutional neural networks}
\kwd{Feature learning}
\kwd{Joint domain}
\kwd{Nonlinear detection}
\end{keyword}

% MSC classifications codes, if any
%\begin{keyword}[class=AMS]
%\kwd[Primary ]{}
%\kwd{}
%\kwd[; secondary ]{}
%\end{keyword}

\end{abstractbox}
%
\end{fmbox}% uncomment this for twcolumn layout

\end{frontmatter}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                          %%
%% The Main Body begins here                %%
%%                                          %%
%% Please refer to the instructions for     %%
%% authors on:                              %%
%% http://www.biomedcentral.com/info/authors%%
%% and include the section headings         %%
%% accordingly for your article type.       %%
%%                                          %%
%% See the Results and Discussion section   %%
%% for details on how to create sub-sections%%
%%                                          %%
%% use \cite{...} to cite references        %%
%%  \cite{koon} and                         %%
%%  \cite{oreg,khar,zvai,xjon,schn,pond}    %%
%%  \nocite{smith,marg,hunn,advi,koha,mouse}%%
%%                                          %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%% start of article main body
% <put your article body there>

%%%%%%%%%%%%%%%%
%% Background %%
%%
\section*{Introduction}
Steganalysis~\cite{ref_article38} and information hiding are restricted and promoted mutually~\cite{ref_article39}, ~\cite{ref_article40}. And there is a more hopeful prospect to carry out the steganalysis work. 

Image steganography is a technique that hides secret messages in images. In the frequency domain, the image is converted to frequency domain by discrete cosine transform (DCT)~\cite{ref_article1}, discrete wavelet transform (DWT)~\cite{ref_article2} and so on. Then the secret messages are embedded in the transformation coefficients. The popular algorithms are J-UNIWARD~\cite{ref_article3}, nsF5~\cite{ref_article4}, UED~\cite{ref_article5}, UERD~\cite{ref_article6}. In the spatial domain, the steganography algorithm is characterized by directly changing the pixels. The typical algorithms are the least significant bit (LSB)~\cite{ref_article7,ref_article8}, LSB matching~\cite{ref_article9}, pixel-value differencing (PVD)~\cite{ref_article10}. The above algorithms can be regarded as the non-adaptive steganography algorithms. The adaptive steganography algorithms has been proved to have better performance. Currently popular adaptive algorithms are edge adaptive image steganography (EA)~\cite{ref_article11}, HUGO~\cite{ref_article12}, HILL~\cite{ref_article13}, MiPOD~\cite{ref_article14}, S-UNIWARD~\cite{ref_article3}. Now the security of steganography algorithms keeps on increasing~\cite{ref_article35}, ~\cite{ref_article36}, ~\cite{ref_article37}, so the detection encounters more challenges.

The traditional steganographic analysis is mainly based on the manual feature extraction including gray level co-occurence matrix (GLCM)~\cite{ref_article15}, Local Binary Patterns~\cite{ref_article16} and so on. The Spatial Rich Model (SRM)~\cite{ref_article17} is one of the most successful spatial steganographic detection algorithm. For a long time, scholars propose lots of steganographic analysis algorithms with SRM’s ideas, so there is no major steganographic analysis achievements.

With the development of Graphics Processing Unit (GPU) parallel computing and deep learning, scholars hold a view that learning characteristics from the data itself can be more effective and gradually achieve it. In 2014, Tan and Li~\cite{ref_article18} proposed the first steganalysis model that applied deep learning techniques. In 2015, Qian et al.~\cite{ref_article19} proposed the first convolutional neural network model using supervised learning methods. In 2016, Xu et al.~\cite{ref_article20} proposed a CNN model similar to Qian’s model. The difference was that they used an absolute value layer (ABS) and a 1x1 convolution kernel. At this time, Qian et al.~\cite{ref_article21} proposed to use the idea of transfer learning to improve the feature learning. The above models were all implemented in the spatial domain. In 2017, there were many steganographic analysis achievements in the frequency domain. Zeng et al.~\cite{ref_article22,ref_article23} proposed a JPEG-based steganographic analysis model. Xu et al.~\cite{ref_article24}, inspired by ResNet, proposed a new CNN model consisting of 20 convolutional layers with BN. Ye et al.~\cite{ref_article25} proposed a spatial domain CNN model. And they added a truncated linear unit (TLU) activation function to the preprocessing layer. The main trend in 2017 was to optimize the convolutional neural network architecture through ResNet~\cite{ref_article26}, and draw on the feature extraction method of SRM. In 2018, Yedroudj et al.~\cite{ref_article27} proposed a spatial domain CNN model consisting of five convolutional layers. In addition to the traditional image datasets BOSSBass~\cite{ref_article28}, they added the BOWS2~\cite{ref_article29} image datasets. Tsang et al.~\cite{ref_article30} improved Ye's network model, which made the model perform steganalysis on high-resolution images. Zhang et al.~\cite{ref_article31} proposed a new CNN model, and they used the depth separable convolution network and spatial pyramid pooling (SPP) to obtain the channel correlation and adapt to different sizes of images. 

The nonlinear characteristic of SRM has the perfect theoretical research achievement, but it has not been applied. The research shows that the combination of spatial and frequency domain information can be more conducive to detect spatial steganographic feature, but this idea has not been applied. Previous studies have shown that different embedding rate steganography operations have similar influence modes of image neighboring pixel correlation, but this idea has not been used by most people.

In this paper, we propose a novel spatial domain steganalysis model called Wang-Net. It has the following characteristics:

(1) We firstly apply the joint domain detection mechanism, which can effectively improve the detection performance.

(2) We firstly apply the nonlinear feature detection mechanism, and extracts the nonlinear features by performing MinMax nonlinear operations on the residual information.

(3) We propose and apply a novel model transfer learning method, that is, we use low embedding rate images to train high learning ability model, and use high embedding rate images to verify and test.

The rest of this article is organized as follows. In Section 2, we introduce the SRM in the spatial domain and the DCTR in the frequency domain. In Section 3, we propose our CNN model. Our simulational results and analysis are in Section 4. Finally, we made a summary in Section 5. %\cite{koon,oreg,khar,zvai,xjon,schn,pond,smith,marg,hunn,advi,koha,mouse}

\section*{Preliminaries}
We mainly extract feature information through HPFs from SRM and DCT patterns from DCTR. The contents of SRM and DCTR are as follows.
\subsection*{SRM}
We can see the feature extraction method of SRM steganalysis in Fig.~\ref{fig1}. Firstly, the residual map submodels are obtained by the high-pass filter, then the fourth-order co-occurrence matrix of each residual map submodel is extracted by quantization, rounding and truncation. Finally, the elements of these co-occurrence matrices are rearranged to form the steganalysis feature vector.

Scholars have designed a variety of HPFs in SRM, and they use them to generate the residual map submodel, which is as follows:
\begin{equation}
R_{mn}=pred(N_{mn})-cI_{mn}
\end{equation}

Where $c$ is called the residual order, $m$ and $n$ represent the pixel coordinates, $N_{mn}$ is the adjacent pixel of $I_{mn}$, and $pred(N_{mn})$ is the predictor of $cI_{mn}$. Generally, the number of pixels in $N_{mn}$ is equal to $c$.

The residuals mainly include first-order, second-order, third-order, SQUARE, EDGE3x3 and EDGE5x5 six types, and each type of residuals is divided into linear filtering residuals and nonlinear filtering residuals. The typical residuals and high-pass filters can be seen in Table~\ref{tab1}, Eq.(\ref{equ2}), Eq.(\ref{equ3}), Eq.(\ref{equ4}). The residuals in the horizontal, vertical, diagonal, and anti-angular directions are denoted as $R^h$,$R^v$,$R^d$,$R^m$.

\begin{equation}\label{equ2}
\begin{aligned}%长公式换行对齐
R_{ij}^{min} = min({R_{ij}^{h},R_{ij}^{v},R_{ij}^{d},R_{ij}^{m}}),\\
R_{ij}^{max} = max({R_{ij}^{h},R_{ij}^{v},R_{ij}^{d},R_{ij}^{m}})
\end{aligned}
\end{equation}
\begin{equation}\label{equ3}
\left[ {\begin{array}{ccc}
	-1 & 2 & -1\\
	2 & -4 & 2\\
	-1 & 2 & -1\\
	\end{array} } \right],
\left[ {\begin{array}{ccccc}
	-1 & 2 & -2 & 2 & -1\\
	2 & -6 & 8 & -6 & 2\\
	-2 & 8 & -12 & 8 & -2\\
	2 & -6 & 8 & -6 & 2\\
	-1 & 2 & -2 & 2 & -1\\
	\end{array} } \right]
\end{equation}
\begin{equation}\label{equ4}
\left[ {\begin{array}{cc}
	2 & -1\\
	-4 & 2\\
	2 & -1\\
	\end{array} } \right],
\left[ {\begin{array}{ccc}
	-2 & 2 & -1\\
	8 & -6 & 2\\
	-12 & 8 & -2\\
	8 & -6 & 2\\
	-2 & 2 & -1\\
	\end{array} } \right]
\end{equation}

For the linear residual, Table~\ref{tab1} has given the calculation method of the first-order, second-order, third-order linear residuals. It is not difficult to find that the linear residuals of SQUARE, EDGE3x3 and EDGE5x5 only use more directional neighborhood pixels in the calculation. The SQUARE, EDGE3x3 and EDGE5x5 high-pass filters are shown in Eq.(\ref{equ3}) and Eq.(\ref{equ4}). In fact, the linear residual calculation method can be converted to the convolution operation:
\begin{equation}\label{equ5}
R = I * K = (R_{ij}) = (\sum_{r,c} x_{i,j}^{r,c}k^{r,c})
\end{equation}

Where $i$, $j$ are the pixel coordinates, and $r$, $c$ are the index of the kernel.

As shown in Eq.(\ref{equ2}), the nonlinear residual can be obtained by finding the maximum or minimum of some linear filtering residuals. As shown in Table 1, we take the first-order linear residual as the residual prototype, there are totally eight first-order linear residuals:

\begin{equation}\label{equ6}
\begin{aligned}%长公式换行对齐
R_{ij} = &\{y_{i,j+1}-y_{ij}, y_{i+1,j+1}-y_{ij}, y_{i+1,j-1}-y_{ij},\\
&y_{i,j+1}-y_{ij},y_{i,j-1}-y_{ij}, y_{i-1,j+1}-y_{ij},\\ &y_{i-1,j}-y_{ij}, y_{i-1,j-1}-y_{ij}\}
\end{aligned}
\end{equation}

Then the first-order nonlinear residual is:
\begin{equation}\label{equ7}
R_{ij}^{min} = min\{R_{ij}\}
\end{equation}
\begin{equation}\label{equ8}
R_{ij}^{max} = max\{R_{ij}\}
\end{equation}

The nonlinear residuals combine the statistical characteristics of the same kind of linear residuals, which fully reflect the adjacent pixels correlation changes in image caused by the steganography, and have extremely high application value.

\subsection*{DCTR}
In the frequency domain, the discrete cosine transform Residual (DCTR)~\cite{ref_article32} is a general steganographic detection algorithm. The steps of its feature processing are as follows:

(1) Obtain 64 8x8 DCT bases patterns by calculation, then obtain feature maps by convoluting the decompressed JPEG image with the DCT basis patterns. 

(2) Obtain the sub-feature maps by quantifying and truncating the raw feature maps. 

(3) Compress the sub-feature maps as a 8000 dimensional feature vector. 

In the above steps, the DCT basic patterns are 8x8 matrices,$B^{(i,j)}=(B_{mn}^{(i,j)})$,\\0$\le$m,n$\le$7, and $B_{mn}^{(i,j)}$ is calculated as follows:
\begin{equation}\label{equadd}
B_{mn}^{(i,j)} = \frac{u_iu_j}{4}cos\frac{\pi i(2m+1)}{16}cos\frac{\pi j(2n+1)}{16}
\end{equation}

Where $u_0=\frac{1}{\sqrt{2}}$,$u_k=1$ for $k>0$.

DCT is defined as the convolution operation of the image and 64 DCT basic patterns $B^{(i,j)}$. In order to better understand DCT, we set the length and width of all images to a multiple of 8. Given a grayscale image $I\in R^{M\times N}$ of size $M\times N$ ($M$, $N$ is a multiple of 8):
\begin{equation}\label{equ9}
U(I) = \{U^{(i,j)}|0\le i,j\le 7\}
\end{equation}
\begin{equation}\label{equ10}
U^{i,j} = I * B^{i,j}
\end{equation}

Where $U^{(i,j)}\in R^{(M-7)\times(N-7)}$, $\ast$ denotes a non-padded convolution operation.

\section*{Method}
As shown in Fig.~\ref{fig2}, our network model applies the joint domain and nonlinear detection mechanism. In the process of feature extraction, we simulate the SRM feature extraction method in the spatial domain and the DCTR feature extraction method in the frequency domain, and increase the extraction method of nonlinear residual features. we design nine different convolution layers. We also design the fully connected layer as the tenth layer for steganographic detection.
\subsection*{Nonlinear detection and joint domain detection mechanism in preprocessing layer}
We apply the joint domain detection mechanism, that is, now our feature extraction method combines the advantages of spatial and frequency domain feature extraction methods. And the image spatial residual feature is obtained by SRM HPFs, the image frequency domain feature information is obtained by DCT patterns. At the same time, based on the more comprehensive characteristics of nonlinear residual statistical features, we apply the nonlinear detection mechanism.

First, we compare the proposed nonlinear detection mechanism with the commonly used spatial linear detection method. We use six types of SRM HPFs including the first-order, second-order, third-order, SQUARE, EDGE3x3, and EDGE5x5, whose amounts of high-pass filters are 8, 4, 8, 2, 4, and 4, respectively. And we obtain 30 linear residual feature maps through 30 high-pass filters. SQUARE is divided into SQUARE3x3 and SQUARE5x5, and SQUARE3x3 and EDGE3x3 belong to the same category in essence. So there are two nonlinear residual feature maps in SQUARE3x3 and EDGE3x3. There are also two nonlinear residual feature maps in SQUARE5x5 and EDGE5x5. And we obtain a total of 10 nonlinear residual feature maps by statistics. We did the steganalysis simulations on the single linear residual feature net (Linear Kernel-Net) and nonlinear residual feature net (Non-linear Kernel-Net).


According to Table~\ref{tab2}, we know that the accuracy of Non-linear Kernel-Net is about 2\%$\sim$6\% lower than that of Linear Kernel-Net in the simulations. We believe that our nonlinear residual features roughly calculate the maximum and minimum values of each type of linear residual features, and do not consider the distribution characteristics of residual feature values. Therefore, the adjacent pixel correlation changes in the image caused by steganography are not comprehensively reflected, that is, the advantage of the nonlinear residual feature is not fully utilized. However, the accuracy of Non-linear Kernel-Net is higher than that of CNN Steganography Analysis Network Ye-Net, indicating that Non-linear Kernel-Net still has good competition and can enhance the feature representation. Therefore, we add linear and nonlinear residual features to our network named All Kernel-Net.


According to the information in Table~\ref{tab3}, All Kernel-Net has better steganographic analysis performance than Linear Kernel-Net and Non-linear Kernel-Net. In the WOW and S-UNIWARD steganography algorithms with the embedding rate of 0.2, the steganographic analysis accuracy of All Kernel-Net is about 0.3\%$\sim$\%6 higher than that of Linear Kernel-Net and Non-linear Kernel-Net, and All Kernel-Net has no significant effect. Compared with the high embedding rate steganographic analysis accuracy, we know that this situation is mainly caused by too little embedded secret information. And All Kernel-Net combine the advantages of linear and nonlinear residual features, and has great steganalysis effect.

Based on All Kernel-Net, we apply the idea of joint domain detection and simulate the feature extraction method DCTR in the frequency domain, and we add it to the network.

According to the domain knowledge, small convolution kernels can effectively reduce the parameters scale, besides, matrix operations can take full advantage of the parallel computing of GPU. Therefore, we use a matrix with the channel number of 94 and the size of 5x5 instead of 94 convolution kernels, and initialize the matrix directly with DCT Patterns and HPFs. At this point, the calculation formula for the new DCT patterns is modified as follows:
\begin{equation}\label{equ11}
B_{mn}^{(i,j)} = \frac{u_iu_j}{5}cos\frac{\pi i(2m+1)}{10}cos\frac{\pi j(2n+1)}{10}
\end{equation}

Where $u_0=1$,$u_k=\sqrt{2}$ for $k>0$, $0\le m,n\le4$, $0\le i,j\le7$.

In this way, we add the matrix initialized by DCT Patterns and HPFs to the preprocessing layer. This network is called Wang-Net that combines the advantages of linear and nonlinear feature extraction in the spatial and frequency domains. We did the steganalysis simulation.
According to the results, after combining the advantages of frequency domain feature extraction, Wang-Net's steganographic analysis accuracy for WOW and S-UNIWARD is about 2\%$\sim$3\% higher than All Kernel-Net. It strongly shows that the steganography effect of Wang-Net has been greatly improved.

Therefore, our network model finally applies the joint domain and nonlinear detection mechanism to simulate the extraction of spatial domain, frequency domain, linear and nonlinear steganographic features.
\subsection*{Detailed design in network architecture}
Our network receives an image of size 256x256 and outputs two types of labels. The CNN has a number of layers, including a pre-processing layer, eight convolutional layers for feature extraction, and a fully connected layer for result classification.
%\begin{figure}
%	\centering
%	\includegraphics[width=\textwidth]{net.eps}
%	\caption{Detailed structure of the network.} \label{fig3}
%\end{figure}
In the preprocessing layer, we use a convolution kernel with the channel number of 94 and the size of 5x5, which is initialized by the SRM filters and DCT Patterns.

In the feature extraction process, 3x3 convolution kernels are used in layers 2, 3, 4, 8, and 9, and 5x5 convolution kernels are used in layers 5, 6, and 7. In each convolutional layer, we add BN, ReLU and TLU nonlinear activation functions. And we also add average pooling to the 4, 5 and 6 convolutional layers.

\section*{Experiments}
\subsection*{The environments}
In the simulation, we applied two well-known content adaptive steganography algorithms to evaluate the performance of the CNN models, which are WOW and S-UNIWARD. We use the Matlab code of these steganographic algorithms to implement image steganography. As proposed in other steganalysis papers, we use a randomly embedded key when applying the steganography algorithm, which is also in line with the actual steganography situation.
\subsection*{Datasets}
The datasets used in the simulations is the BOSSBase 1.01. BOSSBase 1.01 contains 10,000 512x512 grayscale cover images, which have different texture features and are widely used in steganalysis. Due to the limitations of GPU computing resources, in the simulation, we scale the images of BOSSBase 1.01 to 256x256 (using ‘imresize()’ in matlab, the function parameter remains the default configuration).

In the simulation, we use the steganography algorithm and cover images to generate 10,000 corresponding stego images. We find that the model is too complex and has strong learning ability. In order to prevent overfitting, we need to allocate as lots of datasets as possible for training. Therefore, the data ratio of training datasets, verification datasets and test datasets is 8:1:1.
\subsection*{Implementation details}
We apply the AdaDelta~\cite{ref_article33} to train the network model, which accelerates the convergence of the model. Due to GPU memory limitations, we set the mini-batch size to 16. We use an exponential decay method with a decay rate of 0.95, a decay step of 2000, and an initial learning rate of 0.4. We also use Xavier~\cite{ref_article34} to initialize the weights and biases in all convolution layers.

\section*{Results and discussions}
In this section, we compare the performance of Wang-Net and existing spatial domain steganalysis models, such as SRM+EC, Xu-Net, Ye-Net, Yedroudj-Net, and Zhu-Net. Then we use the idea of transfer learning to give full play to the model's migration ability.

We compare the detection performance of Wang-Net and other steganalysis algorithms. The results are shown in the Table~\ref{tab4}.


According to the results, Wang-Net performance is better than SRM+EC, Xu-Net, Ye-Net, and Yedroudj-Net, but the detection accuracy is about 2\%$\sim$3\% lower than that of Zhu-Net.

Our model has the strong learning ability. Inspired by the idea of transfer learning, we propose a novel migration learning method, that is, we use the datasets with lower embedding rates for training and use the datasets with higher embedding rates for verification and testing. We compare the performance of the networks again.


According to the results in Table~\ref{tab5}, after using our new training mode, the performance of Wang-Net has been greatly improved and has surpassed that of Zhu-Net. Now our CNN model has the best steganalysis detection performance.
\section*{CONCLUSION}
In the field of steganalysis, it is of great significance for applying the CNN. In this paper, we propose a CNN steganalysis model with three great advantages. In the first place, we pioneer the joint domain detection mechanism, and simulate the manual feature extraction method in the spatial and frequency domain to solve the spatial steganographic analysis problem. Furthermore, we creatively apply the nonlinear feature detection mechanism to the network. The nonlinear features are obtained by nonlinear transformation of the linear residual features, which synthesizes the characteristics and more fully reflects the change of the adjacent pixel correlation caused by the steganography. What’s more, we apply a novel model migration learning method. According to the characteristics of high learning ability of Wang-Net, we propose a model migration learning method, which uses low embedding rate images for training and high embedding rate images for testing. The learning method makes our model fully adapt to the distribution characteristics of embedded information. A large number of simulations have proved that our model has the best steganographic analysis detection performance. However, the nonlinear feature extraction method of our model is too rough. And our model is not suitable for steganalysis of color image. These issues will be addressed in further research.

\section*{Declarations}
\subsection*{Availability of data and material}
The datasets generated or analysed during the current study are available in the [BOSSBase] repository, [http://agents.fel.cvut.cz/boss/index.php?mode=VIE W \&tmpl=materials]
\subsection*{Competing interests}
The authors declare that they have no competing interests.
\subsection*{Funding}
Supported by the National Key R\&D Program of China(2017YFB0802703), Major Scientific and Technological Special Project of Guizhou Province (20183001), Open Foundation of Guizhou Provincial Key Laboratory of Public Big Data (2018BDKFJJ014), Open Foundation of Guizhou Provincial Key Laboratory of Public Big Data (2018BDKFJJ019) and Open Foundation of Guizhou Provincial Key Laboratory of Public Big Data (2018BDKFJJ022).
\subsection*{Author's contributions}
Yu Yang and Ze Wang designed the algorithm, Ze Wang carried out the experiments and wrote the manuscript. Yu Yang, Mingzhi Chen, Min Lei gave the suggestions on the structure of manuscript and participated in modifying. Zhexuan Dong read and approved the final manuscript.
\subsection*{Acknowledgements}
The authors thank the editor and anonymous reviewers for their helpful comments and valuable suggestions.
\subsection*{Authors' information}
Not applicable.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                          %%
%% Backmatter begins here                   %%
%%                                          %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{backmatter}
		

	
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	%%                  The Bibliography                       %%
	%%                                                         %%
	%%  Bmc_mathpys.bst  will be used to                       %%
	%%  create a .BBL file for submission.                     %%
	%%  After submission of the .TEX file,                     %%
	%%  you will be prompted to submit your .BBL file.         %%
	%%                                                         %%
	%%                                                         %%
	%%  Note that the displayed Bibliography will not          %%
	%%  necessarily be rendered by Latex exactly as specified  %%
	%%  in the online Instructions for Authors.                %%
	%%                                                         %%
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
	% if your bibliography is in bibtex format, use those commands:
	\bibliographystyle{bmc-mathphys} % Style BST file (bmc-mathphys, vancouver, spbasic).
	\bibliography{111}      % Bibliography file (usually '*.bib' )
	% for author-year bibliography (bmc-mathphys or spbasic)
	% a) write to bib file (bmc-mathphys only)
	% @settings{label, options="nameyear"}
	% b) uncomment next line
	%\nocite{label}
	
	% or include bibliography directly:
	% \begin{thebibliography}
	% \bibitem{b1}
	% \end{thebibliography}

	
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	%%                               %%
	%% Tables                        %%
	%%                               %%
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
	%% Use of \listoftables is discouraged.
	%%
	\section*{Tables}
		\begin{table*}
			\caption{First-order, second-order, third-order linear residuals in the horizontal direction.}\label{tab1}
			\centering %整个表格居中
			\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll} %textwidth表示整个页面的宽度，@{\extracolsep{\fill}} 就是用来,ccc表示内容居中，有l偏左选项
				\hline
				Residual Type &  HPF & Linear Residual\\
				\hline
				First-order & (1, -1) & $R_{ij}^h = y_{i,j+1}-y_{ij}$\\
				Second-order & (1, -2, 1) & $R_{ij}^h = y_{i,j-1}-2y_{ij}+y_{i,j+1}$\\
				Third-order & (1, -3, 3, -1) & $R_{ij}^h = y_{i,j-1}-3y_{ij}+3y_{i,j+1}-y_{i,j+2}$\\
				\hline
			\end{tabular*}
		\end{table*}
	
		\begin{table*}
			\caption{THE PERFORMANCE OF Linear Kernel-Net, Non-linear Kernel-Net AND Ye-Net ON RESAMPLED IMAGES. THE INVOLVED NETWORKS ARE TRAINED AND TESTED ON BOSSBase.}\label{tab2}
			\centering %整个表格居中
			\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}llll} %textwidth表示整个页面的宽度，@{\extracolsep{\fill}} 就是用来,ccc表示内容居中，有l偏左选项
				\hline
				Algorithms &  Linear Kernel-Net & Non-linear Kernel-Net & Ye-Net\\
				\hline
				WOW(0.2bpp) & 0.710181 & 0.697077 & 0.669\\
				WOW(0.4bpp) & 0.818548 & 0.788306 & 0.768\\
				S-UNIWARD(0.2bpp) & 0.661290 & 0.608871 & 0.600\\
				S-UNIWARD(0.4bpp) & 0.765625 & 0.733871 & 0.688\\
				\hline
			\end{tabular*}
		\end{table*}
	
		\begin{table*}
			\caption{THE PERFORMANCE OF Linear Kernel-Net, Non-linear Kernel-Net AND All Kernel-Net ON RESAMPLED IMAGES. THE INVOLVED NETWORKS ARE TRAINED AND TESTED ON BOSSBase.}\label{tab3}
			\centering %整个表格居中
			\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}llll} %textwidth表示整个页面的宽度，@{\extracolsep{\fill}} 就是用来,ccc表示内容居中，有l偏左选项
				\hline
				Algorithms &  Linear Kernel-Net & Non-linear Kernel-Net & All Kernel-Net\\
				\hline
				WOW(0.2bpp) & 0.710181 & 0.697077 & 0.713710\\
				WOW(0.4bpp) & 0.818548 & 0.788306 & 0.844254\\
				S-UNIWARD(0.2bpp) & 0.661290 & 0.608871 & 0.668851\\
				S-UNIWARD(0.4bpp) & 0.765625 & 0.733871 & 0.791835\\
				\hline
			\end{tabular*}
		\end{table*}
	
		\begin{table*}
			\caption{THE PERFORMANCE OF Wang-Net AND OTHER STEGANALYSIS MODELS ON RESAMPLED IMAGES. THE INVOLVED NETWORKS ARE TRAINED AND TESTED ON BOSSBase.}\label{tab4}
			\centering %整个表格居中
			\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
			\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lllll} %textwidth表示整个页面的宽度，@{\extracolsep{\fill}} 就是用来,ccc表示内容居中，有l偏左选项
				\hline		
				Algorithms &  \tabincell{c}{WOW\\(0.2bpp)} & \tabincell{c}{WOW\\(0.4bpp)} & \tabincell{c}{S-UNIWARD\\(0.2bpp)} & \tabincell{c}{S-UNIWARD\\(0.4bpp)}\\
				\hline
				SRM+EC & 0.635 & 0.745 & 0.634 & 0.753\\
				Xu-Net & 0.676 & 0.793 & 0.609 & 0.728\\
				Ye-Net&0.669&0.768&0.600&0.688\\
				Yedroudj-Net&0.722&0.859&0.633&0.772\\
				Zhu-Net&0.766&0.882&0.719&0.847\\
				Wang-Net&0.748992&0.859879&0.691028&0.818548\\
				\hline
			\end{tabular*}
		\end{table*}
	
		\begin{table*}
			\caption{THE PERFORMANCE OF Wang-Net AND Yedroudj-Net AND Zhu-Net ON RESAMPLED IMAGES. THE INVOLVED NETWORKS ARE TRAINED AND TESTED ON BOSSBase.}\label{tab5}
			\centering %整个表格居中
			\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lllll} %textwidth表示整个页面的宽度，@{\extracolsep{\fill}} 就是用来,ccc表示内容居中，有l偏左选项
				\hline
				Algorithms&Payload&Yedroudj-Net&Zhu-Net&Wang-Net\\
				\hline
				\multirow{3}*{WOW} & 0.2&0.722&0.766&0.811996\\
				~ & 0.3&-&-&0.887601\\
				~ &0.4&0.859&0.882&0.919859\\
				\cline{1-5}
				\multirow{3}*{S-UNIWARD}&0.2&0.633&0.719&0.777218\\
				~&0.3&-&-&0.815020\\
				~&0.4&0.772&0.847&0.888105\\
				\hline
			\end{tabular*}
		\end{table*}

	
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	%%                               %%
	%% Figures                       %%
	%%                               %%
	%% NB: this is for captions and  %%
	%% Titles. All graphics must be  %%
	%% submitted separately and NOT  %%
	%% included in the Tex document  %%
	%%                               %%
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
	%%
	%% Do not use \listoffigures as most will included as separate files
	\section*{Figures}
		\begin{figure*}
			\includegraphics[scale=0.7]{SRM1.eps}
			\caption{\csentence{The feature extraction process of SRM steganalysis.}}
			\label{fig1}
		\end{figure*}
		\begin{figure*}
			\includegraphics{Kernel.eps}
			\caption{\csentence{Integrated structure of the network.}}
			\label{fig2}
		\end{figure*}
	
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	%%                               %%
	%% Additional Files              %%
	%%                               %%
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
	
	
\end{backmatter}

\end{document}
