陈孟华,刘嘉勇,何沛松
(四川大学 网络空间安全学院,四川 成都 610065)
0 引 言随着5G 网络的普及,人们对数据传输的安全性提出更高的要求。通常有两种方式保证数据安全,一种是加密技术,另一种是信息隐藏技术。加密技术使用密钥对数据加密,但是这种行为容易引起察觉,无法隐藏消息的存在,不具有隐蔽性。为解决加密技术的局限,研究者们提出信息隐藏技术。
隐写术作为信息隐藏技术的重要分支,它通过把秘密信息嵌入在数字图像等多媒体载体中,且尽可能地不改变载体的视觉和统计特性,达到掩盖通信的目的,对于通信安全具有重要意义。作为隐写术的反向检测手段,隐写分析的目标是判断图像是否隐藏有秘密信息。隐写与隐写分析的研究一直在对抗中相互促进。
数字图像载体是主要的研究对象,不仅由于其冗余性高,也是因为图像更容易建立数学模型来研究其统计特性。现有图像隐写研究集中在灰度图像上,而关于彩色图像隐写的研究较少。目前彩色图像隐写存在的问题有,未能在容量和安全性之间达到平衡。文献[3,4]中的大容量彩色图像隐写算法是将一张图像或多张图像隐藏到载体图像中,但是会存在颜色失真。安全性高的彩色图像隐写算法往往嵌入率较低,比如文献[5]中彩色图像隐写算法仅将秘密信息嵌入到RGB 中的一个颜色通道,未能充分利用三个颜色通道,而且破坏了颜色通道之间的相关性。其次,大部分空域隐写算法主要关注灰度图像,默认针对灰度图像的隐写算法可以直接扩展应用到彩色图像,没有考虑到彩色图像自身的特性以及颜色通道之间的相关性。
针对上述问题,本文提出一种基于注意力机制与生成对抗网络的彩色图像隐写算法。利用注意力机制能自动学习不同颜色通道之间相关性以及不同通道特征的重要程度,设计生成器时加入通道注意力SE 模块,让神经网络学习重要特征并加强有用特征,使嵌入修改集中在纹理复杂区域,解决了部分平滑区域像素点被修改的问题。根据同步修改的原则,在设计损失函数时以绿色通道为基准保持同步修改,维持通道之间的相关性。实验结果证明了所提方案的有效性。
1 相关工作1.1 传统的彩色图像隐写研究表明,传统的彩色图像隐写方案主要分为加性和非加性两种。加性方案中以ACMP(AmplifyingChannelModifica tionProbabilities)为代表,2019年,Liao 等人提出彩色图像载荷分配策略ACMP,该方案基于通道相关性,可以有效使嵌入变化集中在纹理复杂区域。非加性隐写方案主要包括,CMD-C(ClusteringModificationDirections-Color),CPVs(colorpixelvectors),GINA(G-channel-relatedInterchannelNon-Additive)。其中,CMD-C 是将灰度图的CMD(ClusteringModificationDirections)扩展到彩色图,使同一位置的不同通道之间的修改方向同步,并保持彩色通道的关联性。CPVs 将来自同一像素位置的三个颜色分量构成一个向量,嵌入代价定义在颜色像素向量上,而不是单一的颜色分量。这两种方案虽然考虑了颜色通道之间的相关性,但是没有考虑到相关性之间的差异。针对该问题,研究者提出GINA,利用通道相关性的差异,将R、B 通道的修改方向与G 通道同步,能获得更好的抗检测能力。
1.2 基于深度学习的彩色图像隐写针对传统的基于载体修改的隐写技术存在隐写容量低的问题,Zhang 等人提出了端到端的图像隐写模型SteganoGAN,采用密集连接的网络结构缓解梯度消失问题。该方法可将任意二进制数据隐藏在图像中,实现了每像素4.4 比特的有效载荷。基于SteganoGAN,Li 等人提出端到端的大容量信息隐藏网络HCISNet,该网络有效载荷可达到每像素5.68 比特。2017年,Baluja首次提出以图藏图的隐写模型,在彩色图像中隐藏彩色图像,该网络包括预处理网络、编码网络和解码网络,但是该方法会产生颜色失真,而且安全性差。基于Baluja 的工作,Zhang 等人提出ISGAN,用彩图藏灰度图,将彩色图像分解为YUV 三通道,UV 通道包含色度信息,Y 通道包含亮度信息,利用人眼对亮度信息的不敏感性,在Y 通道通过编码网络嵌入秘密图像,再与UV 通道结合得到彩色载密图像。提取时先将Y 通道分离,经过解码网络得到秘密图像,保留了原图的色彩信息。综上所述,这些方法虽然能提高嵌入容量,但是却无法保证安全性,并会产生图像失真、颜色失真等问题。因此,本文旨在用神经网络的方法使隐写的容量和安全性达到平衡,并且在保证安全性的前提下尽可能提高容量。
2 基于注意力机制与生成对抗网络的彩色图像隐写算法本文提出基于注意力机制与生成对抗网络的彩色图像隐写算法CISGAN(Color Image Steganography Generative Adversarial Network),包括三个模块,生成器模块、嵌入模拟器模块和判别器模块,如图1所示。原始的载体图像经过生成器模块处理后得到嵌入概率图,再经过嵌入模拟器得到修改图,将修改图与原始载体图像按像素点相加得到载密图像。最后将载体图像和对应的载密图像作为判别器模块的输入,经过判别器模块处理后,输出图像的分类概率。
图1 网络整体结构图
2.1 基于通道注意力机制的生成器网络结构生成器网络由下采样网络和上采样网络组成。下采样网络由8 个组件构成,每一组包含卷积层、BN 层、LeakyReLU激活函数,其中最后一个组件的激活函数是ReLU 函数,其余同上所述。除第一组件外,在每一组件卷积后均加入注意力模块,注意力模块采用通道注意力压缩激活(Squeeze and Excitation, SE)模块。SE 模块结构如图2所示,首先将输入的特征信息挤压到一个通道描述符中,通过全局平均池化实现挤压操作。为利用挤压操作中的信息,再进行激活操作,采用带有Sigmoid 激活的简单门控机制实现。具体使用两个全连接层,第一个全连接层把个通道压缩成/个通道降低计算量,参数表示缩减率,用于减少全连接层的维度。然后使用ReLU 激活,第二个全连接层再变换成个通道,使用Sigmoid 激活。最后是一个返回到通道维度的增维层,将激活后的结果与原特征对应通道相乘。
图2 注意力模块示意图
上采样网络采用短连接,结合下采样时的特征,从而可以更好地生成概率图。上采样网络包括8 个组件,除最后一个组件只有卷积层外,其余每一组包含卷积层、BN 层、Dropout 层、Cat 层和ReLU 激活函数,其中Cat 层表示短连接。Dropout 层将网络中的神经元以50%的概率丢弃,防止模型出现过拟合现象。具体生成器网络结构如图3所示。
图3中,组件9 经过Dropout 后,与组件7 的输出进行短连接,共有7 个短连接层。生成器的卷积核尺寸和输出尺寸具体参数如表1所示。
表1 生成器具体网络结构
图3 生成器网络结构示意图
2.2 基于高通滤波预处理的判别器网络结构判别器网络结构由三个模块构成,分别是预处理模块、卷积模块和分类模块。预处理模块对图像进行过滤操作,从而加快网络收敛速度。研究表明,基于CNN 的隐写分析网络在预处理层进行滤波处理可以提高检测精度,大多数隐写分析网络使用一个或多个高通滤波器来过滤。本节参考文献中的研究成果,在判别器网络的预处理模块采用SRM中6 个5×5 的高通滤波器进行初始化,其数值如图4所示。该高通滤波器在网络学习过程中将更新。由于判别器网络的输入是彩色图像,预处理层的通道数量和高通滤波器数量应适用于三个颜色通道。
图4 SRM 中的六个高通滤波器
卷积模块由五个卷积块组成,每个卷积块包含卷积层、绝对激活层、批归一化层、激活层和池化层。根据文献的结论,加入绝对激活层可以使模型考虑到噪声残差的对称性,丢弃一些元素的符号。经过实验发现,在每一层加入绝对激活层要比只在第一层加入绝对激活层效果好。批归一化层对数据进行标准化处理,使其服从均值为0、方差为1 的统计分布,在一定程度上可以防止出现梯度消失问题。池化层采用平均池化计算局部均值,能够更好地保留图像局部特征信息。
卷积模块的最后一块与分类模块相连,分类模块使用全连接神经网络将128 个神经元映射为2 个神经元,最后用Softmax 函数将网络的输出归一到[0,1]的概率值。针对二元隐写分析的场景,网络的两个输出值表示:一类是分类为载体图像的概率,另一类是分类为载密图像的概率。通过返回具有最高概率的类来决定类别。判别器网络结构如图5所示。
图5 判别器网络结构示意图
图5中,判别器的卷积核尺寸和输出尺寸具体参数如表2所示。
表2 判别器具体网络结构
2.3 嵌入模拟器嵌入模拟器的作用是把生成器生成的嵌入概率图转化成修改图,修改图中的数值只有0,1,-1,与原始载体图像按像素相加即可得到载密图像。具体修改情况根据r和p的关系确定。如式(1)所示,其中,r表示在区间[0,1]均匀分布上产生的随机数,p表示修改概率,m是对应的修改值。
由于该阶梯函数不可导,因此使用double-tanh 函数作为模拟嵌入函数,如式(2)、式(3)所示。该函数是可导的,可以防止梯度消失。
式(2)中,参数是一个比例系数,根据文献[17]的研究结果,随着参数的提高,double-tanh 函数能够更好地模拟±1 嵌入过程,但是过大会引起梯度消失问题,设置的过小或过大都会降低安全性能,设置为60 检测错误率最高,因此后文实验将该参数设置为60。
2.4 面向颜色图像隐写的复合损失函数判别器的目的是判断输入图像是载体图像还是载密图像,将其视为二分类问题,损失采用交叉熵损失,使得网络预测类别和真实类别尽可能接近。判别器的损失函数如式(4)所示:
其中, 是判别器网络的输出,即预测值, 是真实值。生成器的损失包括三部分,第一部分损失依据生成器和判别器是相互对抗的,设计为判别器损失的相反数,如式(5)所示:
第二部分损失目的为控制嵌入容量,如式(6)所示:
其中,表示嵌入容量,表示嵌入率,和表示图像的高和宽。嵌入容量的计算如式(7)所示:
在式(8)(9)中,p表示对应每个像素点的输出概率值,p和p分别表示修改图+1 和-1,p表示像素值不变的概率。
第三部分损失依据彩色图像三个颜色通道之间的同步修改规则。受到GINA 的启发,以绿色通道为主导,红色和蓝色通道与绿色通道的修改保持一致,安全性最好。生成器的第三部分损失如式(10)所示:
其中,M表示绿色通道的修改图,M表示红色通道的修改图,M表示蓝色通道的修改图。
生成器的损失要控制嵌入容量、安全性以及通道相关性之间的平衡,表示为上述三部分损失的加权和。生成器总的损失函数表示如式(11)所示,其中,,分别是损失,,的权重系数。后文通过实验来确定,,。
实验采用公开彩色图像数据集COCO。COCO 是一个用于物体检测和物体分割的大规模数据集。在实验中首先去除数据集中的灰度图像,仅保留彩色图像。然后,使用imagemagick 工具将图像短边缩放到256,再中心剪裁为256×256 分辨率的图像。最后将图像格式从jpg 转为tif。从处理后的COCO 数据集中随机选择40 000 张作为训练集,10 000 张作为测试集。
3.2 评价指标隐写分析技术是隐写技术的一种对抗手段,其目的是正确判断待测图像为载体图像还是载密图像。因此,对于隐写技术,需要尽可能让隐写分析器无法区分载体图像和载密图像,即提升安全性。隐写的安全性由检测错误率来衡量,如式(12)所示。
式(12)中,表示误检率,即载体图像被误判为载密图像的概率,表示漏检率,即载密图像被误判为载体图像的概率,是和的平均值,值越高意味着隐写的安全性越高。
3.3 实验环境实验软件与硬件环境如表3所示。
表3 实验软硬件环境
3.4 训练参数网络训练的迭代次数为500 000 轮,使用Adam 优化器,判别器的学习率为生成器的四倍,嵌入率为0.4 比特每像素。网络模型中的所有卷积层和全连接层的权重按照均值为0,标准差为0.01 的高斯分布进行初始化。
网络训练超参数及取值如表4所示。其中,“Learning_rate”为学习率,“Adam_beta”为优化器Adam的参数,“TANH_LAMBDA”为嵌入模拟器的参数,“reduction”为注意力模块的缩减率,“”为生成器第一部分损失的权重系数,“”为生成器第二部分损失的权重系数,“”生成器第三部分损失的权重系数,“batch_size”为每次处理的图像数量。
表4 网络训练超参数
3.5 彩色图像隐写算法的性能对比实验为验证本文提出彩色图像隐写算法CISGAN 是否在隐写安全性方面具有优势,将CISGAN 和两个较新的传统空域彩色图像隐写算法GINA、ACMP进行对比,嵌入率范围从0.1 到0.5bpcp(Bits Per Channel Pixel),步长为0.1bpcp。隐写分析器使用SCRMQ 加集成分类器。实验结果如表5所示。
表5 不同隐写算法在SCRMQ 下的错误率
从表5中可以看出,在嵌入率为0.3bpcp、0.4bpcp 和0.5bpcp 的情况下,所提算法CISGAN 的安全性高于传统彩色图像隐写算法GINA 和ACMP。但是嵌入率为0.1bpcp 和0.2bpcp 时,所提算法的安全性没有GINA 和ACMP 高。表明所提算法CISGAN 对于高嵌入容量的效果好,所提算法更适用于容量高的场景。同时表明神经网络的方法在彩色图像隐写方面具有潜力。而对于嵌入容量低的场景,传统算法表现更好。
3.6 损失函数权重分配实验由于生成器的损失函数包含三部分,每一部分对整体的影响程度不同,本节设计实验对这三部分损失进行权重分配,选择最优的参数设置方案,使得隐写安全性最高。隐写算法为本章算法,嵌入率设置为0.4bpcp,隐写分析使用SCRMQ和集成分类器。分别选取不同的系数组合进行训练,实验结果如表6所示。表6中,“”是判别器交叉熵损失前的系数,“”是容量损失前的系数,“”是同步修改损失前的系数。嵌入容量的系数设置较小,其目的是在保证达到安全性的前提下,再考虑容量的限制。
表6 生成器损失函数参数选取实验
从表6中可以看出,当取值为1,取值为1e-8,取值为1e-9 时,安全性最高。实验结果证明,在保证达到安全性的前提下,再考虑容量的限制,最后再用同步修改损失项进行微调,是合理的。
3.7 消融实验为验证所提损失函数和加入注意力模块的有效性,本小节设计消融实验,嵌入率为0.4bpcp。隐写分析器使用SCRMQ 和集成分类器。实验结果如表7所示。“CISGAN_None”表示既没有加注意力模块也没有加损失项。“CISGAN_Attention_1”表示只在生成器的下采样最后一层中加入一个注意力模块,“CISGAN_Attention”表示生成器中下采样的每一个卷积层(除第一层外)后均加入注意力模块,这两种网络结构对应的损失函数中未加入同步修改项。“CISGAN_SYN”表示在损失函数设计中加入同步修改,但网络结构中没有添加注意力模块。
表7 消融实验
从表7中可以看出,生成器网络结构中只加入一个注意力模块错误率提高大约1 个百分点,而每一层都加入注意力模块能使错误率提高大约5 个百分点。表7中的数据显示,损失函数中加入同步修改项对错误率几乎没影响,错误率均为0.25。
从图6中可看出,损失函数中加入同步修改项能使三个通道的修改保持一致。从数据集中任取两张图像计算修改图,即残差图,将其放大255 倍,如图6所示。
图6 残差图对比
图6中,(a)和(d)为原始载体图像,(b)和(e)为CISGAN_None 的残差图,(c)和(f)为CISGAN_SYN的残差图。可以看出,图6(b)的下半部分出现很多红色的修改点,即红色通道要修改这些位置,但是这部分对应到图6(a)中是白色雪地,纹理并不丰富,是不需要修改的。而在损失函数中加入同步修改项后,如图6(c)所示,则没有在雪地的红色通道中进行修改,证明了所提损失函数的有效性。图6(e)中,除中心区域,周围区域蓝色点和红色点较多,而图6(f)中除中心区域,周围区域修改点变少,且三个颜色通道修改的点数较为均匀,证明了所提损失函数的有效性。
4 结 论本文提出基于注意力机制与生成对抗网络的彩色图像隐写算法CISGAN。该算法在网络的生成器中加入注意力机制模块,能够有效使嵌入修改集中在纹理复杂区域。在设计损失函数的过程中,保证三个颜色通道同步修改,以达到维持三个颜色通道之间的相关性的目的。并设计实验验证了神经网络中注意力模块和损失函数的有效性。实验结果表明,所提算法在高嵌入率的情况下安全性优于传统彩色图像隐写算法,解决了已有算法未能在容量和安全性间达到平衡的问题,对于通信安全具有重要意义。
本文工作也存在一定的局限性。本文提出的隐写算法是在空域进行的,数据集使用未经压缩的图像,考虑到实际网络传输过程中图像被压缩的情景,未来可以把该算法扩展到JPEG 域。