基于卷积神经网络的JPEG 图像隐写分析方法研究

2020-07-07 06:23王正胡勇杨浩天
现代计算机 2020年15期
关键词:特征提取卷积神经网络

王正,胡勇,杨浩天

(四川大学网络空间安全学院,成都610065)

0 引言

图像隐写分析是检测图像是否隐藏有秘密信息。图像隐写分析算法的分类,根据秘密信息被嵌入工作域的不同,可以分为空域图像隐写分析算法和变换域图像隐写分析算法;根据隐写分析算法的实用范围,可分为专用隐写分析与通用隐写分析。针对某种具体的隐写算法,通过对该隐写算法在嵌入信息后图像呈现出来的规律或者统计特征来设计隐写分析算法,即为专用隐写分析。专用隐写分析只针对某一种具体的隐写算法,不具有普遍性,故当前通用隐写分析的研究较多。而JPEG 图像在互联网中的应用非常广泛,研究JPEG 图像变换域隐写分析技术具有重要的现实意义。基于以上考虑,本文研究变换域图像通用隐写分析算法。

卷积神经网络能够提取到图像中相邻元素的相关性,因此当前针对变换域图像的隐写分析深度学习模型主要是基于卷积神经网络的。Xu[1]、Zeng 等人[2]、甘霖[3]分别提出针对JPEG 图像的深度学习隐写分析模型。其中,Xu[1]构建一种20 层的卷积神经网络模型,该模型为了减少信息的丢失,不使用池化层,并加入了跳转链接,以防梯度消失现象出现。Zeng 等人[2]提出一个含有三个卷积神经网络深层子网络的JPEG 图像隐写分析模型HCNN,取得较好的效果。甘霖[3]设计一种在空域感知像素的变化,以此来检测变换域是否有秘密信息嵌入的模型,该模型对HCNN 的复杂结构进行了简化,减少了参数变量,使计算开销更低。

甘霖[3]提取的网络模型JPEGCNN 通过优化HCNN 结构取得更好的分类检测效果。但该模型使用的池化层会丢失一些信息,并且卷积核的设计只是简单的重复而没有随着层数的加深而加深,还有一些可以优化的地方。基于此,本文提出一种新的模型,对JPEGCNN 的结构进行了优化,包括使用步长为2 的卷积核替代池化层,在每一层激活函数之前加了BN 层以及使用全局卷积。与JPEGCNN 一样,本文设计的模型也是在空域感知像素的变化,以此来检测JPEG 域是否有嵌入秘密信息。实验表明,本文提出的网络模型WCNN 能够优化JPEGCNN 的结构,取得更高的检测准确率。

1 基于CNN的变换域隐写分析模型

1.1 JPEGCNN网络模型

文献[3]所用的完整模型如图1 所示。

该网络包含5 个卷积层,在预处理模块,输入图像经过高通滤波器处理后,变成254×254 pi 图像,高通滤波器的卷积核大小为3×3 pi。在特征提取模块,前四个卷积层都使用16 个3×3 pi 的核,最后一个卷积层使用16 个5×5 pi 的核。卷积部分每一层卷积核后面通过激活函数来提升网络模型的拟合能力,然后通过平均池化产生特征图,使图像大小减半。特征提取模块提取的特征被输入到分类模块中进行分类。分类模块包含两个全连接层和一个Softmax 激活函数。每层全连接层后添加Dropout 层,以防止过拟合。Softmax 激活函数给出该图像含有秘密信息的可能性以及未含有秘密信息的可能性。最后,网络模型输出的是可能性最高的类别结果。

图1 JPEGCNN完整模型

1.2 WCNN网络模型

本文提出的卷积神经网络如图2 所示。

图2 WCNN网络模型

(1)预处理模块

