基于自适应半脆弱水印的图像篡改检测方案
2014-09-18陶孟益杨恒伏喻广武王铁石
陶孟益,唐 军,杨恒伏,喻广武,王铁石
(湖南第一师范学院信息科学与工程系,湖南长沙410205)
如今数字媒体已广泛进入人们生活的各个方面,给人们的生产、生活带来了极大的方便。但同时信息处理技术的快速发展也使得攻击者可以很容易未经授权地分发、复制数字媒体,甚至任意篡改数字媒体。如何认证数字媒体内容与检测恶意篡改成为数字媒体产业所面临的严峻考验。半脆弱水印技术在保护媒体版权的同时,能抵抗一定程度的恶意攻击。近年来,半脆弱水印作为一种有效的内容认证与篡改检测技术引起了众多研究人员的关注[1]。刘敏等结合混沌映射与LSB(Least Significant Bits)替换技术提出一种应用于图像篡改检测的脆弱水印算法[2],将水印信息嵌入在置乱后图像的最低有效位平面中。算法脆弱性好但不能抵抗通常的内容保持攻击。崔尚勇提出一种基于均值运算的半脆弱水印算法[3],首先计算出图像各分块内子块均值,然后根据子块系数分布规律生成零水印,算法透明性和鲁棒性较好,能抵抗常规图像处理操作,且具有一定的篡改定位能力。高铁杠等提出一种基于Hash和汉明码的半脆弱水印方案。根据logistic混沌映射定位图像各分块的相关块,并在各图像分块中伪随机选取MSB位生成比特序列,进一步进行汉明码编码,由编码序列比特替换LSB位以嵌入水印。该方案具有较好的图像保护能力与篡改检测能力。武凤翔等[5]提出一种半脆弱水印认证算法,从小波低频系数中提取图像特征作为水印,将其嵌入到图像分块中,算法透明性好,抵御噪声、有损压缩等非恶意攻击的同时,可有效检测定位剪切、替换等恶意攻击。王友卫等[6]得出一种结合相关块组的半脆弱水印算法,轮流使用每个子块组内特定块生成水印,而将水印嵌入到子块组内的其他块中。算法透明性较好,有较强的抵抗偶然攻击能力,且能较好地定位裁剪、替换等操作攻击。然而这些篡改检测算法[3-6]只能检测与定位图像块级篡改,定准精度有待提高。为较好地实现版权保护和高精度篡改检测、定位,在充分挖掘图像特性的基础上,结合自适应LSB替换技术,设计基于自适应半脆弱水印篡改检测方案。
1 基于自适应脆弱水印的篡改检测方案
1.1 水印嵌入
为增强水印提取的可靠性,水印嵌入时根据MSB(Most Significant Bits)位确定各像素水印嵌入比特位数,然后将水印信号嵌入到LSB位中。其具体步骤如下:
1)载入原始图像I和二值水印图像W。
2)抽取图像高k位比特生成原图MSB残差图,图像高k位比特不用于水印嵌入,而仅用于计算各像素水印嵌入比特位数。
3)给定用户密钥key,利用混沌映射对水印图像进行加密处理,得加密水印信号W'。
4)根据MSB残差图计算各像素自适应水印比特位数。由MSB图像计算出各像素Iij所在s×s邻域均值aveij,考虑到人眼的亮度非线性屏蔽特性,可经由aveij刻画出亮度敏感因子为
式中:x为邻域Oij内任意像素值。
综合考虑亮度、纹理特性,集成图像视觉特性因子为
再将视觉因子λij归一化到区间[0,7-k],即获得图像各像素自适应水印嵌入比特数numij。
5)对图像I中各像素Iij,应用LSB替换策略由加密水印比特替换其numij位LSB比特,直到全部加密水印信号嵌入完毕,即生成含水印图像。
1.2 水印提取
水印提取基本是水印嵌入的逆过程,主要技术步骤如下:
1)载入认证图像I',给定用于特性计算的高MSB比特位数k。
2)抽取图像I'各像素高k位MSBs,生成残差MSB残差图。
3)根据水印嵌入过程步骤4)相同方法,计算出自适应水印嵌入比特数numij,由于水印嵌入仅在各像素低numij位进行,而numij<7-k,水印嵌入根本不会改变高k位MSB残差图,因而水印嵌入前后均由MSB残差图计算出的各像素水印嵌入比特位数numij是相同的。
4)直接提取认证图像各象素的低numij位LSBs得到numij位比特信息,0≤s<numij。采用多数原则即可恢复加密水印信号W',其中元素为
式中:xij是像素Iij的像素值,而0≤i<m,0≤j<n;m,n为载体图像和水印图像大小,下文同。
而图像纹理特性则可由邻域内像素与均值最大差值来近似计算
5)最后利用给定用户密钥key对W'进行解密以恢复水印信号。
1.3 图像认证与篡改检测
图像认证与篡改检测依赖于原始水印W与恢复水印W^,详细过程描述如下:
1)计算出恢复水印W^与原始水印的归一化相关系数为
式中:⊗为异或运算表示取反运算。
2)如果NC=1则表示图像未遭受任何攻击;如果T<NC<1(其中T为用户指定阈值,且T∈(0.5,1),则认为遭受到通常的内容保持攻击;否则图像遭受到恶意攻击,进行步骤3)进行篡改检测与定位。
3)篡改检测与定位主要步骤为:
(1)首先根据原始水印与恢复水印获得水印差图像为
(2)然后利用扫描线探测法出差图像中各行白色像素点(错误检测像素)距离之和,再除以差图像中白色像素总数,得到相邻白色像素点间平均距离L,并对差图像执行L×L的中值滤波以去除错误检测引起的噪声干扰。
(3)使用L×L的结构元素实施数学形态学膨胀运算,以连接水印检测错误形成的“空洞”。
(4)再进一步使用大小为(L+2)×(L+2)的结构元素来实施腐蚀运算,以消除膨胀可能造成的边界扩大效应。
(5)最后,运用大小为3×3的结构元素以实施膨胀运算,从而定位出与实际篡改相符的图像区域。
2 仿真实验与性能测试
该算法在VC6.0环境下得以实现,实验中以256×256的二值图像为水印,如图1所示。阈值T取值0.7。为验证算法有效性,针对大量不同类型的大小为256×256的8 bit深度灰度图像进行了测试,图2显示了一个水印嵌入测试示例,未遭受攻击时恢复出水印与原始水印完全一致。从视觉上看,人眼觉察不出隐秘图像中水印嵌入所引起的人为痕迹。
图2 水印嵌入
更为广泛深入的隐秘性测试结果由表1所列出,隐秘图像视觉质量由峰值信噪比予以客观评价。从表1可以发现,该算法所生成的隐秘图像PSNR平均高达37.30 dB,隐秘图像视觉质量好。
表1 隐秘图像视觉质量PSNR dB
表2以Lena图像为例,给出了算法对3×3平均滤波、3×3中值滤波、轻度噪声迭加、JPEG压缩(质量因子85)等内容保持攻击的鲁棒测试效果,其NC值可达0.74(T<0.7)以上,说明提出算法对通常的内容保持攻击是鲁棒的。
表2 不同算法对内容保持攻击操作的鲁棒性
另一方面,以剪切、复制粘贴等恶意攻击为例(见图3),测试算篡改检测与定位能力,其篡改检测与定位效果如图4所示。从图中可以看出,该方案能有效形成一个紧凑的篡改区域,较为准确地检测并定位图像所遭受的篡改。同时方案能将篡改定位到像素级,而通常的篡改检测算法其检测定位精度只能是图像块级,如表3所示。
图3 恶意篡改图
图4 篡改检测与定位
表3 不同方案的篡改定位精度
3 结论
结合自适应半脆弱水印技术,设计与实现了一种高精度图像篡改检测方案。该方案水印嵌入过程较好地利用了图像视觉屏蔽特性,算法透明性高。方案对通常的内容保持攻击是鲁棒的,并采用数学形态学滤波以较高精度检测与定位图像篡改区域。实验表明该方案是可行的,可应用于网络环境数字图像内容认证与篡改检测。
:
[1]陈自刚,何金枝.基于JPEG XR的半脆弱数字水印技术研究[J].电视技术,2012,36(15):25-27.
[2]刘敏,陈志刚,邓小鸿.基于混沌和脆弱水印的图像篡改检测算法[J]. 计算机应用,2013,33(5):1371-1373.
[3]崔尚勇.基于均值运算和系数分类的半脆弱水印算法[J].计算机工程,2010,36(21):152-156.
[4]高铁杠,谭琳,曹雁军.基于Hash函数和汉明码的半脆弱水印算法[J]. 光电子·激光,2012,23(9):1808-1814.
[5]武凤翔,岳晓丽,徐江.基于分块的小波域图像半脆弱水印认证算法[J]. 郑州大学学报:工学版,2012,33(2):10-13.
[6]王友卫,刘元宁,朱晓冬.用于图像内容认证的半脆弱水印新算法[J]. 浙江大学学报:工学版,2013,47(6):969-976.