一种基于深度对抗生成网络的鲁棒信息隐藏方法与流程

文档序号:18121279发布日期:2019-07-10 09:38阅读:715来源:国知局
一种基于深度对抗生成网络的鲁棒信息隐藏方法与流程

本发明涉及一种基于深度对抗生成网络的鲁棒信息隐藏方法,属于电子信息技术领域。



背景技术:

目前业内隐藏鲁棒性数字水印主要采用傅里叶变换方式,容易引起图像失真。比如对于信息量较小的图片融入较大水印信息,图片易失真产生肉眼可见干扰线。采用神经网络深度学习方式可以将原始图像与需要隐藏的信息进行深度学习融合,降低失真,提高融合图像质量。



技术实现要素:

本发明提供一种基于深度对抗生成网络的鲁棒信息隐藏方法,该方法通过深度对抗生成网络方法对原始图像添加鲁棒性隐藏式数字水印,水印信息含有加密追踪信息,当图片泄露后可以通过加密信息追踪到泄漏源,同时有良好的抗篡改能力。

为实现上述目的,本发明采用如下技术方案:

一种基于深度对抗生成网络的鲁棒信息隐藏方法,包括如下步骤:

步骤1:搭建判别器网络和生成网络;所述生成器网络包括编码器;

步骤2:将原始图像和加密信息输入编码器,生成加密图像;

步骤3:以原始图像为真实样本,加密图像为生成样本,将原始图像和加密图像输入判别器网络,得到真实样本判别结果和生成样本判别结果;

步骤4:计算真实样本判别结果和生成样本判别结果的训练损失;

步骤5:判断判别器网络损失值和生成网络损失值是否达到最小化,并分别反馈给判别器网络和生成器网络,以调整网络参数;若已达到最小化,跳到步骤6;否则跳到步骤2;

步骤6:保存当前判别器网络和生成器网络。

优选的,所述生成器网络还包括噪声层和解码器;所述噪声层用以对所述加密图像进行加噪处理,所述解码器用以解码加噪后的加密图像,得到解码信息;

编码器和解码器的总损失函数为l=lm(min,mout)+li(ico,ien)+lg,其中,li(ico,ien)为原始图像ico和加密图像ien的图像重构损失,lm(min,mout)为解码信息mout和加密信息min的信息重构损失,生成器网络的对抗损失为lg=log(1-a(ien)),a(.)为判别器网络的输出结果,ien=g(ico),g为编码器的输出结果;

判别器网络的损失函数定义为la=log(1-a(ico))+log(a(ien))。

优选的,所述编码器包括4个卷积块,每个卷积块包含若干个卷积层、批归一化和relu激活函数。

优选的,所述解码器包括7个卷积块,1个自适应空间平均池化层,1个线性全连接层。

优选的,所述判别器包括3个卷积块,1个自适应空间平均池化层,1个线性全连接层。

有益效果:

1、通过对抗生成网络将加密信息融入原始图像,得到的加密图像从外观上与原始图像一致加密后的图像在视觉上非常接近原始图像,目前基于傅里叶变换方式的传统水印加密方法容易引起图像失真;

2、本方法加密的信息是数字化二进制信息,而传统方法的水印主要是以图像的形式表示;

3、噪声层使编码信息恢复对图像涂抹鲁棒;

4、计算图像重构误差,保证加入水印后的图像与原图视觉上相似;

5、计算对抗误差,改善添加水印后图像的质量;

6、计算加密信息重构误差,保证重建后的信息接近水印信息。

附图说明

图1为本发明中实施例提供的基于深度对抗生成网络的鲁棒信息隐藏方法的工作流程图;

图2为本发明中实施例提供的对抗式生成网络结构图。

具体实施方式

下面结合实例对本发明做更进一步的解释。

本发明包括训练对抗生成网络和实际应用两部分,在训练过程中,交替迭代训练生成器和判别器;而训练好以后,在实际应用中,只需要编码器和解码器,不再需要判别器。

本发明主要实施流程如下,相关流程图见图1。

1、搭建判别器网络和生成器网络,生成器网络包括编码器、噪声层和解码器;

