一种图像中信息的隐写及读取方法与流程

文档序号:20448181发布日期:2020-04-17 22:53阅读:1267来源:国知局
一种图像中信息的隐写及读取方法与流程

本发明属于技术视觉技术领域,具体涉及一种图像中信息的隐写及读取方法。



背景技术:

隐写术是一项隐藏私密信息在其他公共的数据载体里面的信息隐藏技术。通常上,这些公共的数据载体包含图像,视频,音频等等。其中,在图像中进行信息隐写有着悠久的发展历史和广泛的应用场景。隐秘通讯是隐写术的一个经典应用,它通过将通讯信息隐藏在数字图像等多媒体数据中,同时保持载体数据的统计特性和视觉特征几乎不变,来达到掩人耳目的作用。随着互联网的广泛发展,网络上时时刻刻产生着大量的多媒体数据,这些公共数据为私密通信数据提供了很好的掩护,使得通信过程更加安全。数字水印也是信息隐藏技术的一个应用方向。它与通常的隐写术有着相似的作用,二者都是隐藏一些私密信息在公共的图像载体数据里面。不过二者的目的有所差别。图像隐写术主要目的是秘密通信,而水印技术通常用来保护目标的知识产权,来防止盗版。因而对于水印技术,它的信息恢复的鲁棒性比起信息隐藏的安全性更加重要。

最近,在现实的物理照片中隐藏信息,然后采用智能手机去扫描图像来提取隐藏信息成为了图像隐写术的一个新兴的应用方向。也就是说,可以在世界中的任何一张打印或者显示的照片中隐藏任意的数字信息,然后可以通过一个联网的图像解码系统来获取这些隐藏信息。

比如,如今旅游行业快速发展,人们总会在旅行的途中拍摄大量的照片,然后将打印的照片张贴在房间中或者放在相框里。这时,可以在照片中隐藏一个网站地址,网站内容包括该照片的拍摄时间,地址,景点,人员介绍等等,甚至是一些旅行中有趣的故事或者感悟。这样我们的朋友甚至陌生人可以通过扫描该照片来分享生活故事。

另一个应用场景是在超市,超市可以隐藏一个超链接在商品的广告中,该链接能通过网络获取商品的信息(比如价格,产地,原料,产品id,生产过程)。消费者能通过扫描这些广告图片来获取该超链接,再通过网络获取这些商品信息。这个功能和目前普遍使用的二维码功能类似,然而它避免了额外的空间去张贴二维码,同时也更加美观。本发明就是针对这些应用场景专门设计了一套名为desteganet的图像隐写系统,用来在自然图片中隐藏信息与提取信息。

通常,图像隐写系统包含两个部分:编码器(将隐藏信息嵌入到载体图像中,同时保证编码图片与载体图像相似),解码器(从编码器生成的编码图片中恢复隐藏信息)。在传统的图像隐写系统中,通常假定解码器接收到的编码图片是无损的。但是在该应用场景中,该假设是不成立的。因为在数字编码图像变为现实世界中的物理图像的过程中,数字图像会进过图像压缩传输和打印的过程。然后在智能手机扫描物理图像的过程中,会面临检测系统检测不准的问题。因此,在整个数字图像到物理图像,再到数字图像的传输过程中,会引入大量的噪声,这对解码器的鲁棒性提出了严格的要求。针对该问题,“matthewtancik,benmildenhall,andrenng.stegastamp:invisiblehy-perlinksinphysicalphotographs.corr,abs/1904.05343,2019”提出了一套名为stegastamp的图像隐写系统,他们通过深度学习来编码和解码信息,同时采用一个模拟噪声层来近似整个传输过程中可能的噪声影响,提高了解码器在实际应用场景下的鲁棒性。



技术实现要素:

本发明是在上述stegastamp图像隐写系统的基础上做了进一步的改进,以提高编码图像的图像质量,使得编码图像更加符合人类视觉系统的观察习惯为目标,提出一种图像的隐写及读取方法。

