一、文章摘要
隐写术通常修改封面媒体以嵌入秘密数据。最近出现了一种新的隐写方法,称为生成隐写(GS),其中隐写图像(包含秘密数据的图像)直接从秘密数据生成,而不需要封面介质。然而,现有的GS方案经常因性能差而受到批评。在本文中,我们提出了一种先进的生成隐写网络(GSN),它可以在不使用封面图像的情况下生成逼真的隐写图像。我们首先引入了互信息机制,这有助于实现高的秘密提取精度。我们的模型包含四个子网络,即图像生成器(G)、鉴别器(D)、隐写分析器(S)和数据提取器(E)。D和S作为两个对抗的鉴别器,以确保生成的隐写图像的视觉质量和安全性。E是从生成的隐写图像中提取隐藏的秘密。发生器G构造灵活,可以合成不同输入的封面或隐写图像。它通过在普通生成器中隐藏生成隐写图像的功能来方便隐蔽通信。在图像生成过程中,设计了秘密块模块,将秘密数据隐藏在特征映射中,具有较高的隐藏能力和图像保真度。此外,提出了一种新的分层梯度衰减(HGD)技术来抵抗隐写分析检测。实验证明我们的工作比现有方法优越。
二、提出的方法/font>
本文提出的GSN架构如图2所示,它由生成器(G)、鉴别器(D)、隐写分析器(S)和提取器(E)组成,其中D和S作为GAN中的两个鉴别器,可以保证视觉质量,减少生成的封面/隐写图像之间的差异。GSN的输入包括潜向量z、噪声矩阵n或秘密数据d的三维矩阵。根据(z, n)和(z, d)中哪个是输入,生成器可以生成封面图像xc或隐写图像xs。然后,将真实图像和生成的隐写图像发送给鉴别器来判断它们是真还是假。同时,将生成的封面/隐写图像送入隐写分析器进行差分。将生成的隐写图像输入到提取器中,d’为预测的秘密。
图2 我们提出的GSN的总体框架。当输入(z,n)/(z,d)时,可以生成封面/隐藏图像。D和S充当双重鉴别器,以确保封面/隐写的图像的视觉质量和统计不可见性。E旨在从生成的隐写图像中揭示隐藏的秘密
2.1 问题表述
在我们的方案中,可以使用秘密数据d和潜变量z生成一幅隐写图像图像,即xs = G(z, d)。秘密数据影响图像内容,需要从生成的隐写图像图像xs中精确地恢复图像内容。从信息论的角度来看,期望d与xs之间的互信息最大化,即max I(d,G(z, d))。也就是说,输入的秘密数据和生成的隐写图像是密切相关的。当输入的秘密数据发生变化时,需要生成不同的隐写图像,并希望从生成的隐写图像中准确提取出隐藏的秘密。因此,我们将互信息整合到GAN中进行数据隐藏。损失函数可定义为:
式中,Ladv (D,G)为GAN的对抗损失,即Ladv = Ex~pxlogD(x) +Ez~pz, D ~pd log[1−D(G(z, d))]。这里,E代表期望。I(d,G(z, d))为秘密数据与生成的隐写图像之间的互信息。G想要最小化而D想要最大化这个损失函数。
但是互信息I(d,G(z, d))很难得到,因为它需要后验分布p(d|G(z, d))。受InfoGAN[4]的启发,采用变化下界Ld(G, E)来近似I(d,G(z, d)):
式中,H(d)为秘密数据的熵,具有恒定值。Dkl(·)为KL散度。d ~ pd表示从分布pd (~B(n, 0.5))中采样秘密数据d。z ~ pz表示正态分布pz (~ N(0,1))的采样潜变量z。xs ~ G(z, d)表示采样隐写图像。q(d|xs)是一个辅助分布,用于近似真实后验概率p(d|G(z, d))。Ld (G, E)可以通过蒙特卡罗模拟计算得到:随机抽取一个秘密张量d和一个噪声张量z,利用生成器G合成一个隐写图像图像xs,然后用提取器E提取隐藏的秘密。G和E都希望下界最大化,E(G(·))表示从生成的隐写图像中提取隐藏的秘密,经过Sigmoid运算后,隐写图像的值落在(0,1)处。只有当提取的秘密与输入的二进制秘密数据d相等时,才能达到Ld (G, E)的最大值,从而实现互信息I(d,G(z, d))的最大化。
在我们的方案中,G可以合成封面图像(xc = G(z, n))和隐写图像(xs = G(z, d))。隐写分析器S的主干使用了一种隐写算法SR-net[3],其目的是最小化生成的封面/隐写图像之间的统计差异。G和S之间的对抗损失写成LS(S,G)。与Ld(G, E)不同的是,S希望在二值交叉熵损失的情况下输出正确的预测结果([0,1]或[1,0]),而G希望S对封面图像和隐写图像都输出[0.5,0.5],如公式7和公式10所述。G和S的目标都是最小化这两种损失。
为了生成真实、高秘密提取率和良好不可检测性的隐写图像,我们结合上述损失函数,将整体优化目标设置为:
这里,G, S和E都希望最小化Ltotal(D,G, S, E),而D希望最大化它。A和b是两个超参数。
2.2 损失函数
在本节中,我们将Ltotal(D,G, S, E)分解为每个子网络的特定损失函数。
生成器的损失 生成器损失考虑了两个对抗性训练过程和一个正则化项:
其中,Ladv是D和G之间的对抗损失,Lsteg是G对S的对抗损失,它保证了S的输出对于封面图像和隐写图像图像都接近0.5(即S无法区分图像的来源)。RPL是[15]中使用的一种正则化项,用于提高训练稳定性和解缠平面空间。λ1和λ2是两个超参数;pz、pn、px分别为潜变量、噪声、真实图像的分布;为随机生成的正态分布噪声图像,w是一个潜空间s变量,如图3所示;||JwT||2为关于w的雅可比矩阵,n为均||JwT||2计算的加权值,||.||2表示L-2范数。
这里,Ladv是公式5中的对抗性损失。ɑ为超参数,R1为R1正则化项,由[21]给出;||∇D(x)||2表示鉴别器输出D(x)相对于输入真实图像x的梯度平方,β为常数。
隐写分析器的损失 我们在隐写分析器(S)中采用了二值交叉熵损失。S输出一个二维向量,而不是像GAN那样的标量,它被训练为输出输入封面/隐写图像的正确预测([0,1]或[1,0])。
其中,y1/y2为封面/隐写图像的真值。
秘密提取损失 提取隐藏秘密的损失由二值交叉熵计算,预测结果F(如图4所示),加入噪声和输入二值数据d:
式中,pd表示二值秘密数据的伯努利分布,sigmoid(·)使结果落入(0,1)。这里,我们在生成的隐写图像中加入随机噪声(~ N(0,0.01))以提高鲁棒性。G和E都进行了优化,以尽量减少这种损失。
2.3 训练策略
为了有效地训练我们的GSN,子网络G、D、S和E依次优化,如算法1所示。同时优化G和E以提高秘密提取的准确性,其中应用了分层梯度衰减(HGD)技能(将在第2.7节中介绍)来提高对隐写分析方法的抵抗力。我们分别使用LossG和LossE对G进行优化,主要是为了减少生成的封面/隐写图像之间的差异。真实图像只用于训练D。
为了方便隐蔽通信,我们提出了一种灵活的图像生成器,可以产生封面或隐写图像。图3显示了所提出的生成器的架构。它在styleGAN2[15]的基础上进行了改进,由一个映射网络和一个合成网络组成。前一种网络使用8个完全连接(FC)层将输入潜向量z映射到中间潜空间向量w。接下来,w通过一个称为权重解调的模块,该模块控制图像样式。该网络包含几个通用块和一个新设计的秘密块。G的输入是一个512×4×4可训练张量,初始化为正态分布。上采样后可以生成更高分辨率的特征图。一般块由上采样操作和几个卷积层组成。在特征映射中加入噪声矩阵N (~ N(0,1),形状:1 × h × w)。
我们设计了一个名为秘密块的模块,使生成器能够合成封面和隐写图像,如图3所示。它包含三个1×1卷积层(后面是LeakyRelu操作),三个3×3卷积层(带有LeakyRelu),两个上采样操作和四个数据合并操作(用红色⊕表示)和一个低通滤波器。权值解调模块调节每个卷积层来调整图像内容。在这里,我们将噪声矩阵n (~N(0,6),形状:1 × H × W)添加到特征映射中,以生成作为原始stylegan2的封面图像,并添加三维秘密矩阵d (~ B(n, 0.5), B × H × W)来生成隐写图像。该生成器可以合成无秘密的普通封面图像,如stylegan2,也可以在必要时用于生成隐写图像。经过训练,生成了真实的封面/隐写图像,这些图像很难被眼睛或隐写工具区分。发送方可以在通过隐写图像发送秘密信息的同时假装传输合成封面图像,提高了秘密通信的安全性。
图3 提出生成器的架构。当秘密块分别输入n或d时,生成器可以合成封面图像或隐写图像
秘密块的作用体现在两个方面:1)在输入噪声或秘密数据时,使生成器能够合成封面图像或隐写图像;2)消除了图像内容上的缺陷,提高了隐写图像的质量。输入的秘密数据可以写成d = {0,1}B×H×W。其中H/W为d的高度/宽度,与输出的隐写图像大小相同。 B为通道号,它决定了生成的隐写图像的有效载荷。在秘密块中,每层的卷积特征映射可以表示为F = {fi}|Ni=1,其中N为特征映射的总通道数。数据合并操作⊕的目的是将d添加到特征映射F中,可以描述为:
式中,dj为输入秘密数据d的第j个(j = 1,2,···,B)通道,fi为特征映射的第i个(i = 1,2,···,)通道,p为自动学习的参数,用于调整合并的强度(见图3 p)。“+”表示数学加法运算。dj和fi具有相同的高度和宽度,输出隐写图像。下标i = j + kB, i∈[1,N], j∈[1,B], k为非负整数。
当输入随机噪声n时,数据合并操作缩小为n与每个特征映射fi之间逐像素相加。因此,生成了一个没有秘密数据的封面图像。
秘密数据d和噪声n可能会在生成的图像中引入马赛克或缺陷。为了减轻它们的影响,我们在秘密块中采用了低通滤波器:
这里,x表示数学矩阵乘法。
2.5 提取器结构
我们设计了一个新的数据提取器E来从生成的隐写图像中提取隐藏的秘密数据。如图4所示,它包含几个数据提取块,两个1×1卷积层和一个二值化操作。每个数据提取块包括一些卷积/Lrelu操作。经过n个(本方案中设为3)数据提取块后,输出结果与 1×1核卷积得到与输入秘密数据(B × H × W)大小相同的特征映射F,对F进行二值化操作,d '为预测的秘密数据:
其中Round(·)是舍入运算。
2.6 隐写分析器和鉴别器
为了保证生成的隐写图像的隐写不可感知性,我们将D和S作为两个鉴别器进行对抗性训练。具体来说,我们采用了styleGAN2[15]的原始鉴别器来保证图像的视觉质量。为了在隐写分析检测中生成统计上不可区分的隐写图像,我们使用隐写分析算法SR-net[3]作为我们的隐写分析器S如图2所示。
2.7 层次梯度衰减
如果不加约束地自动更新生成器G的梯度,会导致生成的封面/隐写图像之间存在明显差异(如图11所示),从而导致隐写分析检测失败。因此,我们提出了层次梯度衰减(HGD)技巧来减少生成的封面/隐写图像图像之间的差异。如算法1第6行所示,在优化G和E以最小化LossE时,在G中应用了HGD技能,随着特征图分辨率的降低,HGD技术会逐级降低生成器的梯度。因此,生成的封面/隐写图像之间的差异显著减少,并提高了抗隐写检测的能力。
它之所以有效,是因为HGD技术迫使G将秘密数据隐藏在高频图像细节中。隐写分析工具通常使用封面/隐写图像的差异进行分类。一旦它们之间的差异很小且难以追踪,隐写分析算法就很难检测出隐写图像。我们发现所提出的秘密块负责生成图像细节,而先前的层倾向于生成低频信号,如图像的形状和颜色。因此,降低早期层的LossE梯度迫使G隐藏高频图像细节中的秘密。因此,生成的封面/隐写图像图像之间的差异被减少,并且更加随机分布。因此,我们生成的封面/隐写图像具有很强的抗隐写检测能力。
HGD技能逐渐减少从最终秘密块到第一个一般块的反向梯度。与学习率衰减计划根据训练步骤调整梯度不同,HGD技术根据特征图的大小调整不同卷积层的更新梯度。特别地,对于大小为(h,w)的特征映射,我们将其梯度替换为:
其中G为原始的后向梯度,G为更新后的梯度。H/W为输出图像的高度/宽度,为超参数。G随着特征尺寸的减小而减小。
三、实现细节
我们的GSN是在带有四个Nvidia 1080Ti GPU的TensorFlow 1.14上训练的。在CelebA[19]和Lsun-bedroom[41]数据集上进行了评估。Adam被用作优化器。在公式5中,我们设置LossG的λ1 = λ2 = 1;公式9中LossD的ɑ= 1, β = 10;公式15中的HGD技术的 = 10。输入噪声的分布为n ~ N(0,),其中为训练设置为1,为测试设置为0.1。
Frechet起始距离(Fid)[11]、提取精度(Acc)和检测误差(Pe)分别用于评估生成的隐写图像的视觉质量、秘密提取精度和我们工作的安全性。Fid越低意味着图像质量越好。Acc的计算公式为:Acc=d⊙d′/(len(d)),其中,d和d′是输入和提取的秘密数据。⊙是逐元素的XNOR运算。Pe是评估隐写图像不可检测性的常用指标,定义为:Pe=minPFA1/2(PFA+PMD),其中,PFA和PMD是虚警率和漏检率。Pe的范围为[0,1],其最佳值为0.5。当Pe等于0.5时,隐写分析工具无法区分图像的来源。我们生成的所有图像都以PNG格式保存。如果输入的秘密数据的长度小于1bpp,我们可以在其后面添加零。
四、汇报PPT(作者本人)
论文地址:Generative Steganography Network
没有公布源码