一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于图像认证与对抗样本防御的深度半脆弱水印方法与流程

2021-11-25 00:26:00 来源:中国专利 TAG:


1.本发明涉及神经网络技术领域,尤其涉及一种用于图像认证与对抗样本防御的深度半脆弱水印方法。


背景技术:

2.在现今数字化技术飞速发展的信息时代,数字媒体可以在网络中方便快捷的传输,这也带来了安全问题,即数字媒体在传输过程中被处理、传播、公开时很容易被随意篡改。如果篡改涉及到国家安全、法庭举证等重要内容时,可能会造成不良的社会影响或重大政治经济损失。如何在网络环境中有效保护数字图像的真实性和完整性,已经成为一个严峻的现实问题。
3.传统方法是通过加密技术例如数字签名来保护图像的完整性和真实度,包括加密数字签名或直接将图像内容的哈希值作为数字签名,哈希函数的结果通常对它们的输入的修改非常敏感,但此方法的主要缺点有:数字签名的密文在传输中不允许任何修改,密文即使相差一个比特也会使解密后的数据产生差错,因此使用数字签名的前提是通信信道没有噪声的存在;不仅如此,该方法只能认证图像是否具有完整性,在验证图像已被篡改的情况下,不能定位图像中被篡改的区域。
4.数字水印技术为保护远程医疗图像的完整性提供了一种有效的手段,包括脆弱水印和半脆弱水印。脆弱水印的主要要求是水印对图像内容的任何修改的敏感性,即:在图像内容受到细微修改时,水印变得无法检测。半脆弱水印的主要要求是水印能容忍某些保留内容的图像处理操作(如jpeg压缩),但对任何其他非法内容修改敏感,即:不被特定的合法修改所破坏,而是被对图像内容的非法修改所破坏。
5.将半脆弱水印和远程医疗应用需求相结合。医疗图像在网络传输过程中也会遭遇篡改等安全问题,因此远程医疗中的图像安全传输是极其关键的一环。图像通过互联网的传输,容易遭到篡改,因此保护此类图像的真实性和完整性,成为我们要研究的问题。一方面,互联网作为医学图像传输的媒介,数字图像是以有损的形式在其中传输。这就存在着数字图像在有损传输后仍然保证原有图像的版权认证的需求。另一方面,恶意攻击者很可能对传输的医学图像进行截断和恶意修改,从而误导远程专家的诊断。综合以上两点,保证医学图像有能力在压缩情况下实现认证,而在恶意篡改的情况下认证失败,是我们要解决的问题。因此,应要求半脆弱数字水印算法能够对无意修改表现出鲁棒性,例如有损信道的压缩,而对那些恶意篡改操作表现出脆弱性,并且能够对篡改区域进行较为精确的定位。从而达到鉴别医疗图像真伪、保护病人隐私信息等作用。
6.现有的半脆弱水印技术有空域算法、变换域算法;空域算法主要是提取图像的鲁棒特征作为水印信息,嵌入到图像某些像素的lsb位,此类算法对某些数据处理是鲁棒的,但是对jpeg压缩不理想;变换域算法更容易实现水印的鲁棒性和敏感性,代表性算法是基于离散余弦变换和基于小波变换的算法,一般是通过对图像进行分块来设计的,能实现篡改定位,但篡改定位只能到8*8大小的块,定位精度不高。


技术实现要素:

