前言
随着隐写术的发展,有越来越多的恶意分子结合恶意代码技术应用它到下载器、应用程序图标中,从而严重危害了客户、政府、国家的安全。基于此,本文提出了一个基于量化截断机制的多子网隐写分析模型,实验证明它具有良好的检测性能。
背景
隐写术和隐写分析在历史的长河中不断碰撞共同发展。目前有恶意分子已经应用隐写术、并结合恶意代码技术将一些恶意代码隐藏在应用程序图标、类似于迅雷的下载工具中,这严重危害了用户的安全。因此,研究隐写分析技术是一个重要的工作。
在传统的隐写分析领域中,研究者们首先通过一些特征提取器提取出隐写特征信息,再使用SVM等集成分类器对隐写特征信息进行检测和分类。总而言之,他们将隐写分析模型分为独立的特征提取部分和分类部分,这样在隐写分析的训练工作中就没有了两部分之间的反馈和改进。
随着深度学习的发展,学者们发现卷积神经网络具有很好的图像信息识别功能,它将特征提取部分和分类部分汇总在一起,从而能将它们加入到网络的训练中,并通过训练同时优化,这样更有利于获得一个完整的高性能识别模型。有学者尝试将卷积神经网络应用到了隐写分析领域,力图基于深度学习的技术设计新型隐写分析模型。
本文顺应深度学习技术和隐写分析的发展,设计了一个应用深度学习技术的基于量化截断机制的隐写分析模型。
基于量化截断机制的隐写分析模型
本文提出了一个隐写分析模型,它的网络架构可被分为两阶段。在第一阶段中,模型模拟空域富模型的特征提取方式提取出输入图像中的残差特征信息,并使用量化截断机制约束了这些残差特征值在一个固定的范围内。在第二阶段中,本文构建了两个并行的不同类型的子卷积神经网络提取出多样化的特征信息。基本的网络架构如下图所示。
第一阶段
在第一阶段的残差提取过程中,本文应用了25个空域富模型中的高通滤波器,它们的值都一样,高通滤波器矩阵如下图所示。
在这一阶段的模型参数都是手工设置好的,且应用了量化截断机制后,它们不会参与到网络的学习过程中去。
将输入图像与高通滤波器做卷积运算,获取到残差特征图。将此残差特征图作为量化阶段机制的输入,则整个量化和截断的过程如下:
其中,xi是残差特征图中的一个残差位置的残差值,Q是量化步长,T是截断值,[]是向下取整符号。这样获得的约束型残差值是呈固定阶梯状分布的值,因此导数为零,此时在卷积神经网络的训练过程中梯度不会反向传递到网络的第一阶段,即第一阶段的参数不会参与到网络的优化中去。
对于量化截断机制,本阶段设置了两个方案,称为量化截断机制1和量化截断机制2。量化截断机制1的计算公式如下。
量化截断机制2的计算公式如下。
记经过量化截断机制1处理的残差特征图为约束型残差特征图1,经过量化截断机制2处理的残差特征图为约束型残差特征图2。
第二阶段
第二阶段是由两个并列的子卷积神经网络组成的,网络中的参数均随着模型的训练而被优化。在第二阶段中,每个子网络对应一个约束型残差特征图,经实验验证,最终应用约束型残差特征图1作为子卷积神经网络1的输入信息,应用约束型残差特征图2作为子卷积神经网络2的输入信息。这两种子卷积神经网络的网络结构如下图所示,由上到下分别为子卷积神经网络1和子卷积神经网络2。
这两个子卷积神经网络均输出512维的特征向量。在子网络1中,本文在最后一个卷积层采用了一个卷积核大小为1×1的卷积运算和一个大小为32×32的全局池化处理,这样能细致地提取出纹理信息,且将所有纹理特征信息通过全局池化的方式进行降采样的处理,最小化了特征的损失。在子网络2中,本文在后几个卷积层中均采用了卷积核大小为3×3的卷积运算,且均使用了较大的步长,这有效地节省了GPU的内存资源。根据领域知识,这两个子网络均使用了ReLU非线性激活函数,以增强模型的汇聚能力。
在第二阶段后,模型输出了两个512维的特征向量,并将它们拼接成一个1024维的特征向量作为全连接层的输入。本文模型的全连接层包含一个加入softmax函数的全连接操作,最终根据特征信息输出当前输入图像属于原始图/隐写图的概率。
实验
网络的实现
本文的模型是在tensorflow的框架上设计并实现的。在第一阶段,首先通过高通滤波器计算得出一个25通道的残差特征图,然后对他们进行量化截断操作得到两个25通道的约束型残差特征图。关键代码如下图所示。
对于第二阶段,两个并行的子卷积神经网络构造方法和一般卷积神经网络方法相似,不在赘述。
实验环境
本文的数据集是10000张BOWS2灰度图像集。对于数据集的处理,本文首先应用了matlab的imresize()函数将大小为512×512的灰度图像缩放为大小为256×256的低分辨率图像集,以适应现有GPU的内存容量,再采用了WOW、S_UNIWARD隐写术方法分别对BOWS灰度图进行隐写操作从而生成对应的隐写图像集。对于每种隐写类型的完整的10000对原始-隐写图图像集,本文均采用了训练集、验证集和测试集的比例8:1:1来对其进行随机划分,最终得到的数据集如下表所示。
在本文中,程序是在tensorflow框架下设计和实现的,程序运行的平台是ubuntu14.04。在训练过程中,设置初始的学习率为0.0001,它随着训练过程呈现指数形式的下降趋势。第一阶段的卷积层的参数不参与到网络的学习中去,第二阶段的所有参数均使用Xavier的初始化方法进行初始化并参与到了网络的学习中。
结果分析
确定在当前模式下的最佳隐写分析模型。在这一阶段,我们设计不同的方案来验证量化截断机制的特点、不同子卷积神经网络的特征、不同量化阶段方法和子网络组合的性能。本文设计了七个方案,称为方案一到方案七,它们的详细设计信息如下表所示。
经过一系列的实验,在WOW隐写术的0.2嵌入率下,得出模型的隐写检测准确度结果如下表所示。
分析方案一、方案二的准确率可知,子网络1提取了更细致的隐写特征信息,并且通过全局池化的方法降低了特征的损失,所以能获得更好的隐写检测性能;分析方案一、方案二和方案三的准确率可知,由并行的子网络一和子网络二组成的网络模型能够提取出更多样化的隐写特征信息,因此具有更高的隐写检测准确率;分析方案三、方案四、方案五可知,对于本文的模型网络架构,应用了量化截断的机制后,从图像中提取出的残差特征值被约束到某一个值域内,从而更有利于网络的汇聚,而量化截断机制一因对残差的缩放小所以对其影响波动幅度较小,保证了残差特征不被过分削弱,因此使得方案四具有最高的隐写检测性能;分析方案四、方案五、方案六、方案七可知,同时应用两种不同类型的量化截断机制丰富了残差特征,使得模型从输入图像中提取出了更多样化的隐写特征,从而取得较高的隐写检测准确率,而方案六的量化截断机制和子卷积神经网络的组合结果具有最高的隐写检测准确率,因此将方案六设为本文的最佳隐写分析模型。
分别将使用方案六的隐写分析模型检测自适应隐写书WOW的0.2嵌入率、S_UNIWARD的0.2嵌入率和0.4嵌入率下的隐写检测准确率,结果如下表所示。
分析可知,基于量化截断机制的隐写分析模型应用了两种类型的量化截断方法和两种不同的子卷积神经网络后,能从图像中提取出更多样性的隐写分析特征,从而对于当前流行的空域隐写算法具有良好的识别性能,对于0.2嵌入率的WOW和S_UNIWARD隐写术的检测准确率均为百分之七十以上,对于0.4嵌入率的WOW和S_UNIWARD隐写术的检测准确率均为百分之八十五以上。
模型网络结构核心代码链接: