用于医学影像快速篡改检测和恢复的无损水印算法
时间:2015-01-26
针对现有方法中篡改检测效率不高、定位不精确的问题,提出了一种基于无损水印和四叉树分解的医学图像快速篡改检测及恢复方法。利用对医学图像进行四叉树分解过程中的层次结构特点,提高了篡改检测精确性和定位速度,同时使用分解后块中对角线像素均值作为恢复特征值,保证篡改后图像的修复质量。实验结果表明,与现有方法相比,所提方法在尺寸为512×512的图像中定位比较次数降至6.7次左右,篡改定位精确性提高了5%左右。
文献标志码:A
0引言
随着网络与多媒体的发展,数字医疗信息系统,比如医院信息系统、电子病历系统等扮演越来越重要的角色。而在公网上进行医学图像的传输,易遭受恶意篡改,因此对医学图像的篡改检测和恢复显得尤为重要。近来,基于无损水印的篡改检测策略被提出来,特别适应于对质量要求高的医学图像。
基于无损水印的篡改检测算法分为两种:一种是基于固定尺寸的划分;另一种是基于非固定尺寸的。但两种方式均需计算图像块中的特征值,进行特征值的嵌入;在认证阶段,通过比较重新计算的特征值与提取的特征值,判断划分的图像块是否发生篡改,而提取的特征值可用来恢复被篡改的图像块。对图像进行固定尺寸分块的方法,有代表性的如:文献将图像分成固定的4×4的块,计算每一块的均值作为特征值,然后采用基于小波变换的可逆数字水印方法将特征值嵌入。文献将一整张图片进行多级的尺寸划分,最终划分为2×2的块,然后采用哈希算法计算认证信息,对顶级图像块进行认证比较判断医疗图像完整性;而逐级深入的认证比较,即可进行快速篡改定位。上述方法都是基于固定块的篡改检测策略,固定块划分越细,篡改定位精度越高,水印信息将大幅度增加,对水印嵌入容量要求将更高;其次固定块划分也没有充分考虑图像区域的相关性。针对固定块方法中的不足,提出了非固定尺寸分块的方法,有代表性的如:Deng等的方法和Kim等的方法,均是采用了自适应的尺寸划分,其中:Kim等采用块的均值作为恢复特征值,但存在恢复低频区域图像质量不高和易遭受保持均值的篡改攻击等问题;Deng等的方法是在Kim等的方法上进行了改进,引入了加权像素插值计算特征值,提高了修复图像的质量,抑制了保持均值的篡改攻击,可是存在不能检测非对角线上像素被篡改的图像块、篡改区域定位速度慢以及篡改检测精确性不高等不足。
本文重点针对Deng等方法的不足进行了改进,提出了一种改进的基于四叉树分解的多级医学图像快速篡改检测及恢复的算法。首先,利用四叉树分解方法进行多级划分,计算多级划分中每一级每一块的消息摘要并记录四叉树的分解信息、等级信息;然后,计算最终的具有同质特征块的特征值;最后,利用基于固定位置的可逆整数变换方法进行嵌入。第二层水印由四叉树分解信息及必要参数组成,通过最低有效位(Least Significant Bit, LSB)替换方法嵌入。认证时,重新计算消息摘要,并与提取的消息摘要比较,根据四叉树的层次结构进行篡改的快速定位,提取的特征值可以保证修复图像的质量。实验证明与文献方法相比,本文算法具有更高的篡改定位精确性和更快的篡改定位能力。
1关键技术介绍
1.1四叉树的等级结构表示
四叉树的分解是将图像分成具有一定特性的自适应尺寸的块。四叉树的分解非常适合方形图像或者像素个数为2的整数次幂的图像。而医学图像几乎都存在连续背景区域,那么采用四叉树分解的方法就更具优势。具体过程是:将一块图像分成四块大小相等的方块,判断每一个块是否满足某个一致性的标准。如果满足则不再分解;如果不满足,再进行细分使之成四块,并对细分得到的方块应用一致性的准则检查,分解过程重复迭代下去,直至满足某一准则。 1.2特征值的计算
本文算法中需嵌入的特征值包括两个部分:一部分是用于篡改检测的特征值;一部分是用于篡改修复的特征值。根据四叉树分解的特性,分解完成后的像素块具有一定的相关性,因此采用块中的少量像素值来计算修复特征值。尤其在针对较大区域时,计算也具有优势。本文采用了正负对角线像素的均值作为修复特征值。
文献采用的线性加权特征值,用来进行篡改检测,是不能够检测出非对角线上的像素发生篡改的图像块,因此精确性不够高。因此本文的篡改检测特征值是在对四叉树分解过程中对每一个层次的每一个分块进行哈希算法计算得到的,就如上面所描述的,对篡改相当敏感,精确性高。
本文最小的分块为2×2,恢复特征值是对角线像素的均值,最小分块的恢复特征值的计算过程包含了每一个像素点,而篡改检测特征值是通过消息摘要算法对图像块进行计算获得,为了简化计算和减少嵌入量,将最小分块中的篡改检测特征值略去,用最小分块中的恢复特征值进行篡改检测。
1.3基于固定位置的可逆整数变换
本文使用的基于固定位置的可逆整数变换进行数据嵌入,该方法是选择每一个块的左上角的像素作为参考像素,根据其他像素与参考像素的关系进行数据的嵌入。具体步骤描述如下。
5结语
本文提出了基于四叉树多级分解的快速篡改检测与恢复的无损水印算法,具有快速的篡改定位能力和较高的篡改检测精确性。它充分利用四叉树分解过程中层次结构特点,通过逐级深入检测提高篡改检测速度,并对分解过程中的每一个层次每一个块采用HMAC算法计算摘要,提高篡改检测精确性。使用基于固定位置的可逆整数变换嵌入水印数据,嵌入过程简单,且嵌入容量较大。实验结果表明,本文方法在篡改精确性和篡改定位速度上具有明显优势。
