结合结构与梯度的图像哈希算法
Image Hashing algorithm based on structure and gradient
通讯作者:
收稿日期: 2019-05-24
Received: 2019-05-24
作者简介 About authors
沈麒(1993—),男,硕士生,从事图像哈希算法研究.orcid.org/0000-0001-9077-6635.E-mail:
为了提高分类性能和运算效率,提出结合结构特征与梯度特征的图像哈希算法. 该算法对输入图像进行预处理提高算法的鲁棒性,将预处理后的图像转换到YCbCr颜色空间,提取亮度Y分量. 利用Y分量的峰顶曲线和峰谷曲线来获取外部结构特征,同时提取峰顶和峰谷的位置信息来构建内部结构特征. 结合外部结构特征和内部结构特征得到图像的结构特征;提取Y分量的横向梯度与纵向梯度来构建图像的梯度特征;将结构特征与梯度特征联合起来并扰乱得到最终的哈希序列. 实验结果表明,所提算法对亮度调整、对比度调整和高斯低通滤波等保持内容的图像处理较稳健. 与已有算法对比,该算法具有更好的受试者工作特性(ROC)曲线和较好的图像分类性能,在篡改检测实验中,该算法可以有效地检测篡改图像.
关键词:
An image Hashing algorithm based on structure features and gradient features was proposed to improve the classification performance and efficiency of Hashing algorithm. The input image is pre-processed to improve the robustness of the algorithm, and then the pre-processed image is transformed into YCbCr color space for extracting the brightness Y component. The external structure feature is obtained by using the peak and valley curves of Y component, and the internal structure feature is obtained by extracting the position information of the peak and valley. The external and internal structure features are combined to produce structure features of the image. The horizontal and vertical gradients of Y component are extracted to construct the gradient features. The final Hash is produced by combining and disturbing the structure features and gradient features. Experimental results show that the proposed algorithm is robust to some common content-preserving image processing such as brightness adjustment, contrast adjustment and Gaussian low-pass filtering. The proposed algorithm has better receiver operating characteristic(ROC) curve and better image classification performanc, compared with the existing Hashing algorithms. The tampering detection experiment shows that the algorithm can effectively detect tampered images.
Keywords:
本文引用格式
沈麒, 赵琰, 周晓炜, 袁晓冉.
SHEN Qi, ZHAO Yan, ZHOU Xiao-wei, YUAN Xiao-ran.
随着科技的发展,人们能够方便地对图像进行编辑处理,因此,一幅图像可能存在拷贝版本,也可能存在被局部篡改的版本. 如何区分拷贝或篡改图像非常重要. 图像哈希技术是用于解决上述问题的重要方法. 图像哈希是将一幅图像单向映射为一串简短的数字序列. 理想的图像哈希算法应满足2个基本性能:鲁棒性,即视觉相同或者相似的2幅图像对应的哈希序列应相同或相似,即哈希算法应对保持内容的图像处理稳健;区别性,即视觉完全不同的2幅图像对应的哈希序列应不同.
近年来,已有许多研究者提出多种图像哈希算法. 这些方法可以大致分为基于图像变换[1-6]和基于数据降维[7-12]. 基于图像变换的哈希方法如下. Venkatesan等[1]利用离散小波变换(discrete wavelet transform,DWT)后的低频信息和高频信息来构建哈希,算法对伽马校正和对比度变换鲁棒性较差. 沈麒等[2]利用多次小波变换的统计特征值构建哈希算法,算法具有较好的图像分类性能. Tang等[3]提出利用离散余弦变换(discrete cosine transform,DCT)来获取图像哈希序列,算法对图像进行分块,并提取每一块的主要DCT系数,最后通过矩阵压缩来生成哈希序列. Qin等[4]利用离散傅里叶变换(discrete Fourier transform,DFT)变换和非均匀采样提取图像特征,在鲁棒性和区别性上达到较好的平衡. 李新伟等[5]通过Gabor变换获取图像的结构图,并结合极坐标变换提高算法的旋转鲁棒,最后将结构子图量化为哈希序列,算法具有较好的紧凑性和区别性. Tang等[6]提出结合Gabor变换和DWT变换的方法构建哈希序列,算法对大角度的旋转不具有鲁棒性. 基于数据降维的算法如下. Hermandez等[7]对子图像应用奇异值分解(singular value decomposition,SVD)得到稳健的图像特征,然后进行压缩量化得到最终的哈希序列,算法对噪音较敏感. Ghouti[8]提出利用四元数奇异值分解(quaternion singular value decomposition,QSVD)来获取图像哈希,相较于SVD获取的哈希序列具有更好的分类性能. 唐振军等[9]提出基于主成分分析(principal component analysis,PCA)特征距离的哈希算法,该算法有较好的分类性能,但效率不高. Tang等[10]利用DCT变换获取图像的稳健特征,然后对特征矩阵应用局部线性嵌入(local linear embedding,LLE)进行压缩,对压缩结果的方差进行量化构建哈希算法,算法能够抵抗常见的数字操作,具有较好的区分能力. Tang等[11]研究多维尺度变换(multidimensional scaling,MDS)在图像哈希领域的应用,该算法首先通过极坐标变换和DFT变换来获取旋转不变稳健特征,然后利用MDS来获取简洁的哈希序列,算法对任意角度的旋转具有较好的鲁棒性. Tang等[12]探索张量分解在哈希算法中的应用,该算法提取图像在CIE L*a*b*颜色空间下的L*分量作为亮度分量,利用亮度分量构建张量,对张量进行Tucker分解生成哈希序列,该方法鲁棒性较好,但分类性能须进一步提高.
除了以上方案,还有一些其他技术被应用于图像哈希领域,例如Ring分割[13]、图像矩[14]、图像纹理[15-16]和颜色特征[17]等方式. Tang等[13]利用Ring分割技术对图像进行分环处理,提取每一环的均值、方差、偏态和峰态表示每一环像素的分布情况,联合所有图像环内的统计特征来构建哈希算法,该算法具有较好的旋转鲁棒性,但分类性能有所欠缺. Zhao等[14]结合图像Zernike矩和局部特征提出应用于图像认证的图像哈希算法. 实验结果表明该算法具有较低的碰撞率,能够检测出图像的局部篡改. Davarzani等[15]利用中心对称局部二值模式描述符和奇异值分解构建图像哈希,与只使用中心对称局部二值模式描述符作为图像特征构成的图像哈希相比较,鲁棒性得到显著提升. Tang等[17]提出利用HSI和YCbCr颜色空间的各个通道的统计值构建哈希序列,算法对大部分图像的处理操作较稳健,但对大角度旋转不具有鲁棒性.
在图像哈希算法提取过程中,以上大部分算法都是将图像作为二维平面来考虑特征的提取,本研究从三维视角理解图像的特征信息. 在三维视角下,提取图像在不同观测点下的峰顶峰谷曲线特征来得到图像的外形结构,获取峰顶与峰谷的位置信息来提取其内部结构,外形结构和内部结构共同构成图像的结构特征;提取图像的横向梯度与纵向梯度,通过矩阵相乘得到梯度信息矩阵,将梯度信息矩阵的量化特征与矩阵在三维视角下的结构特征联合起来构成图像的梯度特征;结合图像的结构与梯度特征得到最终的哈希序列.
1. 结合结构与梯度的图像哈希算法
1.1. 哈希算法框架
结合结构特征与梯度特征的图像哈希算法生成框图如图1所示,主要由图像预处理、结构特征提取、梯度特征提取和哈希生成4个部分组成.
图 1
1.2. 图像预处理
图 2
1.3. 结构特征提取
在图像特征提取中,通常将图像作为平面来提取特征. 本研究将图像放在三维视角下提取特征. 如图3所示为图2(b)在三维视角下的图像. 图中,x为图像的横向位置信息,y为纵向位置信息,z为坐标(x,y)对应的像素. 如图4所示为不同视角下的图像. 从如图4(a)所示的2个视角A、B观察图像,会有不同的视觉效果,如图4(b)、(c)所示为在不同视角下图3的峰顶曲线和峰谷曲线. 相似图像具有相似的峰顶与峰谷曲线,不同图像的峰顶与峰谷曲线则明显不同. 在图像经过JPEG压缩、图像缩放和亮度调整等保持内容的图像处理操作后,其峰顶与峰谷曲线之间的间距几乎不变. 将预处理后的图像分割为一系列大小为b×b的非重叠小块,计算每个子块的均值得到特征矩阵F1,在三维视角A、B下矩阵F1的峰顶与峰谷曲线的间距也应该不变. 不同视角下的峰顶和峰谷曲线如下:
图 3
图 4
式中:
对获得的峰顶与峰谷曲线进行计算,得到A、B视角下的特征矩阵
将
式中:
特征矩阵
1.4. 梯度特征提取
图像的梯度信息可以有效地捕捉图像的局部变化,因此对矩阵F1进行计算,得到相应的横向梯度信息矩阵Fh和纵向梯度信息矩阵Fv:
为了获得简洁的特征序列,计算得到特征矩阵F2:
式中:|·|为取绝对值操作.
对F2按行展开为特征矩阵G,再量化为二进制序列Hg=[Hg(1),Hg(2),Hg(3),···,Hg(i)]:
式中:M为特征矩阵G的均值,G(i)为矩阵G的第i列元素.
图 5
1.5. 哈希生成
将结构特征矩阵HS和梯度特征矩阵HG联合起来得到中间哈希序列Hm=[HS,HG],由1.3、1.4节可知,所提算法的哈希长度L=12(N/b)+(N/b)2−4个二进制数. 利用密钥Key对中间哈希序列进行扰乱得到最终的哈希序列H. 本研究选择汉明距离来衡量图像的相似程度:
式中:h1、h2为2幅图像的哈希序列;
2. 实验结果与分析
本研究算法的参数设置如下:规格化尺寸为N=256,标准差为1的3×3高斯低通滤波. 图像子块大小b=32,因此哈希长度L=156 bits.
2.1. 鲁棒性实验
为了验证所提算法的鲁棒性,利用20幅彩色图像作为测试样本,如图6所示为其中一部分图像示例. 对每幅测试图像按照如表1所示的图像处理方式生成相似图像. 用本研究算法提取原始图像与相似图像的哈希序列,并计算两者的汉明距离. 按照不同的处理方式分别绘制汉明距离图,如图7所示为其中5幅图像的鲁棒性实验结果. 图中,q为JPEG压缩质量因子,Lb为亮度调整级别,Lc为对比度调整级别,Ls为椒盐噪音级别,k为图像缩放比例,v为高斯低通滤波方差,θ为旋转角度. 可以看出,JPEG压缩、亮度调整、对比度调整、椒盐噪音、图像缩放和高斯低通滤波的曲线波动范围较小,汉明距离均小于0.10. 在旋转攻击下的鲁棒性实验结果中,1°以内的旋转攻击的汉明距离较小,随着角度的增加,汉明距离有明显上升. 这是因为本研究算法在提取特征时对图像进行分块处理,算法对大角度旋转较敏感. 如表2所示为20幅图像在不同攻击下汉明距离的统计结果,可以看出7种攻击的汉明距离最小值均为0. 当攻击分别为JPEG压缩、亮度调整、对比度调整、椒盐噪音、图像缩放和高斯低通滤波时,汉明距离最大值均不超过0.10,均值和标准差均小于0.05. 旋转攻击的汉明距离的最大值、均值和标准差均超过0.10. 说明本研究算法对除旋转攻击以外的JPEG压缩、亮度调整、对比度调整和椒盐噪音等攻击具有较好的鲁棒性.
表 1 不同的图像攻击设置
Tab.1
图像处理方式 | 软件工具 | 参数说明 | 参数设置 |
JPEG压缩 | 光影魔术手 | 质量因子 | 0.3、0.4、···、1.0 |
亮度调整 | Photoshop | 级别 | −20、−10、10、20 |
对比度调整 | Photoshop | 级别 | −20、−10、10、20 |
椒盐噪音 | Matlab | 级别 | 0.002、0.004、···、0.010 |
图像缩放 | Matlab | 比例 | 0.6、0.8、1.2、1.4、1.6、1.8 |
高斯滤波 | Matlab | 方差 | 0.1、0.2、···、1.0 |
旋转 | Matlab | 角度 | 1、2、3、···、8 |
表 2 不同攻击下的汉明距离统计结果
Tab.2
图像处理方式 | 最小值 | 最大值 | 均值 | 标准差 |
JPEG压缩 | 0 | 0.051 3 | 0.004 9 | 0.007 7 |
亮度调整 | 0 | 0.070 5 | 0.013 9 | 0.016 4 |
对比度调整 | 0 | 0.057 7 | 0.011 0 | 0.012 5 |
椒盐噪音 | 0 | 0.051 3 | 0.006 2 | 0.008 2 |
图像缩放 | 0 | 0.051 3 | 0.008 4 | 0.010 4 |
高斯滤波 | 0 | 0.051 3 | 0.006 0 | 0.008 2 |
旋转 | 0 | 0.461 5 | 0.148 8 | 0.145 4 |
图 6
图 7
图 7 不同攻击下的感知鲁棒性结果
Fig.7 Performance of perceptual robustness under different attacks
2.2. 区别性实验
从网络图库中下载1 000幅不同图像构成不同图像库进行算法的区别性实验. 利用本研究算法提取1 000幅图像的哈希序列,并计算两两之间的汉明距离,共有499 500个不同图像对. 按照表3图像处理方式生成相似图像对,每幅图像会得到12幅相似图像,计算相似图像与原始图像的汉明距离,共有12 000个相似图像对. 相似图像对和不同图像对的汉明距离分布图如图8所示. 图中,P为该汉明距离出现的频率. 通过计算发现不同图像之间汉明距离最小值为0.153 8,最大值为0.634 6;相似图像对之间汉明距离最小值为0,最大值为0.185 9. 可以看出,相似图像对与不同图像对的汉明距离在0.150 0~0.190 0重叠,为了获得最优的阈值来区分相似图像对与不同图像对,利用大津法[18]计算得到最优阈值为0.179 6. 同时引入碰撞率PC和检错率PE[19]分析本研究算法的区别性,表达式分别为
表 3 图像处理方式及参数设置
Tab.3
图像处理方式 | 软件工具 | 参数说明 | 参数设置 |
JPEG压缩 | 光影魔术手 | 质量因子 | 0.4、0.8 |
亮度调整 | Photoshop | 级别 | −20、20 |
对比度调整 | Photoshop | 级别 | −20、20 |
椒盐噪音 | Matlab | 级别 | 0.002、0.006 |
图像缩放 | Matlab | 比例 | 0.8、1.6 |
高斯滤波 | Matlab | 方差 | 0.2、0.6 |
图 8
式中:NC、ND分别为不同图像对被认为是相似图像对的数目和不同图像对的总数目;NE、NS分别为相似图像对被检测为不同图像对数目和相似图像对总数目.
计算结果如表4所示. 可以发现,随着碰撞率的增加,检错率随之减小. 当阈值为0.179 6时,碰撞率、检错率分别为2.20×10−5、8.33×10−5,区别性较好. 简单起见,可以取阈值为0.180 0.
表 4 不同阈值下的碰撞率和检错率
Tab.4
D | PC | PE |
0.150 0 | 0 | 1.66×10−4 |
0.160 0 | 2.00×10−6 | 1.66×10−4 |
0.170 0 | 6.00×10−6 | 8.33×10−5 |
0.180 0 | 2.20×10−5 | 0 |
2.3. 性能比较
图 9
式中:n1为不同图像对被误判为相似图像对的数目,n2为相似图像对被正确判断的数目,N1、N2分别为不同图像对和相似图像对的总数目.
在ROC曲线图中,ROC曲线越接近图像左上角,算法的分类性能越好. 当不同算法取相同的PFPR时,PTPR越大的算法的ROC曲线越靠近左上角. 同理,当取相同的PTPR时,PFPR越小的算法的ROC曲线越靠近左上角. 当PFPR=0时,本研究算法的PTPR=0.998 6,而Local Color算法、Ring算法、CS-LBP算法和TD算法的PTPR分别为0.960 3、0.974 2、0.998 7、0.982 8. 当PTPR接近1.0时,本研究算法的PFPR=1.4×10−4,Local Color算法、Ring算法、CS-LBP算法和TD算法的PFPR分别为0.564 1、0.475 0、0.126 4、0.009 3. 当PFPR=0时,只有CS-LBP算法的PTPR比所提算法的PTPR大0.000 1. 由图9可以看出,本研究算法的ROC曲线最靠近左上角,因此相较于对比算法,本研究算法具有更好的图像分类性能. 原因如下:本研究算法充分利用图像的梯度信息来获取图像的稳健特征,并结合图像在三维视角下的结构特征,使得算法在对亮度调整、JPEG压缩和对比度调整等处理操作具有较好的鲁棒性的同时,具有较好的区别性.
哈希生成效率和存储需求也是哈希性能的重要指标,通过Matlab平台,在同一电脑上计算1 000幅图像的哈希序列并记录总时间,总时间除以1 000从而得到计算一副图像哈希序列所需的平均时间,结果如表5所示. 图中,t为平均时间。可以看出,利用本研究算法计算哈希的平均时间为0.02 s,Ring算法所用时间最长为0.69 s. 如表5所示为本研究算法和对比算法的哈希长度,分别为156位、64个十进制数(一个十进制数至少需要4位二进制数表示,因此至少为256位)、440位、64个十进制数(最少256位)和96位. 可以看出,在具有相对较短的哈希长度下,本研究算法的运算时间最短. 综合考虑算法的区分性、运算时间和哈希长度,本研究具有较好的性能.
表 5 不同算法的平均时间和哈希长度
Tab.5
算法 | t/s | L |
本研究算法 | 0.02 | 156位 |
Local Color算法 | 0.09 | 64个十进制数 |
Ring算法 | 0.69 | 440位 |
CS-LBP算法 | 0.19 | 64个十进制数 |
TD算法 | 0.38 | 96位 |
2.4. 篡改检测应用
当图像发生局部篡改时,篡改图像与原始图像的汉明距离,应该位于相似图像与不同图像之间. 为了验证本研究算法的篡改检测能力,从VOC2012数据库[21]中获取15 000幅图像,并对每幅图像添加一个对象,该对象占原图像面积的20%. 如图10所示为一个篡改示例. 绘制相似图像对、篡改图像对和不同图像对的汉明距离分布图,实验结果如图11所示. 相似图像对曲线与篡改图像对曲线的交点横坐标D1=0.046 8,篡改图像对曲线与不同图像对曲线交点D2=0.262 3,选择D1、D2作为阈值,当待检测图像与原始图像的汉明距离小于D1时,认为待检测图像为相似图像;当距离为D1~D2时,认为是篡改图像;当距离大于D2时,认为是不同图像. 通过计算发现,本研究算法分别有95.55%、94.69%、99.72%的正确识别率识别相似图像对、篡改图像对和不同图像对. 如表6所示为10个原始图像、篡改图像对以及它们之间的汉明距离. 可以看出,汉明距离均在阈值D1、D2之间. 本研究算法可以用于篡改检测.
表 6 原始图像、篡改图像及汉明距离
Tab.6
原始图像 | 篡改图像 | D | 原始图像 | 篡改图像 | D | |
| | 0.089 7 | | | 0.102 6 | |
| | 0.217 9 | | | 0.166 7 | |
| | 0.141 0 | | | 0.211 5 | |
| | 0.076 9 | | | 0.115 4 | |
| | 0.166 7 | | | 0.089 7 |
图 10
图 11
图 11 相似图像对、篡改图像对与不同图像对的汉明距离分布
Fig.11 Hamming distance distribution of similar image pairs, tampered image pairs and different image pairs
3. 结 语
本研究提出结合结构特征与梯度特征的图像哈希算法. 算法利用三维视角下的峰顶峰谷曲线来描述图像的外在结构,利用峰顶峰谷的位置信息来构建图像的内部结构,结合2种结构作为图像的结构特征来提高算法的区别性;提取图像的梯度信息来得到图像的局部信息;连接结构特征和梯度特征并置乱得到最终的哈希序列. 实验结果表明,本研究算法对亮度调整、JPEG压缩和对比度调整等保持内容的图像处理具有较好的鲁棒性;ROC曲线结果显示,与其他算法相比,本研究算法具有较好的图像分类性能;本研究算法具有较短的哈希长度和较短的运算时间. 在篡改检测实验中,当取2个不同的阈值时,本研究算法分别有95.55%、94.69%、99.72%的识别率识别相似图像对、篡改图像对和不同图像对,具有较好的篡改检测能力. 本研究算法也存在一定不足,例如算法所提取的特征不包含颜色特征,因此无法检测出图像的局部颜色篡改. 下一步研究将结合颜色及结构特征构成稳健的图像哈希.
参考文献
基于小波分解的统计特征哈希
[J].DOI:10.3969/j.issn.0255-8297.2018.02.004 [本文引用: 1]
Statistical feature hashing based on wavelet decomposition
[J].DOI:10.3969/j.issn.0255-8297.2018.02.004 [本文引用: 1]
Robust image hashing with dominant DCT coefficients
[J].DOI:10.1016/j.ijleo.2014.05.015 [本文引用: 1]
Robust image hashing using non-uniform sampling in discrete Fourier domain
[J].
基于内容结构图的鲁棒图像哈希
[J].DOI:10.3969/j.issn.0255-8297.2016.06.005 [本文引用: 1]
Robust image hashing based on content structure diagram
[J].DOI:10.3969/j.issn.0255-8297.2016.06.005 [本文引用: 1]
Robust image hashing via random Gabor filtering and DWT
[J].
Robust perceptual color image hashing using randomized hypercomplex matrix factorizations
[J].
基于PCA特征距离的图像哈希算法
[J].
Image hashing algorithm based on pca feature distance
[J].
Robust image hashing via DCT and LLE
[J].DOI:10.1016/j.cose.2016.07.006 [本文引用: 1]
Robust image hashing with multidimensional scaling
[J].DOI:10.1016/j.sigpro.2017.02.008 [本文引用: 1]
Robust image hashing with tensor decomposition
[J].DOI:10.1109/TKDE.2018.2837745 [本文引用: 3]
Robust image hashing with ring partition and invariant vector distance
[J].DOI:10.1109/TIFS.2015.2485163 [本文引用: 4]
Robust hashing for image authentication using zernike moments and local features
[J].DOI:10.1109/TIFS.2012.2223680 [本文引用: 2]
Perceptual image hashing using center-symmetric local binary patterns
[J].DOI:10.1007/s11042-015-2496-6 [本文引用: 3]
Perceptual image hashing via dual-cross pattern encoding and salient structure detection
[J].DOI:10.1016/j.ins.2017.09.060 [本文引用: 1]
Robust image hash function using local color features
[J].DOI:10.1016/j.aeue.2013.02.009 [本文引用: 3]
A threshold selection method from gray-level histogram
[J].DOI:10.1109/TSMC.1979.4310076 [本文引用: 1]
用于图像认证和窜改检测的稳健图像摘要
[J].DOI:10.3969/j.issn.1001-3695.2011.05.095 [本文引用: 1]
Robust image hashing for image authentication and tampering detection
[J].DOI:10.3969/j.issn.1001-3695.2011.05.095 [本文引用: 1]
An introduction to ROC analysis
[J].DOI:10.1016/j.patrec.2005.10.010 [本文引用: 1]
/
〈 |
|
〉 |
