0引言隐写术是指将秘密信息隐藏在多媒体中而不会引起隐写分析一方怀疑的一种技术。在典型的情况下,隐写系统由3部分组成:Alice、Bob和Eve。发件人Alice在载体图像(cover)中隐藏秘密消息,使其变为不改变其外观感知的另一幅载密图像(stego),然后通过公共信道将stego发送给接收者Bob,接着Bob从stego中恢复消息。Eve作为隐写分析者监听他们的通信,并判断图像中是否隐藏秘密信息。隐写术的目的是将秘密信息隐藏在常见载体中,通过不引起怀疑的多媒体载体来掩盖其中携带的秘密信息,而与其类似的是一种称为数字水印的技术,两者的不同之处是隐写术的关键目的在于秘密信息不被发现;数字水印关注的重点在于保护多媒体数据本身,通过嵌入的水印信息标识图像所有权和保护知识产权。传统的隐写算法通常在最小化适当定义失真函数的同时嵌入秘密信息。基于定义的失真函数,通常将秘密信息嵌入具有复杂纹理和丰富特征的区域中。传统失真函数是手工设计的,例如HUGO(highly undetectable stego)(Pevny等,2010b),WOW(wavelet obtained weights)(Holub和Fridrich,2012)和S-UNIWARD(spatial-UNIWARD)(Holub等,2014)。这些方法需要大量的领域知识来设计性能良好的失真函数,需要长时间的知识积累和不断尝试。但是,在面对基于深度学习的隐写分析算法时抵抗能力不足。与传统的隐写方法相应,传统隐写分析方案可以检测可疑图像。传统的隐写分析算法首先提取图像的高维特征,然后使用机器学习分类器来检测图像是否包含秘密信息。最经典的传统隐写分析算法是空域富模型(spatial rich model,SRM)(Fridrich和Kodovsky,2012)。卷积神经网络(convolutional neural networks,CNN)和其他基于深度学习的方法已成为基本计算机视觉任务(例如图像分类)中的主流方法(He等,2016;Hu等,2018b)。受CNN在图像分类领域蓬勃发展的启发,学者开始思考如何将CNN应用于隐写分析。Tan-Net(Tan和Li,2014)是首次提出的基于深度学习的隐写分析算法,该方法达到了与SPAM(subtractive pixel adjacency matrix)(Pevny等,2010a)相当的性能。Xu等人(2016)提出了一个CNN结构,称为XuNet,该结构使用5组相同的网络层,1个高通滤波器(high-pass filtering,HPF)预处理层和绝对值激活函数(absolute activation-abs),达到了与SRM相当的性能。Ye等人(2017)在提出的网络结构中利用了很多领域知识,包括30个高通滤波器、截断线性单元(truncated linear unit,TLU)和选择通道,该网络可以实现比SRM更好的检测性能。Boroumand等人(2019)提出了一种未使用预处理层的端到端网络: SRNet,目前其在隐写分析方面的性能处于领先水平。与深度学习在隐写分析中的广泛使用相反,将深度学习用于隐写术的研究寥寥无几。目前,生成对抗网络(generative adversarial networks,GANs)(Goodfellow等,2014)已广泛应用于图像生成和图像到图像的翻译等领域。GAN由生成器G和鉴别器D两部分组成。类似隐写术和隐写分析之间的竞争,这两者之间也相互抗争。Volkhonskiy等人(2017)首次将GAN用于隐写术,提出了一种基于深度卷积生成对抗网络(deep convolutional generative adversarial networks,DCGAN)的隐写模型,将生成的图像作为cover,为传统的隐写算法提供安全的隐写载体。Hu等人(2018a)提出了一种基于DCGAN的无载体隐写算法,该算法将直接由噪声生成的图像作为cover,并实现由噪声到秘密信息的映射及噪声的安全提取,该方法的缺点是嵌入的信息容量太小。Hayes和Danezis(2017)提出了一种新的基于GAN的图像隐写技术架构,该网络包括3个组件:编码器,解码器和隐写分析器。该架构能将0.4 bit/像素的秘密信息隐藏到最多32×32像素的图像中。Zhu等人(2018)提出了与Hayes类似的体系结构,最大的不同是添加了一个噪声层,以便可以嵌入鲁棒的水印。在尺寸为16×16像素的灰度图像中,最大嵌入容量仅为0.203 bit/像素。这两种信息隐藏方法不仅信息嵌入容量都不高,而且生成的图像的质量也比较低。传统的盲水印方法通常分为两类,即各种空间域方法和变换域方法。常见的例子如空域算法(Karybali和Berberidis,2016;Nasir等,2007)以及各种变换域方法,诸如DCT(discrete cosine transform)变换域(Parah等,2016)和小波(Wavelet)域(Bao和Ma,2005),Hadamard域(Etemad等,2018)等。这些方法需要人为地设计嵌入和提取方式,需要从图像中提取出复杂的特征,包括空域方法操作图像像素以及变换域方法操作变换域系数等,这些过程通常比较烦琐,需要对该领域有深入的知识积累,且想要进一步提升性能比较困难。受深度学习在计算机视觉任务中成功的启发,一些基于深度学习的盲水印技术也应运而生。Kandi等人(2017)是最早期使用深度学习技术来设计鲁棒水印算法的,能够实现比传统水印算法更高的不可见性和鲁棒性,但其不是盲水印算法,在提取水印时需要原始载体图像的信息,因此会极大地限制其算法的可用性。Mun等人(2017)提出将卷积神经网络视为四元数离散傅里叶变换(quaternion discrete Fourier transform,QDFT)和量化索引调制(quantization index modulation,QIM)的概括,从而使用卷积神经网络将水印位嵌入到每一个图像块中并通过网络提取水印,这会导致水印图像出现类似传统算法的局部均匀嵌入。实验结果表明其水印图像质量和水印鲁棒性优于基于QDFT的方法(Ouyang等,2015)。Zhu等人(2018)提出使用生成对抗网络来设计鲁棒水印算法,通过编码器、噪声层、解码器和判别器的端到端训练完成图像鲁棒水印的嵌入和提取,噪声层用于模拟水印可能遇到的噪声攻击。但该方法网络设计的限制使其水印容量较低,并且水印图像质量和鲁棒性仍有很大的改进空间。Ahmadi等人(2020)提出将预定义的嵌入算法应用于嵌入在自动编码器特征图中,并且通过网络变换将特征转换到变换域中。此外,在编码器中还引入了一种强度因子,可以灵活地控制鲁棒性和不可感知性之间的权衡。结果表明,对于大部分噪声类型,在相同的水印图像质量情况下,Ahmadi等人(2020)提出的网络能够实现比Zhu等人(2018)更高的鲁棒性。但是,此网络模型仍有改进的余地(例如水印的嵌入方式以及模型的结构),可以进一步提升其图像质量和水印鲁棒性。Liu等人(2019)提出两阶段深度学习鲁棒水印模型,与端到端模型的主要不同之处在于,水印的嵌入和提取是分为两个阶段的,首先训练编码器完成水印的嵌入过程,然后固定训练好的编码器参数,对编码器生成的水印图像进行攻击之后通过解码器提取水印。两阶段训练的好处在于无需将噪声攻击模拟成可微分的噪声层,这使得解码器能够更好地抵抗诸如JPEG压缩等难以直接建模成可微分网络层的噪声攻击类型。HiDDeN(Zhu等,2018)的网络结构使得水印的嵌入容量有限,并且该结构还导致了最终水印图像质量差,水印提取准确率受到解码器结构的限制等问题。上述这些基于生成对抗网络的图像隐写算法和基于深度学习技术的图像水印算法由于其神经网络结构的设计不够合理等原因,并且缺乏对一些现实问题的考虑,存在诸如实际应用中解码图像像素值应该是浮点数而不是整数、基于生成对抗网络的图像隐写术抗隐写分析能力不足、基于深度学习的水印技术对噪声类型的考虑有限、可微分噪声层设计不合理等问题,所设计的隐写或者水印算法在信息提取准确率、嵌入容量和隐写安全性或水印鲁棒性、水印图像质量等方面存在不足。考虑到上述问题,本文提出了一个基于生成对抗网络的端到端图像隐写模型IIH-GAN (image information hiding-GAN)和一个基于生成对抗网络的端到端图像鲁棒盲水印模型IRBW-GAN (image robust blind watermark-GAN)。可以通过对编码器、解码器和判别器的对抗训练来学习隐写或水印嵌入策略,而不需要人工设计的失真函数以及额外的领域知识。编码器和解码器网络分别可以自动学习秘密信息的嵌入和提取,而判别器在对抗训练中保持图像的分布不改变。与以前的方法相比,本文工作的主要贡献如下:1) 提出了一种更有效的基于生成对抗网络的图像隐写术,相比于以前的32×32像素图像上最高0.4 bit/像素的容量,该算法可以在256×256像素的图像上实现1 bit/像素的容量。2) 提出了一个使用SE-ResNet模块的更有效的编码器和解码器结构。SE-ResNet模块可以通过显式地建模通道之间的相互依赖性来自适应地重新校准通道方式的特征响应。因此,秘密信息可以被隐藏到图像中并被更完美地提取,从而提高了编码图像的感知质量以及信息提取准确率。3) 对于隐写模型在编码器和解码器之间添加了一个四舍五入层,可以在真实场景中以99.9 % 的正确率解码具有整数类型像素值的图像。4) 将对抗样本添加到基于生成对抗网络的隐写模型。当知道另一方训练的隐写分析模型的详细参数时,可以执行白盒攻击以将隐写分析模型的检测准确率从97.43 % 降低到48.69 %。5) 对于基于生成对抗网络的鲁棒盲水印模型在噪声层中考虑了丰富多样的噪声类型以及高强度的噪声攻击,对于不可微分的JPEG压缩操作,本文提出了一种更有效的模拟方法。1IIH-GAN和IRBW-GAN模型架构本文目标是设计一个由编码器、解码器和判别器组成的端到端的深度学习系统。编码器可以将信息自动嵌入到载体图像的复杂纹理区域中,解码器可以从载密图像中提取信息。其中图像隐写模型IIH-GAN如图 1(a)所示。编码器:Alice收到形状为$C$×$H$×$W$的载体图像${\mathit{\boldsymbol{I}}}_{\rm {c}}$和形状为$N$×$H$×$W$的秘密信息$M_{\rm {emb}}$∈{0,1}(在本文模型中,选择$N$等于1),然后生成隐藏秘密信息的图像${\mathit{\boldsymbol{I}}}_{\rm {s}}$。${\mathit{\boldsymbol{I}}}_{\rm {c}}$和${\mathit{\boldsymbol{I}}}_{\rm {s}}$在外观感知上是相同的。${\mathit{\boldsymbol{I}}}_{\rm {s}}$是由编码器编码的图像,其像素值均为浮点数。接下来,将${\mathit{\boldsymbol{I}}}_{\rm {s}}$输入到四舍五入层,输出是${\mathit{\boldsymbol{I}}}′ _{\rm {s}}$,其像素值为整数。解码器:Bob收到${\mathit{\boldsymbol{I}}}′ _{\rm {s}}$并提取嵌入其中的信息以获得$M_{\rm {ext}}$。判别器Eve接收图像并确定它是cover还是stego。图像鲁棒盲水印模型IRBW-GAN如图 1(b)所示,与隐写模型不同之处在于,水印的形状为1×$X$×$X$(共$X ^{\rm {2}}$ bit水印信息),并且在编码器之前,有一个预处理网络层,目的是为了将初始的水印信息进行变换,增加其冗余空间。在编码器和解码器之间是一个噪声层,通过将各种噪声建模成可微分的网络层来训练抵抗各种噪声攻击的鲁棒水印。 图1 IIH-GAN以及IRBW-GAN模型架构图 IIH-GAN and IRBW-GAN model architectureFig 1((a)IIH-GAN; (b)IRBW-GAN)1.1整体架构本文网络的总体架构如图 1所示,其中图 1(a)为所设计的隐写模型IIH-GAN,图 1(b)为所设计的水印模型IRBW-GAN。IIH-GAN主要由3个子网络和1个四舍五入层组成,而IRBW-GAN主要由4个子网络(包括1个预处理层)和1个噪声层组成。编码器和解码器是对称的卷积神经网络结构,其中主要使用SE-ResNet模块。在IIH-GAN中,编码器和解码器之间存在1个四舍五入层,这意味着输入到解码器的编码图像的像素值都是整数。在IRBW-GAN中,编码器和解码器中间有1个噪声层,用于鲁棒水印的设计。判别器中使用W-GAN-gradient penalty的损失函数以稳定训练过程。1.2编码器和解码器的结构在编码器网络和解码器网络中使用3个SE-ResNet模块,以将秘密信息自动嵌入到载体图像难以被检测的区域中,并有效地提取信息。对于编码器网络,每个块的卷积内核数增加2倍,而解码器网络则相反。在整个编码和解码过程中,没有使用任何池化层,从而最大程度地减少了信息丢失。卷积核的尺寸(kernel size)为3×3,步幅(stride)为1,填充(padding)为1。该卷积方法确保最大程度地不丢失载体图像的固有信息,从而确保由编码器生成的图像的质量,并使解码器最大程度的准确提取信息。SE-ResNet首先由Hu等人(2018b)提出,并作为卷积神经网络的基本构成模块,其结构如图 2所示。首先,对形状为$C$′×$H$×$W$的输入执行相同的Conv-Bn-ReLU运算两次,以获得形状为$C$×$H$×$W$的特征图。然后,为了重新校准上一步中获得的特征,使用全局平均池化对每个通道执行挤压操作以获得新的特征图。再通过在ReLU非线性周围形成两个全连接(FC)层的瓶颈来对门控机制进行参数化。该块的下一个输出是通过使用S型激活来重新缩放转换输出而获得的。最后,将两者相乘以获得最终特征图。基于SE块,添加了快捷连接以减轻梯度的消失。本文所设计的隐写模型和水印模型的编码器和解码器均使用了这种SE-ResNet模块。 图2 SE-ResNet模块详细结构 The detailed structure of the SE-ResNet moduleFig 2SE-ResNet块可以学习使用全局信息来有选择地强调重要特征并抑制影响最终结果的特征,因此,信息被嵌入到图像中而不会损坏图像信息。并且它可以在提取信息时抑制图像特征,放大信息特征。1.3四舍五入层图像通常包括PGM格式的单通道灰度图像和JPEG格式的三通道RGB真彩色图像。但是,无论是灰度图像还是真彩色图像,像素值都是整数。显然,如果要在现实生活中使用隐写算法,则无论彩色图像还是灰度图像,解码器必须都能够解码。所以在编码器和解码器之间添加一个四舍五入层以完成此任务,其正式描述为 1 $\boldsymbol{I}_{\mathrm{s}}^{\prime}=\boldsymbol{I}_{\mathrm{s}}+{det}\left({rou}\left(\boldsymbol{I}_{\mathrm{s}}\right)-\boldsymbol{I}_{\mathrm{s}}\right)$ 式中,${\mathit{\boldsymbol{I}}}_{\rm {s}}$是原始载密图像,其像素值都是浮点数,${\mathit{\boldsymbol{I}}}′ _{\rm {s}}$是经过四舍五入层处理并最终输入到解码器的载密图像,其像素值都是整数。$rou$是将浮点数四舍五入为整数的逐像素操作。$det$操作仅保留值,但在反向传播期间不提供梯度。通过以上操作,解码器可以解码具有整数像素值的图像。1.4判别器的结构判别器D的作用是判断图像是stego还是cover。在网络训练期间,判别器强制生成的编码图像尽可能接近原始图像。在编码器中使用与编码器和解码器相同的卷积核。其中的池化层是4×4跨度的4×4最大池化。判别器的架构如图 3所示。 图3 判别器详细结构 The detailed structure of the discriminatorFig 31.5添加对抗样本到基于GAN的隐写模型中前文介绍了基于生成对抗网络的隐写模型,该模型需要提高抵抗基于深度学习的高级隐写分析算法的能力。如果知道另一方正在使用的隐写分析模型的详细参数,受AdvGAN(Xiao等,2018)的启发,可以在原始GAN训练过程中添加对抗样本,该模型如图 4所示。编码器、解码器和判别器的结构与上述相同,唯一的区别是添加了隐写分析模型的模块。该模块输入stego图像得到损失$L_{\rm {adv}}$,据此通过梯度下降算法更新相关的参数值。 图4 添加对抗样本后的隐写模型架构 Steganographic model architecture after adding adversarial examplesFig 41.6噪声层设计在训练本文提出的IRBW-GAN图像鲁棒盲水印模型的时候,需要将噪声在可微分噪声层进行模拟。本文使用的噪声类型在表 1中列出。 表1 噪声类型说明 噪声类型 具体含义 Identity 恒等噪声 Dropout Dropout噪声 Cropout Cropout噪声 Crop 裁剪噪声 JPEG compression JPEG压缩噪声 Resize 缩放噪声 Mean filtering 均值滤波噪声 Gaussian blur 高斯模糊噪声 Salt & Pepper 椒盐噪声 The description of the noise typeTable 1表 1中,Identity表示恒等噪声层,即在噪声层中不对水印图像进行任何处理,相当于水印图像没有经过任何处理直接输入到解码器中,这是用于与各种噪声攻击类型进行对照实验的。如图 1(b)所示可以看到,原始载体图像是${\mathit{\boldsymbol{I}}}_{\rm {c}}$,经过编码器之后得到编码图像${\mathit{\boldsymbol{I}}}_{\rm {s}}$,经过噪声层之后得到噪声图像${\mathit{\boldsymbol{I}}}′_{\rm{s}}$。Dropout和Cropout都有一个强度因子$p$(0~1),Dropout和Cropout保留${\mathit{\boldsymbol{I}}}_{\rm{c}}$中比例为$p$个元素,并将剩余的$1-p$比例个像素使用${\mathit{\boldsymbol{I}}}_{\rm{s}}$中对应位置元素进行代替,得到${\mathit{\boldsymbol{I}}}′ _{\rm{s}}$。两者的不同在于,Dropout对于每一个像素都是独立选择的,而Cropout随机选择一个图像块进行替换。Crop和Resize分别表示裁剪和缩放操作,各有一个强度因子$p$,表示的是裁剪和缩放之后的图像与原图大小比例为$p$。Mean filtering表示均值滤波,会导致图像模糊,常用于图像去噪。使用3×3均值滤波器对原始图像进行卷积操作即可得到噪声图像。Gaussian blur表示高斯模糊,有一个强度因子$σ$控制。Salt & Pepper表示椒盐噪声,有一个强度因子$p$控制($p$的取值范围是0~1),将原始图像中比例为$p$个像素保留,将剩下的像素值用0(椒噪声)或255(盐噪声)随机代替,即可得到噪声图像。JPEG compression表示JPEG压缩操作,与以上提到的所有噪声类型不同,其压缩过程中含有不可微分的步骤,即量化操作。HiDDeN(Zhu等,2018)中建模量化操作过程是将每个8×8的DCT(discrete cosine transform)系数左上角的5×5的DCT系数保存,剩下的全部直接变为0。这样的做法略显粗糙,并不能很好地模拟真实的量化操作。针对这个问题,本文提出了可微分的量化操作,容易使用各种深度学习框架实现,以PyTorch为例 2 $\begin{gathered}X^{\prime}= \\X+{det}\left({rou}\left(\frac{X}{Q}\right)-X\right)\end{gathered}$ 式中,$X$表示像素值,$Q$表示质量因子,$rou$函数为四舍五入运算,本身是不可微分的。于是式(2)就等同于在正向传播过程中,$X′=rou(X/Q)$,这等同于真实的量化过程,而在反向传播过程中,只有$X$提供梯度。通过这样处理,巧妙地将正向和反向的过程分开了。1.7目标损失函数由于整个网络包括3个主要的子网络,因此分别对其选择不同的损失函数以进行交替迭代优化。编码器Alice的目标是在将信息嵌入到cover中的同时保持图像分布和视觉感知质量,Alice网络既是编码器又是生成对抗网络中的生成器。因此,当Alice是编码器时,其损失函数为$L_{\rm {eA}}$,使用了MSE(mean square error)损失,当Alice作为生成对抗网络中的生成器时,其损失为L$_{\rm {gA}}$,使用了W-GAN-gp中生成器使用的损失函数,两个损失函数为 3 $L_{\mathrm{eA}}\left(\boldsymbol{I}_{\mathrm{c}}, \boldsymbol{I}_{\mathrm{s}}\right)=\frac{1}{C \times H \times W}\left\|\boldsymbol{I}_{\mathrm{c}}-\boldsymbol{I}_{\mathrm{s}}\right\|_{2}^{2}$ 4 $L_{\mathrm{gA}}\left(\boldsymbol{I}_{\mathrm{c}}, \boldsymbol{I}_{\mathrm{s}}\right)=-E_{I_{s} \sim P_{\mathrm{g}}}\left[D\left(\boldsymbol{I}_{\mathrm{s}}\right)\right]$ 式中,${\mathit{\boldsymbol{I}}}_{\rm{c}}$和${\mathit{\boldsymbol{I}}}_{\rm{s}}$分别代表的是载体图像和载密图像。$C$、$H$、$W$分别代表通道数、图像高度和宽度。$E$代表期望值,$D$代表的是判别器输出,$P_{\rm {g}}$是由生成器产生的样本分布。解码器Bob的目标是从载密图像中准确恢复秘密信息,因此对于Bob,使用了MSE损失函数,即 5 $L_{\mathrm{dB}}\left(M_{\mathrm{c}}, M_{\mathrm{s}}\right)=\frac{1}{H \times W}\left\|M_{\mathrm{c}}-M_{\mathrm{s}}\right\|_{2}^{2}$ 式中,$M$代表秘密信息。Eve在GAN中是判别器,其目的是鉴别图像是载体图像还是载密图像。使用W-GAN-gp的损失函数(Gulrajani等,2017)代替原始的GAN损失函数,可以稳定GAN的训练过程,即 6 $\begin{array}{*{20}{c}}{L_{\mathrm{dE}}\left(\boldsymbol{I}_{\mathrm{c}}, \boldsymbol{I}_{\mathrm{s}}\right)=E_{I_{s} \sim P_{\mathrm{g}}}\left[D\left(\boldsymbol{I}_{\mathrm{s}}\right)-E_{I_{\mathrm{c}} \sim P_{\mathrm{r}}}\left[D\left(\boldsymbol{I}_{\mathrm{c}}\right)+\right.\right.}\\{\lambda E_{\tilde{x} \sim P_{\tilde{x}}}\left[\left(\left\|\nabla_{\tilde{x}} D(\tilde{x})\right\|_{2}-1\right)^{2}\right]}\end{array}$ 式中,${\mathit{\boldsymbol{I}}}_{\rm{c}}$和${\mathit{\boldsymbol{I}}}_{\rm{s}}$分别代表原始图像和编码图像,$\lambda E_{\tilde{x} \sim P_{\tilde{x}}}\left[\left(\left\|\nabla_{\tilde{x}} D(\tilde{x})\right\|_{2}-1\right)^{2}\right]$代表进行梯度范数裁剪,$P_{\rm {r}}$是真实样本分布,$P_{x}$是中间区域的采样分布。攻击特定隐写模型的损失为 7 $L_{\mathrm{adv}}=E_{x} l_{f}(x+\psi(x), t)$ 式中,$t$是目标类别,$ψ(x)$是生成的嵌入信息,$l_{{f}}$表示用于训练原始模型$f$的损失函数(例如,交叉熵损失)。该损失会鼓励编码图像错误地分类为目标类别$t$。在这里,希望将编码的载密图像误分类为载体图像。最后,对于所提出的编码器—解码器和生成器网络,整个损失函数可以定义为 8 $L_{\mathrm{total}}=\lambda_{\mathrm{eA}} L_{\mathrm{eA}}+\lambda_{\mathrm{gA}} L_{\mathrm{gA}}+\lambda_{\mathrm{dB}} L_{\mathrm{dB}}$ 添加对抗样本后,总损失变为 9 $L_{\text {total }}^{\prime}=\lambda_{\text {eA }} L_{\text {eA }}+\lambda_{\mathrm{gA}} L_{\mathrm{gA}}+\lambda_{\mathrm{dB}} L_{\mathrm{dB}}+\lambda_{\text {adv }} L_{\text {adv }}$ 式中,$λ_{\rm {eA}}$、$λ_{\rm {gA}}$、$λ_{\rm {dB}}$和$λ_{\rm {adv}}$分别代表编码器、生成器、解码器和隐写分析模块的损失值的权重参数。2实验结果与分析2.1实验设置本文采用的数据集包括celebA(Liu等,2015)、BOSSBase(Bas等,2011)和COCO(common object in context)(Lin等,2014)。分别从上述3个数据集中随机选择19 000、9 000、10 000幅载体图像进行训练。测试数据集均选取训练时未使用的图像。对消息进行采样,并随机选取每个比特。为了确认所提方法的优越性,对于所设计的隐写模型IIH-GAN,本文比较了几种隐写术的常用指标,包括图像质量、容量、解码准确率和隐写安全性。如果模型需要在实时场景中工作,时间消耗也很重要,因此也将其用做比较指标之一。用做对照的隐写方法包括Volkhonskiy等人(2017)、Hayes和Danezis(2017)、Hu等人(2018a)、HiDDeN(Zhu等,2018)。对于设计的水印模型IRBW-GAN比较了不同的嵌入容量,不同的模型称为IRBW-GAN($X$),其中$X$代表嵌入容量。还对比了各种噪声下的水印图像质量和水印提取准确率。用做对照的水印方法包括HiDDeN(Zhu等,2018),ReDMark(Ahmadi等,2020),Liu等人(2019)。2.2参数选择以及模型收敛性关于梯度下降优化器,使用了默认超参数的Adam优化器,学习率为1E-3。所有模型都以batch size为12训练200个epoch。对于损失函数中$λ_{\rm {eA}}$,$λ_{\rm {gA}}$和$λ_{\rm {dB}}$的选择,其中$λ_{\rm {eA}}$,$λ_{\rm {gA}}$和$λ_{\rm {dB}}$分别是编码器、生成器和解码器的权重参数。类似于HiDDeN,令$λ_{\rm {gA}}=1{\rm{E}}-3$。对于$λ_{\rm {eA}}$和$λ_{\rm {dB}}$,分别尝试了几组不同的参数组合,并在BOSSBase数据集上分别训练了模型,然后随机选择另外1 000幅图像作为验证集,其中编码器损失和解码器损失的变化曲线如图 5所示。 图5 不同取值时的编码器和解码器损失下降过程 The encoder and decoder loss reduction process with different values((a) encoder; (b) decoder)Fig 5可以看出,无论是编码器损失还是解码器损失,当$λ_{\rm {eA}}$和$λ_{\rm {dB}}$的取值分别是5和1的时候,其编码器损失和解码器损失收敛得最快,并且最后收敛到的值更小,且随着网络继续训练,损失几乎没有波动。因此,在本文中,选择5和1作为这两个参数的值。在$λ_{\rm{eA}}=5$,$λ_{\rm{dB}}=1$和$λ_{\rm{gA}}=1{\rm{E}}-3$基础上,这里进行了若干实验来确定$λ_{\rm{adv}}$的值,选择了4个对应不同量纲的值,即(1, 0.1, 0.01, 0.001),结果如图 6所示。可以观察到,当$λ_{\rm {adv}}$选择0.001时,即图中对应蓝色曲线,编码器和解码器收敛到更低损失值且最稳定。 图6 不同取值时的编码器和解码器损失下降过程 The encoder and decoder loss reduction process with different values((a) encoder; (b) decoder)Fig 62.3隐写模型IIH-GAN的实验结果2.3.1图像质量隐写术希望在多媒体数据中隐藏秘密信息的同时而不引起怀疑。因此在载体图像中嵌入秘密信息的同时尽量不要破坏原始图像。为了评价图像质量,本文使用了峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似性(structural similarity,SSIM)定量分析载体图像质量。为了防止误差,表 2中的数据是取3次实验结果的平均值。IIH-GAN生成的载密图像的PSNR和SSIM远高于Hayes和HiDDeN,特别是在celebA和BOSSBase数据集中,其PSNR分别高达48 dB和50 dB,SSIM约为0.99,这表明生成的图像非常接近原始图像。与其他两个数据集相比,COCO由彩色图像组成,并且分布相对复杂,因此所有3个网络在此数据集上的表现都稍差。 表2 隐写算法在不同数据集上生成的编码图像的PSNR和SSIM 隐写方案 celebA PSNR(/dB)/SSIM BOSSBase PSNR(/dB)/SSIM COCO PSNR(/dB)/SSIM IIH-GAN(1 bit/像素) 48.169 7/0.996 7 50.034 9/0.996 8 40.164 6/0.975 4 Hayes(0.1 bit/像素) 23.158 5/0.724 4 18.382 4/0.480 1 15.692 3/0.317 8 Hayes(0.4 bit/像素) 22.450 2/0.693 3 17.453 0/0.436 9 15.423 9/0.301 7 HiDDeN(0.203 bit/像素) 36.500 0/0.967 5 39.240 0/0.967 6 36.107 2/0.941 8 PSNR and SSIM of encoded images generated by three steganographic models on three different datasetsTable 2 加粗字体表示最优结果。2.3.2解码准确率使用比特每像素(bit/像素)作为容量的指标。对于解码正确率,有两个极为相似的指标:Acc-1和Acc-2。Acc-1表示解码图像的像素值为浮点数,Acc-2表示解码图像的像素值为整数。在实际情况下,发送的图像的像素值都是整数。因此,Acc-2是隐写算法的解码准确率的实际度量。1) 浮点数(Acc-1)。从表 3可以看出,当嵌入率为0.1 bit/像素时,对于BOSSBase和COCO,Hayes的解码准确率约为0.93,对于celebA数据集的解码准确率约为0.97。当嵌入率为0.4 bit/像素时,celebA数据集的解码准确率下降到约0.8,而其他两个数据集则完全无法解码,这证明了Hayes提出的网络可用性不高。对于HiDDeN,所有3个数据集的解码准确率均约为0.99,这证明了其出色的性能。 表3 3种隐写算法在不同数据集上的解码正确率 隐写方案 Acc-1/Acc-2 celebA BOSSBase COCO IIH-GAN(1 bit/像素) -/0.999 -/0.999 -/0.999 Hayes(0.1 bit/像素) 0.974/0.973 0.933/0.926 0.937/0.935 Hayes(0.4 bit/像素) 0.807/0.806 0.499/0.499 0.499/0.499 HiDDeN(0.203 bit/像素) 0.997/0.969 0.985/0.805 0.993/0.947 Decoding accuracy of several steganographic algorithms on three different datasetsTable 3 加粗字体表示每列最优结果;“-”是因为IIH-GAN在编码器和解码器之间添加了一个四舍五入层,因此只能对有整数类型像素值的图像进行解码。2) 整数(Acc-2)。对编码后的图像进行四舍五入,基本上不会影响Hayes的解码准确率,这说明其解码器网络是鲁棒的,但是由于其原始解码正确率不是最优的(最多为0.974),其实用性仍然有待提高。对于HiDDeN,如果对stego图像像素值进行四舍五入,则解码准确率会受到一定程度的影响。可以看到,BOSSBase数据集的解码准确率将从0.985降低到0.805,而其他两个数据集的解码准确率将降低3 % ~5 %。本文在编码器和解码器之间添加了一个四舍五入层,以对具有整数类型像素值的图像进行解码,并且可以达到0.999的解码准确率,所以此隐写算法能够运用于现实中。2.3.3隐写容量本文比较了隐写容量的两个指标,即绝对嵌入容量和相对嵌入容量。结果见表 4。可以注意到,模型可以在256×256像素的大图像中隐藏多达1 bit/像素的信息。但是,其他模型在小图像块上只能隐藏不超过0.4 bit/像素的信息,这也大大限制了这些算法的实用性。 表4 隐写算法的容量 隐写方案 图像尺寸/像素 绝对嵌入容量/bits 相对嵌入容量/(bit/像素) IIH-GAN 256×256 65 536 1 Hayes 32×32 410 0.4 HiDDeN 16×16 52 0.203 Volkhonskiy 64×64 1 634 0.4 Hu等人(2018a) 64×64 300 0.07 Capacity of several steganographic algorithms based on GANTable 4 加粗字体表示最优结果。2.3.4隐写安全性本文通过隐写算法抵御隐写分析检测的能力评估隐写算法的安全性。选择两种基于深度学习的高级且复杂度较低的隐写分析模型XuNet(Xu等,2016)和YeNet(Ye等,2017)。从表 5可以看出,对于Hayes和HiDDeN,无论是XuNet还是YeNet,其检测准确率基本上都接近100 %,这表明这两个网络完全无法抵抗强大的隐写分析算法。IIH-GAN将XuNet的检测率降低了5 %,将YeNet的检测率降低了2 %。高达1 bit/像素的嵌入率说明了该网络的安全性。但不可否认的是网络的抗隐写分析能力仍然不足。 表5 隐写模型的检测准确率 隐写方案 XuNet/YeNet BOSSBase COCO IIH-GAN 94.91/97.71 95.19/98.29 Hayes(0.1 bit/像素) 100/100 99.93/99.95 Hayes(0.4 bit/像素) 100/100 99.95/100 HiDDeN 99.78/100 99.98/100 The detection accuracies of steganographic models  /%Table 5 加粗字体表示每列最优结果。2.3.5时间开销对于经过训练的网络,测试了100幅图像的总编码和解码时间,然后计算了每幅图像的平均编码和解码时间。实验是在配备Intel i9-9900K和GeForce RTX 2080Ti的服务器上使用PyTorch框架进行的。为了公平起见,载体图像是来自celebA的128×128像素的图像,以及来自BOSSBase和COCO的256×256像素的图像。结果见表 6。本文模型的平均编码和解码速度比HiDDeN网络快几十倍,比Hayes网络快几倍。这表明该网络能够以非常快的速度完成图像编码和解码任务,这在实时性要求较高的场景中具有重要意义。得益于有效的网络设计,其能够处理完整尺寸的大图像,因此编码和解码速度很快。另外两个网络是在较小尺寸的图像块上训练的,因此对于较大尺寸的图像,只能逐块进行操作,这在一定程度上降低了速度。 表6 隐写模型的平均编码和解码时间 隐写方案 celebA BOSSBase COCO IIH-GAN 0.008 7 0.012 3 0.015 4 Hayes(0.1 bit/像素) 0.061 8 0.224 0 0.222 8 Hayes(0.4 bit/像素) 0.100 7 0.361 0 0.362 4 HiDDeN 0.287 6 1.112 2 1.142 4 Average encoding and decoding time of three steganographic models  /sTable 6 加粗字体表示每列最优结果。2.3.6对抗样本攻击特定隐写分析模型实验结果为了验证1.5节提出的添加对抗样本对所设计模型的效果。首先在训练数据集上训练本文模型,这里包括两种不同的模型,不添加对抗样本模块的模型以及添加对抗样本模块的模型。训练3个不同的模型,分别称为模型1,模型2和模型3。其中模型1和模型2不添加对抗样本模块,两者的唯一不同之处在于,模型训练的初始化随机种子不同,其他的所有训练细节相同。模型3添加对抗样本模块,模型1和模型3的初始化随机种子相同,其他的训练细节也都保持相同。对于训练好的模型1、模型2和模型3,保留模型参数。将训练集和测试集分别输入3个训练好的模型1,模型2和模型3的编码器中得到对应的载密图像。这样就拥有了3个独立的cover/stego训练数据集和测试数据集。针对来自模型1的cover/stego训练数据集训练隐写分析网络YeNet。然后使用在模型1上训练好的YeNet分别检测来自模型1,模型2和模型3的cover/stego测试集。检测准确率结果显示在表 7中。 表7 隐写分析的检测准确率 模型 YeNet检测准确率/% 模型1 97.43 模型2 92.89 模型3 49.29 Accuracy of steganalysis modelsTable 7 加粗字体表示最优结果。YeNet对模型1的检测准确率为97.43 %,说明YeNet有很高的准确率能够检测到载密图像的存在。这意味着只要隐写分析一方能够获得模型的详细参数,就能够构造cover/stego训练数据集,从而获得很高的检测准确率。在模型1上训练好的YeNet,使用它来检测模型2,可以看到,准确率略有下降,为92.89 %,模型1和模型2的唯一不同是模型初始随机种子不同,这可能会导致模型最终收敛到不同的结果。在模型1上训练好的YeNet用来检测模型2,准确率略有下降,这是一种数据集不匹配的现象,两个模型产生的数据集分布会有所区别。但是准确率下降并不明显,这说明YeNet的检测能力能够由模型1迁移到模型2。当使用该训练好的YeNet来检测模型3的时候,准确率下降到49.29 %,这代表YeNet完全失去作用,不能分辨载体图像和载密图像,由于模型1和模型3的唯一不同在于是否添加对抗样本,这正说明对抗样本的加入成功实现了对特定隐写分析模型的攻击,从而大大提升了隐写安全性。当然,在攻击特定隐写分析模型之后,新的网络产生的图像质量不应该相对于原始网络产生的图像质量发生太大变化,并且其解码准确率也不应该受到影响。从表 8中可以看到,PSNR和SSIM基本没有发生变化,解码准确率也仍能保持0.999。这说明添加对抗样本到基于生成对抗网络的隐写模型中,并不会影响模型本身的可用性,包括图像质量和解码准确率。 表8 攻击隐写分析模型前后,图像质量和解码准确率 模型 PSNR(/dB)/SSIM 解码准确率 模型1 50.034 9/0.996 8 0.999 模型2 51.002 0/0.984 9 0.999 模型3 47.197 7/0.995 7 0.999 Comparison of the image quality and decoding accuracy before and after the attackTable 8 加粗字体表示每列最优结果。2.4水印模型IRBW-GAN的实验结果2.4.1不同JPEG压缩噪声层模拟对比分析JPEG压缩噪声层的设计难点在于如何模拟不可微分的量化操作,本节提出了不同方法用于模拟量化操作,并且使其可微分。为了比较模拟结果的好坏,分别使用的IRBW-GAN(64)和HiDDeN在本节模拟的JPEG压缩噪声层以及HiDDeN提出的JPEG压缩噪声层上进行训练,对于训练好的模型,使用真实的压缩质量因子为50的JPEG压缩进行测试,实验结果如表 9所示。 表9 真实JPEG压缩处理下的水印图像质量和水印提取准确率对比 模型(水印容量/bits) JPEG压缩(HiDDeN) JPEG压缩(本文) PSNR(/dB)/SSIM 准确率 PSNR(/dB)/SSIM 准确率 HiDDeN(30) 37.162 8/0.970 0 0.594 3 35.035 9/0.935 6 0.601 2 IRBW-GAN(64) 38.500 8/0.980 5 0.642 0 40.113 3/0.991 0 0.804 3 Comparison of watermark image quality and watermark extraction accuracy tested on real JPEG compressionTable 9 加粗字体表示每列最优结果。首先横向观察表 9,即对于同一种模型分别在HiDDeN模拟的JPEG压缩噪声层和在本文模拟的JPEG压缩噪声层上进行训练。结果表明,在本文模拟的JPEG压缩噪声层进行训练得到的模型都可以实现更高的水印提取准确率,尤其是对于IRBW-GAN,其水印图像质量和提取准确率都明显高于在HiDDeN提出的JPEG压缩噪声层上训练得到的结果。这些结果说明了本文新型的JPEG压缩模拟相较于HiDDeN中使用的JPEG压缩模拟方法更接近于真实的JPEG压缩操作,从而在面对真实JPEG压缩噪声的时候能够实现更好的鲁棒性。接下来对表 9进行纵向观察,即对于HiDDeN和IRBW-GAN使用相同的训练方法,可以看出,即便使用相同的JPEG压缩模拟方法进行训练,IRBW-GAN都具有更高的水印图像质量和水印提取准确率。这说明IRBW-GAN更适合用于鲁棒盲水印。2.4.2水印图像质量和水印提取准确率对比分析分析在各种噪声攻击情况下的水印图像质量以及水印提取准确率,使用的图像质量评价指标是PSNR和SSIM。首先,针对Identity噪声层进行训练,Identity噪声层作为一个典型的对照实验组,即恒等层,水印图像无损地输入到解码器中。对于IRBW-GAN,进行了不同水印嵌入容量的实验,当噪声层是恒等层时,由表 10可以看出,无论水印容量多大,其提取准确率都可以达到100 %,只有在水印大小和图像大小相同时,提取准确率略有损失,为99.99 %。均是优于HiDDeN 99.1 % 的提取准确率。在拥有如此高的水印提取准确率的同时, 图像质量也高于HiDDeN。HiDDeN中提出噪声类型包括Dropout(0.3),Cropout(0.3),Crop(0.035),Gaussianblur(2)和JPEGCompression()。在对应的噪声类型和强度上训练IRBW-GAN网络和HiDDeN网络,由于ReDMark和Liu等人(2019)没有开源代码,本文使用其原文中的实验结果,以及其原文中使用的数据集,结果如表 11所示。ReDMark和Liu等人(2019)的图像质量使其保持与HiDDeN接近,只比较它们的水印提取准确率。对于Dropout和Cropout噪声类型,可以看出,当ReDMark的水印图像质量接近HiDDeN的情况下,其解码准确率在Cropout噪声上略优于HiDDeN,而在Dropout噪声上不如HiDDeN。Liu等人(2019)在保证图像质量的情况下,其水印提取准确率是三者中最高的。而本文网络在各种水印嵌入上的水印图像质量全面超越HiDDeN,ReDMark和Liu等人(2019),这证明了编码器选择的合理性。对于水印提取准确率,当使用Dropout噪声训练时,在水印容量为64 bits和256 bits的时候,准确率都超过三者。而当使用Cropout噪声训练时,只有当水印容量为64 bits时,准确率超过HiDDeN,ReDMark和Liu。两种噪声前文均已描述,Dropout是每个像素位独立替换的,而Cropout是一个图像块整体替换的,这正说明了深度学习网络本身的一些性质。网络能够根据相邻的像素值补全每一个独立像素值的丢失,却难以找回整个丢失的图像块。因此当水印嵌入率升高时,对于Cropout噪声的抵抗能力也就下降的比较快。 表10 在恒等噪声层处理下水印图像质量和水印提取准确率对比 模型(水印容量/bits) PSNR(/dB)/SSIM 准确率 HiDDeN(30) 38.354 6/0.967 6 0.991 0 IRBW-GAN(64) 41.020 7/0.991 8 1.000 0 IRBW-GAN(256) 37.004 3/0.984 4 1.000 0 IRBW-GAN(1 024) 46.563 2/0.994 6 1.000 0 IRBW-GAN(4 096) 46.311 5/0.992 0 1.000 0 IRBW-GAN(16 384) 44.991 7/0.987 3 0.999 9 Comparison of watermarked image quality and watermark extraction accuracy under identity noise layerTable 10 加粗字体表示每列最优结果。 表11 在Dropout(0.3)和Cropout(0.3)噪声层下水印图像质量和水印提取准确率对比 模型(水印容量/bits) Dropout(0.3) Cropout(0.3) PSNR(/dB)/SSIM 准确率 PSNR(/dB)/SSIM 准确率 HiDDeN(30) 36.207 9/0.948 8 0.930 0 37.836 1/0.961 7 0.940 0 ReDMark(30) -/- 0.920 0 -/- 0.925 0 Liu等人(2019)(30) -/- 0.974 0 -/- 0.973 0 IRBW-GAN(64) 39.633 7/0.984 2 0.999 3 39.237 3/0.988 5 1.000 0 IRBW-GAN(256) 41.800 6/0.982 5 0.999 7 45.755 7/0.993 7 0.818 1 IRBW-GAN(1 024) 41.396 2/0.981 8 0.956 9 42.505 3/0.984 7 0.809 9 IRBW-GAN(4 096) 39.955 8/0.969 1 0.685 7 42.564 4/0.983 4 0.786 6 IRBW-GAN(16 384) 39.185 4/0.951 4 0.902 0 45.426 0/0.990 7 0.658 4 Comparison of watermarked image quality and watermark extraction accuracy under Dropout(0.3) and Cropout(0.3) noise layerTable 11 加粗字体表示每列最优结果;“-/-”表示对应算法的水印图像质量和表中上一行的算法基本保持一致。对于高斯模糊和JPEG压缩(选用质量因子$Q$为50的JPEG压缩进行测试),其实验对比结果如表 12所示。本文网络能够在容量不超过1 024 bits的前提下,实现超越HiDDeN,ReDMark和Liu等人(2019)的水印图像质量和水印提取准确率。对于高斯模糊可以观察到,ReDMark完全无法提取水印,而Liu等人(2019)能够达到98.6 % 的提取准确率,本文网络在水印容量为64 bits和256 bits的时候相对于Liu等人(2019)提取准确率分别提升了0.3 %和1 %。对于本文网络,当水印容量超过256 bits时,其提取准确率就会急剧下降,由0.996 7下降到0.812 6,都说明高斯模糊是一种比较难以抵抗的噪声类型,尤其是当水印容量较大的时候。上述各种噪声类型基本都是对图像像素进行处理,使像素值丢失或者发生改变,并没有改变水印图像大小。对于质量因子$Q$为50的JPEG压缩,HiDDeN,ReDMark和Liu等人(2019)的提取准确率均不佳,分别为0.594 3、0.746 0、0.762 0,相比之下在水印容量为64 bits时, IRBW-GAN提取准确率有较大提升, 为0.804 3。但随着水印容量的提升,IRBW-GAN生成的水印图像的质量和提取准确率也在逐渐下降。 表12 在高斯模糊(2)和JPEG压缩噪声层下水印图像质量和水印提取准确率对比 模型(水印容量/bits) 高斯模糊(2) JPEG压缩($Q$=50) PSNR(/dB)/SSIM 准确率 PSNR(/dB)/SSIM 准确率 HiDDeN(30) 40.2809/0.9830 0.752 6 37.1628/0.9700 0.594 3 ReDMark(30) -/- N -/- 0.746 0 Liu(30) -/- 0.986 0 -/- 0.762 0 IRBW-GAN(64) 39.875 8/0.993 8 0.989 0 40.113 3/0.991 0 0.804 3 IRBW-GAN(256) 41.901 9/0.994 6 0.996 7 40.465 3/0.981 0 0.763 9 IRBW-GAN(1 024) 45.935 5/0.994 8 0.812 6 36.486 6/0.951 9 0.694 0 IRBW-GAN(4 096) 42.368 0/0.987 2 0.640 9 31.927 8/0.873 8 0.692 7 IRBW-GAN(16 384) 43.334 9/0.982 6 0.591 4 30.420 7/0.690 5 0.647 9 Comparison of watermarked image quality and watermark extraction accuracy under Gaussian blur(2) and JPEG compression noise layerTable 12 加粗字体表示每列最优结果“-/-”表示该算法的水印图像质量和表中上一行的算法基本保持一致;“N”表示完全无法提取水印,即水印提取准确率在0.5左右。裁剪(crop)噪声,会改变水印图像大小,要求解码器能够对原始水印图像中的任意一个小块进行解码,但是对于IRBW-GAN,其要求解码器的输入保持原始图像大小,因此需要将变小的水印图像进行上采样,变回原来的大小,本文使用自适应池化,结果如表 13所示。从中可见,无论水印容量多大,IRBW-GAN均不能提取,这是网络的一个缺憾。HiDDeN能够实现超过95 % 的提取准确率,这是由其网络结构决定的,HiDDeN的解码器能够适应各种不同大小的水印图像,通过将任意长度的水印转变为张量的第2个维度(即深度这一维度)来完成,优点是相当于将一个信息bit位散布在图像的所有像素上,并且解码器不要求水印图像大小,即解码器能够从任意大小的噪声图像中提取出原始水印,适合裁剪操作。缺点是这种网络结构使得大容量的水印嵌入率难以实现,因为一旦水印长度过长,在网络中的张量就会显著变大,从而占用大量的GPU显存,使得网络难以训练。 表13 在裁剪(0.035)和缩放(0.3)噪声层下水印图像质量和水印提取准确率对比 模型(水印容量/bits) 裁剪(0.035) 缩放(0.3) PSNR(/dB)/SSIM 准确率 PSNR(/dB)/SSIM 准确率 HiDDeN(30) 36.954 0/0.967 6 0.956 5 35.844 8/0.962 6 0.919 3 IRBW-GAN(64) 41.914 8/0.994 7 N 39.141 3/0.981 3 1.000 0 IRBW-GAN(256) 44.646 2/0.995 8 N 45.443 6/0.994 7 0.996 5 IRBW-GAN(1024) 43.061 0/0.987 1 N 43.541 0/0.992 4 0.854 8 IRBW-GAN(4096) 43.093 5/0.988 9 N 38.081 2/0.983 9 0.943 7 IRBW-GAN(16384) 42.805 0/0.983 8 N 40.265 9/0.977 5 0.724 8 Comparison of watermarked image quality and watermark extraction accuracy under crop(0.035) and resize(0.3) noise layerTable 13 加粗字体表示最优结果;“N”表示完全无法提取水印,即水印提取准确率在0.5左右。除了HiDDeN中提及的几种噪声类型外,本文还考虑了更多可能的现实噪声,包括均值滤波(mean-filter),椒盐噪声(salt & pepper)和缩放(resize)。其中均值滤波和椒盐噪声的结构如表 14所示,而缩放攻击的结果列在表 13。对于均值滤波和缩放,IRBW-GAN均能实现更高的水印图像质量,在提取准确率方面,部分容量下比HiDDeN高,且这些水印容量也都超过HiDDeN。这里的缩放操作会改变图像大小,同样地,使用自适应池化将其变为原来大小,可以看到相较于裁剪操作,这样可以实现高的水印提取准确率,原因可能是裁剪操作直接损失大量的像素值,难以通过周围像素值补全缺失的像素值,而缩放操作相当于对像素信息进行压缩,还可以通过周围像素值补全缺失的像素值。对于椒盐噪声,当IRBW-GAN其水印容量为1 024位的时候,水印图像质量和提取准确率都全面超越HiDDeN,而在其他容量下,并不能完全实现两者兼得。 表14 在均值滤波和椒盐(0.3)噪声层下水印图像质量和水印提取准确率对比 模型(水印容量/bits) 均值滤波 椒盐噪声(0.3) PSNR(/dB)/SSIM 准确率 PSNR(/dB)/SSIM 准确率 HiDDeN(30) 37.986 0/0.973 4 0.744 3 37.311 9/0.968 2 0.560 6 IRBW-GAN(64) 41.297 6/0.995 6 0.991 7 36.658 7/0.975 7 0.700 9 IRBW-GAN(256) 38.883 1/0.989 4 0.934 3 39.123 3/0.977 4 0.547 1 IRBW-GAN(1 024) 45.197 1/0.994 0 0.715 9 38.622 5/0.968 6 0.644 8 IRBW-GAN(4 096) 43.271 6/0.991 5 0.644 2 36.248 8/0.951 1 0.703 3 IRBW-GAN(16 384) 43.665 3/0.981 9 0.600 6 38.917 2/0.964 7 0.501 9 Comparison of watermarked image quality and watermark extraction accuracy under mean filtering and salt&pepper(0.3) noise layerTable 14 加粗字体表示最优结果。2.4.3不同噪声强度鲁棒性对比分析训练时使用固定强度噪声类型,当测试的时候使用同种噪声的各种不同强度。实验结果如图 7所示,其中子图标题代表在进行网络训练时所选取的噪声类型及其失真强度,$X$轴表示测试时的噪声类型以及各个不同的失真强度,$Y$轴表示水印的提取准确率,即成功提取的水印位数占总的水印位数的比例。 图7 在不同噪声强度上测试的水印提取准确率的对比 Comparison of watermark extraction accuracy tested on different noise intensitiesFig 7((a) Dropout; (b) Cropout; (c) Gaussian blur; (d) JPEG compression; (e) resize; (f) salt & pepper)对于Dropout和Cropout这两种噪声类型,IRBW-GAN噪声强度为0.3,即只保留原始水印图像30 % 的像素值,剩下的70 % 都用载体图像像素值代替。测试选用的噪声强度分别为[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, ‘Identiy’]。当强度为0时,此时水印图像像素值的保留比例为0,剩下的全被载体图像像素值代替,意味着解码器的输入就是载体图像,此时两种噪声的水印提取准确率都是50 %,意味着不能提取出任何信息,这是显而易见的,原始载体图像中并没有嵌入任何水印信息,不应该也的确不能够提取出水印。对于IRBW-GAN和HiDDeN,当噪声强度小于0.3时,提取准确率明显上升,当强度大于0.3时,提取准确率基本保持一致。对于IRBW-GAN,当噪声强度大于0.3时,水印提取准确率基本接近100 %,并且在所有噪声强度下准确率都高于HiDDeN。对于高斯模糊噪声和JPEG压缩噪声类型来说,IRBW-GAN在所有的噪声强度上水印提取准确率都优于HiDDeN。尤其是对于高斯模糊噪声,在多个噪声强度上,准确率基本都在90 % 以上,这显示了IRBW-GAN对高斯模糊噪声的强大抵抗能力。对于JPEG压缩噪声,图 7(d)显示了4条不同的曲线,上面的两条绿色曲线代表训练的是IRBW-GAN模型,下面的两条蓝色曲线代表训练的是HiDDeN模型。两条实线代表模型是在本文提出的JPEG压缩噪声层上面进行训练的,两条虚线代表模型是在HiDDeN提出的JPEG压缩噪声层上面进行训练的。对于同一种模型来说,在本文提出的JPEG压缩噪声层上训练得到的模型都具有更高的水印提取准确率。对于同一种JPEG压缩噪声层来说,IRBW-GAN模型具有更高的水印提取准确率。这两者说明了IRBW-GAN模型结构的合理性以及新型JPEG压缩模拟的有效性。值得注意的是,IRBW-GAN还显示了对某些以前未经测试的高强度噪声的抵抗能力,如缩放和椒盐噪声。对于缩放操作,虽然也改变了图像大小,但是对于像素的损失要少于裁剪操作。在大部分情况下,本文网络的提取准确率都高于HiDDeN,只有当图像缩放尺度比较大的时候,比如缩放之后的图像大小只有原来的0.1或者0.2的时候,提取准确率不如HiDDeN。对于椒盐噪声,随着噪声强度的增加,水印提取准确率不断提升。由图 7(f)可以看出,IRBW-GAN的提取准确率上升明显,当强度超过0.6的时候,提取准确率已经达到90 %。而对于HiDDeN,其最高提取准确率也只不过接近60 %。可见对于HiDDeN来说,椒盐噪声非常难以抵抗。3结论本文提出了一个图像隐写模型IIH-GAN和一个图像鲁棒盲水印模型IRBW-GAN。通过设计基于SE-ResNet块的编码器和解码器,实现了更加准确、高质量的信息嵌入和提取;通过判别器与编码器—解码器的对抗训练,保持载体图像的分布不改变,并提高隐写对抗安全性;通过在编码器和解码器之间加入一个四舍五入层,解决对真实场景中的真实图像进行解码的问题;首次将对抗样本添加到基于生成对抗网络的隐写模型中,以进一步增加基于生成对抗网络的隐写算法抵御基于深度学习的隐写分析算法检测的能力。在水印模型中,本文在噪声层中考虑了丰富多样的噪声类型,并设计实现了一种新型的JPEG压缩模拟方法。未来将考虑使用更有效的网络结构或损失函数,从而进一步提升隐写安全性,并考虑如何针对黑盒模型实现更高的攻击成功率。对于水印模型来说,仍需提升对诸如裁剪操作的鲁棒性。本文设计的鲁棒水印需要事先对噪声进行建模,但是现实生活中,可能存在的噪声类型是多种多样的,往往并不知道所有可能的攻击类型,而且很多噪声难以建模,很难转换成可微分的网络层,例如JPEG压缩。因此,需要进一步考虑开发一种无须事先得知特定噪声类型,也能够鲁棒解码的图像水印技术,这更具有现实意义。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读