一种图片相似度计算方法转让专利

申请号 : CN201710003657.7

文献号 : CN106650829B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡丹李楚怡余卫宇

申请人 : 华南理工大学

摘要 :

本发明公开了一种图片相似度计算方法,包括:(1)用基于DCT的hash方法分别计算待比较的两个图片的hash值;(2)计算两个hash值之间的汉明距离dis_h;(3)若汉明距离不在设定范围内,直接通过公式计算两图片的相似度;(4)若汉明距离在设定范围内,再用基于径向投影的hash方法计算hash值;(5)计算上一步得到的hash值的皮尔逊相关系数,并结合第二步得到的汉明距离计算两图片的相似度。本发明对图像旋转有一定的鲁棒性、避免伽马校正或颜色直方图被调整带来的影响,提高了图片相似度结果的准确率。

权利要求 :

1.一种图片相似度计算方法,其特征在于:所述方法包括以下步骤:

1)用基于DCT的hash方法分别计算待比较的两张图片的hash值h_a与h_b;

2)计算步骤1)中两张图片的hash值h_a与h_b之间的汉明距离dis_h;

3)若汉明距离dis_h不在设定范围10

4)若汉明距离dis_h在设定范围10

所述基于径向投影的hash方法首先会过灰度图中心计算朝等角度间隔的180个方向上像素值的方差,然后计算由这180个方差构成的特征向量的DCT,并从DCT系数矩阵中提取出

64位的hash值作为指纹,包括以下具体步骤:

(1)将图片转化为灰度图;

(2)过步骤(1)得到的灰度图中心等角度取180条直线,计算每条直线上像素点的方差,

180个方差构成一个特征向量;

(3)计算上述特征向量的DCT变换,得到DCT系数向量;

(4)取前64个DCT系数向量构成新向量,计算新向量的均值avg2;

(5)对新向量中的每个元素,大于等于avg2的置1,小于avg2的置0,得到的新向量即hash值;

5)计算步骤4)得到的两张图片的hash值h2_a与h2_b之间的皮尔逊相关系数pcc,并结合步骤2)得到的汉明距离dis_h计算两张图片的相似度P;

所述计算两张图片的hash值h2_a与h2_b的皮尔逊相关系数pcc的具体公式如下:其中,X、Y分别代指两张图片的hash值h2_a与h2_b,ρX,Y是h2_a与h2_b的皮尔逊相关系数;

通过以下公式结合汉明距离dis_h和皮尔逊相关系数pcc,得到图片相似度P:

2.根据权利要求1所述的一种图片相似度计算方法,其特征在于:步骤1)中,所述基于DCT的hash方法使用离散余弦变换提取图片的低频成分,先将图片转换成标准大小的灰度图,然后对灰度图做DCT变换,再从系数矩阵中提取出64位的hash值作为指纹,所述基于DCT的hash方法包括以下具体步骤:一、将图片缩小到32*32并灰度化得到灰度图,以减小计算量;

二、计算步骤一得到的灰度图的DCT变换,得到32*32的系数矩阵,所述DCT变换公式为:其中,F(u,v)是灰度图的DCT系数矩阵,u、v分别是灰度图在频域中水平方向和竖直方向的频率,f(i,j)为灰度图中坐标(i,j)处的像素值,N是灰度图的边长,此处N=32;

三、取步骤二得到的32*32的系数矩阵左上角的8*8矩阵,计算该8*8矩阵的均值avg;

四、对步骤三得到的8*8矩阵的每一个元素,大于等于avg的置1,小于avg的置0;

五、按固定顺序将步骤四得到的8*8矩阵拉伸成1*64的hash值。

3.根据权利要求1所述的一种图片相似度计算方法,其特征在于:步骤2)中两张图片的hash值h_a与h_b之间的汉明距离dis_h取值范围在0~64之间。

说明书 :

一种图片相似度计算方法

技术领域

[0001] 本发明涉及计算机算法领域,具体涉及一种图片相似度计算方法,可应用于相似图片检索、视频关键帧相似度的计算。

背景技术