预处理模块采用与文献[3]相同的高通滤波器。文献[3]通过实验证明了使用3×3 pi 大小的滤波器相比5×5 pi 大小或者更大的滤波器效果更好。Pibre 等人[4]论证了图像隐写分析中高通滤波器的必要性。对于图像而言,一般将秘密信息嵌入到权重较小的高频部分,使图像的变化尽可能的不被察觉。通过使用高通滤波器放大嵌入的信息,可以更快地提取到隐写图像的特征。

(2)特征提取模块

WCNN 的特征提取模块包含5 个卷积层,输入图像大小为256×256 pi。前两层分别包含8、16 个大小为5×5 pi 的卷积核,第三、四层分别包含32、64 个大小为3×3 pi 的卷积核,最后一层包含128 个大小为16×16 pi 的卷积核。每一层的卷积核个数随着卷积层的加深而成倍增加,以更充分地提取出前一层的特征。与JPEGCNN 网络模型不同,WCNN 前四层卷积核卷积步长均为2。在进行卷积操作前进行补零,以保持边界信息和使卷积后特征图大小为2 的整数次方。最后一层使用的是全局卷积,第四层卷积层后输出图像大小为16×16 pi,故全局卷积中每个卷积核大小为16×16pi。使用全局卷积可以减少参数的数量,减轻了过拟合的发生。每一层卷积层在通过激活函数之前都会应用BN(批量正则化)层。特征提取模块的激活函数全部使用ReLU。

(3)分类模块

特征提取模块提取的特征将被输入到分类模块中进行分类,分类模块最终会输出图像的所属类别。与JPEGCNN 网络模型不同,WCNN 分类模块只有一个128 维全连接层和一个Softmax 分类器。因为每个卷积层都有BN 操作以及最后有全局卷积操作,解决了过拟合的问题,所以不需要Dropout 层。全局卷积操作能够替代一个全连接层,所以分类模块与JPEGCNN 模型相比精简了很多。

1.3 激活函数选取

激活函数可以在网络模型中加入非线性因素,大幅度提高卷积神经网络的拟合能力。常见的激活函数有Sigmoid 函数、TanH 函数、ReLU 函数等。这些函数能够破坏卷积层经过线性滤波后产生的线性特征。在图像隐写分析中,非线性激活函数一般会选择TanH 与ReLU(如图3 所示)。实验中可以观察到,ReLU 函数表现更好,所以本文设计的网络模型中的激活函数全部采用ReLU 函数。

图3 TanH和ReLU激活函数

1.4 应用BN层

BN 应用在神经网络某层时,会对每一个minibatch 数据的内部进行标准化处理,使输出规范化到N(0,1)的正态分布。在CNN 中加入BN 能防止梯度弥散,加快训练速度,提高模型精度。文献[5]中特征指出BN 要应用在卷积神经网络中非线性映射前。文献[5]和文献[6]中的实验都证明在卷积神经网络中加入BN能提高检测准确率。

1.5 替代池化层

池化层主要是对卷积层提取的特征进行降维处理,以保留主要特征并减少参数,其本质就是一种卷积操作。但是池化层在去除冗余信息的同时也会丢失一些有用的信息。所以本文使用步长为2 的卷积层来替代池化层,这样能在对特征进行降维的同时防止信息的丢失。本文采用这种方法后,CNN 能够加快收敛,提高检测准确率。

2 实验与分析

2.1 实验平台和数据集

深度学习平台为TensorFlow,数据集为BOSSBase v1.01[7],GPU 为NVIDIA GTX960。BOSSBase v1.01 数据集包含10000 张大小为512×512 pi 的灰度图。由于计算资源限制,将所有图像压缩成256×256 pi 的灰度图。由于该模型是针对JPEG 图像的隐写分析,所以对于数据集中的PGM 图像,均通过JPEG Toolbox 压缩为JPEG 图像。

2.2 实验准备

