基于卷积神经网络的nsF5隐写检测研究*

2019-05-31 03:19叶俊辰黄潇洒王士林
通信技术 2019年3期
关键词:网络结构准确率卷积

叶俊辰,黄潇洒,王士林

(上海交通大学 电子信息与电气工程学院,上海 200240)

0 引 言

图像隐写是指将信息嵌入到图像中而不被察觉,是信息隐藏的一个重要分支。nsF5[1]作为一种安全性较高且应用面广的JPEG图像隐写方法,十分具有代表性。传统的针对nsF5的隐写检测方法主要依赖人工设计的特征,通过使用支持向量机(SVM)等工具进行分类。随着近年来深度学习技术的发展,卷积神经网络(CNN)被广泛应用于各类图像分类任务中。本文针对nsF5隐写算法的特点,设计了一种新型的CNN结构,引入了稠密连接,能够有效检测nsF5隐写过的图像,准确率较高。

1 背景介绍

JPEG图像作为使用最广泛的数字图像之一,是常用的图像隐写载体。图像隐写的方法包括空域方法和变换域方法等。相较于最低有效位修改(LSB)、像素值差分(PVD)、边缘数据嵌入(EBE)、随机像素嵌入(PRE)等直接修改像素的空域隐写方法,基于离散傅里叶变换(DFT)、离散余弦变换(DCT)、离散小波变换(DWT)等变换域隐写方法不易受图像剪裁、压缩等处理的影响,并且隐蔽性更好,更不易被检测。

早期的JPEG图像经典隐写算法Jsteg[2]将空域的LSB变换直接应用到DCT系数上,保证了人眼无法分辨嵌入前后图像差别的同时有着较高的嵌入率。但由此导致的DCT系数直方图的异常,使得运用卡方分析能够很容易检测出隐写图像。F3算法在Jsteg的基础上进行了改进,能够抵抗卡方分析,但DCT系数直方图中奇偶数不同仍容易被发现异常。F4算法用映射负系数转换隐写的值,解决了F3算法的不足。F5算法[3]又引入混洗和矩阵编码技术,提高了隐写性能和嵌入率。nsF5算法引入湿纸编码(WPC)等以解决F5算法引起的无效收缩现象,即DCT系数由非零变为零,提高了嵌入安全性。近年来也有很多技术利用成熟的编码理论进行自适应隐写,将原本独立于载体图像之外的伪随机秘密数据映射为和图像内容特性相关的隐写噪声,包括UED[4],J-UNIWARD[5],SI-UNIWARD[5]等 等。 然而文献[6]指出了这类算法的风险,如果采用特定模型外的特征进行检测,可能就能得到针对该自适应隐写的准确检测方法。总体而言,nsF5作为一个经典的隐写算法仍然有着较高的安全性[7],被广泛地使用。

传统的对于JPEG图像隐写检测方法主要依赖人工设计的特征,找到隐写图像与载体间具有较大差异的统计量,通过使用SVM等工具进行分类。文献[8]使用线性分类器对系数直方图进行分类,提取了23维DCT特征,成功实现了对F5算法的隐写检测。Pevny等[9]引入马尔可夫转移概率矩阵特征等,提取274维特征,提高了检测性能。Kovovsky等[10]使用融合代替差分运算,改进了L2准则,提出了584维的MPEV特征集。可以看到传随着检测效果的提高,特征维数也在逐渐增大,对于工人提取图像特征的要求也越来越高。

随着近年来深度学习技术在各领域的发展,CNN被广泛应用于各类图像分类任务中。基于深度学习的图像隐写检测也取得了一些进展[11]。本文设计了一种新的CNN网络结构来检测nsF5隐写的JPEG图像。相较于传统的检测方法,本文的主要贡献在于:

(1)创新性地将CNN结构应用到针对nsF5隐写算法留下的细微痕迹检测中,实现对nsF5隐写图像的检测。

(2)在网络中引入稠密连接结构,强化特征传播,实现特征重用,减少参数数量。