为便于理解,下面对本发明所依据的技术原理进行介绍。

在现实照片中隐藏信息,并且用智能手机扫描图像来提取隐藏信息,在该应用场景中,图像隐写系统应该具备两个功能:

1.能够产生符合人类视觉习惯的高质量信息隐藏图像

在该应用场景下,编码的图像主要是被人观看的,而隐藏的信息是用来帮助人了解该图像。因此,不能因为隐藏信息而破坏图像原有的观感。这就要求隐藏信息的图像和原图像相比,图像的失真很小。并且,这些图像主要是用于人类观看的,因而需要充分考虑人类的视觉习惯来编码高质量的信息隐藏图像。

2.能够在信息恢复的鲁棒性和图像质量之间达到平衡

stegastamp图像隐写系统采用模拟噪声层对实际传输过程中的噪声进行模拟会面临一个问题:模拟的噪声强度和实际的噪声强度不匹配。如果模拟噪声强度过大,解码系统的鲁棒性很好,但是编码图像质量则会下降,反之亦然。

因此,本发明要解决的主要技术问题包括以下两个方面:

(1)如何设计编码系统,让编码图像具有更高的图像质量以及更加符合人类的观赏习惯。

(2)如何模拟解码器接收编码图像的有损的传输过程,使得系统既能保持较好的信息恢复鲁棒性,也能具有较高的图像质量。

为了产生符合人类视觉习惯的高质量信息隐藏图像,需要对编码系统进行特定的设计。本发明设计方案包括两部分:(1)根据人类视觉系统的特点设计信息隐藏区域(2)将信息隐藏到设计的隐藏区域中。

本发明采用嵌入更多的信息在图像的非显著区域和高频区域来产生更好的符合人类视觉习惯的编码图像,图像的显著性区域和高频区域的定义如下:

显著性区域:显著性检测是计算机视觉领域的一项基础任务。它的目的是给出图像中最吸引人类注意力的区域。目前,基于深度学习的显著性检测能够提供稳定的图像显著性区域的表达。在本发明中,采用普遍使用的u-net(olafronneberger,philippfischer,andthomasbrox.u-net:convolutionalnetworksforbiomedicalimagesegmentation.corr,abs/1505.04597,2015)神经网络结构来提取图像的显著性区域。网络结构如图3所示,该网络输入一张h×w的rgb图像,输出一张h×w的显著性概率图ms。如图1右所示,概率图ms描述了一个像素属于图像显著性区域的概率。在本发明中,采用预训练的网络来检测图像的显著性区域,并且在整个系统的训练过程中该部分的网络参数保持不变。

高频区域:通常,图像的高频区域包含大量的边缘。因此,如果一个像素的k×k邻域里至少包含一条边缘,那么将该像素标记为属于图像的高频区域。在本发明的设计中,采用经典的canny算法(canny,j.1987.acomputationalapproachtoedgedetection.infischler,m.a.,andfirschein,o.,eds.,readingsincomputervision.sanfrancisco(ca):morgankaufmann.184–203)来检测图像的边缘。给定一张图片i,通过canny算法能得到对应的边缘图e,然后通过形态学中的膨胀操作(serra,j.1983.imageanalysisandmathematicalmorphology.orlando,fl,usa:academicpress,inc)处理边缘图e得到图像的高频区域表示d。膨胀操作的方法如下:

给定二进制边缘图e∈{0,1}h×w和结构元素b∈{0,1}n×n,结构元素的原点坐标在中心。

这里d∈{0,1}h×w,d描述了一个像素属于图像高频区域的概率。

但是上面的表示方法存在一个问题,因为d中的概率值要么为1,要么为0。通过硬判决来确定一个像素是否属于图像的高频区域,这将会导致在图像的高频区域的边界形成陡峭的变化。这将导致神经网络的训练不稳定。为了避免这个问题,本发明采用软判决来确定图像的高频区域。具体操作如下:

假定表示一系列的不同大小的结构元素,其中ni表示结构元素bi的大小。同时di表示使用结构元素bi进行膨胀操作的结果。由此,软判决能通过一系列硬判决di加权得到,具体操作如下:

在本发明中,结构元素bi=1n(i)×n(i),n=5,n(i)=10×i.如图2右所示,该方法得到的图像高频区域表达的边界是逐渐变化的。

依据上述技术原理,本发明的具体步骤为:

s1、针对载体图像与目标隐藏数据,将隐藏数据的二进制信息向量输入一个全连接网络,输出一个固定长度为7500的向量,然后将该向量变形和上采样到与载体图像相同的尺寸,获得隐藏数据信息张量;

s2、构建u型的编码网络,将载体图像与隐藏数据信息张量拼接在一起作为u型的编码网络的输入,输出为与载体图像相同大小的编码残差图;

s3、将载体图像输入u型的非显著性检测网络,获得非显著性概率图;所述非显著性检测网络为经过预训练的网络模型,非显著性概率是指某个像素属于图像非显著区域的概率,即概率越大,表示该像素越不显著;

同时将载体图像输入canny边缘检测器,输出图像的边缘概率图;然后采用一系列不同大小的结构元素对边缘概率图进行膨胀算法,将得到的结果进行平均,输出图像的高频概率图;所述高频概率图是指某个像素属于图像高频区域的概率;

s4、将非显著性概率图与编码残差图相乘,得到将信息隐藏在非显著区域的编码残差图,然后将该编码残差图和载体图像相加,得到编码图像;

s5、将得到的编码图像随机的粘贴在高分辨率的背景图像中,得到合成图像;

s6、对得到的合成图像进行加噪处理,得到有损的合成图像;

s7、构建u型的检测网络,检测网络的输入为有损的合成图像,输出为编码图像在该合成图像中四个顶点位置的概率图,根据概率图获得编码图像四个顶点的位置,从而在有损的合成图像中剪切出编码图像;

s8、构建解码网络,解码网络的输入为剪切出的编码图像,输出为和隐藏信息相同长度的向量,该向量用于预测隐藏信息;

s9、采用训练样本,对步骤s2的编码网络、步骤s7的检测网络和步骤s8的解码网络进行训练;

在网络训练过程中,通过计算载体图像和步骤s4中的编码图像之间的加权均方损失,lpips感知损失,对抗损失来监督编码网络的训练;

通过计算真实的位置热力图与步骤s7预测的热力图之间的均方误差来监督编码网络和检测网络的训练;

通过计算隐藏信息向量和步骤s8预测的信息向量之间的交叉熵损失来监督编码网络和解码网络的训练;

s10、获得训练好的编码网络、检测网络和解码网络后,将步骤s1中的全连接网络、步骤s2的编码网络、步骤s3的非显著性检测网络组合构成隐写模块,将载体图像和隐藏数据的二进制信息输入隐写模块后得到编码图像;

将步骤s7的检测网络和步骤s7的解码网络组合构成隐藏信息读取模块,将包含编码图像的图片输入隐藏信息读取模块后即可获得编码图像和隐藏的信息。

本发明的技术方案中,通过前面几个步骤将信息隐藏到图像的非显著区域来提高编码图像的人类感知质量,给定一张载体图片i和对应的编码图像iencod,残差图ires=iencod-i描述了隐藏数据在载体图像中的分布情况。常用的均方误差(mse)假定每个像素具有同等的视觉重要性,因此在模型训练的过程中给予每个像素相同的惩罚力度来保证编码图像与原载体图像相似,在本发明中,每个像素被赋予不同的视觉重要性。其中显著性区域和低频区域有着更高的视觉重要性,因此需要对这些区域的图像失真给予更大的惩罚。具体的,对于隐藏在显著性区域的信息,按照一定概率进行削弱,这将迫使模型将更多信息隐藏在非显著区域,以使得解码系统能成功的提取隐藏信息。同时,也需要信息更多的隐藏在非显著区域中的高频区域部分,因此给予更多的惩罚权重在非显著区域的低频区域部分。同时,考虑到图像质量和解码鲁棒性之间是一个杠杆,因此选择一个合适的模拟噪声强度来使得二者达到平衡是极其重要的。在本发明中,将检测器和编码/解码系统一起训练,使解码系统能够自动适应检测器的定位误差来代替手动的选择模拟噪声强度,最终达到解码系统的鲁棒性与图像质量之间的平衡。