[0002] 目前,图片相似度计算广泛应用于相似图片搜索、视频相似度计算等领域,pHash方法作为图片相似度计算的主要方法之一,主要有基于DCT的hash方法和基于径向投影的hash方法。两种方法是从不同角度来表达图像,最后通过计算两图片hash值的汉明距离来计算相似度。
[0003] 方法一基于DCT的hash方法的思路是使用离散余弦变换(DCT)提取图片的低频成分,先将图片转换成标准大小的灰度图,然后对灰度图做DCT变换,再从系数矩阵中提取出64位的hash值作为指纹,只要图片的整体结构保持不变,指纹就不变,能够避免伽马校正或颜色直方图被调整带来的影响,最后通过计算两图片指纹的汉明距离来得到相似度。
[0004] 方法二基于径向投影的hash方法的思路是首先会过灰度图中心计算朝等角度间隔的180个方向上像素值的方差,然后计算由这180个方差构成的特征向量的DCT,并从DCT系数矩阵中提取出64位的hash值作为指纹,最后通过计算两指纹间的皮尔逊相关系数来得到两图片间的相似度。此方法可以保留图像中的几何特征,且对图像旋转有一定的鲁棒性,但由于需要计算皮尔逊相关系数,计算速度比方法一慢。
[0005] 但是这两种方法均是通过单一的pHash算法计算图片相似度,经常会出现内容截然不同的图片间计算得到的相似度非常高的情况,极有可能产生误判,不能保证结果的准确性。

发明内容

[0006] 本发明的目的是针对上述现有技术的不足,提供了一种图片相似度计算方法,该方法将基于DCT的hash方法和基于径向投影的hash方法融合来计算图片的相似度,解决了相似图片搜索、视频关键帧相似度计算领域中单一pHash方法算得不同内容图片的相似度非常高、图片相似度结果不够准确的问题。
[0007] 本发明的目的可以通过如下技术方案实现:
[0008] 一种图片相似度计算方法,所述方法包括以下步骤:
[0009] 1)用基于DCT的hash方法分别计算待比较的两张图片的hash值h_a与h_b;
[0010] 2)计算步骤1)中两张图片的hash值h_a与h_b之间的汉明距离dis_h;
[0011] 3)若汉明距离dis_h不在设定范围10
[0012]
[0013] 4)若汉明距离dis_h在设定范围10
[0014] 5)计算步骤4)得到的两张图片的hash值h2_a与h2_b之间的皮尔逊相关系数pcc,并结合步骤2)得到的汉明距离dis_h计算两张图片的相似度P。
[0015] 优选的,步骤1)中,所述基于DCT的hash方法使用离散余弦变换提取图片的低频成分,先将图片转换成标准大小的灰度图,然后对灰度图做DCT变换,再从系数矩阵中提取出64位的hash值作为指纹,所述基于DCT的hash方法包括以下具体步骤:
[0016] 一、将图片缩小到32*32并灰度化得到灰度图,以减小计算量;
[0017] 二、计算步骤一得到的灰度图的DCT变换,得到32*32的系数矩阵,所述DCT变换公式为:
[0018]
[0019]
[0020] 其中,F(u,v)是灰度图的DCT系数矩阵,u、v分别是灰度图在频域中水平方向和竖直方向的频率,f(i,j)为灰度图中坐标(i,j)处的像素值,N是灰度图的边长,此处N=32;
[0021] 三、取步骤二得到的32*32的系数矩阵左上角的8*8矩阵,计算该8*8矩阵的均值avg;
[0022] 四、对步骤三得到的8*8矩阵的每一个元素,大于等于avg的置1,小于avg的置0;
[0023] 五、按固定顺序将步骤四得到的8*8矩阵拉伸成1*64的hash值。
[0024] 优选的,步骤2)中两张图片的hash值h_a与h_b之间的汉明距离dis_h取值范围在0~64之间。
[0025] 优选的,步骤4)中,所述基于径向投影的hash方法首先会过灰度图中心计算朝等角度间隔的180个方向上像素值的方差,然后计算由这180个方差构成的特征向量的DCT,并从DCT系数矩阵中提取出64位的hash值作为指纹,所述基于径向投影的hash方法包括以下具体步骤:
[0026] (1)将图片转化为灰度图;
[0027] (2)过步骤(1)得到的灰度图中心等角度取180条直线,计算每条直线上像素点的方差,180个方差构成一个特征向量;
[0028] (3)计算上述特征向量的DCT变换,得到DCT系数向量;
[0029] (4)取前64个DCT系数向量构成新向量,计算新向量的均值avg2;
[0030] (5)对新向量中的每个元素,大于等于avg2的置1,小于avg2的置0,得到的新向量即hash值。
[0031] 优选的,步骤5)中,所述计算两张图片的hash值h2_a与h2_b的皮尔逊相关系数pcc的具体公式如下:
[0032]
[0033] 其中,X、Y分别代指两张图片的hash值h2_a与h2_b,ρX,Y是h2_a与h2_b的皮尔逊相关系数;
[0034] 通过以下公式结合汉明距离dis_h和皮尔逊相关系数pcc,得到图片相似度P:
[0035]
[0036] 本发明与现有技术相比,具有如下优点和有益效果:
[0037] 1、本发明采用了将“基于DCT的hash方法”和“基于径向投影的hash方法”融合后进行图片相似度计算的方案,该方案通过使用两种不同方法计算图片的hash值并计算不同方案下的图片相似度dis_h、pcc,然后综合dis_h、pcc计算出图像的相似度,结合了两种方法的优点,从而在不降低计算速度的同时,极大的提高了图片相似度结果的准确率。
[0038] 2、本发明从多角度提取图像特征并计算图像相似度,鲁棒性强,可用于各类图像。