通过五种变换域的隐写算法来评估WCNN 网络模型的隐写分析效果。这五种变换域隐写算法分别是:Jsteg、nsf5、MB1、MB2 以及J-UNIWARD,其中J-UNIWARD 是目前变换域中应用最为广泛的隐写算法。隐写图通过在载体图中使用隐写算法嵌入数据得到。10000 张载体图通过隐写算法可以得到10000 张隐写图,将这10000 对载体-隐写图作为实验的数据库。其中使用6500 对载体-隐写图作为训练集,使用2500 对载体-隐写图作为验证集,使用1000 对载体-隐写图作为测试集,即训练集、验证集和测试集使用6.5:2.5:1 的比率。

实验中的mini-batch 即每批训练的图像数设为64。WCNN 网络模型学习率初始化设为0.01,使用Adadelta[8]梯度下降算法。高通滤波器参数被设置为不可训练。特征提取模块中,使用“Xavier”[9]初始化器来初始化每层卷积层的卷积核,其卷积步长为2。实验过程中,通过迁移学习方法,对于0.8bpnzAC 和1.0bpnzAC 这样高嵌入容量的模型,训练时使用随机初始化权重。对于0.2bpnzAC 和0.5bpnzAC 这样的较低嵌入容量的模型,则在其相邻较高嵌入容量的模型基础上进行微调,以节省训练时间,加快模型收敛速度。WCNN 模型经过120 轮训练之后收敛到一个稳定的状态,因此训练的轮数定为120 轮。

2.3 实验结果与分析

(1)激活函数对比

本文对比TanH 函数和ReLU 函数对模型检测效果的影响。在WCNN 模型中的前两层卷积层使用TanH 函数,其他卷积层设计为与WCNN 模型相同。在嵌入容量为0.5bpnzAC 的情况下,对J-UNIWARD进行隐写分析实验结果如表1 所示。

表1 TanH 函数与ReLU 函数下的模型检测结果

对比表1 中模型检测结果可知,ReLU 函数表现更好,能提高模型检测准确率。所以WCNN 模型中的激活函数全部采用ReLU 函数。

(2)替代池化层

池化层在去除冗余信息的同时也会丢失一些有用的信息。应用池化层会导致检测的准确率降低,所以在本文中选择用步长为2 的卷积核替代池化层。实验表明,按照文献[3]中使用平均池化层,其他部分和WCNN 模型相同。在嵌入容量为0.5bpnzAC 的情况下,对J-UNIWARD 进行隐写分析能达到85.05%的准确率。使用步长为2 的卷积核代替池化层后,WCNN模型能达到86.80%的准确率。

(3)性能分析

本文使用JPEGCNN 与WCNN 做对比。WCNN 借鉴了JPEGCNN 的设计思想,并且进行了一定的优化。使用JPEGCNN 对五种灰度图变换域隐写算法的分析结果如表2 所示。

表2 WCNN 和JPEGCNN 针对五种JPEG 域隐写算法的分析检测结果

从表2 中可以看到,相对于JPEGCNN,WCNN 在变换域隐写分析上具有更高的准确率。WCNN 与JPEGCNN 的区别主要有使用步长为2 的卷积核替代池化层,在每一层激活函数之前加了BN 使反向传播能够减少梯度消失的情况,以及使用全局卷积减少参数的个数,减轻过拟合的发生。

3 结语

本文针对基于卷积神经网络的灰度图JPEG 域隐写分析方法进行了研究。根据特征提取源的不同,既可以根据JPEG 图像的量化DCT 系数进行特征提取,也可以根据JPEG 图像解压缩后的空域图像像素进行隐写分析特征提取。本文采用的是后者,根据修改变换域中的DCT 系数给空域像素带来的改变进行隐写分析。本文提出的网络模型WCNN 优化了JPEGCNN模型的结构。仿真实验结果表明WCNN 对上述五种变换域隐写算法具有较好的检测能力。

猜你喜欢
特征提取卷积神经网络
同步定位与建图特征提取和匹配算法研究
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
三次样条和二次删除相辅助的WASD神经网络与日本人口预测