7.发明目的:针对如何在网络环境中有效保护数字图像的真实性和完整性的问题,本发明提出一种用于图像认证与对抗样本防御的深度半脆弱水印方法。
8.技术方案:为实现本发明的目的,本发明所采用的技术方案是:
9.一种用于图像认证与对抗样本防御的深度半脆弱水印方法,所述深度半脆弱水印方法包括如下步骤:
10.s1:设计水印嵌入网络结构和损失函数,将二维码图像通过神经网络与载体图像进行嵌合,并输入至所述水印嵌入网络中,获取得到含水印图像;
11.s2:设计水印提取网络结构,根据不同的图像处理情况,确定不同情况下对应的损失函数,并将所述含水印图像进行水印提取;
12.s3:确定初步半脆弱水印嵌入与提取模型,并获取对抗样本;
13.s4:将所述对抗样本输入初步半脆弱水印嵌入与提取模型中,获取得到最终半脆弱水印嵌入与提取模型。
14.更进一步地讲,在步骤s1中获取得到含水印图像,具体如下:
15.s1.1:通过二维码生成算法生成二维码图像,并将所述二维码图像和载体图像作为水印嵌入网络的输入;
16.s1.2:所述水印嵌入网络将二维码图像作为水印,嵌入所述载体图像中,获取得到所述含水印图像。
17.更进一步地讲,所述二维码图像和载体图像均被叠加为一个4通道张量,并作为输入传输至所述水印嵌入网络中。
18.更进一步地讲,所述水印嵌入网络的前向传播过程对输入的4通道张量进行卷积池化运算,并输出三通道的含水印图像。
19.更进一步地讲,在所述水印嵌入网络中,通过均方误差作为损失函数衡量输出的含水印图像与载体图像之间的相似度,所述损失函数的计算公式为:
20.eloss=mseloss(markedimg,coverimg)
21.其中:eloss为损失函数,markedimg为水印嵌入网络输出的含水印图像,coverimg为原始载体图像。
22.更进一步地讲,所述不同情况下对应的损失函数,具体如下:
23.所述含水印图像经过压缩时,对应的损失函数为:
24.r1loss=mseloss(rev_wm1,wm)
25.其中:r1loss为含水印图像经过压缩时对应的损失函数,rev_wm1为原始含水印图像,wm为二维码图像;
26.所述含水印图像经过内容篡改时,对应的损失函数为:
27.r2loss=mseloss(rev_wm2,blankimg)
28.其中:r2loss为含水印图像经过内容篡改时对应的损失函数,rev_wm2为被篡改的水印图像,blankimg为空白图像;
29.所述不含水印图像无法提取水印时,对应的损失函数为:
30.r3loss=mseloss(rev_wm3,blankimg)
31.其中:r3loss为不含水印图像无法提取水印时对应的损失函数,rev_wm3为不含水
印的原始图像,blankimg为空白图像。
32.更进一步地讲,在步骤s3中并获取对抗样本,具体如下:
33.s3.1:确定初步半脆弱水印嵌入与提取模型;
34.s3.2:通过基于梯度的对抗攻击方案bim、rfgsm和pgd生成对抗样本,对所述初步半脆弱水印提取模型进行训练。
35.更进一步地讲,所述bim计算公式为:
[0036][0037]
其中:x
0adv
为初始化的对抗样本,x为输入图像,x
n 1adv
为第n 1次迭代后生成的对抗样本,clip为对对抗样本的裁剪操作,x
nadv
为第n次迭代后生成的对抗样本,α为生成对抗扰动的幅度,sign为符号函数,为求梯度,j为损失函数,y
true
为真实标签;
[0038]
所述rfgsm计算公式为:
[0039][0040]
其中:x

为rfgsm算法生成的对抗样本,为初始化生成的对抗样本,∈和α均为控制着对抗扰动的幅度,sign为符号函数,为求梯度,j为损失函数,x为输入图像,y
true
为真实标签,为0到1的正态分布。
[0041]
更进一步地讲,所述对抗样本进行防御时,采用的损失函数为:
[0042]
r4loss=mseloss(rev_adv_wm,blankimg)
[0043]
其中:r4loss为对抗样本进行防御时采用的损失函数,rev_adv_wm为生成的对抗样本,blankimg为空白图像。
[0044]
更进一步地讲,所述最终半脆弱水印嵌入与提取模型中水印提取网络采用的损失函数为:
[0045]
rloss=r1loss r2loss r3loss r4loss
[0046]
其中:rloss为最终半脆弱水印嵌入与提取模型中水印提取网络采用的损失函数,r1loss为含水印图像经过压缩时对应的损失函数,r2loss为含水印图像经过内容篡改时对应的损失函数,r3loss为不含水印图像无法提取水印时对应的损失函数,r4loss为对抗样本进行防御时采用的损失函数。
[0047]
有益效果:与现有技术相比,本发明的技术方案具有以下有益技术效果:
[0048]
(1)本发明基于神经网络实现了半脆弱水印的嵌入与提取,灵活权衡了水印在信道压缩情况下的鲁棒性与恶意篡改下的脆弱性,能够应用于实际远程医疗场景,同时水印提取网络的水印提取能力也比较优异,在含水印图像被压缩的情况下均能成功提取;
[0049]
(2)本发明生成的水印图像与原始图像之间的峰值信噪比为50.97,高于目前已存在的众多水印方案,同时通过bim、rfgsm、pgd在基于输出结果和中间特征生成的对抗样本均能有效攻击水印提取网络。
附图说明
[0050]
图1是本发明的深度半脆弱水印算法框架图;
[0051]
图2是本发明的水印嵌入网络与水印提取网络的结构图;
[0052]
图3是本发明的网络结构中的注意力门模块结构图;
[0053]
图4是本发明的神经网络半脆弱水印嵌入与提取的示例图。
具体实施方式
[0054]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。其中,所描述的实施例是本发明一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。
[0055]
实施例1
[0056]
参考图1

图4,本实施例提供了一种用于图像认证与对抗样本防御的深度半脆弱水印方法,在本实施例中所用的图像数据来自于chestx

ray8数据集,该图像库共包含来自32717个患者的108948张医学影像图。在实现过程中,本实施例采用pytorch架构,结合python语言进行编程实验。chestx

