之前都是在实验室做项目,写代码,没有系统集中的看过paper,最近要准备开题,集中看了十几篇,全是深度学习在信息隐藏领域的应用与研究。这里主要是对十几篇论文做一个总结,以后会不间断更新最新读的论文。

大家都学过密码学,但是可能很少有人了解信息隐藏。信息隐藏是我所在实验室的一个方向,指通过将秘密信息隐藏在文本、图像、视频等载体中进行秘密信息的传递的一种方式。根据其用途不同可以分为隐写术(steganography)和数字水印(water marking),前者用于秘密信息的传递,后者用于版权保护等场景;根据隐藏协议可以分为无密钥隐写系统、私密钥隐写系统、公私钥隐写系统;按采用的技术,可以分为空间域、变换域、基于扩频、基于结构等多种隐写方式。载有秘密信息的载体和没有载有秘密信息的载体分别被称为cover和stego,用来判断载体是否含有秘密信息的方法被称为隐写分析(steganalysis)。关于信息隐藏的更多内容这里不再详细介绍,下面主要介绍基于深度学习的以图像为载体的隐写分析模型和隐写模型。

最简单的隐写算法是利用图像的最低有效位(LSB)进行信息隐藏,但这种算法会给隐写后的图像留下明显的统计特征,早期的隐写分析就是基于类似的简单统计量。随着图像隐写术的不断发展,新提出的隐写算法可以保持更复杂的图像统计特征,例如近几年提出的HUGO、SUNIWARD、WOW等内容自适应隐写术可以自动的将隐秘信息嵌入到纹理、噪声丰富的图像区域,从而保持复杂的高阶统计特性。为了对抗更先进的自适应隐写术,隐写分析领域涉及的特征也逐渐朝着复杂化、高维化发展。目前,基于对图像邻域复杂相关性进行建模的高阶统计量特征成为隐写分析领域的主流特征,SRM(Spatial Rich Model)、PSRM(Projection Spection Rich Model)等模型就是基于这样的高阶、高维特征,已经达到了很好的检测效果。我们在想是否可以将深度学习引入信息隐藏领域,在借助比较少甚至不借助专家知识的前提下啊进行隐写和隐写分析。2015年以来,已经有一些工作是这么做的,下面分别作一个介绍。

在介绍之前,我们先说明一个问题。以图像为载体的隐写分析可以看作是一个图像处理的任务,是一个二分类。但这里的图像处理和计算机视觉中的图像处理是不一样的。原因主要是二者的关注点不同:图像分类、物体检测等任务关注的是图像中的主要信息,如图1-1示,而隐写分析则恰恰相反。图像隐写算法主要是利用图像中存在的人类感知系统不敏感的冗余信息的特征,将待传递的秘密信息隐藏到该冗余信息中,因此图像隐写分析主要获取的是图像中的噪声残差等各种弱信息。如图1-2所示,右侧为秘密信息的嵌入位置,隐写分析要获取的是这些信息。因此直接将现有的分类模型,如Inception拿过来肯定是不适用的。
图 1-1
图 1-2

Deep learning for steganalysis via convolutional neural networks

这是最早将深度学习引入信息隐藏的工作,是中科院在2015年提出的。该模型使用了传统算法中的KV核对图像进行预处理,然后将预处理后的图像输入到CNN中,KV核如图1-3所示。
图 1-3
另外,模型还使用了高斯激活函数$f(x)=e^{-\frac{x^2}{\sigma^2}}$,其中$\sigma$是一个超参数。只有当输入在0附近时,该激活函数才会有一个明显的正值反馈。图1-4是该激活函数要达到的一个效果图。
图 1-4

整个模型结构如图1-5所示。模型的输入是一个256x256的灰度图,然后经过上面的KV卷积核(第一层卷积)作预处理后,进入CNN中。后面是5个卷积层,每个卷积层包含16个3x3的卷积核,步长为1,激活函数为高斯函数。六个卷积层后边分别跟着一个池化大小为3x3、步长为2的池化层。模型的最后是全连接层。论文将该模型称为GNCNN(Gaussian Neural CNN)整个模型结构见图1-5。
图 1-5
论文中使用的数据集为BOSSbase 1.01,这是在2012年举办的一场隐写分析比赛中使用的数据集,其中包含10000张512x512的灰度图。论文中使用HUGO、WOW、S-UNIWARD三种隐写算法以0.3bpp、0.4bpp、0.5bpp三个嵌入率分别进行隐写,最终结果显示GNCNN优于SPAM,次于SRM。

Deep learning is a good steganalysis tool when embedding key is reused for different images, even if there is a cover source-mismatch

这是2016年的一篇,模型本身没有什么亮点吧,模型结构如图1-6所示。不过,该论文验证了CNN在不同数据集上的泛化能力:在两个不同来源的数据集(拍摄两组图像的相机等不同)上,在一个数据集上训练好的CNN隐写分析模型,可以很好的检测另一个数据集上的图像,而传统模型则不能做到这一点。
图 1-6

Structual design of convolutional neural networks for steganalysis

这是2016年的一篇论文,在第一篇的基础上使用了更深的网络,在网络中加入了ABS激活函数、Batch Normalization、tanh激活函数,最终效果优于SRM。模型结构见图1-7。
图 1-7

Steganalysis via a convolutional neural network using large convolution filters for embedding process with same stego key

这篇论文直接使用的大的卷积核,效果还不错,模型结构见图1-8。
图 1-8

Deep learning hierarchical representations for iamge steganalysis

这是中山大学2017年的一篇,应该是最新的了。本文中设计了新的截断线性单元,方程如图1-9所示,其中的参数T通过实验来确定,取3或7。模型为10层的CNN,第一层卷积层为30个5x5的卷积核,使用SRM中的30个高通滤波器来初始化,在训练过程中也参与参数的更新。论文最后还有一部分讨论Selection Channel没看懂,不过做了通道选择之后检测能力更强,远远超过了SRM模型。
图 1-9
图 1-10

以上是基于卷积神经网络的隐写分析,大都使用了传统模型中的卷积核。个人认为这样的卷积核,CNN在训练过程中应该能够拟合到才对,不需要使用KV核进行预处理。当然最后这篇使用SRM的卷积核初始化第一层的卷积核,这样做加快了模型的收敛。下一步的工作是复现其中的一部分,改良之。

附录

[1] Qian Y, Dong J, Wang W. Deep learning for steganalysis via convolutional neural networks[J]. Proceedings of SPIE - The International Society for Optical Engineering, 2015, 9409:94090J-94090J-10.

[2] Lionel Pibre, Jérôme Pasquet, Dino Ienco, Marc Chaumont. Deep learning is a good steganalysis tool when embedding key is reused for different images, even if there is a cover source-mismatch. Electronic Imaging, Feb2016, San Fransisco, United States. SPIE, IS&TInternational Symposium on Electronic Imaging, 2016, Media Watermarking, Security, and Forensics.

[3] Xu G, Wu H Z, Shi Y Q. Structural Design of Convolutional Neural Networks for Steganalysis[J]. IEEE Signal Processing Letters, 2016, 23(5):708-712.

[4] Salomon M, Couturier R, Guyeux C, et al. Steganalysis via a convolutional neural network using large convolution filters for embedding process with same stego key: A deep learning approach for telemedicine[J]. European Research in Telemedicine, 2017.

[5] Jian Ye, Jianqun Ni, Yang Yi. Deep learning hierarchical representations for image steganalysis[J].IEEE Transactions on Information Forensics & Security,2017,12(11): 2545-2557.