(3)实验结果表明所提算法优于目前主流nsF5隐写检测算法。

2 图像预处理

为了避免各种图像内容的影响,采用以下预处理步骤。考虑到JPEG隐写会修改图像的DCT系数,这会在隐写图像中引入特定的嵌入痕迹。在解压缩后的JPEG图像中,像素的统计特征在空间上不是不变的,这意味着每个系数取决于其在8×8像素网格内的邻域像素值。

对于JPEG格式的输入图像,首先解压缩到空间域,然后进行卷积操作,即将压缩图像分别通过16个DCT基础卷积核进行卷积,卷积核如式(1)所示,其中

最后滤波后的图像用截断阈值8进行量化。这样使得网络模型更加关注隐写特征而不受图像内容的干扰。

3 网络结构设计

3.1 网络结构

总体的网络结构如图1所示。我们使用预处理后(511,511,16)大小的滤波图像作为输入。

输入图像首先经过卷积层进行卷积操作,卷积核大小为3×3,数量为16,卷积层后接批量归一化层和激活函数层。接下来特征再经过一组卷积操作,输出特征图维度为256×256×32。

受到DenseNet[12]的启发,之后特征图经过一个稠密连接块,这是网络结构的核心所在。每个稠密连接块包含两组卷积层,每个卷积层配置一个批量归一化层和一个激活函数层,最后接一个随机失活层。对于一个稠密连接块,其输入特征图与输出特征图进行级联(Concatenate)操作,如图1所示。对于第一组稠密连接块,输入特征图维度为256×256×32,经卷积等操作后特征图维度为256×256×16,所以级联后最终输出特征图为256×256×48。

图1 总体网络结构

第一个稠密连接块之后是两组卷积操作,其主要目的是降低特征图维度,缩减网络参数。其中第一组卷积层的输出特征图数量为48,第二组卷积层的输出特征图数量为32,同时,特征图大小也变为原来的四分之一,从而实现特征图降维的目的。

在降维之后,特征图又经过两组稠密连接块。其中经过第一组稠密连接块后的特征图维度为128×128×48,经过第二组稠密连接块后的特征图维度为128×128×80。

最后通过全局平均池化层(GlobalAvgPooling),并使用Softmax层进行分类。

3.2 网络特性

本文所提网络结构的主要特点是在卷积神经网络中引入稠密连接块。由于在nsF5算法隐写时留下的痕迹极少,当他们经过多个层后,判别信息会很难被找到。因此本文引入稠密连接方式,不仅能够有效解决梯度消失,而且能够保留细微的图像特征。

稠密连接的示意图如图2所示。在第一次卷积后得到特征图A,特征图A再次卷积后得到特征图B。这时使用稠密连接,使得A和B同时得到保留,共同通过第三次卷积,得到特征图C。类似地通过稠密连接进行下去,使得每一次得到的特征图都被保留。各个特征图分别是输入图像的分层级的表示,因此通过稠密连接,可以更全面地表征nsF5隐写过程中留下的痕迹。

图2 稠密连接

在每一个稠密连接块中,浅层提取出的图像特征会传导到后面的每一层中,这样带来了许多好处。各层的特征之间组合更加灵活,输出的图像特征层次丰富,可以更全面地描绘输入图像。各层之间的连接更短更紧密,使得中间层也能获得监督信息,判断特征。通过稠密连接不仅加强了特征的传播,提高了特征的重复利用率,而且减少了模型参数,增强了网络的稳定性。

4 实验结果及分析

4.1 实验准备

实验选用BOSSBase-1.01图像库[13]。BOSSBase图像库内容多样,进行了统一处理,是隐写检测时常用的图像库。它包含了10 000张尺寸为512×512的PGM格式灰度图像。首先将图像转换为质量因子为75的JPEG图像,以得到负样本。同时用nsF5隐写方法,分别以0.1 bpnzAC至0.4 bpnzAC的嵌入率对JPEG图像进行隐写,生成含有隐写信息的图像,以作为正样本。选取4 000张含有隐写信息的图像,以及4 000张原始图像,共8 000张进行训练。选取另外1 000张含有隐写信息的图像,以及1 000张原图,共2 000张进行验证。用剩余的8 000张图像进行测试。

