一種基于感知哈希的相似圖像搜索方法和裝置的制造方法
【專利摘要】本發(fā)明提供了一種基于感知哈希的相似圖像搜索方法和裝置,該裝置包括輸入單元、差分單元、尋找單元、截圖單元、感知哈希算法單元、對比單元和輸出單元。本發(fā)明的有益效果在于,將輸入的初始圖像和所述初始圖像的截圖圖像都用感知哈希算法進行處理后,分別與搜索庫中的圖像進行比較,解決了在輸入圖像是某圖像的截圖圖像的情況下,也能找到原圖的出處,提高了感知哈希算法的準(zhǔn)備率,為搜索相似圖像提供了一種新的思路。
【專利說明】
-種基于感知哈希的相似圖像搜索方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及一種相似圖像捜索方法,尤其設(shè)及一種基于感知哈希的相似圖像捜索 方法和裝置。
【背景技術(shù)】
[0002] 互聯(lián)網(wǎng)的普及W及捜索引擎技術(shù)的巨大發(fā)展為人們的生活帶來了極大的便利,人 們可W快速、準(zhǔn)確地在互聯(lián)網(wǎng)上找到所需要的東西。圖像捜索是一個新興的捜索模式,而互 聯(lián)網(wǎng)上有數(shù)W百億的圖像,要快速有效地識別所捜索的圖像,其相關(guān)技術(shù)條件不是非常成 熟。
[0003] 現(xiàn)有的相似圖像捜索方法是利用感知哈希算法對原始圖像進行處理,生成相對應(yīng) 的哈希字符串,繼而將原始圖像的哈希字符串與捜索庫中的圖像的哈希字符串進行比較, 最終得到相似圖像,雖然此方法處理的速度快,且能在改變圖像尺寸、亮度甚至顏色的情況 下,都不會改變圖像的哈希值,但是如果輸入圖像是某圖像的截圖的情況下,利用運種方法 捜索到的圖像存在找不到出處或者捜索不全面的問題,運樣捜索到的結(jié)果無法滿足用戶的 要求。
[0004] 鑒于上述缺陷,本發(fā)明創(chuàng)作者經(jīng)過長時間的研究和實踐終于獲得了本發(fā)明。
【發(fā)明內(nèi)容】
[0005] 為解決上述問題,本發(fā)明采用的技術(shù)方案在于,一方面提供一種基于感知哈希的 相似圖像捜索裝置,包括輸入單元、差分單元、尋找單元、截圖單元、感知哈希算法單元、對 比單元、輸出單元;所述輸入單元,用于輸入初始圖像;
[0006] 所述差分單元,用于構(gòu)造所述初始圖像的尺度空間,得到高斯金字塔,并將所述高 斯金字塔中同一組圖像內(nèi)相鄰的兩層作差分,得到高斯差分金字塔;所述尋找單元,用于尋 找所述高斯差分金字塔空間的穩(wěn)定關(guān)鍵點;所述截圖單元,用于選取所述穩(wěn)定關(guān)鍵點的最 密集區(qū)域,確定能包含所述最密集區(qū)域中所有穩(wěn)定關(guān)鍵點的最小矩形區(qū)域作為所述初始圖 像的截圖圖像;所述感知哈希算法單元,用于分別處理所述初始圖像和所述截圖圖像,得到 所述初始圖像的字符串和所述截圖圖像的字符串;所述對比單元,用于分別將所述初始圖 像的字符串和所述截圖圖像的字符串與捜索庫中圖像的字符串進行對比;所述輸出單元, 用于輸出捜索結(jié)果。
[0007] 進一步,所述差分單元包括分組模塊、分層模塊、差分模塊;
[000引所述分組模塊,用于將所述初始圖像與一個可變尺度的二維高斯函數(shù)G作卷積運 算:
[0009] L(x,y ,〇) =G(x,y ,〇)*I(x,y)
[0010]其中,高斯函數(shù)G為
[0011]
[0012] 式中,I表示所述初始圖像,(x,y)表示所述初始圖像的空間坐標(biāo),O大小決定卷積 運算后得到的圖像的平滑程度,通過對O取一系列的值,所述初始圖像產(chǎn)生多組圖像,得到 高斯金字塔;
[0013] 所述分層模塊,用于對所述高斯金字塔加入高斯濾波,使所述初始圖像的每一組 圖像包含多層圖像,其中,所述高斯金字塔的組內(nèi)尺度和組間尺度之間的遞推關(guān)系是:
[0014]
[001引式中,i和n為組數(shù),S為每組的層數(shù);
[0016] 所述差分模塊,用于將所述高斯金字塔中同一組圖像內(nèi)相鄰的兩層作差分,得到 高斯差分金字塔:
[0017]
[001 引 G(x,y ,k0)-G(x,y ,0)>化-1)02726
[0019] 式中,k表示所述初始圖像的第k組,(x,y)表示所述初始圖像的空間坐標(biāo),O大小決 定運算后得到的圖像的平滑程度,G表示高斯函數(shù)。
[0020] 進一步,所述尋找單元包括選取模塊、第一刪除模塊、第二刪除模塊;
[0021] 所述選取模塊,用于將所述高斯差分金字塔空間的每一個像素點與其所有的相鄰 點進行比較,得到極值點;
[0022] 所述第一刪除模塊,用于去除對比度低的所述極值點,利用高斯差分函數(shù)在尺度 空間化ylor展開式分別對所述高斯差分金字塔空間的多層圖像的行、列及尺度S個分量進 行修正,Tay Ior展開式為:
[0023]
[0024] 對所述化ylor展開式進行求導(dǎo)并令其為0,得到:
[0025]
[00%] 將結(jié)果代入所述化ylor展開式中得:
[0027]
[00%]式中,X表示所述極值點,D表示所述極值點處的化rris響應(yīng)值,T表示轉(zhuǎn)秩,
[0029] 若I巧持)| 3 0.脫,則所述極值點保留,否則刪除所述極值點;
[0030] 所述第二刪除模塊,用于去除邊緣不穩(wěn)定的所述極值點,所述高斯差分函數(shù)的極 值點在橫跨邊緣的方向有較大的主曲率,在垂直邊緣的方向有較小的主曲率,主曲率通過 計算所述極值點位置尺度的二階化SSian矩陣求出:
[0031]
[0032] 式中,D表示所述極值點處的化rris響應(yīng)值,H表示二階胎SSian矩陣,所述D的主曲 率和所述H的特征值成正比,令a為較大的所述特征值,0為較小的所述特征值,貝U
[0033] Tr(H) =Dxx+Dyy = a+P
[0034] Det(H) =DxxDyy-(Dxy)S =地
[003引令a = ;r的I
在所述a、財目等的時候最小,隨著r 的增大而增大,因此當(dāng)不滿足下式時,所述極值點刪除,反之保留,保留下來的所述極值點 是穩(wěn)定關(guān)鍵點:
[0036]
[0037] 式中,H表示化SSian矩陣,Tr化)代表化SSian矩陣的對角線元素之和,DeUH)代表 Hess ian矩陣的行列式。
[0038] 進一步,所述截圖單元包括第一選取模塊、第二選取模塊和截圖模塊;
[0039] 所述第一選取模塊用于選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域;
[0040] 所述第二選取模塊用于找出所述最密集區(qū)域中上下左右四個方向最遠的點,W上 下兩個方向的所述點所在的水平線和左右兩個方向所述的點所在的垂直線圍成的區(qū)域為 最小矩形區(qū)域;
[0041] 所述截圖模塊用于截取所述最小矩形區(qū)域為所述初始圖像的截圖圖像。
[0042] 進一步,所述感知哈希算法單元包括預(yù)處理模塊、變換模塊、計算模塊、比較模塊、 結(jié)合模塊;
[0043] 所述預(yù)處理模塊用于分別將所述初始圖像和所述截圖圖像壓縮為32x32像素并分 別轉(zhuǎn)化為256階的灰度圖;
[0044] 所述變換模塊用于分別對轉(zhuǎn)化后的所述初始圖像和所述截圖圖像的灰度圖進行 離散余弦變換,并分別保留離散余弦變換矩陣中左上角的8x8個像素點;
[0045] 所述計算模塊用于分別計算所述初始圖像和所述截圖圖像中的所述8x8個像素點 的平均值;
[0046] 所述比較模塊用于分別將所述初始圖像和所述截圖圖像中的所述8x8個像素點中 的每個像素點的灰度值與相對應(yīng)的所述平均值進行比較,大于或等于所述平均值的記為1, 小于所述平均值的記為0;
[0047] 所述結(jié)合模塊用于分別將所述初始圖像和所述截圖圖像比較后的64個結(jié)果結(jié)合 在一起,得到所述初始圖像的字符串和所述截圖圖像的字符串。
[0048] 另一方面,提供一種基于感知哈希的相似圖像捜索方法,包括W下步驟:
[0049] 步驟SI:輸入初始圖像;
[0050] 步驟S2:構(gòu)造所述初始圖像的尺度空間,得到高斯金字塔,并將所述高斯金字塔中 同一組圖像內(nèi)相鄰的兩層作差分,得到高斯差分金字塔;
[0051 ]步驟S3:尋找所述高斯差分金字塔空間的穩(wěn)定關(guān)鍵點;
[0052] 步驟S4:選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域,確定能包含所述最密集區(qū)域中所有 穩(wěn)定關(guān)鍵點的最小矩形區(qū)域作為所述初始圖像的截圖圖像;
[0053] 步驟S5:使用感知哈希算法分別處理所述初始圖像和所述截圖圖像,得到所述初 始圖像的字符串和所述截圖圖像的字符串;
[0054] 步驟S6:將所述初始圖像的字符串和所述截圖圖像的字符串分別與捜索庫中圖像 的字符串進行對比;
[0055] 步驟S7:輸出捜索結(jié)果。
[0056] 進一步,所述步驟S2具體包括:
[0057] 步驟S21:將所述初始圖像與一個可變尺度的二維高斯函數(shù)G作卷積運算:
[005引 L(x,y,0)=G(x,y,0)*I(x,y)
[0化9] 丑:中.高斯巧擲G九
[0060]
[0061] 式中,I表示所述初始圖像,(x,y)表示所述初始圖像的空間坐標(biāo),O大小決定卷積 運算后得到的圖像的平滑程度,通過對O取一系列的值,所述初始圖像產(chǎn)生多組圖像,得到 高斯金字塔;
[0062] 步驟S22:對所述高斯金字塔加入高斯濾波,使所述初始圖像的每一組圖像包含多 層圖像,其中.所沐高斯金字搭的紐內(nèi)R底巧紐間尺度之間的遞推關(guān)系是:
[0063]
[0064] 式中,i和n為組數(shù),S為每組的層數(shù);
[0065] 步驟S23:用于將所述高斯金字塔中同一組圖像內(nèi)相鄰的兩層作差分,得到高斯差 分金字塔:
[0066]
[0067] G(x,y ,k〇)-G(x,y ,〇)>化-1)〇2726
[0068] 式中,k表示所述初始圖像的第k組,(x,y)表示所述初始圖像的空間坐標(biāo),O大小決 定運算后得到的圖像的平滑程度,G表示高斯函數(shù)。
[0069] 進一步,所述步驟S3具體包括:
[0070] 步驟S31:將所述高斯差分金字塔空間的每一個像素點與其所有的相鄰點進行比 較,得到極值點;
[0071] 步驟S32:去除對比度低的所述極值點,利用高斯差分函數(shù)在尺度空間化^or展開 式分別對所述高斯差分金字塔空間的多層圖像的行、列及尺度S個分量進行修正,Taylor 展開式為:
[0072]
[0073] 對所述化ylor展開式進行求導(dǎo)并令其為0,得到:
[0074]
[0075] 將結(jié)果代入所述化ylor展開式中得:
[0076]
[0077] 式中,X表示所述極值點,D表示所述極值點處的化rri S響應(yīng)值,T表示轉(zhuǎn)秩,
[007引若位)I a 0. 0.3,則所述極值點保留,否則刪除所述極值點;
[0079] 步驟S33:去除邊緣不穩(wěn)定的所述極值點,所述高斯差分函數(shù)的極值點在橫跨邊緣 的方向有較大的主曲率,在垂直邊緣的方向有較小的主曲率,主曲率通過計算所述極值點 位置尺度的二階化SSian矩陣求出:
[0080]
[0081 ] 式中,D表示所述極值點處的化rris響應(yīng)值,H表示二階胎SSian矩陣,所述D的主曲 率和所述H的特征值成正比,令a為較大的所述特征值,0為較小的所述特征值,貝U
[0082] Tr(H) =Dxx+Dyy = a+P
[0083] Det(H) =DxxDyy-(Dxy)S =地
[0084] 令a = r的尋
在所述a、財目等的時候最小,隨著r 的增大而增大,因此當(dāng)不滿足下式時,所述極值點刪除,反之保留,保留下來的所述極值點 是穩(wěn)定關(guān)鍵點:
[0085]
[0086] 式中,H表示化SSian矩陣,Tr化)代表化SSian矩陣的對角線元素之和,DeUH)代表 Hessian矩陣的行列式。
[0087] 進一步,所述步驟S4具體包括:
[0088] 步驟S41:選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域;
[0089] 步驟S42:找出所述最密集區(qū)域中上下左右四個方向最遠的點,W上下兩個方向的 所述點所在的水平線和左右兩個方向所述的點所在的垂直線圍成的區(qū)域為最小矩形區(qū)域;
[0090] 步驟S43:截取所述最小矩形區(qū)域為所述初始圖像的截圖圖像。
[0091] 進一步,所述步驟S5具體包括:
[0092] 步驟S51:分別將所述初始圖像和所述截圖圖像壓縮為32x32像素并分別轉(zhuǎn)化為 256階的灰度圖;
[0093] 步驟S52:分別對轉(zhuǎn)化后的所述初始圖像和所述截圖圖像的灰度圖進行離散余弦 變換,并分別保留離散余弦變換矩陣中左上角的8x8個像素點;
[0094] 步驟S53:分別計算所述初始圖像和所述截圖圖像中的所述8x8個像素點的平均 值;
[00%]步驟S54:分別將所述初始圖像和所述截圖圖像中的所述8x8個像素點中的每個像 素點的灰度值與相對應(yīng)的所述平均值進行比較,大于或等于所述平均值的記為1,小于所述 平均值的記為0;
[0096] 步驟S55:分別將所述初始圖像和所述截圖圖像比較后的64個結(jié)果結(jié)合在一起,得 到所述初始圖像的字符串和所述截圖圖像的字符串。
[0097] 與現(xiàn)有技術(shù)比較本發(fā)明的有益效果在于:1、不僅將所述初始圖像用感知哈希算法 處理后與捜索庫的圖像進行比較,而且將所述初始圖像的截圖圖像也用感知哈希算法進行 處理后與捜索庫的圖像進行比較,彌補了感知哈希算法壓縮尺寸、忽略輪廓特征后造成的 誤差;2、將所述初始圖像的截圖圖像也加入對比,解決了在輸入某圖像的截圖圖像的情況 下,也能找到原圖的出處,提高了感知哈希算法的準(zhǔn)備率。
【附圖說明】
[0098] 圖1為本發(fā)明的一種基于感知哈希的相似圖像捜索裝置的功能框圖;
[0099] 圖2為本發(fā)明差分單元的功能框圖;
[0100] 圖3為本發(fā)明尋找單元的功能框圖;
[0101 ]圖4為本發(fā)明截圖單元的功能框圖;
[0102] 圖5為本發(fā)明感知哈希算法單元的功能框圖;
[0103] 圖6為本發(fā)明的一種基于感知哈希的相似圖像捜索方法的流程圖;
[0104] 圖7為步驟S2的流程圖;
[0105] 圖8為步驟S3的流程圖;
[0106] 圖9為步驟S4的流程圖;
[0107] 圖10為步驟S5的流程圖。
【具體實施方式】
[0108] W下結(jié)合附圖,對本發(fā)明上述的和另外的技術(shù)特征和優(yōu)點作更詳細的說明。
[0109] 如圖1所示,為本發(fā)明提供的一種基于感知哈希的相似圖像捜索裝置的功能框圖, 包括輸入單元1、差分單元2、尋找單元3、截圖單元4、感知哈希算法單元5、對比單元6、輸出 單元7。
[0110] 所述輸入單元1,用于輸入初始圖像;所述差分單元2,用于構(gòu)造所述初始圖像的尺 度空間,得到高斯金字塔,并將所述高斯金字塔中同一組圖像內(nèi)相鄰的兩層作差分,得到高 斯差分金字塔;所述尋找單元3,用于尋找所述高斯差分金字塔空間的穩(wěn)定關(guān)鍵點;所述截 圖單元4,用于選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域,確定能包含所述最密集區(qū)域中所有穩(wěn)定 關(guān)鍵點的最小矩形區(qū)域作為所述初始圖像的截圖圖像;所述感知哈希算法單元5,用于分別 處理所述初始圖像和所述截圖圖像,得到所述初始圖像的字符串和所述截圖圖像的字符 串;所述對比單元6,用于分別將所述初始圖像的字符串和所述截圖圖像的字符串與捜索庫 中圖像的字符串進行對比,若其中至少有一對字符串的漢明距離小于5,則判定所述初始圖 像與捜索庫中的圖像為相似圖像;所述輸出單元6,用于輸出捜索結(jié)果。
[0111] 如圖2所示,為本發(fā)明差分單元的功能框圖,所述差分單元2包括分組模塊21、分層 模塊22和差分模塊23;
[0112] 所述分組模塊21,用于將所述初始圖像與一個可變尺度的二維高斯函數(shù)G作卷積 運算:
[0113] L(x,y,〇)=G(x,y,〇)*I(x,y)
[0114] 其中,高斯函數(shù)G為
[0115]
[0116] 式中,I表示所述初始圖像,(x,y)表示所述初始圖像的空間坐標(biāo),O大小決定卷積 運算后得到的圖像的平滑程度,通過對O取一系列的值,所述初始圖像產(chǎn)生多組圖像,得到 局斯金字塔;
[0117] 所述分層模塊22,用于對所述高斯金字塔加入高斯濾波,使所述初始圖像的每一 組圖像巧含《房閣像,巧中,所冰高斯舍辛搭的組內(nèi)尺度和組間尺度之間的遞推關(guān)系是: [011 引
[0119] 式中,i和n為組數(shù),S為每組的層數(shù);
[0120] 所述差分模塊,用于將所述高斯金字塔中同一組圖像內(nèi)相鄰的兩層作差分,得到 高斯差分金字塔,具體為,利用LoG算子的尺度不變性將所述高斯金字塔中同一組圖像內(nèi)相 鄰的兩層心、*
[0121] -
[0122]
[0123] 式中,k表示所述初始圖像的第k組,(x,y)表示所述初始圖像的空間坐標(biāo),O大小決 定運算后得到的圖像的平滑程度,G表示高斯函數(shù)。
[0124]
[0125]
[0126] 如圖3所示,為本發(fā)明尋找單元的功能框圖,所述尋找單元3包括選取模塊31、第一 刪除模塊32和第二刪除模塊33;
[0127] 所述選取模塊31,用于將所述高斯差分金字塔空間的每一個像素點與其所有的相 鄰點進行比較,所述相鄰點為圖像域中與每一個所述像素點相鄰的點和尺度域中與每一個 所述像素點相鄰的點,其中,所述圖像域為每一個所述像素點所在的層面,所述尺度域為與 所述圖像域相鄰上下兩層所在的層面,若每一個所述像素點比其圖像域和尺度域中的相鄰 點都大或都小,那該所述像素點則為所述高斯差分金字塔空間的極值點;
[0128] 所述第一刪除模塊32,用于去除對比度低的所述極值點,利用高斯差分函數(shù)在尺 度空間Ta^or展開式分別對所述高斯差分金字塔空間的多層圖像的行、列及尺度=個分量 進行修正,Taylor展開式為:
[0129]
[0130] 對所述化y Ior展開式進行求導(dǎo)并令其為0,得到:
[0131]
[0132] 將結(jié)果代入所述化ylor展開式中得:
[0133]
[0134]式中,X表示所述極值點,D表示所述極值點處的化rris響應(yīng)值,T表示轉(zhuǎn)秩,
[0135] 若I及巧)|含0.:贓,則所述極值點保留,否則刪除所述極值點;
[0136] 所述第二刪除模塊32,用于去除邊緣不穩(wěn)定的所述極值點,所述高斯差分函數(shù)的 極值點在橫跨邊緣的方向有較大的主曲率,在垂直邊緣的方向有較小的主曲率,主曲率通 過計算所述極值點位置尺度的二階化SSian矩陣求出:
[0137]
[013引式中,D表示所述極值點處的化rris響應(yīng)值,H表示二階胎ssian矩陣,所述D的主曲 率和所述H的特征值成正比,令a為較大的所述特征值,0為較小的所述特征值,貝U
[0139] Tr(H) =Dxx+Dyy = a+P
[0140] Det(H) =DxxDyy-(Dxy)S =地
[0141] 令a = r的尋, ,由于^ 在所述曰、0相等的時候最小,隨著r T 的增大而增大,因此當(dāng)不滿足下式時,所述極值點刪除,反之保留,保留下來的所述極值點 是穩(wěn)定關(guān)鍵點:
[0142]
[0143] 式中,H表示化SSian矩陣,Tr化)代表化SSian矩陣的對角線元素之和,DeUH)代表 Hessian矩陣的行列式。
[0144] 如圖4所示,為本發(fā)明截圖單元的功能框圖,所述截圖單元4包括第一選取模塊41、 第二選取模塊42和截圖模塊43;
[0145] 所述第一選取模塊41,用于選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域,具體為:將所述初 始圖像分割為大小相同的20個矩形區(qū)域,統(tǒng)計每個所述矩形區(qū)域中所包含的穩(wěn)定關(guān)鍵點, 去除包含點數(shù)少的所述矩形區(qū)域,并將保留下來的相鄰的所述矩形區(qū)域合并,將合并后的 區(qū)域作為所述穩(wěn)定關(guān)鍵點的最密集區(qū)域;
[0146] 所述第二選取模塊42,用于找出所述最密集區(qū)域中上下左右四個方向最遠的點, W上下兩個方向的所述點所在的水平線和左右兩個方向所述的點所在的垂直線圍成的區(qū) 域為最小矩形區(qū)域;
[0147] 所述截圖模塊43,用于截取所述最小矩形區(qū)域為所述初始圖像的截圖圖像。
[0148] 如圖5所示,為本發(fā)明感知哈希算法單元的功能框圖,所述感知哈希算法單元5包 括預(yù)處理模塊51、變換模塊52、計算模塊53、比較模塊54和結(jié)合模塊55;
[0149] 所述預(yù)處理模塊51,用于分別將所述初始圖像和所述截圖圖像壓縮為32x32像素 并分別轉(zhuǎn)化為256階的灰度圖;
[0150] 所述變換模52,用于分別對轉(zhuǎn)化后的所述初始圖像和所述截圖圖像的灰度圖進行 離散余弦變換,并分別保留離散余弦變換矩陣中左上角的8x8個像素點;
[0151] 所述計算模53,用于分別計算所述初始圖像和所述截圖圖像中的所述8x8個像素 點的平均值;
[0152] 所述比較模54,用于分別將所述初始圖像和所述截圖圖像中的所述8x8個像素點 中的每個像素點的灰度值與相對應(yīng)的所述平均值進行比較,大于或等于所述平均值的記為 1,小于所述平均值的記為0;
[0153] 所述結(jié)合模塊55,用于分別將所述初始圖像和所述截圖圖像比較后的64個結(jié)果結(jié) 合在一起,得到所述初始圖像的字符串和所述截圖圖像的字符串。
[0154] 本發(fā)明不僅將所述初始圖像用感知哈希算法處理后與捜索庫的圖像進行比較,而 且將所述初始圖像的截圖圖像也用感知哈希算法進行處理后與捜索庫的圖像進行比較,彌 補了感知哈希算法壓縮尺寸、忽略輪廓特征后造成的誤差;除此之外,將所述初始圖像的截 圖圖像也加入對比,解決了在輸入某圖像的截圖圖像的情況下,也能找到原圖的出處,提高 了感知哈希算法的準(zhǔn)備率,為捜索相似圖像提供了一種新的思路。
[0155] 實施例二
[0156] 如圖6所示,其為本發(fā)明的一種基于感知哈希的相似圖像捜索方法的流程圖,所述 一種基于感知哈希的相似圖像捜索方法,具體包括W下步驟:
[0157] 步驟SI:輸入初始圖像;
[0158] 步驟S2:構(gòu)造所述初始圖像的尺度空間,得到高斯金字塔,并將所述高斯金字塔中 同一組圖像內(nèi)相鄰的兩層作差分,得到高斯差分金字塔;
[0159] 步驟S3:尋找所述高斯差分金字塔空間的穩(wěn)定關(guān)鍵點;
[0160] 步驟S4:選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域,確定能包含所述最密集區(qū)域中所有 穩(wěn)定關(guān)鍵點的最小矩形區(qū)域作為所述初始圖像的截圖圖像;
[0161] 步驟S5:使用感知哈希算法分別處理所述初始圖像和所述截圖圖像,得到所述初 始圖像的字符串和所述截圖圖像的字符串;
[0162] 步驟S6:將所述初始圖像的字符串和所述截圖圖像的字符串分別與捜索庫中圖像 的字符串進行對比,若其中至少有一對字符串的漢明距離小于5,則判定所述初始圖像與捜 索庫中的圖像為相似圖像;
[0163] 步驟S7:輸出捜索結(jié)果。
[0164] 如圖7所示,其為所述步驟S2的流程圖,所述步驟S2具體包括:
[0165] 步驟S21:將所述初始圖像與一個可變尺度的二維高斯函數(shù)G作卷積運算:
[0166] L(x,y,〇)=G(x,y,〇)*I(x,y)
[0167] 且由.鳥斯巧撕r,責(zé)
[016 引
[0169] 式中,I表示所述初始圖像,(x,y)表示所述初始圖像的空間坐標(biāo),O大小決定卷積 運算后得到的圖像的平滑程度,通過對O取一系列的值,所述初始圖像產(chǎn)生多組圖像,得到 局斯金字塔;
[0170] 步驟S22:對所述高斯金字塔加入高斯濾波,使所述初始圖像的每一組圖像包含多 層圖像,其中,所述高斯金字塔的組內(nèi)尺度和組間尺度之間的遞推關(guān)系是:
[0171]
[0172] 式中,i和n為組數(shù),S為每組的層數(shù);
[0173] 步驟S23:用于將所述高斯金字塔中同一組圖像內(nèi)相鄰的兩層作差分,得到高斯差 分金字塔,具體為,利用LoG算子的尺度不變性將所述高斯金字塔中同一組圖像內(nèi)相鄰的兩 層作差分:
[0174]
[0175] G(x,y ,k〇)-G(x,y ,〇)>化-1)〇2726
[0176] 式中,k表示所述初始圖像的第k組,(x,y)表示所述初始圖像的空間坐標(biāo),O大小決 定運算后得到的圖像的平滑程度,G表示高斯函數(shù)。
[0177] 如圖8所示,其為所述步驟S3的流程圖,所述步驟S3具體包括:
[0178] 步驟S31:將所述高斯差分金字塔空間的每一個像素點與其所有的相鄰點進行比 較,所述相鄰點為圖像域中與每一個所述像素點相鄰的點和尺度域中與每一個所述像素點 相鄰的點,其中,所述圖像域為每一個所述像素點所在的層面,所述尺度域為與所述圖像域 相鄰上下兩層所在的層面,若每一個所述像素點比其圖像域和尺度域中的相鄰點都大或都 小,那該所述像素點則為所述高斯差分金字塔空間的極值點;
[0179] 步驟S32:去除對比度低的所述極值點,利用高斯差分函數(shù)在尺度空間化^or展開 式分別對所述高斯差分金字塔空間的多層圖像的行、列及尺度S個分量進行修正,Taylor 展開式為:
[0180]
[0181 ]對所述化y Ior展開式進行求導(dǎo)并令其為0,得到:
[0182]
[0183] 將結(jié)果代入所述化ylor展開式中得:
[0184]
[0185] 式中,X表示所述極值點,D表示所述極值點處的化rris響應(yīng)值,T表示轉(zhuǎn)秩,
[01化]若|拼巧|含Q.姆,則所述極值點保留,否則刪除所述極值點;
[0187]步驟S33:去除邊緣不穩(wěn)定的所述極值點,所述高斯差分函數(shù)的極值點在橫跨邊緣 的方向有較大的主曲率,在垂直邊緣的方向有較小的主曲率,主曲率通過計算所述極值點 位置尺度的二階化SSian矩陣求出:
[018 引
[0189] 式中,D表示所述極值點處的化rris響應(yīng)值,H表示二階胎SSian矩陣,所述D的主曲 率和所述H的特征值成正比,令a為較大的所述特征值,0為較小的所述特征值,貝U
[0190]
[0191]
[0192] ,由于在所述a、g相等的時候最小,隨著r T 的增大而增大,因此當(dāng)不滿足下式時,所述極值點刪除,反之保留,保留下來的所述極值點 是穩(wěn)定單鍵點:
[0193]
[0194] 式中,H表示化SSian矩陣,Tr (H)代表化SSian矩陣的對角線元素之和,Det化)代表 Hess ian矩陣的行列式。
[0195] 如圖9所示,其為所述步驟S4的流程圖,所述步驟S4具體包括:
[0196] 步驟S41:選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域,具體為:將所述初始圖像分割為大 小相同的20個矩形區(qū)域,統(tǒng)計每個所述矩形區(qū)域中所包含的穩(wěn)定關(guān)鍵點,去除包含點數(shù)少 的所述矩形區(qū)域,并將保留下來的相鄰的所述矩形區(qū)域合并,將合并后的區(qū)域作為所述穩(wěn) 定關(guān)鍵點的最密集區(qū)域;
[0197] 步驟S42:找出所述最密集區(qū)域中上下左右四個方向最遠的點,W上下兩個方向的 所述點所在的水平線和左右兩個方向所述的點所在的垂直線圍成的區(qū)域為最小矩形區(qū)域;
[0198] 步驟S43:截取所述最小矩形區(qū)域為所述初始圖像的截圖圖像。
[0199] 如圖10所示,其為所述步驟S5的流程圖,所述步驟S5具體包括:
[0200] 步驟S51:分別將所述初始圖像和所述截圖圖像壓縮為32x32像素并分別轉(zhuǎn)化為 256階的灰度圖;
[0201] 步驟S52:分別對轉(zhuǎn)化后的所述初始圖像和所述截圖圖像的灰度圖進行離散余弦 變換,并分別保留離散余弦變換矩陣中左上角的8x8個像素點;
[0202] 步驟S53:分別計算所述初始圖像和所述截圖圖像中的所述8x8個像素點的平均 值;
[0203] 步驟S54:分別將所述初始圖像和所述截圖圖像中的所述8x8個像素點中的每個像 素點的灰度值與相對應(yīng)的所述平均值進行比較,大于或等于所述平均值的記為1,小于所述 平均值的記為0;
[0204] 步驟S55:分別將所述初始圖像和所述截圖圖像比較后的64個結(jié)果結(jié)合在一起,得 到所述初始圖像的字符串和所述截圖圖像的字符串。
[0205] 本發(fā)明不僅將所述初始圖像用感知哈希算法處理后與捜索庫的圖像進行比較,而 且將所述初始圖像的截圖圖像也用感知哈希算法進行處理后與捜索庫的圖像進行比較,彌 補了感知哈希算法壓縮尺寸、忽略輪廓特征后造成的誤差;除此之外,將所述初始圖像的截 圖圖像也加入對比,解決了在輸入某圖像的截圖圖像的情況下,也能找到原圖的出處,提高 了感知哈希算法的準(zhǔn)備率,為捜索相似圖像提供了一種新的思路。
[0206] W上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人 員,在不脫離本發(fā)明方法的前提下,還可W做出若干改進和補充,運些改進和補充也應(yīng)視為 本發(fā)明的保護范圍。
【主權(quán)項】
1. 一種基于感知哈希的相似圖像搜索裝置,其特征在于,包括輸入單元、差分單元、尋 找單元、截圖單元、感知哈希算法單元、對比單元和輸出單元; 所述輸入單元,用于輸入初始圖像; 所述差分單元,用于構(gòu)造所述初始圖像的尺度空間,得到高斯金字塔,并將所述高斯金 字塔中同一組圖像內(nèi)相鄰的兩層作差分,得到高斯差分金字塔; 所述尋找單元,用于尋找所述高斯差分金字塔空間的穩(wěn)定關(guān)鍵點; 所述截圖單元,用于選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域,確定能包含所述最密集區(qū)域 中所有穩(wěn)定關(guān)鍵點的最小矩形區(qū)域作為所述初始圖像的截圖圖像; 所述感知哈希算法單元,用于分別處理所述初始圖像和所述截圖圖像,得到所述初始 圖像的字符串和所述截圖圖像的字符串; 所述對比單元,用于分別將所述初始圖像的字符串和所述截圖圖像的字符串與搜索庫 中圖像的字符串進行對比; 所述輸出單元,用于輸出搜索結(jié)果。2. 根據(jù)權(quán)利要求1所述的一種基于感知哈希的相似圖像搜索裝置,其特征在于,所述差 分單元包括分組模塊、分層模塊和差分模塊; 所述分組模塊,用于將所述初始圖像與一個可變尺度的二維高斯函數(shù)G作卷積運算: L(x,y,〇)=G(x,y,〇)*I(x,y) 其中,高斯函數(shù)G為式中,I表示所述初始圖像,(X,y)表示所述初始圖像的空間坐標(biāo),σ大小決定卷積運算 后得到的圖像的平滑程度,通過對σ取一系列的值,所述初始圖像產(chǎn)生多組圖像,得到高斯 金字塔; 所述分層模塊,用于對所述高斯金字塔加入高斯濾波,使所述初始圖像的每一組圖像 包含多層圖像,其中,所述高斯金字塔的組內(nèi)尺度和組間尺度之間的遞推關(guān)系是:式中,i和η為組數(shù),s為每組的層數(shù); 所述差分模塊,用于將所述高斯金字塔中同一組圖像內(nèi)相鄰的兩層作差分,得到高斯 差分金字塔:G(x,y,k〇)-G(x,y,〇)^ (k-l)〇2V2G 式中,k表示所述初始圖像的第k組,(x,y)表示所述初始圖像的空間坐標(biāo),〇大小決定運 算后得到的圖像的平滑程度,G表示高斯函數(shù)。3. 根據(jù)權(quán)利要求2所述的一種基于感知哈希的相似圖像搜索裝置,其特征在于,所述尋 找單元包括選取模塊、第一刪除模塊和第二刪除模塊; 所述選取模塊,用于將所述高斯差分金字塔空間的每一個像素點與其所有的相鄰點進 行比較,得到極值點; 所述第一刪除模塊,用于去除對比度低的所述極值點,利用高斯差分函數(shù)在尺度空間 Taylor展開式分別對所述高斯差分金字塔空間的多層圖像的行、列及尺度三個分量進行修 正,Taylor展開式為:對所述Taylor展開式進行求導(dǎo)并令其為0,得到:將結(jié)果代入所述Taylor展開式中得:式中,X表示所述極值點,D表示所述極值點處的Harris響應(yīng)值,T表示轉(zhuǎn)秩, 若|PU)| > 0.03.則所述極值點保留,否則刪除所述極值點; 所述第二刪除模塊,用于去除邊緣不穩(wěn)定的所述極值點,所述高斯差分函數(shù)的極值點 在橫跨邊緣的方向有較大的主曲率,在垂直邊緣的方向有較小的主曲率,主曲率通過計算 所述極值點位置尺度的二階He s s i an矩陣求出:式中,D表示所述極值點處的Harris響應(yīng)值,Η表示二階Hessian矩陣,所述D的主曲率和 所述Η的特征值成正比,令α為較大的所述特征值,β為較小的所述特征值,則 Tr(H) =Dxx+Dyy = a+0 Det(H)=DxxDyy-(Dxy)2 = a0令a = 得 :由于在所述α、β相等的時候最小,隨著r的增大 r 而增大,因此當(dāng)不滿足下式時,所述極值點刪除,反之保留,保留下來的所述極值點是穩(wěn)定 關(guān)鍵點:式中,Η表示Hessian矩陣,Tr(H)代表Hessian矩陣的對角線元素之和,Det(H)代表 Hessian矩陣的行列式。4. 根據(jù)權(quán)利要求3所述的一種基于感知哈希的相似圖像搜索裝置,其特征在于,所述截 圖單元包括第一選取模塊、第二選取模塊和截圖模塊; 所述第一選取模塊,用于選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域; 所述第二選取模塊,用于找出所述最密集區(qū)域中上下左右四個方向最遠的點,以上下 兩個方向的所述點所在的水平線和左右兩個方向所述的點所在的垂直線圍成的區(qū)域為最 小矩形區(qū)域; 所述截圖模塊,用于截取所述最小矩形區(qū)域為所述初始圖像的截圖圖像。5. 根據(jù)權(quán)利要求4所述的一種基于感知哈希的相似圖像搜索裝置,其特征在于,所述感 知哈希算法單元包括預(yù)處理模塊、變換模塊、計算模塊、比較模塊和結(jié)合模塊; 所述預(yù)處理模塊,用于分別將所述初始圖像和所述截圖圖像壓縮為32x32像素并分別 轉(zhuǎn)化為256階的灰度圖; 所述變換模塊,用于分別對轉(zhuǎn)化后的所述初始圖像和所述截圖圖像的灰度圖進行離散 余弦變換,并分別保留離散余弦變換矩陣中左上角的8x8個像素點; 所述計算模塊,用于分別計算所述初始圖像和所述截圖圖像中的所述8x8個像素點的 平均值; 所述比較模塊,用于分別將所述初始圖像和所述截圖圖像中的所述8x8個像素點中的 每個像素點的灰度值與其相對應(yīng)的所述平均值進行比較,大于或等于所述平均值的記為1, 小于所述平均值的記為〇; 所述結(jié)合模塊,用于分別將所述初始圖像和所述截圖圖像比較后的64個結(jié)果結(jié)合在一 起,得到所述初始圖像的字符串和所述截圖圖像的字符串。6. -種基于感知哈希的相似圖像搜索方法,其特征在于,包括以下步驟: 步驟S1:輸入初始圖像; 步驟S2:構(gòu)造所述初始圖像的尺度空間,得到高斯金字塔,并將所述高斯金字塔中同一 組圖像內(nèi)相鄰的兩層作差分,得到高斯差分金字塔; 步驟S3:尋找所述高斯差分金字塔空間的穩(wěn)定關(guān)鍵點; 步驟S4:選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域,確定能包含所述最密集區(qū)域中所有穩(wěn)定 關(guān)鍵點的最小矩形區(qū)域作為所述初始圖像的截圖圖像; 步驟S5:使用感知哈希算法分別處理所述初始圖像和所述截圖圖像,得到所述初始圖 像的字符串和所述截圖圖像的字符串; 步驟S6:分別將所述初始圖像的字符串和所述截圖圖像的字符串與搜索庫中圖像的字 符串進行對比; 步驟S7:輸出搜索結(jié)果。7. 根據(jù)權(quán)利要求6所述的一種基于感知哈希的相似圖像搜索方法,其特征在于,所述步 驟S2具體包括: 步驟S21:將所述初始圖像與一個可變尺度的二維高斯函數(shù)G作卷積運算: L(x,y,〇)=G(x,y,〇)*I(x,y) 其中,高斯函數(shù)G為式中,I表示所述初始圖像,(X,y)表示所述初始圖像的空間坐標(biāo),σ大小決定卷積運算 后得到的圖像的平滑程度,通過對σ取一系列的值,所述初始圖像產(chǎn)生多組圖像,得到高斯 金字塔; 步驟S22:對所述高斯金字塔加入高斯濾波,使所述初始圖像的每一組圖像包含多層圖 像,其中,所述高斯金字塔的組內(nèi)尺度和組間尺度之間的遞推關(guān)系是: 式中,i和η為組數(shù),s為每組的層數(shù);步驟S23:用于將所述高斯金字塔中同一組圖像內(nèi)相鄰的兩層作差分,得到高斯差分金 字塔: G(x,y,k〇)-G(x,y,〇)^i (k-DoZVt式中,k表示所述初始圖像的第k組,(x,y)表示所述初始圖像的空間坐標(biāo),〇大小決定運 算后得到的圖像的平滑程度,G表示高斯函數(shù)。8.根據(jù)權(quán)利要求7所述的一種基于感知哈希的相似圖像搜索方法,其特征在于,所述步 驟S3具體包括: 步驟S31:將所述高斯差分金字塔空間的每一個像素點與其所有的相鄰點進行比較,得 到極值點; 步驟S32:去除對比度低的所述極值點,利用高斯差分函數(shù)在尺度空間Taylor展開式分 別對所述高斯差分金字塔空間的多層圖像的行、列及尺度三個分量進行修正,Taylor展開 式為:對所述Taylor展開式進行求導(dǎo)并令其為0,得到:將結(jié)果代入所述Taylor展開式中得:式中,X表示所述極值點,D表示所述極值點處的Harris響應(yīng)值,T表示轉(zhuǎn)秩, 若|P(f)| 2 0、03,則所述極值點保留,否則刪除所述極值點; 步驟S33:去除邊緣不穩(wěn)定的所述極值點,所述高斯差分函數(shù)的極值點在橫跨邊緣的方 向有較大的主曲率,在垂直邊緣的方向有較小的主曲率,主曲率通過計算所述極值點位置 尺度的二階Hessian矩陣求出:式中,D表示所述極值點處的Harris響應(yīng)值,Η表示二階Hessian矩陣,所述D的主曲率和 所述Η的特征值成正比,令α為較大的所述特征值,β為較小的所述特征值,則 Tr(H) =Dxx+Dyy = a+0 Det(H)=DxxDyy-(Dxy)2 = a0 令α = ι·β得:玍所述α、β相等的時候最小,隨著r的增 大而增大,因此當(dāng)不滿足下式時,所述極值點刪除,反之保留,保留下來的所述極值點是穩(wěn) 定關(guān)鍵點:式中,Η表示Hessian矩陣,Tr( Η)代表Hessian矩陣的對角線元素之和,Det( Η)代表 Hessian矩陣的行列式。9. 根據(jù)權(quán)利要求8所述的一種基于感知哈希的相似圖像搜索方法,其特征在于,所述步 驟S4具體包括: 步驟S41:選取所述穩(wěn)定關(guān)鍵點的最密集區(qū)域; 步驟S42:找出所述最密集區(qū)域中上下左右四個方向最遠的點,以上下兩個方向的所述 點所在的水平線和左右兩個方向所述的點所在的垂直線圍成的區(qū)域為最小矩形區(qū)域; 步驟S43:截取所述最小矩形區(qū)域為所述初始圖像的截圖圖像。10. 根據(jù)權(quán)利要求9所述的一種基于感知哈希的相似圖像搜索方法,其特征在于,所述 步驟S5具體包括: 步驟S51:分別將所述初始圖像和所述截圖圖像壓縮為32x32像素并分別轉(zhuǎn)化為256階 的灰度圖; 步驟S52:分別對轉(zhuǎn)化后的所述初始圖像和所述截圖圖像的灰度圖進行離散余弦變換, 并分別保留離散余弦變換矩陣中左上角的8x8個像素點; 步驟S53:分別計算所述初始圖像和所述截圖圖像中的所述8x8個像素點的平均值; 步驟S54:分別將所述初始圖像和所述截圖圖像中的所述8x8個像素點中的每個像素點 的灰度值與其相對應(yīng)的所述平均值進行比較,大于或等于所述平均值的記為1,小于所述平 均值的記為〇; 步驟S55:分別將所述初始圖像和所述截圖圖像比較后的64個結(jié)果結(jié)合在一起,得到所 述初始圖像的字符串和所述截圖圖像的字符串。
【文檔編號】G06F17/30GK105956020SQ201610255782
【公開日】2016年9月21日
【申請日】2016年4月22日
【發(fā)明人】竇鈺景, 侯大勇, 簡宋全, 李青海
【申請人】廣州精點計算機科技有限公司