專利名稱:相似圖像的識(shí)別方法和裝置的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及多媒體圖像識(shí)別技術(shù)領(lǐng)域,具體而言,涉及一種相似圖像的識(shí)別方法和裝置。
背景技術(shù):
相似圖像檢索是近幾年興起的技術(shù),屬于多媒體識(shí)別的一種,其主要包含特征提取、索引構(gòu)建、查詢、相似度排序等主要步驟。如圖I所示,在建立圖像索引庫(kù)時(shí),用戶A向圖像服務(wù)器10上傳待存儲(chǔ)的圖像,圖像服務(wù)器10為該圖像生成圖像簽名,并以該圖像簽名作為索引,以便于后續(xù)的檢索查詢。當(dāng)需要識(shí)別相似圖像時(shí),用戶B向圖像服務(wù)器10請(qǐng)求相似圖像檢索,圖像服務(wù)器10根據(jù)該圖像的索引查詢與該圖像索引對(duì)應(yīng)的相似圖像。在圖像服務(wù)器10查找到與用戶B輸入的圖像相似的圖像之后,向用戶B返回相似的圖像列表。目前在生成圖像的圖像簽名時(shí),常用的方法是在圖像服務(wù)器10中對(duì)圖片內(nèi)容的二進(jìn)制流進(jìn)行哈希編碼,作為唯一標(biāo)識(shí)該圖像的圖像簽名,然后將該圖像簽名常駐內(nèi)存或存儲(chǔ)在圖像服務(wù)器10中的數(shù)據(jù)庫(kù)或文件系統(tǒng)中。然而,上述現(xiàn)有技術(shù)的相似圖像檢索存在以下缺點(diǎn)I)通用性較差對(duì)于同一副圖片,即使不做任何修改,以不同的格式(bmp、jpeg、png、gif等等)保存,得到的圖像簽名值也有很大的差異;然而大部分情況下,從用戶期望的角度來(lái)看,希望將兩幅僅僅格式不同的圖片作為相似圖片。2)容錯(cuò)性問(wèn)題由于沖突的原因,圖像的二進(jìn)制流的哈希編碼不可能是唯一的,即存在這種情況, 即便是兩張完全不同的圖片,也有可能會(huì)因?yàn)閳D像簽名相同而被做為相同的圖片提供給圖像查詢者。3)不適合用作近似檢索傳統(tǒng)的基于哈希編碼的圖片簽名方式,由于沒(méi)有利用圖片本身的信息,因此只能用于精確檢索,即查找和目標(biāo)圖片完全一樣的圖片,不適用作相似圖片檢索。針對(duì)相關(guān)技術(shù)中所存在的問(wèn)題,目前尚未發(fā)現(xiàn)有效的解決方案。
發(fā)明內(nèi)容
本申請(qǐng)旨在提供一種相似圖像的識(shí)別方法和裝置,以解決現(xiàn)有技術(shù)中的圖像識(shí)別方法所存在的容錯(cuò)性的問(wèn)題。根據(jù)本申請(qǐng)的一個(gè)方面,提供了一種相似圖像的識(shí)別方法,其包括獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名;對(duì)該圖像簽名進(jìn)行哈希操作;在預(yù)先存儲(chǔ)的哈希表中查詢與該哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng);在與查詢得到的該表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與該輸入圖像相似的圖像。進(jìn)一步地,通過(guò)以下步驟獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名將輸入圖像轉(zhuǎn)化為灰度圖像;將灰度圖像分成NXN的子圖像,并對(duì)每個(gè)子圖像分別從M個(gè)方向上計(jì)算邊緣直方圖,得到NXNXM個(gè)計(jì)算結(jié)果,其中,N和M均為自然數(shù);將灰度圖像對(duì)應(yīng)的NXNXM個(gè)計(jì)算結(jié)果組合成作為圖像簽名的NXNXM維向量。進(jìn)ー步地,對(duì)圖像簽名進(jìn)行哈希操作的步驟包括分別使用L個(gè)局部哈希函數(shù)對(duì)與該圖像簽名進(jìn)行哈希操作,得到L個(gè)第一哈希值,其中,L為自然數(shù);使用ー個(gè)全局哈希函數(shù)分別對(duì)L個(gè)第一哈希值進(jìn)行哈希操作,得到L個(gè)第二哈希值。
進(jìn)ー步地,在預(yù)先存儲(chǔ)的哈希表中查詢與哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng)的步驟包括在每個(gè)第二哈希值對(duì)應(yīng)的哈希表中查找是否存在記錄有該第二哈希值的表項(xiàng),其中,所述哈希表中的每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值和圖像標(biāo)識(shí),或者,所述每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值、該圖像的圖像標(biāo)識(shí)以及圖像簽名。進(jìn)ー步地,第二哈希值與哈希表的對(duì)應(yīng)關(guān)系包括 第i個(gè)第二哈希值對(duì)應(yīng)于第i個(gè)哈希表,i = I, ...し進(jìn)ー步地,分別使用L個(gè)局部哈希函數(shù)對(duì)圖像簽名進(jìn)行哈希操作的步驟包括將圖像簽名轉(zhuǎn)換成R維ニ進(jìn)制向量,其中,R為自然數(shù);使用R維ニ進(jìn)制向量生成L個(gè)局部哈希函數(shù),其中,每個(gè)局部哈希函數(shù)由R維ニ進(jìn)制向量中的一維或多維ニ進(jìn)制向量生成;使用L個(gè)局部哈希函數(shù)對(duì)R維ニ進(jìn)制向量進(jìn)哈希操作。進(jìn)ー步地,使用R維ニ進(jìn)制向量中的一維或多維ニ進(jìn)制向量生成ー個(gè)局部哈希函數(shù)的步驟包括設(shè)置局部哈希函數(shù)的輸入?yún)?shù)為K ;隨機(jī)從R維ニ進(jìn)制向量中選取K維ニ進(jìn)制向量,將K維ニ進(jìn)制向量進(jìn)行拼接作為局部哈希函數(shù)的返回值,其中,K <R。進(jìn)ー步地,在與查詢得到的表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與輸入圖像相似的圖像的步驟包括計(jì)算輸入圖像的圖像簽名與每個(gè)候選圖像的圖像簽名之間的空間距離;按照空間距離的大小來(lái)識(shí)別候選圖像與輸入圖像的相似度,其中,空間距離越小的候選圖像與輸入圖像的相似度越高。進(jìn)ー步地,按照空間距離的大小來(lái)識(shí)別候選圖像與輸入圖像的相似度之后,還包括按照空間距離的大小輸出候選圖像。進(jìn)ー步地,在分別使用L個(gè)局部哈希函數(shù)對(duì)圖像簽名進(jìn)行哈希操作之前,通過(guò)以下步驟預(yù)先建立L個(gè)哈希表分別使用L個(gè)局部哈希函數(shù)對(duì)與每個(gè)待存儲(chǔ)的圖像的內(nèi)容對(duì)應(yīng)的圖像簽名進(jìn)行哈希操作,得到L個(gè)第三哈希值,其中,L為自然數(shù);使用ー個(gè)全局哈希函數(shù)分別對(duì)L個(gè)第三哈希值進(jìn)行哈希操作,得到L個(gè)第四哈希值;將第j個(gè)第四哈希值以及該第四哈希值對(duì)應(yīng)的圖像標(biāo)識(shí)和圖像簽名記錄到第j個(gè)哈希表中,其中,j = 1,...し根據(jù)本申請(qǐng)的另一方面,提供了ー種相似圖像的識(shí)別裝置,位于圖片服務(wù)器上,其包括獲取單元,用于獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名;哈希操作単元,用于對(duì)圖像簽名進(jìn)行哈希操作;查詢單元,用于在預(yù)先存儲(chǔ)的哈希表中查詢與哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng);識(shí)別單元,用于在與查詢得到的表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與輸入圖像相似的圖像。進(jìn)ー步地,獲取單元包括轉(zhuǎn)化模塊,用于將輸入圖像轉(zhuǎn)化為灰度圖像;計(jì)算模塊,用于將灰度圖像分成NXN的子圖像,并對(duì)每個(gè)子圖像分別從M個(gè)方向上計(jì)算邊緣直方圖,得到NXNXM個(gè)計(jì)算結(jié)果,其中,N和M均為自然數(shù);生成模塊,用于將灰度圖像對(duì)應(yīng)的NXNXM個(gè)計(jì)算結(jié)果組合成作為圖像簽名的NXNXM維向量。
進(jìn)ー步地,哈希操作単元包括第一哈希處理模塊,用于分別使用L個(gè)局部哈希函數(shù)對(duì)圖像簽名進(jìn)行哈希操作,得到L個(gè)第一哈希值,其中,L為自然數(shù);第二哈希處理模塊,用于使用ー個(gè)全局哈希函數(shù)分別對(duì)L個(gè)第一哈希值進(jìn)行哈希操作,得到L個(gè)第二哈希值。進(jìn)ー步地,查詢單元包括查找模塊,用于在每個(gè)第二哈希值對(duì)應(yīng)的哈希表中查找是否存在記錄有該第二哈希值的表項(xiàng),其中,所述哈希表中的每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值和圖像標(biāo)識(shí),或者,所述每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值、該圖像的圖像標(biāo)識(shí)以及圖像簽名;添加模塊,用于在存在記錄有該第二哈希值的表項(xiàng)時(shí),將查找到的表項(xiàng)所記錄的圖像添加到候選圖像中。進(jìn)ー步地,第一哈希處理模塊包括轉(zhuǎn)換子模塊,用于將圖像簽名轉(zhuǎn)換成R維ニ進(jìn)制向量,其中,R為自然數(shù);生成子模塊,用于使用R維ニ進(jìn)制向量生成L個(gè)局部哈希函數(shù),其中,每個(gè)局部哈希函數(shù)由R維ニ進(jìn)制向量中的一維或多維ニ進(jìn)制向量生成;哈希操作子模塊,用于使用L個(gè)局部哈希函數(shù)對(duì)R維ニ進(jìn)制向量進(jìn)哈希操作。進(jìn)ー步地,生成子模塊包括設(shè)置子模塊,用于設(shè)置局部哈希函數(shù)的輸入?yún)?shù)為K ;處理子模塊,用于隨機(jī)從R維ニ進(jìn)制向量中選取K維ニ進(jìn)制向量,將K維ニ進(jìn)制向量進(jìn)行拼接作為局部哈希函數(shù)的返回值,其中,K < R0進(jìn)ー步地,識(shí)別單元包括計(jì)算模塊,用于計(jì)算輸入圖像的圖像簽名與每個(gè)候選圖像的圖像簽名之間的空間距離;識(shí)別模塊,用于按照空間距離的大小來(lái)識(shí)別候選圖像與輸入圖像的相似度,其中,空間距離越小的候選圖像與輸入圖像的相似度越高。進(jìn)ー步地,還包括輸出單元,用于在按照空間距離的大小來(lái)識(shí)別該候選圖像與輸入圖像的相似度之后,按照空間距離的大小輸出候選圖像。進(jìn)ー步地,還包括哈希表建立単元,用于在第一哈希操作模塊分別使用L個(gè)局部哈希函數(shù)對(duì)與輸入圖像的內(nèi)容對(duì)應(yīng)的圖像簽名進(jìn)行哈希操作之前,分別使用L個(gè)局部哈希函數(shù)對(duì)與每個(gè)待存儲(chǔ)的圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名進(jìn)行哈希操作,得到L個(gè)第三哈希值,其中,L為自然數(shù);使用ー個(gè)全局哈希函數(shù)分別對(duì)L個(gè)第三哈希值進(jìn)行哈希操作,得到L個(gè)第四哈希值;將第j個(gè)第四哈希值以及第四哈希值對(duì)應(yīng)的圖像標(biāo)識(shí)和圖像簽名記錄到第j個(gè)哈希表中,其中,j = I, ... L0在本申請(qǐng)中,利用圖像本身的內(nèi)容作為圖像簽名,其簽名的相似度取決于圖像本身的相似度,即越是相似的圖像,其簽名的相似度也越大,或者說(shuō)對(duì)應(yīng)的空間距離(海明距離或歐氏距離)越短,這樣,僅僅是存儲(chǔ)格式不同的圖像具有完全相同圖像簽名值,從而解決了現(xiàn)有技術(shù)中的圖像識(shí)別方法所存在的容錯(cuò)性的問(wèn)題,使得能夠準(zhǔn)確地識(shí)別出所需的相似圖像。在此基礎(chǔ)上,本申請(qǐng)還提出了基于局部敏感哈希技術(shù)的海量相似圖像索引方案,將檢索的時(shí)間復(fù)雜度降低到亞線性級(jí)別,并且能將結(jié)果按照相似程度進(jìn)行排序輸出。此外,采用邊緣直方圖的統(tǒng)計(jì)值作為圖像簽名的基礎(chǔ)特征,配合圖像分割和基于人眼視覺(jué)敏感程度的非均勻量化技術(shù),對(duì)不同顔色、不同縮放比例、局部模糊以及失真均有很好的適應(yīng)性。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一歩理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中圖I是根據(jù)相關(guān)技術(shù)的相似圖像的識(shí)別系統(tǒng)的ー種結(jié)構(gòu)示意圖2是根據(jù)本申請(qǐng)實(shí)施例的相似圖像的識(shí)別系統(tǒng)的一種優(yōu)選結(jié)構(gòu)示意圖;圖3是根據(jù)本申請(qǐng)實(shí)施例的相似圖像的識(shí)別裝置的一種優(yōu)選結(jié)構(gòu)示意圖;圖4是根據(jù)本申請(qǐng)實(shí)施例的相似圖像的識(shí)別裝置的另一種優(yōu)選結(jié)構(gòu)示意圖;圖5是根據(jù)本申請(qǐng)實(shí)施 例的相似圖像的識(shí)別方法的一種優(yōu)選流程圖;圖6是根據(jù)本申請(qǐng)實(shí)施例的圖像簽名獲取方法的一種優(yōu)選流程圖;圖7是根據(jù)本申請(qǐng)實(shí)施例的圖像索引構(gòu)建方法的一種優(yōu)選流程圖;圖8是根據(jù)本申請(qǐng)實(shí)施例的相似圖像查詢方法的一種優(yōu)選流程圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。實(shí)施例I如圖2所示,本優(yōu)選的實(shí)施例提供了一種相似圖像的識(shí)別系統(tǒng),其包括如下上傳服務(wù)器202、圖像數(shù)據(jù)庫(kù)裝置204、索引服務(wù)器206、圖像計(jì)算服務(wù)器208、以及圖像檢索前臺(tái)服務(wù)器210。在建立圖像索引庫(kù)時(shí),用戶A向上傳服務(wù)器202上傳待存儲(chǔ)的圖像,上傳服務(wù)器 202計(jì)算該圖像的圖像簽名,并將該圖像的圖像簽名發(fā)送給圖像數(shù)據(jù)庫(kù)裝置204。本申請(qǐng)實(shí)施例也可以通過(guò)爬蟲(chóng)系統(tǒng)從網(wǎng)絡(luò)中抓取圖像后存儲(chǔ)于上傳服務(wù)器202中,本申請(qǐng)對(duì)此并不作限定。優(yōu)選的,上傳服務(wù)器202利用圖像自身的內(nèi)容信息(例如,圖像的元數(shù)據(jù),比如色彩、紋理等,而非字節(jié)流)來(lái)計(jì)算該圖像的圖像簽名,從而大大降低了發(fā)生沖突的概率。圖像數(shù)據(jù)庫(kù)裝置204在接收到該圖像的圖像簽名之后,利用局部哈希函數(shù)對(duì)該圖像簽名進(jìn)行哈希操作,將結(jié)果作為索引信息發(fā)送給索引服務(wù)器。當(dāng)需要識(shí)別相似圖像時(shí),用戶B向圖像檢索前臺(tái)服務(wù)器210請(qǐng)求相似圖像檢索,圖像檢索前臺(tái)服務(wù)器210將用戶B輸入的圖像發(fā)送給圖像計(jì)算服務(wù)器208,以請(qǐng)求返回相似的圖像或圖像列表。圖像計(jì)算服務(wù)器208在接收到用戶B輸入的圖像之后,向索引服務(wù)器206 查詢與該輸入的圖像相似的圖像的標(biāo)識(shí)(ID),其中,相似的圖像的哈希值與輸入圖像的哈希值相同。具體的查找方法可以為利用用戶B輸入的圖像自身的內(nèi)容信息來(lái)構(gòu)建用于查詢的圖像簽名,在索引服務(wù)器206中查詢與該圖像簽名對(duì)應(yīng)的相似圖像。在圖像計(jì)算服務(wù)器208查找到與用戶B輸入的圖像相似的圖像之后,向圖像檢索前臺(tái)服務(wù)器210返回相似的圖像或圖像列表,以便顯示給用戶B。作為一種可選的實(shí)施方式,各個(gè)服務(wù)器所執(zhí)行的功能可以在一個(gè)服務(wù)器上實(shí)現(xiàn), 例如,如圖3所示的相似圖像的識(shí)別裝置,其位于圖像服務(wù)器上,其包括獲取單元302,用于獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名;哈希操作單元304,用于對(duì)該圖像簽名進(jìn)行哈希操作;查詢單元306,用于在預(yù)先存儲(chǔ)的哈希表中查詢與哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng);識(shí)別單元308,用于在與查詢得到的表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與輸入圖像相似的圖像。在本優(yōu)選的實(shí)施例中,識(shí)別裝置利用圖像本身的內(nèi)容作為圖像簽名,其簽名的相似度取決于圖像本身的相似度,即越是相似的圖像,其簽名的相似度也越大,或者說(shuō)對(duì)應(yīng)的空間距離(海明距離或歐氏距離)越短,這樣,僅僅是存儲(chǔ)格式不同的圖像具有完全相同圖像簽名值,從而解決了現(xiàn)有技術(shù)中的圖像識(shí)別方法所存在的容錯(cuò)性的問(wèn)題,使得能夠準(zhǔn)確地識(shí)別出所需的相似圖像。優(yōu)選的,如圖4所示,獲取單元302包括轉(zhuǎn)化模塊3021,用于將輸入圖像轉(zhuǎn)化為灰度圖像;計(jì)算模塊3022,用于將灰度圖像分成NXN的子圖像,并對(duì)每個(gè)子圖像分別從M 個(gè)方向上計(jì)算邊緣直方圖,得到NXNXM個(gè)計(jì)算結(jié)果,其中,N和M均為自然數(shù);生成模塊 3023,用于將灰度圖像對(duì)應(yīng)的NXNXM個(gè)計(jì)算結(jié)果組合成作為圖像簽名的NXNXM維向量。 優(yōu)選的,還可以對(duì)NXNXM維向量采用基于人眼視覺(jué)敏感程度的非均勻量化技術(shù)。在本優(yōu)選的實(shí)施例中,利用圖像自身的內(nèi)容信息來(lái)計(jì)算圖像的圖像簽名,從而大大降低了發(fā)生沖突的概率。此外,采用邊緣直方圖的統(tǒng)計(jì)值作為圖像簽名的基礎(chǔ)特征,配合圖像分割以及基于人眼視覺(jué)敏感程度的非均勻量化技術(shù),對(duì)不同顏色、不同縮放比例、局部模糊以及失真均有很好的適應(yīng)性。需要注意的是,分割的方式僅是一種示例,本申請(qǐng)不僅限于此,例如,將灰度圖像分成NXP的子圖像。作為一種最佳的方式,M可以等于5。優(yōu)選的,計(jì)算模塊3022對(duì)每個(gè)子圖像分別從5個(gè)方向上計(jì)算邊緣直方圖的步驟包括對(duì)于每個(gè)子圖像中的每個(gè)圖像塊而言,計(jì)算該圖像塊五個(gè)方向上的梯度值,選取梯度值最大的方向作為該圖像塊的待統(tǒng)計(jì)方向,在一個(gè)子圖像中統(tǒng)計(jì)上述五個(gè)方向作為待統(tǒng)計(jì)方向的次數(shù),并將得到的統(tǒng)計(jì)值作為該子圖像的邊緣直方圖。舉例來(lái)說(shuō),假設(shè)一個(gè)子圖像具有1000個(gè)圖像塊,五個(gè)方向分別為A,B,C,D,E,其中,100個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)锳,200個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)锽,300個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)镃,400個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)镈,0個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)镋,則該子圖像的統(tǒng)計(jì)值(或?qū)?yīng)的邊緣直方圖)為向量(100,200,300,400,O)。優(yōu)選的,哈希操作單元304包括第一哈希處理模塊3041,用于分別使用L個(gè)局部哈希函數(shù)對(duì)該圖像簽名進(jìn)行哈希操作,得到L個(gè)第一哈希值,其中,L為自然數(shù);第二哈希處理模塊3042,用于使用一個(gè)全局哈希函數(shù)分別對(duì)L個(gè)第一哈希值進(jìn)行哈希操作,得到L個(gè)第二哈希值。在本優(yōu)選的實(shí)施例中,采用了基于局部敏感哈希技術(shù)的海量相似圖像索引方案, 將檢索的時(shí)間復(fù)雜度降低到亞線性級(jí)別。優(yōu)選的,查詢單元306包括查找模塊3061,用于在每個(gè)第二哈希值對(duì)應(yīng)的哈希表中查找是否存在記錄有該第二哈希值的表項(xiàng),其中,上述哈希表中的每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值和圖像標(biāo)識(shí),或者,所述每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值、該圖像的圖像標(biāo)識(shí)以及圖像簽名;添加模塊3062,用于在存在記錄有第二哈希值的表項(xiàng)時(shí),將查找到的表項(xiàng)所記錄的圖像添加到候選圖像中。在本優(yōu)選的實(shí)施例中,采用了查找方式來(lái)查找對(duì)應(yīng)的候選圖像,提高了查找的準(zhǔn)確性和效率。優(yōu)選的,第二哈希值與哈希表的對(duì)應(yīng)關(guān)系包括但不限于第i個(gè)第二哈希值對(duì)應(yīng)于第i個(gè)哈希表,i = I,... Lo例如,第二哈希值與哈希表的對(duì)應(yīng)關(guān)系還可以為第i個(gè)第二哈希值對(duì)應(yīng)于第L-i+1個(gè)哈希表,i = I, ... L0優(yōu)選的,第一哈希處理模塊3041包括轉(zhuǎn)換子模塊,用于將圖像簽名轉(zhuǎn)換成R維二進(jìn)制向量,其中,R為自然數(shù);生成子模塊,用于使用R維二進(jìn)制向量生成L個(gè)局部哈希函數(shù),其中,每個(gè)局部哈希函數(shù)由R維二進(jìn)制向量中的一維或多維二進(jìn)制向量生成;哈希操作子模塊,用于使用L個(gè)局部哈希函數(shù)對(duì)R維二進(jìn)制向量進(jìn)哈希操作。在本優(yōu)選的實(shí)施例中, 采用特定的方式來(lái)進(jìn)行哈希操作,大大降低了發(fā)生沖突的概率。需要注意的是,第一哈希處理模塊的處理過(guò)程只是ー種示例,本申請(qǐng)不僅限于此優(yōu)選的,生成子模塊包括設(shè)置子模塊,用于設(shè)置局部哈希函數(shù)的輸入?yún)?shù)為K ;處理子模塊,用于隨機(jī)從R維ニ進(jìn)制向量中選取K維ニ進(jìn)制向量,將K維ニ進(jìn)制向量進(jìn)行拼接作為局部哈希函數(shù)的返回值,其中,K <R。在本優(yōu)選的實(shí)施例中,采用特定的方式來(lái)生成局部哈希函數(shù),進(jìn)ー步降低了發(fā)生沖突的概率。需要注意的是,生成子模塊的處理過(guò)程只是ー種示例,本申請(qǐng)不僅限于此。優(yōu)選的,識(shí)別單元308包括計(jì)算模塊3081,用于計(jì)算輸入圖像的圖像簽名與每個(gè)候選圖像的圖像簽名之間的空間距離;識(shí)別模塊3082,用于按照空間距離的大小來(lái)識(shí)別候選圖像與輸入圖像的相似度,其中,空間距離越小的候選圖像與輸入圖像的相似度越高。在本優(yōu)選的實(shí)施例中,通過(guò)采用空間距離來(lái)識(shí)別相似圖像,大大提高了識(shí)別的準(zhǔn)備性。優(yōu)選的,本實(shí)施例中的空間距離可以包括但不限于海明距離和歐式距離。優(yōu)選的,如圖3所示的相似圖像的識(shí)別裝置還包括輸出單元310,用于在按照空間距離的大小來(lái)識(shí)別候選圖像與輸入圖像的相似度之后,按照空間距離的大小輸出候選圖像。在本優(yōu)選的實(shí)施例中,通過(guò)按照相似度來(lái)輸出相似圖像,大大提高了用戶的體驗(yàn)度。優(yōu)選的,如圖3所示的互聯(lián)網(wǎng)相似圖像的識(shí)別裝置還包括哈希表建立単元312,用于在第一哈希操作模塊分別使用L個(gè)局部哈希函數(shù)對(duì)與輸入圖像的內(nèi)容對(duì)應(yīng)的圖像簽名進(jìn)行哈希操作之前,分別使用L個(gè)局部哈希函數(shù)對(duì)與每個(gè)待存儲(chǔ)的圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名進(jìn)行哈希操作,得到L個(gè)第三哈希值,其中,L為自然數(shù);使用ー個(gè)全局哈希函數(shù)分別對(duì)L個(gè)第三哈希值進(jìn)行哈希操作,得到L個(gè)第四哈希值;將第j個(gè)第四哈希值以及第四哈希值對(duì)應(yīng)的圖像標(biāo)識(shí)和圖像簽名記錄到第j個(gè)哈希表中,其中,j = L. ..L0在本優(yōu)選的實(shí)施例中,采用了方式來(lái)建立存儲(chǔ)圖像索引的哈希表,提高了查找的準(zhǔn)確性和效率。實(shí)施例2基于圖2所示的識(shí)別系統(tǒng)以及圖3和圖4所示的識(shí)別裝置,本優(yōu)選的實(shí)施例還提供了ー種相似圖像的識(shí)別方法,如圖5所示,識(shí)別方法包括如下步驟S502,獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名;優(yōu)選的,在圖2所示的識(shí)別系統(tǒng)中,可以由圖像檢索前臺(tái)服務(wù)器210獲取用戶B輸入的輸入圖像的內(nèi)容信息,并將其發(fā)送給圖像計(jì)算服務(wù)器208,圖像計(jì)算服務(wù)器208獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名。優(yōu)選的,在圖3所示的識(shí)別裝置中,由獲取單元302獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名。在本優(yōu)選的實(shí)施例中,圖像檢索前臺(tái)服務(wù)器210或獲取單元302可以包括用于接收用戶輸入的圖像的接收模塊(例如,USB傳輸接ロ,藍(lán)牙傳輸接ロ,或者,以太網(wǎng)傳輸接ロ等),以及,圖像計(jì)算服務(wù)器208或獲取單元302可以包括用于計(jì)算輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名的處理模塊(例如,微處理器MCU,或FPGA等)??梢岳斫獾氖?,關(guān)于執(zhí)行“獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名”的主體并不僅限于此,可以根據(jù)實(shí)際需求來(lái)靈活配置。S504,對(duì)圖像簽名進(jìn)行哈希操作;優(yōu)選的,在圖2所示的識(shí)別系統(tǒng)中,可以由圖像計(jì)算服務(wù)器208對(duì)圖像簽名進(jìn)行哈希操作。優(yōu)選的,在圖3所示的識(shí)別裝置中,可以由哈希操作單元304對(duì)圖像簽名進(jìn)行哈希操作。在本優(yōu)選的實(shí)施例中,哈希操作單元304可以為微處理器MCU,或FPGA等,作為ー種優(yōu)選的方式,哈希操作單元304與獲取單元302所執(zhí)行的功能可以由同一個(gè)處理器來(lái)實(shí)現(xiàn)??梢岳斫獾氖?,關(guān)于執(zhí)行“對(duì)圖像簽名進(jìn)行哈希操作” 的主體并不僅限于此,還可以根據(jù)實(shí)際需求來(lái)靈活配置。S506,在預(yù)先存儲(chǔ)的哈希表中查詢與哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng);優(yōu)選的,在圖 2所示的識(shí)別系統(tǒng)中,可以由圖像計(jì)算服務(wù)器208向索引服務(wù)器206中存儲(chǔ)的哈希表中查詢與哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng)。優(yōu)選的,在圖3所示的識(shí)別裝置中,可以由查詢單元306 向存儲(chǔ)由哈希表的數(shù)據(jù)庫(kù)查詢與哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng)??梢岳斫獾氖?,關(guān)于執(zhí)行 “在預(yù)先存儲(chǔ)的哈希表中查詢與哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng)”的主體并不僅限于此,還可以根據(jù)實(shí)際需求來(lái)靈活配置。在本優(yōu)選的實(shí)施例中,圖像計(jì)算服務(wù)器208可以但不限于按照預(yù)定的局域網(wǎng)傳輸協(xié)議與索引服務(wù)器206通信,查詢單元306可以但不限于通過(guò)內(nèi)部總線與數(shù)據(jù)庫(kù)進(jìn)行通信。S508,在與查詢得到的表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與輸入圖像相似的圖像。優(yōu)選的,在圖2所示的識(shí)別系統(tǒng)中,圖像計(jì)算服務(wù)器208可以根據(jù)索引服務(wù)器206返回的相似圖像的ID獲取對(duì)應(yīng)的候選圖像(可以在本地獲取,也可以從第三方設(shè)備上獲取),并在與查詢得到的表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與輸入圖像相似的圖像。優(yōu)選的,在圖3所示的識(shí)別裝置中,識(shí)別單元308可以根據(jù)查詢單元306返回的相似圖像的ID獲取對(duì)應(yīng)的候選圖像(可以在本地獲取,也可以從第三方設(shè)備上獲取),并在與查詢得到的表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與輸入圖像相似的圖像。可以理解的是,關(guān)于執(zhí)行“在與查詢得到的表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與輸入圖像相似的圖像”的主體并不僅限于此,還可以根據(jù)實(shí)際需求來(lái)靈活配置。在本優(yōu)選的實(shí)施例中,識(shí)別裝置利用圖像本身的內(nèi)容作為圖像簽名,其簽名的相似度取決于圖像本身的相似度,即越是相似的圖像,其簽名的相似度也越大,或者說(shuō)對(duì)應(yīng)的空間距離(海明距離或歐氏距離)越短,這樣,僅僅是存儲(chǔ)格式不同的圖像具有完全相同圖像簽名值,從而解決了現(xiàn)有技術(shù)中的圖像識(shí)別方法所存在的容錯(cuò)性的問(wèn)題,使得能夠準(zhǔn)確地識(shí)別出所需的相似圖像。優(yōu)選的,通過(guò)以下步驟獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名可以但不限于由圖4所示的轉(zhuǎn)化模塊3021將輸入圖像轉(zhuǎn)化為灰度圖像;可以但不限于由圖4所示的計(jì)算模塊3022將灰度圖像分成NXN的子圖像,并對(duì)每個(gè)子圖像分別從M個(gè)方向上計(jì)算邊緣直方圖,得到NXNXM個(gè)計(jì)算結(jié)果,其中,N和M均為自然數(shù);可以但不限于由圖4所示的生成模塊3023將灰度圖像對(duì)應(yīng)的NXNXM個(gè)計(jì)算結(jié)果組合成作為圖像簽名的NXNXM維向量。優(yōu)選的,還可以對(duì)NXNXM維向量采用基于人眼視覺(jué)敏感程度的非均勻量化技術(shù)。在本優(yōu)選的實(shí)施例中,利用圖像自身的內(nèi)容信息來(lái)計(jì)算圖像的圖像簽名,從而大大降低了發(fā)生沖突的概率。此外,本優(yōu)選的實(shí)施例采用邊緣直方圖的統(tǒng)計(jì)值作為圖像簽名的基礎(chǔ)特征, 配合圖像分割以及基于人眼視覺(jué)敏感程度的非均勻量化技術(shù),對(duì)不同顏色、不同縮放比例、 局部模糊以及失真均有很好的適應(yīng)性。需要注意的是,分割的方式僅是一種示例,本申請(qǐng)不僅限于此,例如,將灰度圖像分成NXP的子圖像。作為一種最佳的方式,M可以等于5。 優(yōu)選的,計(jì)算模塊3022對(duì)每個(gè)子圖像分別從5個(gè)方向上計(jì)算邊緣直方圖的步驟包括對(duì)于每個(gè)子圖像中的每個(gè)圖像塊而言,計(jì)算該圖像塊五個(gè)方向上的梯度值,選取梯度值最大的方向進(jìn)行作為該圖像塊的待統(tǒng)計(jì)方向,在一個(gè)子圖像中統(tǒng)計(jì)上述五個(gè)方向作為待統(tǒng)計(jì)方向的次數(shù),并將得到的統(tǒng)計(jì)值作為該子圖像的邊緣直方圖。舉例來(lái)說(shuō),假設(shè)一個(gè)子圖像具有1000個(gè)圖像塊,五個(gè)方向分別為A,B,C,D,E,其中,100個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)锳,200個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)锽,300個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)镃,400個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)镈,O個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)镋,則該子圖像的統(tǒng)計(jì)值(或?qū)?yīng)的邊緣直方圖)為向量(100,200,300,400,O)。在本優(yōu)選的實(shí)施例中,轉(zhuǎn)化模塊3021、計(jì)算模塊3022以及生成模塊3023可以但不限于由同一個(gè)微處理器MCU來(lái)實(shí)現(xiàn)。優(yōu)選的,對(duì)圖像簽名進(jìn)行哈希操作的步驟包括可以但不限于由圖4所示的第一哈希處理模塊3041分別使用L個(gè)局部哈希函數(shù)對(duì)圖像簽名進(jìn)行哈希操作,得到L個(gè)第一哈希值,其中,L為自然數(shù);可以但不限于由圖4所示的第二哈希處理模塊3042使用ー個(gè)全局哈希函數(shù)分別對(duì)L個(gè)第一哈希值進(jìn)行哈希 操作,得到L個(gè)第二哈希值。在本優(yōu)選的實(shí)施例中,采用了基于局部敏感哈希技術(shù)的海量相似圖像索引方案,將檢索的時(shí)間復(fù)雜度降低到亞線性級(jí)別。在本優(yōu)選的實(shí)施例中,第一哈希處理模塊3041和第二哈希處理模塊3042可以但不限于由同一個(gè)編碼芯片或微處理器MCU來(lái)實(shí)現(xiàn)。優(yōu)選的,在預(yù)先存儲(chǔ)的哈希表中查詢與哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng)的步驟包括可以但不限于由圖4所示的查找模塊3061在每個(gè)第二哈希值對(duì)應(yīng)的哈希表中查找是否存在記錄有第二哈希值的表項(xiàng),其中,所述哈希表中的每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值和圖像標(biāo)識(shí),或者,所述每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值、該圖像的圖像標(biāo)識(shí)以及圖像簽名;若存在,則可以但不限于由圖4所示的添加模塊3062將查找到的表項(xiàng)所記錄的圖像添加到候選圖像中。在本優(yōu)選的實(shí)施例中,采用了查找方式來(lái)查找對(duì)應(yīng)的候選圖像,提高了查找的準(zhǔn)確性和效率。在本優(yōu)選的實(shí)施例中,查找模塊3061和添加模塊3062可以但不限于由同一個(gè)微處理器MCU來(lái)實(shí)現(xiàn)。優(yōu)選的,第二哈希值與哈希表的對(duì)應(yīng)關(guān)系包括但不限于第i個(gè)第二哈希值對(duì)應(yīng)于第i個(gè)哈希表,i = I,... L0例如,第二哈希值與哈希表的對(duì)應(yīng)關(guān)系還可以為第i個(gè)第ニ哈希值對(duì)應(yīng)于第L-i+Ι個(gè)哈希表,i = I, ... L0優(yōu)選的,分別使用L個(gè)局部哈希函數(shù)對(duì)圖像簽名進(jìn)行哈希操作的步驟包括可以但不限于由圖4所示的第一哈希處理模塊3041將圖像簽名轉(zhuǎn)換成R維ニ進(jìn)制向量,其中,R為自然數(shù);可以但不限于由圖4所示的第一哈希處理模塊3041使用R維ニ進(jìn)制向量生成L個(gè)局部哈希函數(shù),其中,每個(gè)局部哈希函數(shù)由R維ニ進(jìn)制向量中的一維或多維ニ進(jìn)制向量生成;可以但不限于由圖4所示的第一哈希處理模塊3041使用L個(gè)局部哈希函數(shù)對(duì)R維ニ進(jìn)制向量進(jìn)哈希操作。在本優(yōu)選的實(shí)施例中,采用特定的方式來(lái)進(jìn)行哈希操作,大大降低了發(fā)生沖突的概率。需要注意的是,哈希操作的過(guò)程只是ー種示例,本申請(qǐng)不僅限于此。優(yōu)選的,使用R維ニ進(jìn)制向量中的一維或多維ニ進(jìn)制向量生成ー個(gè)局部哈希函數(shù)的步驟包括可以但不限于由圖4所示的第一哈希處理模塊3041設(shè)置局部哈希函數(shù)的輸入?yún)?shù)為K ;可以但不限于由圖4所示的第一哈希處理模塊3041隨機(jī)從R維ニ進(jìn)制向量中選取K維ニ進(jìn)制向量,將K維ニ進(jìn)制向量進(jìn)行拼接作為局部哈希函數(shù)的返回值,其中,K < R。在本優(yōu)選的實(shí)施例中,采用特定的方式來(lái)生成局部哈希函數(shù),進(jìn)ー步降低了發(fā)生沖突的概率。需要注意的是,生成ー個(gè)局部哈希函數(shù)的步驟只是ー種示例,本申請(qǐng)不僅限于此。優(yōu)選的,在與查詢得到的表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與輸入圖像相似的圖像的步驟包括可以但不限于由圖4所示的計(jì)算模塊3081計(jì)算輸入圖像的圖像簽名與每個(gè)候選圖像的圖像簽名之間的空間距離;可以但不限于由圖4所示的識(shí)別模塊3082按照空間距離的大小來(lái)識(shí)別候選圖像與輸入圖像的相似度,其中,空間距離越小的候選圖像與輸入圖像的相似度越高。在本優(yōu)選的實(shí)施例中,通過(guò)采用空間距離來(lái)識(shí)別相似圖像,大大提高了識(shí)別的準(zhǔn)備性。優(yōu)選的,本實(shí)施例中的空間距離可以包括但不限于海明距離和歐式距離在本優(yōu)選的實(shí)施例中,計(jì)算模塊3081和識(shí)別模塊3082可以但不限于由同一個(gè)微處理器MCU來(lái)實(shí)現(xiàn)。優(yōu)選的,按照空間距離的大小來(lái)識(shí)別候選圖像與輸入圖像的相似度之后,本優(yōu)選實(shí)施例的識(shí)別方法還包括可以但不限于由圖3所示的輸出單元310按照空間距離的大小輸出候選圖像。在本優(yōu)選的實(shí)施例中,通過(guò)按照相似度來(lái)輸出相似圖像,大大提高了用戶的體驗(yàn)度。在本優(yōu)選的實(shí)施例中,輸出單元310可以但不限于為藍(lán)牙傳輸模塊,或者,紅外傳輸模塊,或者,以太網(wǎng)傳輸模塊。優(yōu)選的,在分別使用L個(gè)局部哈希函數(shù)對(duì)圖像簽名進(jìn)行哈希操作之前,通過(guò)以下步驟預(yù)先建立L個(gè)哈希表可以但不限于由圖3所示的哈希表建立單元312分別使用L個(gè)局部哈希函數(shù)對(duì)與每個(gè)待存儲(chǔ)的圖像的內(nèi)容對(duì)應(yīng)的圖像簽名進(jìn)行哈希操作,得到L個(gè)第三哈希值,其中,L為自然數(shù);可以但不限于由圖3所示的哈希表建立單元312使用一個(gè)全局哈希函數(shù)分別對(duì)L個(gè)第三哈希值進(jìn)行哈希操作,得到L個(gè)第四哈希值;可以但不限于由圖3 所示的哈希表建立單元312將第j個(gè)第四哈希值以及第四哈希值對(duì)應(yīng)的圖像標(biāo)識(shí)和圖像簽名記錄到第j個(gè)哈希表中,其中,j = I, ... Lo在本優(yōu)選的實(shí)施例中,采用了方式來(lái)建立存儲(chǔ)圖像索引的哈希表,提高了查找的準(zhǔn)確性和效率。在本優(yōu)選的實(shí)施例中,哈希表建立單元312可以但不限于由同一個(gè)微處理器MCU 來(lái)實(shí)現(xiàn)?;谝陨系淖R(shí)別系統(tǒng)和裝置以及識(shí)別方法,以下結(jié)合附圖來(lái)具體描述識(shí)別方法中的圖像簽名獲取方法、圖像索引構(gòu)建方法以及相似圖像查詢方法。如圖6所示,圖像簽名獲取方法(也稱特征提取階段)包括從圖像中提取元數(shù)據(jù)信息作為唯一標(biāo)識(shí)圖像本身的簽名,本優(yōu)選的實(shí)施例采用基于邊緣直方圖的紋理特征來(lái)生成簽名,具體步驟如下S602,可以但不限于由圖4所示的轉(zhuǎn)化模塊3021將原始圖像轉(zhuǎn)化為灰度圖像,以期到最終得到的結(jié)果對(duì)顏色、光照的改變不敏感;S604,可以但不限于由圖4所示的計(jì)算模塊3022將灰度圖像分割成NXN的子圖像;S606,可以但不限于由圖4所示的計(jì)算模塊3022把S604中處理完畢的子圖像進(jìn)一步分割為固定數(shù)目的一系列圖像塊,每個(gè)圖像塊的面積隨著原始圖像的面積變化而變化;S608,可以但不限于由圖4所示的計(jì)算模塊3022計(jì)算每個(gè)子圖像的五個(gè)方向上的邊緣直方圖。具體地,對(duì)于每個(gè)子圖像中的每個(gè)圖像塊而言,計(jì)算該圖像塊五個(gè)方向上的梯度值,選取梯度值最大的方向進(jìn)行作為該圖像塊的待統(tǒng)計(jì)方向,在一個(gè)子圖像中統(tǒng)計(jì)上述五個(gè)方向作為待統(tǒng)計(jì)方向的次數(shù),并將得到的統(tǒng)計(jì)值作為該子圖像的邊緣直方圖。
舉例來(lái)說(shuō),假設(shè)一個(gè)子圖像具有1000個(gè)圖像塊,上述五個(gè)方向分別為A,B, C,D,E,其中,100個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)锳,200個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)锽,300個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)镃,400個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)镈,O個(gè)圖像塊的待統(tǒng)計(jì)方向?yàn)镋,則該子圖像的統(tǒng)計(jì)值(或?qū)?yīng)的邊緣直方圖)為向量(100,200,300,400,O)。S610,可以但不限于由圖4所示的生成模塊3023將各個(gè)子圖像的統(tǒng)計(jì)值(即向量)拼接成一個(gè)多維向量作為原始圖像的簽名。假設(shè)按照N = 4進(jìn)行切分,原始圖像的簽名最終會(huì)以ー個(gè)4X4X5 = 80維的向量來(lái)表示。S612,考慮到人眼視覺(jué)對(duì)亮 度敏感程度的非均勻性,采用非線性量化的方式,可以但不限于由圖4所示的生成模塊3023對(duì)S610中得到的80維整型向量進(jìn)行量化壓縮,以達(dá)到較高的空間利用率。舉例來(lái)說(shuō),使用0-7之間的8個(gè)數(shù)字進(jìn)行量化,最后得到的單個(gè)簽名所占空間的大小為80X3 = 240bit,也就是30個(gè)字節(jié),相比量化之前節(jié)約了 90%以上的存儲(chǔ)空間。S614,將壓縮后的結(jié)果作為圖像簽名。當(dāng)然,上述S612步驟中的壓縮處理是ー種優(yōu)選的方式,本發(fā)明也可以直接將S610得到的80維向量來(lái)作為該圖像的圖像簽名。在本優(yōu)選的實(shí)施例中,轉(zhuǎn)化模塊3021、計(jì)算模塊3022以及生成模塊3023可以但不限于由同一個(gè)微處理器MCU來(lái)實(shí)現(xiàn)。如圖7所示,圖像索引構(gòu)建方法(也稱為索引構(gòu)建階段)主要包括針對(duì)特征提取階段所獲得的圖像簽名,實(shí)現(xiàn)高維向量的K近似檢索,本優(yōu)選實(shí)施例采用局部敏感哈希來(lái)實(shí)現(xiàn),具體步驟如下S702,可以但不限于由圖4所示的第一哈希處理模塊3041將特征提取階段所獲的向量標(biāo)識(shí)轉(zhuǎn)化為海明空間中的高維ニ進(jìn)制向量(即每ー維僅為I或O),例如,假設(shè)某ー維的向量值為X,最大值為C,則向量在海明空間表示為連續(xù)的X個(gè)I緊跟C-X個(gè)O的C維ニ進(jìn)制向量。S704,可以但不限于由圖4所示的第一哈希處理模塊3041定義如下的哈希函數(shù)G,隨機(jī)選取S702中目標(biāo)向量的K維ニ進(jìn)制向量,將結(jié)果拼接起來(lái)作為返回值。目標(biāo)向量之間相似度越大,產(chǎn)生的相同哈希值相概率越大。S706,為降低近似檢索的誤差,可以但不限于由圖4所示的第一哈希處理模塊3041利用L個(gè)S704中隨機(jī)生成的哈希函數(shù),將其分別作用在S702中提取的高維向量中;S708,可以但不限于由圖4所示的第二哈希處理模塊3042對(duì)S706中的結(jié)果使用傳統(tǒng)的哈希函數(shù)(例如md5)再次哈希;S710,可以但不限于由圖4所示的第二哈希處理模塊3042將S708中的哈希結(jié)果作為鍵、圖片的唯一標(biāo)識(shí)(ID)作為值存放存在對(duì)應(yīng)的L個(gè)哈希表當(dāng)中。優(yōu)選的,相同的圖像簽名會(huì)被放在同ー個(gè)桶中去,不同的圖像簽名,則有較大概率放到不同的桶中去。在本優(yōu)選的實(shí)施例中,第一哈希處理模塊3041和第二哈希處理模塊3042可以但不限于由同一個(gè)編碼芯片或微處理器MCU來(lái)實(shí)現(xiàn)。優(yōu)選的,選擇不同K與L的會(huì)在很大程度上影響檢索的準(zhǔn)確率與召回率,一般通過(guò)事先的模擬實(shí)驗(yàn)進(jìn)行預(yù)估。最后生成的索引結(jié)構(gòu),在硬件允許的條件下,可以考慮常駐內(nèi)存以提高檢索效率;在海量樣本庫(kù)的情況下,也可以考慮將索引文件持久化到本地磁盤(pán)或者分布式的處理方式。如圖8所示,相似圖像查詢方法(也稱為查詢階段)主要包括針對(duì)輸入的圖像進(jìn)行處理,獲得其邊緣直方圖的簽名,并在樣本庫(kù)中查詢出相似圖像的過(guò)程,其具體步驟如下S802,可以但不限于由圖4所示的獲取單元302采用圖6所示的方法計(jì)算輸入圖像的簽名值;S804-S810,根據(jù)S802中得到的簽名值,可以但不限于由圖4所示的哈希操作單元 304采用圖7所示的圖像索引構(gòu)建方法,將L個(gè)哈希函數(shù)作用在該簽名上,再計(jì)算md5哈希過(guò)后的值,可以但不限于由圖4所示的查詢單元306分別將計(jì)算得到的結(jié)果作為鍵在L個(gè)哈希表中查詢;S812,可以但不限于由圖4所示的查詢單元306將查詢得到的多個(gè)結(jié)果所對(duì)應(yīng)的圖像添加到候選圖像隊(duì)列中;S814,針對(duì)候選圖像隊(duì)列中的每一個(gè)簽名值,可以但不限于由圖4所示的識(shí)別單元308計(jì)算其與輸入圖像的簽名值的空間距離(海明距離或者歐氏距離),其值的大小決定了候選圖片與輸入圖片的相似度;S816,可以但不限于由圖3所示的輸出單元310按照距離的大小進(jìn)行排序輸出。由于候選隊(duì)列中圖像簽名的數(shù)量與樣本庫(kù)中簽名的數(shù)量相比,已大大減少,因此與現(xiàn)有技術(shù)相比,計(jì)算的成本或開(kāi)銷也大為減少。最后得到的結(jié)果集就是與目標(biāo)圖像相似、并按照相似度排序的圖像集。在本優(yōu)選的實(shí)施例中,哈希操作單元304可以為微處理器MCU,或FPGA等,作為一種優(yōu)選的方式,哈希操作單元304與獲取單元302所執(zhí)行的功能可以由同一個(gè)處理器來(lái)實(shí)現(xiàn)。此外,在本優(yōu)選的實(shí)施例中,查詢單元306可以但不限于通過(guò)內(nèi)部總線與保存了哈希表的數(shù)據(jù)庫(kù)進(jìn)行通信,查詢單元306與識(shí)別單元308所執(zhí)行的功能可以由同一個(gè)處理器來(lái)實(shí)現(xiàn)。從以上的描述中,可以看出,本申請(qǐng)實(shí)現(xiàn)了如下技術(shù)效果在本申請(qǐng)中,利用圖像本身的內(nèi)容作為圖像簽名,其簽名的相似度取決于圖像本身的相似度,即越是相似的圖像,其簽名的相似度也越大,或者說(shuō)對(duì)應(yīng)的空間距離(海明距離或歐氏距離)越短,這樣,僅僅是存儲(chǔ)格式不同的圖像具有完全相同圖像簽名值,從而解決了現(xiàn)有技術(shù)中的圖像識(shí)別方法所存在的容錯(cuò)性的問(wèn)題,使得能夠準(zhǔn)確地識(shí)別出所需的相似圖像。在此基礎(chǔ)上,本申請(qǐng)還提出了基于局部敏感哈希技術(shù)的海量相似圖像索引方案,將檢索的時(shí)間復(fù)雜度降低到亞線性級(jí)別,并且能將結(jié)果按照相似程度進(jìn)行排序輸出。此外,采用邊緣直方圖的統(tǒng)計(jì)值作為圖像簽名的基礎(chǔ)特征,配合圖像分割和基于人眼視覺(jué)敏感程度的非均勻量化技術(shù),對(duì)不同顏色、不同縮放比例、局部模糊以及失真均有很好的適應(yīng)性。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,本申請(qǐng)的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本申請(qǐng)不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本申請(qǐng)的優(yōu)選實(shí)施例而已,并不用于限制本申請(qǐng),對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種相似圖像的識(shí)別方法,其特征在于包括獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名;對(duì)所述圖像簽名進(jìn)行哈希操作;在預(yù)先存儲(chǔ)的哈希表中查詢與所述哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng);以及在與查詢得到的所述表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與所述輸入圖像相似的圖像。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,通過(guò)以下步驟獲取所述與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名將所述輸入圖像轉(zhuǎn)化為灰度圖像;將所述灰度圖像分成NXN的子圖像,并對(duì)每個(gè)所述子圖像分別從M個(gè)方向上計(jì)算邊緣直方圖,得到NXNXM個(gè)計(jì)算結(jié)果,其中,所述N和M均為自然數(shù);以及將所述灰度圖像對(duì)應(yīng)的N X N X M個(gè)計(jì)算結(jié)果組合成作為所述圖像簽名的N X N X M維向量。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,對(duì)所述圖像簽名進(jìn)行哈希操作的步驟包括分別使用L個(gè)局部哈希函數(shù)對(duì)與所述圖像簽名進(jìn)行哈希操作,得到L個(gè)第一哈希值,其中,L為自然數(shù);以及使用一個(gè)全局哈希函數(shù)分別對(duì)所述L個(gè)第一哈希值進(jìn)行哈希操作,得到L個(gè)第二哈希值。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在預(yù)先存儲(chǔ)的哈希表中查詢與所述哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng)的步驟包括在每個(gè)所述第二哈希值對(duì)應(yīng)的所述哈希表中查找是否存在記錄有該第二哈希值的表項(xiàng),并將查找到的所述表項(xiàng)所記錄的圖像添加到所述候選圖像中,其中,所述哈希表中的每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值和圖像標(biāo)識(shí),或者,所述每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值、該圖像的圖像標(biāo)識(shí)以及圖像簽名。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述第二哈希值與所述哈希表的對(duì)應(yīng)關(guān)系包括第i個(gè)所述第二哈希值對(duì)應(yīng)于第i個(gè)所述哈希表,i = L ... L0
6.根據(jù)權(quán)利要求3至5中任一項(xiàng)所述的方法,其特征在于,分別使用L個(gè)局部哈希函數(shù)對(duì)所述圖像簽名進(jìn)行哈希操作的步驟包括將所述圖像簽名轉(zhuǎn)換成R維二進(jìn)制向量,其中,R為自然數(shù);使用所述R維二進(jìn)制向量生成L個(gè)所述局部哈希函數(shù),其中,每個(gè)所述局部哈希函數(shù)由所述R維二進(jìn)制向量中的一維或多維二進(jìn)制向量生成;以及使用L個(gè)所述局部哈希函數(shù)對(duì)所述R維二進(jìn)制向量進(jìn)哈希操作。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,使用所述R維二進(jìn)制向量中的一維或多維二進(jìn)制向量生成一個(gè)局部哈希函數(shù)的步驟包括設(shè)置所述局部哈希函數(shù)的輸入?yún)?shù)為K ;以及隨機(jī)從所述R維二進(jìn)制向量中選取K維二進(jìn)制向量,將所述K維二進(jìn)制向量進(jìn)行拼接作為所述局部哈希函數(shù)的返回值,其中,K < R。
8.根據(jù)權(quán)利要求I至5中任一項(xiàng)所述的方法,其特征在于,在與查詢得到的所述表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與所述輸入圖像相似的圖像的步驟包括計(jì)算所述輸入圖像的圖像簽名與每個(gè)所述候選圖像的圖像簽名之間的空間距離;以及按照空間距離的大小來(lái)識(shí)別所述候選圖像與所述輸入圖像的相似度,其中,空間距離越小的所述候選圖像與所述輸入圖像的相似度越高。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,按照空間距離的大小來(lái)識(shí)別所述候選圖像與所述輸入圖像的相似度之后,還包括按照所述空間距離的大小輸出所述候選圖像。
10.根據(jù)權(quán)利要求3所述的方法,其特征在于,在分別使用L個(gè)局部哈希函數(shù)對(duì)所述圖像簽名進(jìn)行哈希操作之前,通過(guò)以下步驟預(yù)先建立所述L個(gè)哈希表分別使用L個(gè)局部哈希函數(shù)對(duì)與每個(gè)待存儲(chǔ)的圖像的內(nèi)容對(duì)應(yīng)的圖像簽名進(jìn)行哈希操作,得到L個(gè)第三哈希值,其中,L為自然數(shù);使用一個(gè)全局哈希函數(shù)分別對(duì)所述L個(gè)第三哈希值進(jìn)行哈希操作,得到L個(gè)第四哈希值;以及將第j個(gè)第四哈希值以及該第四哈希值對(duì)應(yīng)的圖像標(biāo)識(shí)和圖像簽名記錄到第j個(gè)哈希表中,其中,j = L ... L0
11.一種相似圖像的識(shí)別裝置,位于圖像服務(wù)器上,其特征在于,包括獲取單元,用于獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名;哈希操作單元,用于對(duì)所述圖像簽名進(jìn)行哈希操作;查詢單元,用于在預(yù)先存儲(chǔ)的哈希表中查詢與所述哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng);以及識(shí)別單元,用于在與查詢得到的所述表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與所述輸入圖像相似的圖像。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述獲取單元包括轉(zhuǎn)化模塊,用于將所述輸入圖像轉(zhuǎn)化為灰度圖像;計(jì)算模塊,用于將所述灰度圖像分成NXN的子圖像,并對(duì)每個(gè)所述子圖像分別從M個(gè)方向上計(jì)算邊緣直方圖,得到NXNXM個(gè)計(jì)算結(jié)果,其中,所述N和M均為自然數(shù);以及生成模塊,用于將所述灰度圖像對(duì)應(yīng)的NXNXM個(gè)計(jì)算結(jié)果組合成作為所述圖像簽名的NXNXM維向量。
13.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述哈希操作單元包括第一哈希處理模塊,用于分別使用L個(gè)局部哈希函數(shù)對(duì)所述圖像簽名進(jìn)行哈希操作,得到L個(gè)第一哈希值,其中,L為自然數(shù);以及第二哈希處理模塊,用于使用一個(gè)全局哈希函數(shù)分別對(duì)所述L個(gè)第一哈希值進(jìn)行哈希操作,得到L個(gè)第二哈希值。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述查詢單元包括查找模塊,用于在每個(gè)所述第二哈希值對(duì)應(yīng)的所述哈希表中查找是否存在記錄有該第二哈希值的表項(xiàng),其中,所述哈希表中的每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值和圖像標(biāo)識(shí),或者,所述每個(gè)表項(xiàng)記錄了一個(gè)圖像的哈希值、該圖像的圖像標(biāo)識(shí)以及圖像簽名;以及添加模塊,用于在存在記錄有該第二哈希值的表項(xiàng)時(shí),將查找到的表項(xiàng)所記錄的圖像添加到所述候選圖像中。
15.根據(jù)權(quán)利要求13或14所述的裝置,其特征在于,所述第一哈希處理模塊包括轉(zhuǎn)換子模塊,用于將所述圖像簽名轉(zhuǎn)換成R維二進(jìn)制向量,其中,R為自然數(shù);生成子模塊,用于使用所述R維二進(jìn)制向量生成L個(gè)所述局部哈希函數(shù),其中,每個(gè)所述局部哈希函數(shù)由所述R維二進(jìn)制向量中的一維或多維二進(jìn)制向量生成;以及哈希操作子模塊,用于使用L個(gè)所述局部哈希函數(shù)對(duì)所述R維二進(jìn)制向量進(jìn)哈希操作。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述生成子模塊包括設(shè)置子模塊,用于設(shè)置所述局部哈希函數(shù)的輸入?yún)?shù)為K ;以及處理子模塊,用于隨機(jī)從所述R維二進(jìn)制向量中選取K維二進(jìn)制向量,將所述K維二進(jìn)制向量進(jìn)行拼接作為所述局部哈希函數(shù)的返回值,其中,K < R0
17.根據(jù)權(quán)利要求11至14中任一項(xiàng)所述的裝置,其特征在于,所述識(shí)別單元包括計(jì)算模塊,用于計(jì)算所述輸入圖像的所述圖像簽名與每個(gè)所述候選圖像的圖像簽名之間的空間距離;以及識(shí)別模塊,用于按照空間距離的大小來(lái)識(shí)別所述候選圖像與所述輸入圖像的相似度,其中,空間距離越小的所述候選圖像與所述輸入圖像的相似度越高。
18.根據(jù)權(quán)利要求17所述的裝置,其特征在于,還包括輸出單元,用于在按照空間距離的大小來(lái)識(shí)別所述候選圖像與所述輸入圖像的相似度之后,按照所述空間距離的大小輸出所述候選圖像。
19.根據(jù)權(quán)利要求13所述的裝置,其特征在于,還包括哈希表建立單元,用于在所述第一哈希操作模塊分別使用L個(gè)局部哈希函數(shù)對(duì)與所述輸入圖像的內(nèi)容對(duì)應(yīng)的圖像簽名進(jìn)行哈希操作之前,分別使用L個(gè)局部哈希函數(shù)對(duì)與每個(gè)待存儲(chǔ)的圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名進(jìn)行哈希操作,得到L個(gè)第三哈希值,其中,L為自然數(shù);使用一個(gè)全局哈希函數(shù)分別對(duì)所述L個(gè)第三哈希值進(jìn)行哈希操作,得到L個(gè)第四哈希值;將第j個(gè)第四哈希值以及該第四哈希值對(duì)應(yīng)的圖像標(biāo)識(shí)和圖像簽名記錄到第j個(gè)哈希表中,其中,j = !,...L0
全文摘要
本申請(qǐng)?zhí)峁┝艘环N相似圖像的識(shí)別方法和裝置,用于獲取與輸入圖像的內(nèi)容信息對(duì)應(yīng)的圖像簽名,對(duì)圖像簽名進(jìn)行哈希操作,在預(yù)先存儲(chǔ)的哈希表中查詢與哈希操作的結(jié)果相對(duì)應(yīng)的表項(xiàng),并在與查詢得到的表項(xiàng)對(duì)應(yīng)的候選圖像中識(shí)別與輸入圖像相似的圖像。本申請(qǐng)解決了現(xiàn)有圖像識(shí)別技術(shù)中所存在的容錯(cuò)性問(wèn)題,使得能夠準(zhǔn)確地識(shí)別出所需的相似圖像。
文檔編號(hào)G06F17/30GK102622366SQ20111003170
公開(kāi)日2012年8月1日 申請(qǐng)日期2011年1月28日 優(yōu)先權(quán)日2011年1月28日
發(fā)明者薛暉 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司