一種相似圖片檢測方法及裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種相似圖片檢測方法及裝置,一種相似圖片檢測方法包括:將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊;對待比較的兩幅圖片,按照預(yù)設(shè)的pHhash算法分別計算得到每幅圖片的hash串和每幅圖片的各個關(guān)鍵區(qū)塊的hash串;將待比較的兩幅圖片的hash串,和待比較的兩幅圖片的各個關(guān)鍵區(qū)塊的hash串分別進行比較,獲得相似hash串;當(dāng)獲得的相似hash串的個數(shù)為兩個或兩個以上時,則待比較的兩幅圖片為相似圖片,否則待比較的兩幅圖片不相似。與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)方案提高了在不考慮圖片的旋轉(zhuǎn)特性時的圖片相似性檢測的準(zhǔn)確度。
【專利說明】一種相似圖片檢測方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖片檢索【技術(shù)領(lǐng)域】,特別是涉及一種相似圖片檢測方法及裝置。
【背景技術(shù)】
[0002]在視頻的審核和處理過程中,以及圖片搜索過程中,往往需要對圖片的重復(fù)性或相似性進行檢測。因此,如何構(gòu)建一個高速、準(zhǔn)確的相似圖片檢測方法是一個亟待解決的問題。
[0003]目前,現(xiàn)有技術(shù)的相似圖片檢測方法是利用pHash算法分別獲得兩幅圖片的hash串,然后通過比較兩幅圖片的hash串的相似性來確定這兩幅圖片是否為相似圖片。
[0004]由于現(xiàn)有技術(shù)得到的是整幅圖片的hash串,所以現(xiàn)有的相似圖片檢測方法具有良好的抗旋轉(zhuǎn)特性,但對于某些應(yīng)用場景來說,圖片的旋轉(zhuǎn)特性是不被考慮的。在不考慮圖片的旋轉(zhuǎn)特性時,由于現(xiàn)有技術(shù)在進行圖片相似性檢測時僅獲得了待比較的兩幅圖片的hash串,所以檢測的維度較低,相應(yīng)的圖片相似性檢測的準(zhǔn)確度不高。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例的目的在于提供一種相似圖片檢測方法及裝置,以提高在不考慮圖片的旋轉(zhuǎn)特性時的圖片相似性檢測的準(zhǔn)確度。具體技術(shù)方案如下:
[0006]一種相似圖片檢測方法,包括:
[0007]將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊;
[0008]對待比較的兩幅圖片,按照預(yù)設(shè)的pHhash算法分別計算得到每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串;
[0009]將待比較的兩幅圖片的hash串,和待比較的兩幅圖片的各個關(guān)鍵區(qū)塊的hash串分別進行比較,獲得相似hash串;
[0010]當(dāng)獲得的相似hash串的個數(shù)為兩個或兩個以上時,則待比較的兩幅圖片為相似圖片,否則待比較的兩幅圖片不相似。
[0011]在本發(fā)明的一種【具體實施方式】中,所述對待比較的兩幅圖片,按照預(yù)設(shè)的pHhash算法計算得到每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串的步驟包括:
[0012]將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理;
[0013]將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片;
[0014]在得到的所述灰度圖片上進行IDCT變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的IDCT系數(shù)值;
[0015]去掉所述IDCT系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的IDCT系數(shù)值的左上角的8*8區(qū)域;
[0016]按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0017]在本發(fā)明的一種【具體實施方式】中,所述對待比較的兩幅圖片,按照預(yù)設(shè)的pHhash算法計算得到每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串的步驟包括:
[0018]將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理;
[0019]將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片;
[0020]在得到的所述灰度圖片上進行DCT變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的DCT系數(shù)值;
[0021]去掉所述DCT系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的DCT系數(shù)值的左上角的8*8區(qū)域;
[0022]按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0023]在本發(fā)明的一種【具體實施方式】中,所述按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串的步驟包括:
[0024]計算得到所述左上角的8*8區(qū)域的均值;
[0025]將所述左上角的8*8區(qū)域的每一個位置的值與所述均值比較,大于均值的位置取I,小于等于均值的位置取O;
[0026]將取得的所有位置的值按照預(yù)定的第一順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0027]在本發(fā)明的一種【具體實施方式】中,所述按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串的步驟包括:
[0028]將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系順次比較大小,大于相鄰位置的值取I,小于等于相鄰位置的值取O ;
[0029]將取得的所有位置的值按照預(yù)定的第二順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0030]在本發(fā)明的一種【具體實施方式】中,所述按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串的步驟包括:
[0031]將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系劃分為32個數(shù)值對;
[0032]將每個數(shù)值對中的數(shù)值按照預(yù)定的順序比較大小,每個數(shù)值對中的第一數(shù)值大于第二數(shù)值時,該數(shù)值對的第一數(shù)值所在的位置取1,第二數(shù)值所在的位置取0,否則該數(shù)值對的第一數(shù)值所在的位置取0,第二數(shù)值所在的位置取I ;
[0033]將取得的所有位置的值按照預(yù)定的第三順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0034]在本發(fā)明的一種【具體實施方式】中,所述將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊具體為將每幅圖片劃分成左圖、右圖和中心圖三部分,其中,所述左圖、右圖和中心圖各占圖片的三分之一。
[0035]在本發(fā)明的一種【具體實施方式】中,所述相似hash串為hash串之間的漢明距離小于預(yù)定值的hash串。
[0036]本發(fā)明實施例還提供一種相似圖片檢測裝置,包括:
[0037]關(guān)鍵區(qū)塊劃分單元:用于將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊;
[0038]hash串計算單元:用于對待比較的兩幅圖片,按照預(yù)設(shè)的pHhash算法分別計算得到每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串;
[0039]相似hash串獲得單元:用于將待比較的兩幅圖片的hash串,和待比較的兩幅圖片的各個關(guān)鍵區(qū)塊的hash串分別進行比較,獲得相似hash串;
[0040]相似圖片識別單元:用于當(dāng)獲得的相似hash串的個數(shù)為兩個或兩個以上時,則待比較的兩幅圖片為相似圖片,否則待比較的兩幅圖片不相似。
[0041]在本發(fā)明的一種【具體實施方式】中,所述hash串計算單元具體包括:
[0042]平滑處理單元:用于將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理;
[0043]灰度圖片獲得單元:用于將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片;
[0044]IDCT變換單元:用于在得到的所述灰度圖片上進行IDCT變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的IDCT系數(shù)值;
[0045]第一預(yù)設(shè)區(qū)域獲取單元:用于去掉所述IDCT系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的IDCT系數(shù)值的左上角的8*8區(qū)域;
[0046]hash串獲得單元:用于按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0047]在本發(fā)明的一種【具體實施方式】中,所述hash串計算單元具體包括:
[0048]平滑處理單元:用于將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理;
[0049]灰度圖片獲得單元:用于將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片;
[0050]DCT變換單元:用于在得到的所述灰度圖片上進行DCT變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的DCT系數(shù)值;
[0051]第二預(yù)設(shè)區(qū)域獲取單元:用于去掉所述DCT系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的DCT系數(shù)值的左上角的8*8區(qū)域;
[0052]hash串獲得單元:用于按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0053]在本發(fā)明的一種【具體實施方式】中,所述hash串獲得單元包括:
[0054]均值計算單元:用于計算得到所述左上角的8*8區(qū)域的均值;
[0055]第一取值單元:用于將所述左上角的8*8區(qū)域的每一個位置的值與所述均值比較,大于均值的位置取I,小于等于均值的位置取O ;
[0056]第一 hash串獲得子單元:用于將取得的所有位置的值按照預(yù)定的第一順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0057]在本發(fā)明的一種【具體實施方式】中,所述hash串獲得單元包括:
[0058]第二取值單元:用于將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系順次比較大小,大于相鄰位置的值取1,小于等于相鄰位置的值取O ;
[0059]第二 hash串獲得子單元:用于將取得的所有位置的值按照預(yù)定的第二順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0060]在本發(fā)明的一種【具體實施方式】中,所述hash串獲得單元包括:
[0061]數(shù)值對劃分單元:用于將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系劃分為32個數(shù)值對;
[0062]第三取值單元:用于將每個數(shù)值對中的數(shù)值按照預(yù)定的順序比較大小,每個數(shù)值對中的第一數(shù)值大于第二數(shù)值時,該數(shù)值對的第一數(shù)值所在的位置取1,第二數(shù)值所在的位置取0,否則該數(shù)值對的第一數(shù)值所在的位置取0,第二數(shù)值所在的位置取I ;
[0063]第三hash串獲得子單元:用于將取得的所有位置的值按照預(yù)定的第三順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0064]在本發(fā)明的一種【具體實施方式】中,所述關(guān)鍵區(qū)塊劃分單元將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊具體為將每幅圖片劃分成左圖、右圖和中心圖三部分,其中,所述左圖、右圖和中心圖各占圖片的三分之一。
[0065]在本發(fā)明的一種【具體實施方式】中,所述相似hash串獲得單元獲得的相似hash串具體為hash串之間的漢明距離小于預(yù)定值的hash串。
[0066]本發(fā)明實施例所提供的技術(shù)方案,將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分為多個關(guān)鍵區(qū)塊,利用PHash算法分別得到了每幅圖片和每幅圖片的各個關(guān)鍵區(qū)塊的hash串,通過比較兩幅圖片及其關(guān)鍵區(qū)塊的hash串的相似性來確定這兩幅圖片是否為相似圖片。與現(xiàn)有技術(shù)相比,由于本發(fā)明的技術(shù)方案將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則劃分為多個關(guān)鍵區(qū)塊,并利用PHash算法分別計算得到了每幅圖片和每幅圖片的各個關(guān)鍵區(qū)塊的hash串,提高了圖片相似性檢測的維度,所以本發(fā)明的技術(shù)方案提高了在不考慮圖片的旋轉(zhuǎn)特性時的圖片相似性檢測的準(zhǔn)確度。
【專利附圖】
【附圖說明】
[0067]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0068]圖1為本發(fā)明實施例相似圖片檢測方法的一種實施流程圖;
[0069]圖2為均值比較方法的一種示意圖;
[0070]圖3為相鄰位置數(shù)值比較方法的一種示意圖;
[0071]圖4為本發(fā)明實施例相似圖片檢測裝置的一種結(jié)構(gòu)示意圖;
[0072]圖5為圖片關(guān)鍵區(qū)塊分布的一種示意圖。
【具體實施方式】
[0073]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0074]圖1所示,為本發(fā)明實施例一種相似圖片檢測方法的實施流程圖,其包括以下步驟:
[0075]步驟S101,將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊;
[0076]在對兩幅圖片的相似性進行檢測時,首先將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊。其中,這里待比較的兩幅圖片的劃分規(guī)則必須是一樣的,但劃分規(guī)則是各式各樣的。具體地,劃分的關(guān)鍵區(qū)塊個數(shù)可以是多種多樣的,例如,可以將圖片劃分為兩個關(guān)鍵區(qū)塊、三個關(guān)鍵區(qū)塊等等;另外,各個關(guān)鍵區(qū)塊的位置關(guān)系可以是任意的,例如關(guān)鍵區(qū)塊的位置關(guān)系可以是上下關(guān)系,也可以是左右關(guān)系或者任意角度關(guān)系。進一步地,在本發(fā)明的一種優(yōu)選實施方式中,可以將每幅圖片劃分成左圖、右圖和中心圖三部分,其中,左圖、右圖和中心圖各占圖片的三分之一。
[0077]步驟S102,對待比較的兩幅圖片,按照預(yù)設(shè)的pHhash算法分別計算得到每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串;
[0078]在將待比較的兩幅圖片劃分為多個關(guān)鍵區(qū)塊后,對待比較的兩幅圖片,按照預(yù)設(shè)的pHhash算法分別計算得到每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。具體地,在本發(fā)明的一種【具體實施方式】中,步驟S102具體包括:
[0079](I)將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理;
[0080](2)將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片;
[0081]步驟(I)和(2)中用到的圖片平滑處理技術(shù)和灰度處理技術(shù)為現(xiàn)有技術(shù),這里不再贅述。
[0082](3)在得到的所述灰度圖片上進行IDCT變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的IDCT系數(shù)值;
[0083]在得到每幅圖片和每幅圖片的各個關(guān)鍵區(qū)塊的灰度圖片后,對每個灰度圖片進行IDCT變換,分別得到每幅圖片和每幅圖片的各個關(guān)鍵區(qū)塊的32*32的IDCT系數(shù)值。
[0084](4)去掉所述IDCT系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的IDCT系數(shù)值的左上角的8*8區(qū)域;
[0085]在得到上述IDCT系數(shù)值之后,由于IDCT系數(shù)值的邊緣一周呈現(xiàn)的是每幅圖片或每幅圖片的各個關(guān)鍵區(qū)塊的細節(jié)信息,而在圖片相似性檢測的過程中并不關(guān)心這些細節(jié)信息,所以我們將IDCT系數(shù)值的一周去掉,使本發(fā)明的圖片相似性檢測方法更加實用化。然后,由于去掉邊緣一周后的IDCT系數(shù)值的左上角區(qū)域聚集了每幅圖片或每幅圖片的各個關(guān)鍵區(qū)塊的絕大部分信息,所以我們就能用去掉邊緣一周后的IDCT系數(shù)值的左上角的8*8區(qū)域來表征每幅圖片或每幅圖片的各個關(guān)鍵區(qū)塊的信息。
[0086]需要說明的是:傳統(tǒng)的pHash算法對步驟(2)中得到的灰度圖片進行的是DCT變換,所以相應(yīng)的步驟(3)和⑷也可以是:在得到的所述灰度圖片上進行DCT變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的DCT系數(shù)值;去掉所述DCT系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的DCT系數(shù)值的左上角的8*8區(qū)域。但由于DCT變換是浮點運算,而IDCT變換是整形運算,所以相較于DCT變換來說IDCT變換運算速度更快,所以在本發(fā)明具體實施中可以優(yōu)選IDCT變換,以提升相似圖片檢測的速度。
[0087](5)按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0088]在得到上述每幅圖片和每幅圖片的各個關(guān)鍵區(qū)塊的左上角的8*8區(qū)域后,按照預(yù)設(shè)的算法,由上述左上角的8*8區(qū)域計算得到每幅圖片的hash串和每幅圖片的各個關(guān)鍵區(qū)塊的hash串。進一步地,這里所說的預(yù)設(shè)的算法可以不止一種,即由上述左上角的8*8區(qū)域計算得到每幅圖片的hash串和每幅圖片的各個關(guān)鍵區(qū)塊的hash串的方法可以不止一種。例如:
[0089]在本發(fā)明的一種【具體實施方式】中,上述步驟(5)可以包括以下步驟:
[0090]計算得到所述左上角的8*8區(qū)域的均值;
[0091]將所述左上角的8*8區(qū)域的每一個位置的值與所述均值比較,大于均值的位置取I,小于等于均值的位置取O;
[0092]將取得的所有位置的值按照預(yù)定的第一順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0093]圖2所示,為以3*3區(qū)域為例,說明采用均值方法得到每個位置的取值的過程。如圖2的左圖所示,3*3區(qū)域的9個數(shù)值的均值為5。對于圖2的左圖中大于5的位置取1,對于小于或等于5的位置取O就得到了圖2的右圖。
[0094]在本發(fā)明的另一種【具體實施方式】中,上述步驟(5)可以包括以下步驟:
[0095]將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系順次比較大小,大于相鄰位置的值取I,小于等于相鄰位置的值取O ;
[0096]將取得的所有位置的值按照預(yù)定的第二順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0097]需要說明的是:上述所說的按照位置相鄰的關(guān)系順次比較大小具體為將相鄰位置的數(shù)值按照一定的順序比較大小,這里的順序可以不唯一,但應(yīng)該滿足所有位置的值均能實現(xiàn)與相鄰位置值的按次序比較大小,進一步地,大于相鄰位置的值取1,小于等于相鄰位置的值取O。
[0098]在本發(fā)明的另一種【具體實施方式】中,上述步驟(5)可以包括以下步驟:
[0099]將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系劃分為32個數(shù)值對;
[0100]將每個數(shù)值對中的數(shù)值按照預(yù)定的順序比較大小,每個數(shù)值對中的第一數(shù)值大于第二數(shù)值時,該數(shù)值對的第一數(shù)值所在的位置取1,第二數(shù)值所在的位置取0,否則該數(shù)值對的第一數(shù)值所在的位置取0,第二數(shù)值所在的位置取I ;
[0101]將取得的所有位置的值按照預(yù)定的第三順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。這里需要說明的是:上述將左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系劃分為32個數(shù)值對的過程中,位置相鄰可以是左右相鄰,上下相鄰,也可以是對角相鄰,但應(yīng)能滿足劃分的32個數(shù)值對中的每個數(shù)值對中的數(shù)值均屬于位置相鄰的關(guān)系。
[0102]另外,上述所指的第一順序、第二順序和第三順序可以相同,也可以不同。
[0103]圖3所示,為以2*2和3*3區(qū)域為例,說明位置相鄰關(guān)系數(shù)值的三種可行的具體比較方法??梢钥闯?,位置相鄰關(guān)系數(shù)值的具體比較方法可以是如圖3左圖和右圖所示的順次比較,也可以如圖3中圖所示的對角相鄰比較。
[0104]步驟S103,將待比較的兩幅圖片的hash串,和待比較的兩幅圖片的各個關(guān)鍵區(qū)塊的hash串分別進行比較,獲得相似hash串;
[0105]在得到每幅圖片的hash串和每幅圖片的各個關(guān)鍵區(qū)塊的hash串后,將待比較的兩幅圖片的hash串,和待比較的兩幅圖片的各個關(guān)鍵區(qū)塊的hash串分別進行比較,獲得相似hash串。在本發(fā)明的一種【具體實施方式】中,獲得的相似hash串可以是hash串之間的漢明距離小于預(yù)定值的hash串。一般來說,漢明距離小于20的即能表明圖片為圖片的關(guān)鍵區(qū)塊相似。
[0106]步驟S104,當(dāng)獲得的相似hash串的個數(shù)為兩個或兩個以上時,則待比較的兩幅圖片為相似圖片,否則待比較的兩幅圖片不相似。
[0107]在獲得相似hash串之后,如果獲得的相似hash串的個數(shù)為兩個或兩個以上時,則待比較的兩幅圖片為相似圖片,否則待比較的兩幅圖片不相似。
[0108]本發(fā)明實施例所提供的技術(shù)方案,將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分為多個關(guān)鍵區(qū)塊,利用PHash算法分別得到了每幅圖片和每幅圖片的各個關(guān)鍵區(qū)塊的hash串,通過比較兩幅圖片及其關(guān)鍵區(qū)塊的hash串的相似性來確定這兩幅圖片是否為相似圖片。與現(xiàn)有技術(shù)相比,由于本發(fā)明的技術(shù)方案將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則劃分為多個關(guān)鍵區(qū)塊,并利用PHash算法分別計算得到了每幅圖片和每幅圖片的各個關(guān)鍵區(qū)塊的hash串,提高了圖片相似性檢測的維度,所以本發(fā)明的技術(shù)方案提高了在不考慮圖片的旋轉(zhuǎn)特性時的圖片相似性檢測的準(zhǔn)確度。
[0109]相對于上面的方法實施例,本發(fā)明還提供一種相似圖片檢測裝置,參見圖4所示,該裝置包括:
[0110]關(guān)鍵區(qū)塊劃分單元401:用于將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊;
[0111]hash串計算單元402:用于對待比較的兩幅圖片,按照預(yù)設(shè)的pHhash算法分別計算得到每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串;
[0112]相似hash串獲得單元403:用于將待比較的兩幅圖片的hash串,和待比較的兩幅圖片的各個關(guān)鍵區(qū)塊的hash串分別進行比較,獲得相似hash串;
[0113]相似圖片識別單元404:用于當(dāng)獲得的相似hash串的個數(shù)為兩個或兩個以上時,貝IJ待比較的兩幅圖片為相似圖片,否則待比較的兩幅圖片不相似。
[0114]在本發(fā)明的一種【具體實施方式】中,所述hash串計算單元402具體包括:
[0115]平滑處理單元:用于將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理;
[0116]灰度圖片獲得單元:用于將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片;
[0117]IDCT變換單元:用于在得到的所述灰度圖片上進行IDCT變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的IDCT系數(shù)值;
[0118]第一預(yù)設(shè)區(qū)域獲取單元:用于去掉所述IDCT系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的IDCT系數(shù)值的左上角的8*8區(qū)域;
[0119]hash串獲得單元:用于按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0120]在本發(fā)明的一種【具體實施方式】中,所述hash串計算單元402具體包括:
[0121]平滑處理單元:用于將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理;
[0122]灰度圖片獲得單元:用于將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片;
[0123]DCT變換單元:用于在得到的所述灰度圖片上進行DCT變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的DCT系數(shù)值;
[0124]第二預(yù)設(shè)區(qū)域獲取單元:用于去掉所述DCT系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的DCT系數(shù)值的左上角的8*8區(qū)域;
[0125]hash串獲得單元:用于按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0126]在本發(fā)明的一種【具體實施方式】中,所述hash串獲得單元包括:
[0127]均值計算單元:用于計算得到所述左上角的8*8區(qū)域的均值;
[0128]第一取值單元:用于將所述左上角的8*8區(qū)域的每一個位置的值與所述均值比較,大于均值的位置取I,小于等于均值的位置取O ;
[0129]第一 hash串獲得子單元:用于將取得的所有位置的值按照預(yù)定的第一順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0130]在本發(fā)明的一種【具體實施方式】中,所述hash串獲得單元包括:
[0131]第二取值單元:用于將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系順次比較大小,大于相鄰位置的值取1,小于等于相鄰位置的值取O ;
[0132]第二 hash串獲得子單元:用于將取得的所有位置的值按照預(yù)定的第二順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0133]在本發(fā)明的一種【具體實施方式】中,所述hash串獲得單元包括:
[0134]數(shù)值對劃分單元:用于將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系劃分為32個數(shù)值對;
[0135]第三取值單元:用于將每個數(shù)值對中的數(shù)值按照預(yù)定的順序比較大小,每個數(shù)值對中的第一數(shù)值大于第二數(shù)值時,該數(shù)值對的第一數(shù)值所在的位置取1,第二數(shù)值所在的位置取0,否則該數(shù)值對的第一數(shù)值所在的位置取0,第二數(shù)值所在的位置取I ;
[0136]第三hash串獲得子單元:用于將取得的所有位置的值按照預(yù)定的第三順序排列,得到所述每幅圖片的hash串和所述每幅圖片的各個關(guān)鍵區(qū)塊的hash串。
[0137]在本發(fā)明的一種【具體實施方式】中,所述關(guān)鍵區(qū)塊劃分單元401將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊具體為將每幅圖片劃分成左圖、右圖和中心圖三部分,其中,所述左圖、右圖和中心圖各占圖片的三分之一。
[0138]在本發(fā)明的一種【具體實施方式】中,所述相似hash串獲得單元403獲得的相似hash串具體為hash串之間的漢明距離小于預(yù)定值的hash串。
[0139]本發(fā)明實施例所提供的技術(shù)方案,將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分為多個關(guān)鍵區(qū)塊,利用PHash算法分別得到了每幅圖片和每幅圖片的各個關(guān)鍵區(qū)塊的hash串,通過比較兩幅圖片及其關(guān)鍵區(qū)塊的hash串的相似性來確定這兩幅圖片是否為相似圖片。與現(xiàn)有技術(shù)相比,由于本發(fā)明的技術(shù)方案將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則劃分為多個關(guān)鍵區(qū)塊,并利用PHash算法分別計算得到了每幅圖片和每幅圖片的各個關(guān)鍵區(qū)塊的hash串,提高了圖片相似性檢測的維度,所以本發(fā)明的技術(shù)方案提高了在不考慮圖片的旋轉(zhuǎn)特性時的圖片相似性檢測的準(zhǔn)確度。
[0140]為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本發(fā)明時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
[0141]下面將參見圖5對本發(fā)明的技術(shù)方案的可行性進行論證。圖5所示,為本發(fā)明在具體實施過程中圖片關(guān)鍵區(qū)塊的一種具體劃分方式。我們將圖片等分為2、3、4三部分,三部分的組合為原圖。這樣,對待比較的兩幅圖片,按照預(yù)設(shè)的PHhash算法每幅圖片可得到4個hash串。針對兩幅圖片的比較,也就轉(zhuǎn)換為了 4對hash串之間的比較。經(jīng)對6000幅圖片的測試發(fā)現(xiàn),只要待比較的兩幅圖片的4對hash串中有兩對相似,上述待比較的兩幅圖片即為相似圖片。
[0142]通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
[0143]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。
[0144]本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0145]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
【權(quán)利要求】
1.一種相似圖片檢測方法,其特征在于,包括: 將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊; 對待比較的兩幅圖片,按照預(yù)設(shè)的邱匕也算法分別計算得到每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串; 將待比較的兩幅圖片的串,和待比車父的兩幅圖片的各個關(guān)鍵區(qū)塊的113811串分別進行比較,獲得相似匕也串; 當(dāng)獲得的相似匕也串的個數(shù)為兩個或兩個以上時,則待比較的兩幅圖片為相似圖片,否則待比較的兩幅圖片不相似。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對待比較的兩幅圖片,按照預(yù)設(shè)的邱匕也算法計算得到每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串的步驟包括: 將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理; 將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片; 在得到的所述灰度圖片上進行10(:1變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的10(:1系數(shù)值; 去掉所述10(:1系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的10(:1系數(shù)值的左上角的8*8區(qū)域; 按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對待比較的兩幅圖片,按照預(yù)設(shè)的邱匕也算法計算得到每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串的步驟包括: 將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理; 將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片; 在得到的所述灰度圖片上進行0(:1變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的0(^1系數(shù)值; 去掉所述0^1系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的0^1系數(shù)值的左上角的8*8區(qū)域; 按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串的步驟包括: 計算得到所述左上角的8*8區(qū)域的均值; 將所述左上角的8*8區(qū)域的每一個位置的值與所述均值比較,大于均值的位置取1,小于等于均值的位置取0; 將取得的所有位置的值按照預(yù)定的第一順序排列,得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
5.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串的步驟包括: 將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系順次比較大小,大于相鄰位置的值取1,小于等于相鄰位置的值取0 ; 將取得的所有位置的值按照預(yù)定的第二順序排列,得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
6.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串的步驟包括: 將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系劃分為32個數(shù)值對; 將每個數(shù)值對中的數(shù)值按照預(yù)定的順序比較大小,每個數(shù)值對中的第一數(shù)值大于第二數(shù)值時,該數(shù)值對的第一數(shù)值所在的位置取1,第二數(shù)值所在的位置取0,否則該數(shù)值對的第一數(shù)值所在的位置取0,第二數(shù)值所在的位置取1 ; 將取得的所有位置的值按照預(yù)定的第三順序排列,得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
7.根據(jù)權(quán)利要求1至3任一項所述的方法,其特征在于,所述將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊具體為將每幅圖片劃分成左圖、右圖和中心圖三部分,其中,所述左圖、右圖和中心圖各占圖片的三分之一。
8.根據(jù)權(quán)利要求1至3任一項所述的方法,其特征在于,所述相似匕也串為匕也串之間的漢明距離小于預(yù)定值的匕也串。
9.一種相似圖片檢測裝置,其特征在于,包括: 關(guān)鍵區(qū)塊劃分單元:用于將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊; 匕也串計算單元:用于對待比較的兩幅圖片,按照預(yù)設(shè)的邱匕也算法分別計算得到每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串; 相似匕也串獲得單元:用于將待比較的兩幅圖片的匕仏串,和待比較的兩幅圖片的各個關(guān)鍵區(qū)塊的匕也串分別進行比較,獲得相似匕也串; 相似圖片識別單元:用于當(dāng)獲得的相似匕也串的個數(shù)為兩個或兩個以上時,則待比較的兩幅圖片為相似圖片,否則待比較的兩幅圖片不相似。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述匕也串計算單元具體包括: 平滑處理單元:用于將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理; 灰度圖片獲得單元:用于將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片; 1001變換單元:用于在得到的所述灰度圖片上進行10(:1變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的10(:1系數(shù)值; 第一預(yù)設(shè)區(qū)域獲取單元:用于去掉所述10^1系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的10(:1系數(shù)值的左上角的8*8區(qū)域; 匕也串獲得單元:用于按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述匕也串計算單元具體包括: 平滑處理單元:用于將待比較的兩幅圖片中的每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊進行平滑處理; 灰度圖片獲得單元:用于將所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊分別縮小并轉(zhuǎn)換為32*32的灰度圖片; 001變換單元:用于在得到的所述灰度圖片上進行0(:1變換,分別得到所述每幅圖片和所述每幅圖片的各個關(guān)鍵區(qū)塊的32*32的0(^1系數(shù)值; 第二預(yù)設(shè)區(qū)域獲取單元:用于去掉所述0(:1'系數(shù)值的邊緣一周,并獲取去掉邊緣一周后的0(^1系數(shù)值的左上角的8*8區(qū)域; 匕也串獲得單元:用于按照預(yù)設(shè)的算法,由所述左上角的8*8區(qū)域計算得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
12.根據(jù)權(quán)利要求10或11所述的裝置,其特征在于,所述匕也串獲得單元包括: 均值計算單元:用于計算得到所述左上角的8*8區(qū)域的均值; 第一取值單元:用于將所述左上角的8*8區(qū)域的每一個位置的值與所述均值比較,大于均值的位置取1,小于等于均值的位置取0 ; 第一匕也串獲得子單元:用于將取得的所有位置的值按照預(yù)定的第一順序排列,得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
13.根據(jù)權(quán)利要求10或11所述的裝置,其特征在于,所述匕也串獲得單元包括: 第二取值單元:用于將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系順次比較大小,大于相鄰位置的值取1,小于等于相鄰位置的值取0 ; 第二匕也串獲得子單元:用于將取得的所有位置的值按照預(yù)定的第二順序排列,得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
14.根據(jù)權(quán)利要求10或11所述的裝置,其特征在于,所述匕也串獲得單元包括: 數(shù)值對劃分單元:用于將所述左上角的8*8區(qū)域內(nèi)的數(shù)值按照位置相鄰的關(guān)系劃分為32個數(shù)值對; 第三取值單元:用于將每個數(shù)值對中的數(shù)值按照預(yù)定的順序比較大小,每個數(shù)值對中的第一數(shù)值大于第二數(shù)值時,該數(shù)值對的第一數(shù)值所在的位置取1,第二數(shù)值所在的位置取0,否則該數(shù)值對的第一數(shù)值所在的位置取0,第二數(shù)值所在的位置取1 ; 第三匕也串獲得子單元:用于將取得的所有位置的值按照預(yù)定的第三順序排列,得到所述每幅圖片的匕也串和所述每幅圖片的各個關(guān)鍵區(qū)塊的匕也串。
15.根據(jù)權(quán)利要求9至11任一項所述的裝置,其特征在于,所述關(guān)鍵區(qū)塊劃分單元將待比較的兩幅圖片按照預(yù)設(shè)的劃分規(guī)則分別劃分成多個關(guān)鍵區(qū)塊具體為將每幅圖片劃分成左圖、右圖和中心圖三部分,其中,所述左圖、右圖和中心圖各占圖片的三分之一。
16.根據(jù)權(quán)利要求9至11任一項所述的裝置,其特征在于,所述相似匕也串獲得單元獲得的相似匕也串具體為匕也串之間的漢明距離小于預(yù)定值的匕也串。
【文檔編號】G06F17/30GK104504120SQ201410848431
【公開日】2015年4月8日 申請日期:2014年12月29日 優(yōu)先權(quán)日:2014年12月29日
【發(fā)明者】張彥剛 申請人:北京奇藝世紀(jì)科技有限公司