前言
目前,隐写分析的研究主要分为两个方向,一种是传统的手工隐写分析,另一种是应用深度学习的隐写分析。本文将这两种隐写分析方式结合起来,在参考空域富模型(SRM)的概念后,选择一个滤波器来初始化预处理层的卷积核权重以获取图像残差。为了获得最佳的隐写残差信息,预处理层的卷积核权重被约束且被添加到网络的学习中。为了满足快速处理的工程需求,本文设计了一个轻量级的网络,称为LCR-CNN。仿真结果表明,LCR-CNN模型具有良好的隐写检测性能,为卷积神经网络在隐写术和数字取证领域的应用提供了新的改进思路。
背景
隐写术是一种将秘密信息嵌入到载体中并通过公共信道传输秘密消息的密码通信技术。常用的隐写术载体有图像、文本文档、视频和音频文件等。图像隐写技术可以分为两类:空间域隐写术和频域隐写术。空间域隐写术方法主要是通过直接修改图像像素来嵌入秘密信息。频域隐写术则是将某种正交变换(例如离散小波变换)应用于图像,但最常用的方法是离散余弦变换。目前新型的图像隐写术是一种内容自适应隐藏方法,这些方法通常使用自定义失真函数来评估图像失真程度并优化整体失真,典型的有空间域中的WOW算法和频域中的JUNIWARD算法。
在图像隐写技术发展的同时,图像隐写分析技术也取得了长足的进步。图像隐写分析是一种通过分析图像特征来判断秘密信息是否隐藏在图像中的技术。最经典的图像隐写分析技术是空域富模型(SRM)。SRM构造各种残差组合以提取图像特征,然后使用集成分类器方法来区分图像是否为隐写图像。在SRM的基础上,产生了maxSRMd和PSRM,以更好地检测自适应隐写术。
近年来,随着图像运算性能的提升,深度学习已逐渐被应用于图像分类中。与传统的隐写分析算法相比,基于深度学习的隐写分析算法无需手工设计图像特征,它可以通过训练和学习来优化特征提取和分类过程,使模型更有利于隐写图像的分类工作。有学者提出了一个基于卷积神经网络的隐写分析模型GNCNN,它使用高斯函数作为激活函数,实现了与SRM差不多的隐写分析性能。之后有学者基于抑制图像内容的思想提出了一种约束网络用于图像的识别工作,这为图像隐写提供了新的思路。
先前的隐写分析研究倾向于通过手工设计的滤波器获得图像的残差信息。研究人员认为,用于图像分类的卷积神经网络模型不能很好地提取隐写特征信息。手工设计的滤波器有助于提取隐写特征,但是以这种方式提取的特征可能不是最佳特征。并且现有的隐写分析网络结构较为复杂,参数量大,无法快速训练,不能便捷地应用于实际场景中。
轻量级隐写分析模型
综述
本文提出一个轻量级隐写分析模型,它具有如下特点:
(1)受约束型卷积神经网络的启发,本文约束了预处理层卷积核的权重,并将它添加到网络的学习中,这使得预处理层提取的隐写残差信息可以被充分利用。如果检测结果较差,可以通过网络的训练调整卷积核权重获得更好的残差信息。(2)模型中的网络架构是轻量级的。与经典隐写分析模型相比,本文隐写分析模型除了具有相同数量的卷积层外,其卷积核更小,因此总体的参数规模较少。这使得本模型具有较低的复杂度和相当好的隐写检测性能。
经典的隐写分析模型通常分为三个模块:残差噪声计算、特征提取和二分类。
预处理层中的残差噪声计算
隐写术等效于添加非常低幅的噪声到载波图像中。这种噪音对图像内容的影响可忽略不计,但是它改变了图像中相邻像素之间的关系。通用的图片分类算法只关注图片内容信息的识别,无法有效地基于隐写噪声进行分类。因此,本文在一般卷积层的前面添加了一个预处理层,预处理层在放大隐写噪声影响的同时,还降低图像内容的干扰。
受空域富模型(SRM)思想的启发,可以通过提取隐写残差信息来捕获隐写痕迹。有多种类型的滤波器可以提取残差信息,本文根据已有经验选择如下图所示的滤波器。在深度学习中,可以通过卷积运算做残差信息的提取操作。
由于手工设计的卷积核可能不会表现出最佳的性能,因此本文将卷积核添加到神经网络的学习过程中,即随着网络的训练和优化,预处理层的卷积核也在做持续的微调来适应隐写检测的功能。同时,为了保证卷积核所提取出的残差的正确性,本文约束了权重的调整,即保持卷积核的中心元素恒为-1,卷积核的所有元素总和恒为0。这使得所提取的隐写残差信息可以被更好地应用于隐写分析工作中。
特征提取层
计算出图像的残差信息后,模型需要从残差中进一步提取可用于分类的特征信息。基于领域知识,在特征提取层中,本文设计了五个卷积层用于提取特征,其结构如下图所示。
特征提取层的五个卷积层具有相同的结构。每个卷积层依次由卷积运算,非线性激活操作和池化操作这三部分组成。在卷积运算中,均使用大小为3 x3 的卷积核和步长为1 的卷积操作,从而更充分地提取特征图的隐写信息。在非线性激活操作中,均使用ReLU 非线性激活函数,从而有利于抽象特征的表达。最后,使用了池化操作,这既减少了参数数量,降低了参数规模,又通过特征图中多个元素的统计特性提取隐写特征,大大提高了网络的性能。
分类层
分类层主要由3个全连接层组成。分类层将前面网络层的特征映射到样本标签空间中,然后根据特征将图像划分为隐写图标签或载体图标签。
全连接层通常具有大量的参数。如果训练样本不够大,则模型容易出现过拟合的情况。因此有学者提出dropout的方法,它通过随机删除全连接层的部分神经元很好地解决了过拟合问题,大大地提升了模型的泛化能力。所以本文加入dropout到前两个全连接层,设置参数为0.5,这样在全连接层中,每个神经元都有0.5的可能性被删除。
在最后一个全连接层中,本文使用了softmax激活函数计算出特征属于隐写图和载体图的概率,概率大的即为最终的判别结果。
轻量级隐写分析模型测试与分析
数据集+参数
数据集为BOSSbase,其中包含10000张大小为512×512的载体图像。考虑当前计算机算力问题,将图像大小调整为256×256。本文还使用不同的隐写术算法来生成不同的载密图像集。
本文选择8000对载体载密图像作为训练集,选择1000对载体载密图像作为验证集,余下的1000对载体载密图像作为测试集。设置学习率为0.05,并使用Adadelta梯度下降优化器。除了预处理层,所有其他卷积核均使用Xavier初始器作初始化。设置dropout的参数为0.5。实验平台是装载有TITAN X系列GPU的ubuntu16.04系统。
结果分析
探究最佳的轻量级隐写分析模型。依据现有领域知识,本文额外设计了四个对轻量级隐写分析模型进行微调的方案,力图找到最佳的轻量级隐写分析模型,详细说明如下。
方案1:修改预处理层的卷积核。对预处理层卷积核的约束可能会抑制隐写特征的学习。因此,仍然使用SRM的滤波器作为卷积核, 但不约束卷积核的值。则预处理层的卷积核如下图所示。
方案2:修改池化层。模型中的平均池化操作方法是计算特征图中局部区域像素的平均值,这极有可能削弱隐写特征。因此,本方案修改平均池化为最大池化,意图凸显隐写特征的影响。
方案3:修改激活函数。现有研究和实验表明,如果网络没有出现梯度消失的现象,则在网络的浅层中部署TanH激活函数会具有更好的性能。所以本方案在网络第一层使用TanH替换掉ReLU。
方案4:添加批量正则化操作。适当的批量正则化操作可以有效降低梯度爆炸现象出现的可能性,从而提高网络的泛化能力。本方案将批量正则化操作添加到特征提取层的五个卷积层中。
下表呈现了所有方案的隐写分析效果,使用的隐写算法为WOW,载荷为0.4。分析可知,当前轻量级隐写分析模型(LCR-CNN)仍然具有更高的隐写检测准确率,因此本文使用它做下一步的研究。
评估和比较的隐写性能。下表呈现了轻量级隐写分析模型LCR-CNN的隐写分析性能。本实验使用了三种隐写算法,分别为HUGO、WOW和J-UNIWARD。分析可知,当信息嵌入率增大时,隐写检测准确率越高。
为了进一步衡量模型的性能,本文将其与经典模型GNCNN和传统模型SRM进行了性能的比较。在仿真中,本文使用了有效载荷为0.4的WOW和HUGO算法,结果如下图所示。
可以看出,模型的隐写检测准确率与SRM 几乎相同,但远高于GNCNN。
分析模型的复杂性。 本文轻量级隐写分析模型LCR-CNN的参数量为63211,与GNCNN模型的参数量具有相同的量级。经分析,LCR-CNN和GNCNN的网络层数相同,但是LCR-CNN的卷积核大小为3×3,小于GNCNN的5×5的卷积核大小。因此,LCR-CNN能够充分提取隐写特征信息,同时保持架构轻、体积小、速度快的特点,是一个典型的轻量级网络模型。
贡献
本文的模型具有如下两个贡献:
(1)约束了预处理层的卷积核,从而确保提取正确的残差特征且可被充分利用。与此同时,将预处理层的卷积核权重加入到网络的学习中,从而帮助模型提取出更好的隐写残差信息。
(2)与经典隐写分析模型相比,本文的模型除了具有很好的隐写检测性能外,还具有架构轻、速度快的特点,这有利于快速投入到实际工程中去。