附图说明

[0039] 图1为本发明实施例的一种图片相似度计算方法的具体流程图。
[0040] 图2为本发明实施例的一种图片相似度计算方法中步骤1)的方法流程图。
[0041] 图3为本发明实施例的一种图片相似度计算方法中步骤4)的方法流程图。

具体实施方式

[0042] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0043] 实施例:
[0044] 本实施例提供了一种图片相似度计算方法,如图1所示,为该方法的具体流程图,该方法包括以下步骤:
[0045] 1)用基于DCT的hash方法分别计算待比较的两张图片的hash值h_a与h_b;
[0046] 本步骤中,所述基于DCT的hash方法使用离散余弦变换提取图片的低频成分,先将图片转换成标准大小的灰度图,然后对灰度图做DCT变换,再从系数矩阵中提取出64位的hash值作为指纹,所述基于DCT的hash方法流程图如图2所示,包括以下具体步骤:
[0047] 一、将图片缩小到32*32并灰度化得到灰度图,以减小计算量;
[0048] 二、计算步骤一得到的灰度图的DCT变换,得到32*32的系数矩阵,所述DCT变换公式为:
[0049]
[0050]
[0051] 其中,F(u,v)是灰度图的DCT系数矩阵,u、v分别是灰度图在频域中水平方向和竖直方向的频率,f(i,j)为灰度图中坐标(i,j)处的像素值,N是灰度图的边长,此处N=32;
[0052] 三、取步骤二得到的32*32的系数矩阵左上角的8*8矩阵,计算该8*8矩阵的均值avg;
[0053] 四、对步骤三得到的8*8矩阵的每一个元素,大于等于avg的置1,小于avg的置0;
[0054] 五、按固定顺序将步骤四得到的8*8矩阵拉伸成1*64的hash值。
[0055] 2)计算步骤1)中两张图片的hash值h_a与h_b之间的汉明距离dis_h;
[0056] 本步骤中两张图片的hash值h_a与h_b之间的汉明距离dis_h取值范围在0~64之间。
[0057] 3)若汉明距离dis_h不在设定范围10
[0058]
[0059] 4)若汉明距离dis_h在设定范围10
[0060] 本步骤中,所述基于径向投影的hash方法首先会过灰度图中心计算朝等角度间隔的180个方向上像素值的方差,然后计算由这180个方差构成的特征向量的DCT,并从DCT系数矩阵中提取出64位的hash值作为指纹,所述基于径向投影的hash方法流程图如图3所示,包括以下具体步骤:
[0061] (1)将图片转化为灰度图;
[0062] (2)过步骤(1)得到的灰度图中心等角度取180条直线,计算每条直线上像素点的方差,180个方差构成一个特征向量;
[0063] (3)计算上述特征向量的DCT变换,得到DCT系数向量;
[0064] (4)取前64个DCT系数向量构成新向量,计算新向量的均值avg2;
[0065] (5)对新向量中的每个元素,大于等于avg2的置1,小于avg2的置0,得到的新向量即hash值。
[0066] 5)计算步骤4)得到的两张图片的hash值h2_a与h2_b之间的皮尔逊相关系数pcc,并结合步骤2)得到的汉明距离dis_h计算两张图片的相似度P;
[0067] 本步骤中,所述计算两张图片的hash值h2_a与h2_b的皮尔逊相关系数pcc的具体公式如下:
[0068]
[0069] 其中,X、Y分别代指两张图片的hash值h2_a与h2_b,ρX,Y是h2_a与h2_b的皮尔逊相关系数;
[0070] 通过以下公式结合汉明距离dis_h和皮尔逊相关系数pcc,得到图片相似度P:
[0071]
[0072] 以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。