Home | Resume | My calendar | PublicationsDemo | LSSDLIRMMBase |  PPG-LIRMM-COLOR | Job opportunities | Lecture support | Contact


Yedroudj-Net

FAQ - Yedroudj-Net:

This page gives additional information on the deep neural network Yedroudj-Net, described in the paper:

" Yedrouj-Net: An efficient CNN for spatial steganalysis ", Mehdi YEDROUJ, Frédéric COMBY, and Marc CHAUMONT, proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP'2018, 15–20 April 2018, Calgary, Alberta, Canada, 5 pages.

Copyright licence: Licence Creative Commons. This work is provided by the copyright holder under the terms of Licence Creative Commons Attribution - No Commercial Use - Share under the same Conditions 4.0 International.

You can also find the same files on the Github : https://github.com/yedmed/steganalysis_with_CNN_Yedroudj-Net

Brief description:

Yedroudj-Net is a convolutional neural network implemented using the Caffe toolbox and running on a GPU card. It is composed of 7 blocks, a pre-processing block, five convolutional blocks, and a fully connected block made of three fully connected layers, followed by a softmax (see Figure).

Yedroudj-Net network is designed for steganalysis purpose in a 2 classes scenario (Cover or Stego). The prelimilarly results show better steganalysis performances compared to the state-of-the-art.

Yedroudj-Net overall architectre:

Input image
Size: 1 x 256 x 256

Layer 0: Convolution with 30 filters, size 5×5, stride 1, padding 2
Size: 30 x 256 x 256

Layer 1: Convolution with 30 filters, size 5×5, stride 1, padding 2
Size: 30 x 256 x 256
30 depth because 1 set denotes 1 filter and there are 30 filters

Layer 2: Convolution with 30 filters, size 5×5, stride 1, padding 2
Size: 30 x 256 x 256

Layer 3: Average-Pooling with 5×5 filter, stride 2
Size: 30 x 128 x 128

Layer 4: Convolution with 64 filters, size 3×3, stride 1, padding 1
Size: 32 x 128 x 128

Layer 5: Average-Pooling with 5×5 filter, stride 2
Size: 64 x 64 x 64

Layer 6: Convolution with 128 filters, size 3×3, stride 1, padding 1
Size: 64 x 64 x 64

Layer 7: Average-Pooling with 5×5 filter, stride 2
Size: 128 x 32 x 32

Layer 8: Convolution with 256 filters, size 3×3, stride 1, padding 1
Size: 128 x 32 x 32

Layer 9: Global-Average-Pooling with 32×32 filter, stride 1
Size: 128 x 1 x 1
Activation function and Batch_Normalization are used through all blocks

Yedroudj-Net configuration file:

Yedroudj-Net is written with the publicly available Caffe toolbox with necessary modifications with Digits V5.
Below you will find necessary files to reproduce the experiments:

- Network_config.prototxt : the network config file.
 
- Yedroudj-Net_wow_0,4.caffemodel : the learned network for WOW on resampled images from BOSSBase v1.01 at 0.4 bpp.
 
- Solver.prototxt : the configuration file used to specify the type of the solver number of iteations ... etc
 
- Test_boss_images.txt : the list of image names used to test our network. The names of the resampled images are the same as the original 512x512 images. Images have resampled using Matlab's imresize function.
 
- SRM_filters.txt : The SRM filters used to initialize the first convolutional layer (Pre-processing block).  

- Info.json : toolbox extra information.

- trunc_layer.cpp : The C++ code for the Tuncation activation function

- trunc_layer.cu :  The layer description for the Truncation activation function.