ray8数据集按8:1:1的比例随机且不重叠的划分为训练集、验证集与测试集,分别用来训练、验证和测试。其深度半脆弱水印方法具体包括如下步骤:
[0057]
步骤s1:将二维码图像通过神经网络与载体图像进行嵌合,获取得到含水印图像。在半脆弱水印嵌入提取方案中,首先要实现的是将水印信息隐藏在载体图像中,并保证水印的安全性和隐蔽性。具体如下:
[0058]
步骤s1.1:设计水印嵌入网络结构和损失函数,通过二维码生成算法生成二维码图像,并将二维码图像作为水印,同时将载体图像和作为水印的二维码图像共同作为水印嵌入网络的输入。
[0059]
在本实施例中,针对不同的水印信息,本实施例均可通过二维码生成算法生成特定的二维码图像,并与载体图像同时输入到水印嵌入网络进行水印嵌入。值得注意的是,二维码图像信息中包括有ct影像的产生时间信息和ct影像的设备信息等其他信息。
[0060]
同时二值水印图像能否提取的衡量标准,是通过读取二维码图像生成的信息的一致性来判断的。也就是说,如果提取的二维码图像水印读取后的信息与原始信息不一致,则表示不能提取出水印。如果提取的二维码图像水印读取后的信息与原始信息一致,则表示能提取出水印。同时扫描二维码图像信息还可以追溯该图像的来源。
[0061]
步骤s1.2:水印嵌入网络将作为水印的二维码图像嵌入载体图像中,从而获取得到含水印图像,进而可以保证载体图像的可用性以及水印的不可见性。
[0062]
在本实施例中,二维码图像和载体图像均被叠加为一个4通道张量,并作为输入传输至水印嵌入网络中,同时水印嵌入网络的前向传播过程对输入的4通道张量进行卷积池化运算,并输出三通道的含水印图像。值得注意的是,为保证医疗图像可用性和水印的不可见性,在水印嵌入网络中,通过均方误差作为损失函数衡量输出的含水印图像与载体图像之间的相似度。因此经过多轮训练后,水印嵌入网络将学会在保证水印不可见性的情况下在载体图像中嵌入二维码水印图像。
[0063]
具体地讲,水印嵌入过程所需要的损失函数为:
[0064]
eloss=mseloss(markedimg,coverimg)
[0065]
其中:eloss为损失函数,markedimg为水印嵌入网络输出的含水印图像,coverimg
为原始载体图像。
[0066]
步骤s2:设计水印提取网络结构,根据不同的图像处理情况,确定不同情况下对应的损失函数,并将含水印图像进行水印提取。具体如下:
[0067]
将含水印图像输入到水印提取网络中提取二维码水印,本实施例采用编码