对于不同的嵌入率,每次都随机初始化权重。综合考虑错误接受率(FAR)和错误拒绝率(FRR),定义准确率ACC为:

4.2 训练过程

本文使用Keras深度学习框架。Keras具有高度模块化、极简和可扩充等特性。训练集全样本训练次数(epoch)设定为100次。但当epoch数量太多时有可能发生过拟合。因此引入早停法[14],以解决全样本训练次数需要手动设置的问题,避免网络发生过拟合。

在模型训练过程中使用小批量梯度下降(MBGD)方法,即每一次迭代都用固定数量的样本进行参数的调整。MBGD方法的优点在于可以有效提高收敛的速度。批量大小(Batch_Size)设置得越大,内存的利用率就越高,对数据的处理速度更快,但同时也会造成参数调整速度变慢等问题。因此需要合理地选择批量大小。由于本文所提模型相对较复杂,实验中选取的批量大小为32。

学习率采用动态衰减的设置方法,初始值设置较大,设为0.001,这样可以提高收敛的速度。参考文献[15]的方法,逐渐地减小学习率以提高稳定性,保证能够收敛到最优值。当10次训练集全样本训练后如果验证集准确率没有提高,就将学习率在原来的基础上减小10倍。

每个卷积层中,卷积核的参数使用μ=0的正态分布初始化。在最后一个稠密层中,使用Glorot均匀初始化方法[16]初始化参数并使用重量衰减法,它从[-t,t]的均匀分布中抽取样本,其中:

式中,fan_in和fan_out分别为输入和输出单元的节点数。

图3描述了模型的训练过程。可以看到,验证集准确率的变化曲线与训练集准确率的变化曲线具有相似的收敛趋势,在前二十几个epoch时准确率增长迅猛,然后逐渐趋于平稳,这表明所提的模型对nsF5隐写留下的痕迹敏感。

图3 验证准确率与训练准确率变化

4.3 实验结果

选取图像质量因子为75,对不同的嵌入率(0.1、0.2、0.3和0.4)分别得出了准确率,并与传统的nsF5检测方法[8-10]进行了比较,如表1所示。在嵌入率达到0.2以上时,检测准确率已经超过0.9。

表1 各方法准确率

实验结果表明,该卷积神经网络能够提取出由nsF5算法造成的图像特征变化,进而有效鉴别JPEG图像是否经过隐写。虽然当隐写率小于0.1时,隐写图像和原始图像之间的差异很小,深度学习网络自动提取的特征可能无法很好地表征这些细微的差异,检测准确率略低于几个传统检测方法。但当隐写率高于0.2后,该网络能够高效地进行隐写图像的检测,并且在高嵌入率(例如0.4和0.3 bpnzAC)时,准确度高于目前的传统检测算法。由于nsF5算法在隐写期间留下的痕迹是十分细微的,传统的统计特征有时无法很好地表征波动较大的特征分布。在这种情况下,基于CNN的特征(带有输入图像的分层表示)仍然可以提取有用的信息来区分隐写图像与非隐写图像。此外,通过引入稠密连接,使得受隐写影响的特征被更有效地复用,提取的特征维度远小于一些其他的CNN网络结构,大大节省空间和计算时间消耗。

5 结 语

本文提出了一种卷积神经网络,能够有效且高效地检测nsF5算法隐写后的JPEG图像。它引入了密集连接,在相对简洁的网络结构下取得了高准确率,为使用深度学习技术解决图像隐写检测问题提供了新的方案。

猜你喜欢
网络结构准确率卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
快递网络结构研究进展
卷积神经网络的分析与设计
基于AutoML的保护区物种识别①
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法