本发明的有益效果为,本发明得到的编码图像更加符合人类视觉系统的观察习惯,同时在解码鲁棒性和图像质量之间达到平衡。

附图说明

图1是图片的显著区域示意;

图2是图片的高频区域示意;

图3是u型网络结构示意图;

图4是本发明方法所构建的系统示意图;

图5是本发明方法的编码图像及其残差图比较示意;

图6是本发明方法与传统方法对编码图像不对准误差的解码鲁棒性分析示意;

图7是本发明的实际应用示意。

具体实施方式

下面结合附图,对本发明做进一步的详细描述。

采用本发明的方法,构建如图4所示的隐写读取系统,将其定义为desteganet隐写系统,由6部分构成:编码器,解码器,显著性检测器,编码图像检测器,对抗网络,噪声模拟层。

编码器:给定一张高h宽w的rgb载体图像i和任意的二进制待隐藏数据min∈{0,1}l.首先采用全连接层处理隐藏数据,产生固定长为7500的向量。然后上采样该向量并把它变成和载体图像相同大小的张量。然后将该张量和载体图像组合成一个输入张量im∈rh×w×6。然后采用一个u-net风格的神经网络结构来处理输入张量im,输出编码的残差张量ires∈rh×w×3

显著性检测器:显著性检测器采用一个u-net风格的神经网络结构,该网络输入和编码器相同的载体图像i,输出图像的显著性区域的表达形式ms。自然的,图像的非显著区域表达形式为:

这里描述了第i行第j列的像素(i,j)属于图像非显著区域的概率。于是的编码图像按照如下方式得到:

通过这种方式,隐藏在显著性区域的信息按照一定的概率被削弱,而隐藏在非显著区域的信息则被保留。因此编码器将隐藏更多的信息在非显著区域以使得解码器能够从编码图像中恢复隐藏信息。

将得到的编码图像iencod随机的放置在任意的高分辨图像中,来得到合成图像isyn。的编码图像检测器将从该合成图像中检测编码图像,然后解码器将从检测到的编码图像中恢复隐藏信息。在合成的过程中,随机的放大(0.75~1.25)和旋转(-60°~60°)编码图像来实现数据增强。

噪声层:为了提高解码器在现实应用场景中的鲁棒性,采用在stegastamp里提出的一系列可微的图像扰动来模拟现实场景中的有损传输过程。但是,由于编码图像检测器的定位误差通过联合训练来解决,因此,没有采用stegastamp里面的随机透视变换的图像扰动,其他的图像扰动则和stagastamp保持一致。通过对合成图像isyn进行扰动,得到有损的合成图像

编码图像检测器:为了模拟编码图像在真实应用场景下被检测的过程,本发明设计了一个检测网络和roi透视层来从加噪的合成图像中检测出编码图像。

检测网络:给定一张加噪的合成图像预测合成图像中编码图像4个顶点的位置。检测网络由13个卷积层和4个最大值池化层构成。检测网络输出4张热力图它表示了编码图像4个顶点在合成图像中的位置信息。

roi透视层:根据预测的关于编码图像顶点位置的热力图能得到4个顶点具体的坐标表示,然后使用透视变换将检测到的编码图像映射到一个固定大小图像块,然后解码器从该图像块中恢复隐藏信息。特别的,给定预测的热力图计算每个通道的最大值以及其对应的位置然后根据原坐标与目标坐标pd计算一个3×3的透视矩阵,接着采用透视变换从加噪的合成图像中裁剪出编码图像。在本发明中,目标坐标pd={(0,0),(400,0),(0,400),(400,400)}。