解码结构的网络进行水印提取,并将含水印图像输入到水印提取网络中,输出得到对应的水印图像。值得注意的是,将含水印图像输入到水印提取网络,需要最小化输出的水印和原始嵌入水印之间的均方误差损失。同时由于含水印图像在传输过程中可能会遭遇不同的图像处理操作,因此需要根据不同情况,确定相应的损失函数,具体如下:
[0068]
含水印图像在传输过程中不可避免的会遭遇jpeg压缩,以节省传输成本。尽管此类压缩算法会造成图像信息的损失,但并不影响医疗图像的真实度,因此本实施例将此类图像处理仍视为常规操作,即仍然可以提取出二维码水印。也就是说含水印图像经过压缩时,对应的损失函数为:
[0069]
r1loss=mseloss(rev_wm1,wm)
[0070]
其中:r1loss为含水印图像经过压缩时对应的损失函数,rev_wm1为原始含水印图像,wm为二维码图像。
[0071]
针对远程传输过程中含水印图像可能遭遇的内容篡改(复制

粘贴、拼接等操作),本实施例将其视为非常规操作,即无法提取水印。也就是说含水印图像经过内容篡改时,对应的损失函数为:
[0072]
r2loss=mseloss(rev_wm2,blankimg)
[0073]
其中:r2loss为含水印图像经过内容篡改时对应的损失函数,rev_wm2为被篡改的水印图像,blankimg为空白图像。
[0074]
为了进一步提高水印提取网络的提取能力,在输入不含水印的图像时,水印提取网络应无法提取水印。也就是说不含水印图像无法提取水印时,对应的损失函数为:
[0075]
r3loss=mseloss(rev_wm3,blankimg)
[0076]
其中:r3loss为不含水印图像无法提取水印时对应的损失函数,rev_wm3为不含水印的原始图像,blankimg为空白图像。
[0077]
步骤s3:确定初步半脆弱水印嵌入与提取模型,并获取对抗样本。即本实施例在水印嵌入和提取方案的基础架构之上,考虑了可能存在的对抗攻击,即攻击者使用对抗样本攻击方法在被篡改的图像中加入对抗噪声,使得水印提取网络仍然能够提取出正常水印。具体如下:
[0078]
步骤s3.1:确定初步半脆弱水印嵌入与提取模型。但此类模型容易被对抗样本攻击,以掩盖攻击者对图像的篡改。为此,本实施例中需要训练好一个半脆弱水印模型,以模拟针对性的攻击手段。
[0079]
步骤s3.2:针对水印提取网络的输出结果攻击和中间层特征攻击生成对抗样本,以掩盖篡改操作。本实施例主要针对性黑盒攻击,即代理模型攻击。当攻击者在传输过程中截获了水印图像,其可以通过查询机制获取水印信息,并训练相应的代理模型来模仿原始水印提取网络的行为特征。由于代理模型具有与水印提取网络类似的提取水印的能力。从而将水印图像输入到代理模型中,代理模型即可将学习原始水印提取网络提取水印的能力。从而当生成一个在视觉上类似于被篡改图像的对抗样本时,即可欺骗代理模型以提取
水印。同样地,生成的对抗样本也可以欺骗原始的水印提取网络。因此对抗攻击起了作用。在白盒情况下,攻击者完全获取模型的参数等详细细节,此时生成的对抗样本的攻击效果是相对较强的。在黑盒情况下,首先攻击者需要获取一个代理模型。而代理模型在参数细节等方面与原始水印提取网络是不完全相关的,最优的结果是攻击者获取了与原始水印提取网络大致相关的代理模型。因此本实施例在白盒情况下生成对抗样本以进行对抗攻击,以此抵抗不完全相关的黑盒攻击。具体为:
[0080]
通过基于梯度的对抗攻击方案bim、rfgsm和pgd生成对抗样本,对初步半脆弱水印提取模型进行训练。在本实施例中,bim计算公式为:
[0081][0082]
其中:x
0adv
为初始化的对抗样本,x为输入图像,x
n 1adv
为第n 1次迭代后生成的对抗样本,clip为对对抗样本的裁剪操作,x
nadv
为第n次迭代后生成的对抗样本,α为生成对抗扰动的幅度,sign为符号函数,为求梯度,j为损失函数,y
true
为真实标签。
[0083]
rfgsm计算公式为:
[0084][0085]
其中:x

为rfgsm算法生成的对抗样本,为初始化生成的对抗样本,∈和α均为控制着对抗扰动的幅度,sign为符号函数,为求梯度,j为损失函数,x为输入图像,y
true
为真实标签,为0到1的正态分布。
[0086]
值得注意的是,pgd在增加迭代次数的基础上以均匀的随机噪声作为初始化,并且用梯度的projection取代了bim对梯度的clip操作。作为bim的变体,pgd算法的攻击成功率比bim高出非常多。
[0087]
步骤s4:将对抗样本输入初步半脆弱水印嵌入与提取模型中,对对抗样本的攻击进行防御,以增强半脆弱水印的鲁棒性,进而获取得到最终半脆弱水印嵌入与提取模型。本实施例旨在提供一种能够应用于图像认证的方案,因此需要考虑到攻击者可能进行的各类攻击。其中,对抗样本攻击对神经网络的威胁最为巨大,因此本实施例在进行模拟攻击后,采用对抗训练的方式提高方案对对抗样本的鲁棒性。具体方法如下:
[0088]
将步骤s3.2中生成的对抗样本输入初步半脆弱水印提取模型中,该对抗样本进行防御时,采用的损失函数为:
[0089]
r4loss=mseloss(rev_adv_wm,blankimg)
[0090]
其中:r4loss为对抗样本进行防御时采用的损失函数,rev_adv_wm为生成的对抗样本,blankimg为空白图像。
[0091]
同时将对抗样本输入到网络中,无法提取水印,此时得到的模型即为最终半脆弱水印嵌入与提取模型,同时该模型采用的损失函数为:
[0092]
rloss=r1loss r2loss r3loss r4loss
[0093]
其中:rloss为最终半脆弱水印嵌入与提取模型中水印提取网络采用的损失函数,r1loss为含水印图像经过压缩时对应的损失函数,r2loss为含水印图像经过内容篡改时对应的损失函数,r3loss为不含水印图像无法提取水印时对应的损失函数,r4loss为对抗样本进行防御时采用的损失函数。
[0094]
参考图4,由图4可知:前两行为深度半脆弱水印的样本,后两行为传统半脆弱水印的样本。其中,第一列是原始图像,第二列是嵌入水印后的图像,第三列是两幅图像之间的残差,第四列是将第三列的残差放大10倍以仔细观察,第五列是水印,第六列是从压缩后的水印图像中提取出的水印,第七列是两者之间的残差,第八列同样是将第七列的残差放大了10倍。
[0095]
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构和方法并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献