本發(fā)明涉及計算機算法領(lǐng)域,具體涉及一種圖片相似度計算方法,可應(yīng)用于相似圖片檢索、視頻關(guān)鍵幀相似度的計算。
背景技術(shù):
目前,圖片相似度計算廣泛應(yīng)用于相似圖片搜索、視頻相似度計算等領(lǐng)域,pHash方法作為圖片相似度計算的主要方法之一,主要有基于DCT的hash方法和基于徑向投影的hash方法。兩種方法是從不同角度來表達圖像,最后通過計算兩圖片hash值的漢明距離來計算相似度。
方法一基于DCT的hash方法的思路是使用離散余弦變換(DCT)提取圖片的低頻成分,先將圖片轉(zhuǎn)換成標準大小的灰度圖,然后對灰度圖做DCT變換,再從系數(shù)矩陣中提取出64位的hash值作為指紋,只要圖片的整體結(jié)構(gòu)保持不變,指紋就不變,能夠避免伽馬校正或顏色直方圖被調(diào)整帶來的影響,最后通過計算兩圖片指紋的漢明距離來得到相似度。
方法二基于徑向投影的hash方法的思路是首先會過灰度圖中心計算朝等角度間隔的180個方向上像素值的方差,然后計算由這180個方差構(gòu)成的特征向量的DCT,并從DCT系數(shù)矩陣中提取出64位的hash值作為指紋,最后通過計算兩指紋間的皮爾遜相關(guān)系數(shù)來得到兩圖片間的相似度。此方法可以保留圖像中的幾何特征,且對圖像旋轉(zhuǎn)有一定的魯棒性,但由于需要計算皮爾遜相關(guān)系數(shù),計算速度比方法一慢。
但是這兩種方法均是通過單一的pHash算法計算圖片相似度,經(jīng)常會出現(xiàn)內(nèi)容截然不同的圖片間計算得到的相似度非常高的情況,極有可能產(chǎn)生誤判,不能保證結(jié)果的準確性。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對上述現(xiàn)有技術(shù)的不足,提供了一種圖片相似度計算方法,該方法將基于DCT的hash方法和基于徑向投影的hash方法融合來計算圖片的相似度,解決了相似圖片搜索、視頻關(guān)鍵幀相似度計算領(lǐng)域中單一pHash方法算得不同內(nèi)容圖片的相似度非常高、圖片相似度結(jié)果不夠準確的問題。
本發(fā)明的目的可以通過如下技術(shù)方案實現(xiàn):
一種圖片相似度計算方法,所述方法包括以下步驟:
1)用基于DCT的hash方法分別計算待比較的兩張圖片的hash值h_a與h_b;
2)計算步驟1)中兩張圖片的hash值h_a與h_b之間的漢明距離dis_h;
3)若漢明距離dis_h不在設(shè)定范圍10<dis_h<25內(nèi),直接通過公式計算兩張圖片的相似度P,所述公式為:
4)若漢明距離dis_h在設(shè)定范圍10<dis_h<25內(nèi),再用基于徑向投影的hash方法分別計算兩張圖片的hash值h2_a與h2_b;
5)計算步驟4)得到的兩張圖片的hash值h2_a與h2_b之間的皮爾遜相關(guān)系數(shù)pcc,并結(jié)合步驟2)得到的漢明距離dis_h計算兩張圖片的相似度P。
優(yōu)選的,步驟1)中,所述基于DCT的hash方法使用離散余弦變換提取圖片的低頻成分,先將圖片轉(zhuǎn)換成標準大小的灰度圖,然后對灰度圖做DCT變換,再從系數(shù)矩陣中提取出64位的hash值作為指紋,所述基于DCT的hash方法包括以下具體步驟:
一、將圖片縮小到32*32并灰度化得到灰度圖,以減小計算量;
二、計算步驟一得到的灰度圖的DCT變換,得到32*32的系數(shù)矩陣,所述DCT變換公式為:
其中,F(xiàn)(u,v)是灰度圖的DCT系數(shù)矩陣,u、v分別是灰度圖在頻域中水平方向和豎直方向的頻率,f(i,j)為灰度圖中坐標(i,j)處的像素值,N是灰度圖的邊長,此處N=32;
三、取步驟二得到的32*32的系數(shù)矩陣左上角的8*8矩陣,計算該8*8矩陣的均值avg;
四、對步驟三得到的8*8矩陣的每一個元素,大于等于avg的置1,小于avg的置0;
五、按固定順序?qū)⒉襟E四得到的8*8矩陣拉伸成1*64的hash值。
優(yōu)選的,步驟2)中兩張圖片的hash值h_a與h_b之間的漢明距離dis_h取值范圍在0~64之間。
優(yōu)選的,步驟4)中,所述基于徑向投影的hash方法首先會過灰度圖中心計算朝等角度間隔的180個方向上像素值的方差,然后計算由這180個方差構(gòu)成的特征向量的DCT,并從DCT系數(shù)矩陣中提取出64位的hash值作為指紋,所述基于徑向投影的hash方法包括以下具體步驟:
(1)將圖片轉(zhuǎn)化為灰度圖;
(2)過步驟(1)得到的灰度圖中心等角度取180條直線,計算每條直線上像素點的方差,180個方差構(gòu)成一個特征向量;
(3)計算上述特征向量的DCT變換,得到DCT系數(shù)向量;
(4)取前64個DCT系數(shù)向量構(gòu)成新向量,計算新向量的均值avg2;
(5)對新向量中的每個元素,大于等于avg2的置1,小于avg2的置0,得到的新向量即hash值。
優(yōu)選的,步驟5)中,所述計算兩張圖片的hash值h2_a與h2_b的皮爾遜相關(guān)系數(shù)pcc的具體公式如下:
其中,X、Y分別代指兩張圖片的hash值h2_a與h2_b,ρX,Y是h2_a與h2_b的皮爾遜相關(guān)系數(shù);
通過以下公式結(jié)合漢明距離dis_h和皮爾遜相關(guān)系數(shù)pcc,得到圖片相似度P:
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點和有益效果:
1、本發(fā)明采用了將“基于DCT的hash方法”和“基于徑向投影的hash方法”融合后進行圖片相似度計算的方案,該方案通過使用兩種不同方法計算圖片的hash值并計算不同方案下的圖片相似度dis_h、pcc,然后綜合dis_h、pcc計算出圖像的相似度,結(jié)合了兩種方法的優(yōu)點,從而在不降低計算速度的同時,極大的提高了圖片相似度結(jié)果的準確率。
2、本發(fā)明從多角度提取圖像特征并計算圖像相似度,魯棒性強,可用于各類圖像。
附圖說明
圖1為本發(fā)明實施例的一種圖片相似度計算方法的具體流程圖。
圖2為本發(fā)明實施例的一種圖片相似度計算方法中步驟1)的方法流程圖。
圖3為本發(fā)明實施例的一種圖片相似度計算方法中步驟4)的方法流程圖。
具體實施方式
下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。
實施例:
本實施例提供了一種圖片相似度計算方法,如圖1所示,為該方法的具體流程圖,該方法包括以下步驟:
1)用基于DCT的hash方法分別計算待比較的兩張圖片的hash值h_a與h_b;
本步驟中,所述基于DCT的hash方法使用離散余弦變換提取圖片的低頻成分,先將圖片轉(zhuǎn)換成標準大小的灰度圖,然后對灰度圖做DCT變換,再從系數(shù)矩陣中提取出64位的hash值作為指紋,所述基于DCT的hash方法流程圖如圖2所示,包括以下具體步驟:
一、將圖片縮小到32*32并灰度化得到灰度圖,以減小計算量;
二、計算步驟一得到的灰度圖的DCT變換,得到32*32的系數(shù)矩陣,所述DCT變換公式為:
其中,F(xiàn)(u,v)是灰度圖的DCT系數(shù)矩陣,u、v分別是灰度圖在頻域中水平方向和豎直方向的頻率,f(i,j)為灰度圖中坐標(i,j)處的像素值,N是灰度圖的邊長,此處N=32;
三、取步驟二得到的32*32的系數(shù)矩陣左上角的8*8矩陣,計算該8*8矩陣的均值avg;
四、對步驟三得到的8*8矩陣的每一個元素,大于等于avg的置1,小于avg的置0;
五、按固定順序?qū)⒉襟E四得到的8*8矩陣拉伸成1*64的hash值。
2)計算步驟1)中兩張圖片的hash值h_a與h_b之間的漢明距離dis_h;
本步驟中兩張圖片的hash值h_a與h_b之間的漢明距離dis_h取值范圍在0~64之間。
3)若漢明距離dis_h不在設(shè)定范圍10<dis_h<25內(nèi),直接通過公式計算兩張圖片的相似度P,所述公式為:
4)若漢明距離dis_h在設(shè)定范圍10<dis_h<25內(nèi),再用基于徑向投影的hash方法分別計算兩張圖片的hash值h2_a與h2_b;
本步驟中,所述基于徑向投影的hash方法首先會過灰度圖中心計算朝等角度間隔的180個方向上像素值的方差,然后計算由這180個方差構(gòu)成的特征向量的DCT,并從DCT系數(shù)矩陣中提取出64位的hash值作為指紋,所述基于徑向投影的hash方法流程圖如圖3所示,包括以下具體步驟:
(1)將圖片轉(zhuǎn)化為灰度圖;
(2)過步驟(1)得到的灰度圖中心等角度取180條直線,計算每條直線上像素點的方差,180個方差構(gòu)成一個特征向量;
(3)計算上述特征向量的DCT變換,得到DCT系數(shù)向量;
(4)取前64個DCT系數(shù)向量構(gòu)成新向量,計算新向量的均值avg2;
(5)對新向量中的每個元素,大于等于avg2的置1,小于avg2的置0,得到的新向量即hash值。
5)計算步驟4)得到的兩張圖片的hash值h2_a與h2_b之間的皮爾遜相關(guān)系數(shù)pcc,并結(jié)合步驟2)得到的漢明距離dis_h計算兩張圖片的相似度P;
本步驟中,所述計算兩張圖片的hash值h2_a與h2_b的皮爾遜相關(guān)系數(shù)pcc的具體公式如下:
其中,X、Y分別代指兩張圖片的hash值h2_a與h2_b,ρX,Y是h2_a與h2_b的皮爾遜相關(guān)系數(shù);
通過以下公式結(jié)合漢明距離dis_h和皮爾遜相關(guān)系數(shù)pcc,得到圖片相似度P:
以上所述,僅為本發(fā)明專利較佳的實施例,但本發(fā)明專利的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明專利所公開的范圍內(nèi),根據(jù)本發(fā)明專利的技術(shù)方案及其發(fā)明專利構(gòu)思加以等同替換或改變,都屬于本發(fā)明專利的保護范圍。