在模型训练过程中,预测的坐标可能错误,这对后面解码器的训练是不利的。因此计算预测坐标和真实坐标之间的曼哈顿距离(gardner,m.1997.taxicabgeometry.newyork,ny:springernewyork.159–175),当且仅当每一个预测顶点的曼哈顿误差小于阈值θ,才将该预测坐标作为一个正确的预测。在本发明中,θ=100.如果是一个错误预测,使用真实坐标代替它。

解码器:通过上面的检测网络和roi透视层,能得到从加噪的合成图像中裁剪出的编码图像块,然后用一个解码器恢复隐藏的信息。本发明解码器由7个卷积层和一个全连接层构成。解码网络最后通过sigmoid函数输出一个长为l的向量,用来预测隐藏的信息min。

损失函数:

本发明采用监督学习的方式来训练的系统,损失函数包括三部分:图像相似度损失,编码图像定位损失,信息恢复损失。

图像相似度损失:本发明采用三种损失函数来描述载体图像和编码图像之间的相似度:1.lpips感知损失(zhang,r.;isola,p.;efros,a.a.;shechtman,e.;andwang,o.2018.theunreasonableeffectivenessofdeepfeaturesasaperceptualmetric.corrabs/1801.03924.),该损失函数通过神经网络模拟人类的感知特点,来计算图像的相似度;2.加权l2损失;3.对抗损失。

因为在本发明中,尝试将更多的信息隐藏到图像的高频区域中。因此在模型训练的过程中,对低频区域的图像失真给予更多的惩罚。采用前面定义的图像高频区域表达来加权l2图像损失,加权方式如下:

这里1为和相同大小的全1张量。γ为权重参数,用来平衡损失大小,在本发明中,γ=5。

在本发明中,采用对抗损失来监督编码图像。对抗网络用来鉴别一张图像是否属于编码图像。对抗网络由5个卷积层和一个全局平均值池化层构成。在训练期间,迭代的训练编码/解码网络和对抗网络,同时使用wasserstein(martinarjovsky,soumithchintala,andl′eonbottou.wassersteingenerativeadversarialnetworks.indoinaprecupandyeewhyeteh,editors,proceedingsofthe34thinternationalconferenceonmachinelearning,vol-ume70ofproceedingsofmachinelearningresearch,pages214–223,inter-nationalconventioncentre,sydney,australia,06–11aug2017.pmlr)损失来监督对抗网络的训练。当训练编码/解码网络的时候,对抗网络的输出作为一个监督信号。

编码图像定位损失:采用预测的热力图和真实的热力图之间的均方误差(mse)来监督编码图像检测网络的训练。真实的热力图是通过中心在编码图像顶点的2维高斯函数生成,其中高斯函数的方差为2。

信息恢复损失:采用交叉熵损失函数来监督解码器的训练。

综上所述,本发明的损失函数为

l=γ1l2+γ2lp+γ3lc+γ4lm+γ5ll

其中,lp为lpips感知损失、lc为对抗损失、lm为信息恢复损失、ll为编码图像定位损失、γ1、γ2、γ3、γ4、γ5为权重参数。因lp、lc、lm、ll的计算方法是常见的,在此不再赘述。

为了证明本发明方案的有效性,下面给出测试示例。

采用训练数据包括载体图片,待隐藏信息,高分辨率背景图像。在本示例中,我载体图片来自mirflickr数据集(huiskes,m.j.,andlew,m.s.2008.themirflickrretrievalevaluation.inmir08:proceedingsofthe2008acminternationalconferenceonmultimediainformationretrieval.newyork,ny,usa:acm),并将其重采样为400*400的分辨率。待隐藏数据是从均值为0.5的伯努利分布中随机采样的二进制数据。高分辨率背景图像是来自div2k[9]数据集,并且重采样为1024*1024分辨率。在训练过程中,采用adam优化器以一个固定的学习率10-4优化模型,而对于对抗网络则是采用rmsprop优化器以10-5的学习率优化。在整个训练的过程中,分三个阶段训练网络:第一阶段将γ1,2,3,5置为0,γ4置为1,直到解码器有较高的准确率;第二阶段将γ5置为0,同时缓慢增大γ1,2,3到1.5;第三阶段设置γ5为1。在本发明中,总共训练网络140000次,其中第1500次开始第二阶段,第50000次开始第三阶段。

