基于显著目标的图像认证与自恢复
2019-01-24石艳娇易玉根
石艳娇,张 晴,易玉根
1(上海应用技术大学 计算机科学与信息工程学院,上海 201418)2(江西师范大学 软件学院, 南昌 330022)
1 引 言
随着多媒体与网络技术的飞速发展,数字化图像信息充斥于网络及日常工作与学习中. 然而,利用一些易于使用的图像编辑软件,人们可以不留痕迹地任意编辑、修改或伪造数字图像的内容,如不加甄别地使用这些被编辑或篡改的图像将造成严重后果,尤其是在医疗、军事等一些敏感领域. 因此如何对数字图像的真实性与完整性进行认证受到研究学者的广泛关注. 脆弱水印技术是解决该问题的一个有效工具和途径,并且已被广泛用于多媒体认证领域[1,2].
Walton[3]首次提出用脆弱数字水印的方法实现图像认证, 该方法利用图像中一些像素的7个最高有效位生成校验码并作为水印嵌入到其最低有效位中. 该方法原理简单易于实现,为后来的基于脆弱水印的图像认证指明了方向. Celik等人[4]提出在多级层次下将图像分块并计算在各层次上的块签名. 最低层的较小图像块的签名确保更高精度的篡改定位,较高层的图像块签名可提供抗VQ攻击的能力,而在最高一层,利用整个图像计算得到的签名则可抗伪造攻击.
然而以上方法未考虑对被篡改的内容进行复原. 当检测到篡改时即需要发送方重新发送图像,造成了网络资源的浪费. 因此,在一些实际应用中,在检测到篡改后能够恢复被篡改区域的原始内容是十分必要的. 文献[5]首次提出一种称为"自嵌入"的水印方法用于重构被篡改区域. 在自嵌入水印方法中,图像或视频的压缩版本被嵌入到该载体本身. 在认证端,提取的压缩版本用于重构被篡改部分. 近年来,涌现了一批用于图像和视频的自嵌入水印方法[6-9]. 在文献[6,7]中,表示区域的主要内容的数据将隐藏在两个不同区域. 如果这两个区域都遭到篡改,那么恢复将失败. 这种现象被称作"篡改一致"问题. 为了降低篡改一致发生的概率,在文献[8]中采用了多个描述编码. 然而,这是以牺牲恢复质量为代价来增强自恢复能力. 接下来,文献[9]提出一种"参考共享"机制来解决这个问题. 在该机制中,将根据不同区域的主要内容信息生成的参考做为水印,并且由这些区域共享该水印. 在识别篡改区域后,使用完好的、未受攻击区域的参考数据和原始内容来恢复被篡改区域. 鉴于"参考共享"机制的优势,本文采用该机制实现图像的自嵌入与自恢复.
以上水印方法均是通过修改像素值将水印信息嵌入到图像中进而实现图像的认证与保护,这势必将造成图像中的像素值发生改变进而带来图像失真. 虽然一般的水印嵌入方法均能够保证这种失真不被人类视觉系统所感知,但在一些敏感的应用领域如卫星遥感、法律证据、医学诊断图像等,要求图像尽量保留细节信息. 因此要求算法在提取秘密信息后能够将图像恢复至原始状态,这就是无损水印方法. 在图像遭受篡改攻击情况下,在这些敏感应用领域,也希望算法能够无损恢复被篡改区域. 然而,图像恢复质量与成功恢复概率是两个互相矛盾与制约的指标,如何权衡二者的关系是该类算法中的一个难题.
在实际情况中,往往只关注图像中的感兴趣区域,而背景部分的微小失真并不会对后续的处理产生影响. 受此激发,本文提出一种基于显著目标的图像认证与自恢复方法. 该方法不仅能够准确识别与定位篡改,并能够对篡改内容进行分层恢复. 对于不受关注的背景区域,只恢复其主要内容而忽略其细节信息,对于图像中的感兴趣区域即显著目标,要做到无损恢复. 换言之,不仅要保持其主要内容,也要保护好其细节信息,以使其在一些敏感应用领域仍具有使用价值. 在此前提下,如何保证在篡改后仍然能都准确定位显著目标在图像中的准确位置以进一步对其进行无损恢复,是一个关键问题. 为此,本文提出了一种合成图像的思想. 该合成图像利用图像的主要信息生成. 在认证端,一旦判定图像遭到篡改,会首先恢复其主要内容,这就能够保证在嵌入前与恢复后的合成图像一致,保证了提取完全一致的显著目标.
2 基于显著目标的图像认证与自恢复
本文提出一种基于显著目标的图像认证与自恢复方法.在嵌入时,将整个图像的主要信息及显著目标的细节信息生成参考位,分布式地嵌入到图像中. 在接收端,当含密图像被认证为完整时,无损恢复因嵌入操作造成信息损失的显著目标;当图像被判定为被篡改时,准确定位被篡改区域后,恢复被篡改区域的主要信息,并进一步无损恢复显著目标的细节信息. 本文提出算法的整体流程如图1所示.
2.1 显著目标提取
显著性检测试图模拟人类视觉系统,找到图像或视频中人眼感兴趣区域. 由于其在目标识别、目标跟踪、图像检索等领域都有广泛应用,受到越来越多学者的关注. 目前研究学者们提出很多经典、有效的显著性检测方法[10-12],而基于IMMR(Improved Multi-Manifold Ranking)的显著性检测方法[13]受到越来越多学者的关注
图1 基于显著目标的图像认证与自恢复方法流程图
Fig.1 Flowchart of saliency object based image authentication and self-recovery
图2 显著目标提取效果图Fig.2 Illustration of Salient object detection
在检测性能上具有优越表现,因此本文采用该方法进行显著性检测,以更准确地检测出图像中的显著目标.
本文利用合成图像而非原始图像提取显著目标,以确保水印的嵌入不影响显著目标的提取结果. 对于彩色图像,首先进行降2采样,然后将其三个颜色通道分解为8个位平面bc8,bc7,bc6,bc5,bc4,bc3,bc2,bc1,c=R,G,B. 称bc8,bc7,bc6,bc5,bc4为最高有效位(Most Significant Bit,MSB),称bc3,bc2,bc1为最低有效位(Least Significant Bit,LSB). 降2采样后的MSB被视为该图像的主要信息. 因为水印嵌入算法为LSB替换,因此为了使嵌入前后提取的显著目标一致,我们将显著目标的bc3,bc2和bc1 三个位平面置为"100". 基于降2采样后图像的MSB和修改后的LSB平面即为合成图像,用来进行显著目标提取. 图2给出对于一张测试图像分别使用原始图像和合成图像进行显著目标提取的效果对比,结果显示二者提取的显著目标基本一致,说明合成图像能够代替原始图像进行显著目标提取.
2.2 水印生成与嵌入
本方法要保护的信息为图像的主要信息以及其中的感兴趣区域的细节信息,即待嵌入信息为下采样图像的MSB和显著目标的所有位平面. 受文献[9]的启发,嵌入到载体的并不是数据本身,而是由其生成的参考位,连同哈希数据,分布式的嵌入到载体中,从而实现较高的篡改恢复能力[9].
原始图像的下采样图像的MSB及显著目标的所有位平面组成二进制串B,作为被保护的对象. 设图像的宽、高分别为w、h,用NSO表示显著目标的像素个数,那么B的长度为15×(w×h/4)+24×NSO. 将B数据集置乱并分成长度为Ld的M个子集. 记第k个子集的元素为dk,1,dk,2,…,dk,Ld,其参考位rk,1,rk,2,…,rk,L通过公式(1)得出:
(1)
其中A是伪随机二值矩阵,其大小为Lr×Ld,Lr为参考位的长度. 公式(1)中的计算为模2计算.在这一步中将生成Nref(Nref=15/2×w×h)位参考位,所以每组参考位的长度应确定为Lr=⎣Nref/M」. 置乱后的参考位将和哈希校验码一同嵌入到载体图像中. 在此使用置乱算法进一步增强算法的安全性,并且伪随机二值矩阵A的生成也是基于秘钥的.
为了检测篡改,本文使用哈希函数来生成校验码,连同参考位一同嵌入到载体图像中. 嵌入时,将图像划分为8×8的基本单元,将产生(w×h)/64个图像块.同时将参考位也化为为同等数量的组,每组中有480位.因此建立了图像单元与参考位组的对应关系. 对于每一图像单元,利用其MSB信息和参考位生成96位哈希位. 哈希函数输入端有微小的差别就会导致输出端有极大变化,因此采用哈希码作为验证码.接下来将参考位和哈希位置乱并替换图像块的LSB. 矩阵A及置乱操作都是基于密钥实现的,进一步增强了算法的安全性.
2.3 篡改区域定位与内容恢复
接收到图像后首先认证其真实性与完整性. 如图像遭到篡改,利用可信信息对篡改区域的主要内容和显著目标的细节信息进行恢复. 如图像未受攻击,则恢复显著目标细节信息即可.
2.3.1 篡改块的定位
在接收端,首先将图像划分为8×8的图像块,提取LSB,并将所提取数据分为参考位和哈希位. 将该图像块的MSB和提取的参考位送入哈希函数中. 若生成的哈希码与提取的哈希位不一致,则认为该块已被篡改.
2.3.2 图像恢复
若图像未受攻击,则按照以下步骤无损恢复显著目标:
步骤1.构建合成图像. 由于在嵌入过程中并未改变图像的MSB,可以保证在此步骤中的合成图像与嵌入端的一致.
步骤2.通过公式(2),利用下采样含密图像的MSB和提取到的参考位求解出显著目标信息:
(2)
其中DM和DSO为下采用图像的MSB和显著目标的所有位平面信息,矩阵AM和ASO的列对应于DM中的MSB和DSO中显著目标的所有位平面. 等式左侧和ASO均为已知,目的是求解DSO. 如果该线性等式具有唯一解,那么便可以成功求解到显著目标的信息. 记向量DSO的长度为LSO,当且仅当矩阵ASO的秩等于LSO,即ASO的各列线性不相关,公式(2)存在唯一解,即可成功恢复.
如果一个或多个块被判定为被篡改,篡改块的MSB和显著目标信息可通过公式(3)进行恢复:
(3)
其中rk,e(1),rk,e(2),…,rk,e(v)为提取到的参考位,矩阵AE为矩阵A的对应于可提取参考位的那些列,D(R,M)、D(T,M)和DSO分别为未篡改的MSB、篡改的MSB和显著目标信息. 将公式(3)改写位如下形式:
(4)
3 实验结果与分析
在实验中,从THUS10000数据集中随机选取一些测试图像,进行三方面的评估实验:水印嵌入对图像视觉质量的影响、无篡改情况下对显著目标的恢复能力、篡改情况下的恢复能力.
3.1 视觉质量评估
在此使用峰值信噪比(Peak Signal to Noise Ratio, PSNR)对含密图像的质量进行评估. PSNR定义为:
(5)
其中C(i,j)和S(i,j)分别表示在原始载体图像与含密图像的第i行第j列处的像素值. 表1列出了各测试图像的PSNR值. 从中可以看出,PSNR值得范围为37.79 dB 到38.17 dB,平均PSNR为37.93dB,达到了不可见的要求.
表1 部分测试图像的PSNR值Table 1 PSNR of some test images
图3显示了一些原始图像及相应的含密图像,其中图3(a)和(d)分别为原始载体图像,图3(b)和(e)是相应的含密图像,从图中可以看出,人眼几乎观察不到水印嵌入带来的视觉失真. 事实上,由于水印嵌入是通过修改图像像素值来实现的,因此这种由于水印嵌入而带来的图像失真必然是客观存在的. 为了进一步观察水印嵌入对图像质量的影响,将图3中的载体图像与相应的含密图像做差,差值图像分别如图3(c)和(f)所示. 综上可以看出,虽然水印嵌入带来的失真在人眼可接受范围内,但这种图像失真是客观存在的,而本文提出方法能够解决显著目标的失真问题.
3.2 无篡改情况下对显著目标的恢复能力
为了使显著目标尽量保持其细节信息,本文的第一个目的是在无篡改情况下无损恢复显著目标. 在接收端接收到图4中的含密图像后,首先对其完整性认证. 被认证为未受攻击后,求解公式(2)中的未知项. 同时利用接收到的含密图像构建合成图像,提取显著目标. 接下来即可对显著目标的细节信息进行恢复. 因为图像未受攻击,因此显著目标的MSB是可信的,只有LSB由于水印的嵌入发生了改变. 所以此时只需恢复其LSB信息. 图4(a)和(b)分别显示原始图像及所提取的显著目标,图4(c)为恢复目标细节后的图像,图4(d)为恢复目标细节后图像与原始图像的差值图像,为了便于观察,将此差值放大30倍. 可以看出,显著目标部分的差值均为0,即显著目标被无损地恢复至未嵌入水印之前的状态. 从该实验可以看出,在无篡改情况下,本文提出方法能够无损恢复显著目标区域.
图3 嵌入前后视觉对比 (a)和(d)为原始的载体图像,(b)和(e)为嵌入水印后的含密图像,(c)和(f)为含密图像与原始图像的差值图像Fig.3 Visual comparation between before and after embedding
图4 无篡改情况下目标细节的恢复效果图(a)原始载体图像,(b)显著目标检测结果,(c)恢复显著目标细节后的图像,(d)恢复目标细节后图像与原始图像的差值图像(×30)Fig.4 Recovery result of salient object without tempering
3.3 篡改情况下的恢复能力
为了验证算法在篡改攻击下的恢复能力,对含密图像进行了部分篡改后的恢复实验. 图5(a)为接收到的含密图像,图5(b)为提取的显著目标掩膜,图5(c)为对含密图像进行局部篡改的效果,图5(d)为篡改定位结果,其中黑色区域表示被篡改区域,篡改率已经达到37.76%. 图5(e)为恢复后的结果,图5(d)为恢复后图像与原始载体图像之间的差值,其中,为了便于观看,将差值放大30倍进行显示. 可以看出,显著目标部分的差值为0. 从该实验可以看出,本文提出方法能够实现篡改区域的恢复和显著目标的无损恢复.
图5 篡改定位与恢复效果图(a)含密图像,(b)显著目标 检测结果,(c)篡改攻击效果,(d)篡改定位结果,(e)恢复后结果,(f)恢复后图像与原始图像之间的差值(×30)Fig.5 Result of tampering location
3.4 多篡改区域下的恢复能力
为了验证本文提出方法对多篡改区域的恢复能力,进行了多篡改区域的实验. 图6(a)中给出带有一架飞机的图片,机身上的数字和字母可能携带了这架飞机的身份信息,因此对于辨别这架飞机的来源与目的都十分关键. 图6(b)显示利用IMMR方法得到的显著目标. 第一种篡改方式为用机身上的其它图案覆盖机身上带有关键信息的内容,第二种篡改方式为在图像的右下角增加一个风筝图像. 两种篡改效果如图6(c)所示. 用本文提出的方法进行认证与恢复的结果如图6(d)~6(e)所示. 图6(d)为篡改定位的结果,其中黑色区域表示检测出的篡改区域. 图8(e)为对篡改区域恢复主要内容后效果,图6(f)为恢复显著目标细节后的最终效果. 为了检验是否实现了显著目标的无损恢复,将原始图像图6(a)与恢复后的图像图6(f)做差,差值如图6(g)所示. 从图中不难看出,图片中的显著目标即飞机区域处差值为0,也就是说,显著目标区域被零误差地恢复出来. 说明对于多篡改区域的情况,本文方法仍然能够进行有效地恢复.
图6 多区域篡改定位与恢复效果图(a)含密图像,(b)显著目标检测结果,(c)篡改效果,(d)利用本文方法进行篡改定位结果,(e)恢复被篡改区域的主要内容后的结果,(f)无损恢复显著目标后的最终结果,(g)最终恢复结果与原始载体图像之间的差值(×30)Fig.6 Result of tampering location under multi-area tampering
图7 某一显著区域恢复主要内容与恢复细节信息的效果对比图(a)恢复主要内容后的效果图(b)恢复细节信息后的效果图Fig.7 Visual comparation between before and after recovery of one part of salient object
图7给出了某一显著区域恢复主要内容与恢复细节信息的视觉效果对比图,其中图7(a)给出恢复篡改区域主要内容后的效果图,并将图中矩形框内的区域进行放大显示,图7(b)显示的是恢复显著目标的细节信息后的效果图,并将与图7(a)中位于同一位置的区域进行放大显示. 从放大后的细节图片可以看出,图7(a)中机身上的文字信息已经模糊不清,但恢复显著目标细节的图7(b)中,却能够清晰地辨别出机身上的文字信息. 因此可以看出对图像中的重要内容进行无损保护具有非常重要而实际的意义.
4 结 论
本文提出一种基于显著目标检测的图像认证与自恢复方法,能够使嵌入后图像及篡改后图像在敏感应用领域仍具有使用价值. 通过自嵌入水印方法和无损嵌入技术,将显著目标的细节信息进行了有效保护.同时,当图像遭受一定程度的篡改攻击时,也能够实现显著目标的无损恢复. 实验结果验证了本方法在图像认证与保护方面的有效性. 但本文算法也存在一定局限性,即当感兴趣目标过大时,则会导致恢复失败.因此接下来的研究工作将关注于如何进一步提高算法的恢复能力.