2、用户将原始图像和含有加密追踪信息的加密信息传入编码器信息编码,生成加密图像。具体步骤包括通过多层卷积层得到原始图像的中间表示,再将加密信息以复制形式扩充与原始图像的中间表示保持维度相同,将这两种信息与原始图像在通道层面上进行叠加,随后再通过多层卷积层得到加入水印后的图像。加密信息可以包含机构编码、管理人员工号、日期、校验位等。

3、将原始图像和加密图像输入判别器网络,判别器输出的是原始图像或加密图像的概率值,范围是[0,1]。

4、对加密图像进行涂改、压缩和剪裁等篡改的操作,模拟用户对图像进行加噪处理。具体步骤包括在噪声层实现加噪声的操作,根据原图和加水印后的图像,通过神经网络添加高斯噪声模拟涂改操作,通过添加jpeg压缩层模拟压缩操作,通过添加随即剪裁操作来模拟剪裁操作。

5、将加噪后的加密图像输入解码器,经过一系列的卷积层,平均池化层和全连接层,得到解码信息。

6、采用对抗损失函数lg=log(1-a(ien))、图像重构l1范数损失函数和信息重构l1范数损失函数的线性组合训练生成器,生成器的总损失函数为l=lm(min,mout)+li(ico,ien)+lg。c表示通道数,h表示图像高度,w表示图像宽度,lmsg表示信息长度,a(.)为判别器的输出结果,ien=g(ico),g为编码器的输出结果。以原始图像和加密图像分别作为正负样本,采用损失函数la=log(1-a(ico))+log(a(ien))训练判别器网络。判别器的训练目标为:当判别器网络的输入是原始图像,判别器输出为1,当判别器网络的输入是加密图像时,判别器输出为0。

训练时,采用梯度下降法同时更新编码器和解码器的参数,再交替更新判别器的参数;当l和la均在阈值范围内时,训练结束。

具体的训练步骤为:1)首先固定判别网络的各项参数,训练生成网络,然后固定生成网络的各项参数,训练判别网络,进行对抗训练;

2)判别网络通过学习来区分原始图像和加密图像,生成器网络通过学习让判别网络无法区分是原始图像还是加密图像。

7、将具有一定概率被篡改的加密图像输入训练好的解码器中,得到解码信息,根据解码信息追踪泄露来源。

本发明所使用的对抗式生成网络框架是一个端到端可训练的框架,包含三个卷积神经网络和一个噪声层。具体的网络结构如下:

定义:conv-bn-relu(convolution-batchnormalization-relu)指的是一个卷积+批归一化+relu激活函数的模块,如无特别说明,卷积核为3*3,步长为1,padding为1。

编码器结构:设输入图像ico通道数、高和宽分别为c、h、w。输入图像首先经过4个conv-bn-relu模块,每个模块的输出通道均为64,得到64*h*w的数据;同时,复制扩充加密消息m(长度为lmsg)至lmsg*h*w大小,并和输出图像在第一维叠加得到(64+lmsg+c)*h*w大小的数据。该数据再经过一个conv-bn-relu模块,输出通道为64,最后经过一个1*1,步长为1,且无padding的卷积层,输出通道为c,从而得到c*h*w的加密图像。

解码器结构:加密图像经过7个conv-bn-relu模块,前6个模块的输出通道数是64,最后一个模块的输出通道数是lmsg,输出数据lmsg*w*h在最后两个维度进行自适应空间平均池化操作得到长度为lmsg的数据,最后经过一个lmsg*lmsg的全连接层,得到长度为lmsg的数据。该数据以0.5为阈值转换为二进制的解码信息mout。

判别器结构:判别器包含3个conv-bn-relu模块,每个模块输出通道是64,输出数据为64*h*w,在最后两个维度进行自适应空间平均池化,得到长度为64的数据,经过一个64*1的全连接层,得到结果在[0,1]之间。

噪声层结构:噪声层包括指定的涂改、压缩和剪裁的操作,输入加密后的图像,输出随机进行涂改、压缩和剪裁后的图像。

以上为本发明的技术实施例和技术特点,仅用于说明本发明的技术方案而非限制。然而本领域技术人员仍可能基于本发明的教示和揭示内容而作出对本发明的技术方案的修改和等同替换。因此,本发明的保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替代和修正,并为上述权利要求书所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1