当网络训练完成后,从imagenet(russakovsky,o.;deng,j.;su,h.;krause,j.;satheesh,s.;ma,s.;huang,z.;karpathy,a.;khosla,a.;bernstein,m.;berg,a.c.;andfei-fei,l.2015.imagenetlargescalevisualrecognitionchallenge.internationaljournalofcomputervision(ijcv)115(3):211–252.)]数据集中随机采样300张载体图片来测试desteganet图像隐写系统。

通过编码图像质量和解码的准确率来评价本发明的系统。在本发明中,采用lpips感知损失,峰值信噪比(psnr)和结构相似度(ssim)来衡量编码图像质量。同时用信息正确恢复百分比来度量解码准确率。

通过将desteganet图像隐写系统和stagestamp图像隐写系统相比较,实验结果展现了本发明系统的优越性。从编码图像质量和解码鲁棒性两个角度来比较这两个系统。

将测试的载体图片和任意的待隐藏信息输入本发明的系统,将会自动产生编码图像。图5展示了载体图片,desteganet产生的编码图像和stegastamp产生的编码图像以及它们对应的残差图。从结果图可以明显看出,stegastamp产生的编码图像在人脸上出现了明显的图像失真,相比之下,本发明的系统则表现良好。在对应的残差图上可以看出,stegastamp系统编码了大量人脸的纹理信息,这些是冗余的。从直观看来,desteganet产生的编码图像是更加靠近载体图像的,并且对应的残差图像也更加平滑,图像失真更小。

表1展示了在隐藏100位任意信息后,desteganet和stegastamp系统具体的数值指标。实验结果表明了本发明系统的优越性,特别是psnr(43.129vs28.224)和lpips(0.006vs0.101),这2个参数均是越大越好。同时,本发明的解码准确率是相当的。

表1desteganet与stegastamp指标评价

在模型的训练过程中,对编码图像传输过程中存在的各种随机噪声,采用了和stegastamp系统相似的噪声层近似方式。唯一的区别在于,针对编码图像检测器造成了定位误差,stegastamp采用随机透视变换去近似。而在本发明中,采用检测器和解码器联合训练来解决。因此,在本发明中,仅仅评价解码系统对编码图像不对准噪声的鲁棒性。在一个仿真环境中测试系统的解码鲁棒性。具体的,对于一张编码图像,对图像的四个顶点坐标添加高斯随机噪声,然后采用透视变换来扰动编码图像。最后用解码系统从被扰动的编码图像中恢复隐藏信息。实验结果如图6所示,随着噪声强度的增加,desteganet和stegastamp的解码系统都能保持较高的解码准确率。相比之下,既不采用透视变换也不联合训练的系统(naive)表现则是很糟糕。实验结果说明,联合训练检测器和解码器能够提高解码器的鲁棒性,同时又能在图像质量和解码鲁棒性之间找到一个平衡。

最后,测试了系统在真实应用场景中的表现。隐藏100位二进制信息到载体图片中,其中包含bch错误纠正码。然后将编码好的图像分别用打印机打印和平板显示出来,接着用智能手机去拍摄展示的编码图像,并且用检测器从手机拍摄的图像中定位出编码图像。最后用解码器从定位出的编码图像中恢复隐藏信息。实验结果如图7所示,该图是用手机从现实环境中拍摄的包含编码图像的照片,编码图像顶点周围的四个圆点是检测网络定位四个顶点的结果,而本发明的解码器能从定位的图像块中成功的恢复隐藏信息。

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