本發(fā)明實施例涉及多媒體內(nèi)容檢索技術(shù)領(lǐng)域,具體涉及一種基于區(qū)域驗證的圖像檢索方法。
背景技術(shù):
近年來,隨著互聯(lián)網(wǎng)技術(shù)和數(shù)字媒體技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)上可供使用的圖像資源也越來越多。如何為用戶快速地找到有利用價值的圖片,成為了一個重要研究課題。早先的基于關(guān)鍵字查找圖片的形式已經(jīng)無法滿足用戶日益廣泛的需求,基于圖像視覺內(nèi)容的檢索方式漸漸成為主流方向。基于視覺內(nèi)容的圖像檢索作為一種基本方法,已經(jīng)用于商品識別與搜索、位置識別和三維重建等應(yīng)用場景中。
現(xiàn)有的圖像檢索方法通常利用底層視覺特征進(jìn)行匹配與檢索。通過關(guān)鍵點(Keypoints)檢測算法,可以找到圖像中包含關(guān)鍵信息的興趣點,這些關(guān)鍵點具有可重復(fù)性,也就是在進(jìn)行一定的尺度變換、旋轉(zhuǎn)、位移和視角變化等情況下,仍然可以重復(fù)檢測出這些關(guān)鍵點。隨后再利用一些描述方法,對關(guān)鍵點附近的一定范圍內(nèi)進(jìn)行視覺信息描述,提取局部描述子(Local Descriptor)。圖像之間的相似度關(guān)系就通過這些局部描述子的匹配來進(jìn)行計算。
一幅圖像通常可提取出數(shù)千個局部描述子,且描述子一般為浮點型,若是通過線性方式計算歐式距離來進(jìn)行匹配,將會有相當(dāng)高的計算復(fù)雜度?,F(xiàn)有的圖像檢索算法多數(shù)通過詞袋模型(Bag-of-Visual-Words,BoW)和倒排索引來提高檢索效率。一個視覺詞典會在獨立數(shù)據(jù)集上被訓(xùn)練出來,局部描述子會被量化到其中距離最近的一個視覺單詞上,如果兩個局部描述子被量化到同一個視覺單詞上,即可認(rèn)為這兩個局部描述子是相似的,從而構(gòu)成一個匹配對。兩幅圖像的相似度一般可以通過這兩幅圖像的局部描述子的匹配對數(shù)來進(jìn)行衡量。倒排索引表的引入可以使這種檢索方式變得非常高效。
但這種基于詞典模型的檢索方法存在兩個問題。一個問題是量化誤差,也就是不相似的兩個局部描述子被量化到同一個視覺單詞上。另一個問題是局部描述子本身的信息量不夠充分。局部描述子僅僅描述局部區(qū)塊的視覺信息,即使兩個局部描述子是相似的或者是一致的,也不代表它們就是一個正確的匹配對,如果往更大的區(qū)域觀察的話,這兩個描述子可能完全表示不同的內(nèi)容。因此,這兩個問題通常會導(dǎo)致錯誤的匹配。一種解決方式就是考慮更大的區(qū)域信息,通過關(guān)鍵點所處的更大的區(qū)域內(nèi)容,來進(jìn)行關(guān)鍵點的匹配驗證。
區(qū)域驗證的匹配方式最關(guān)鍵的要素是,如何選擇合適的區(qū)域來進(jìn)行關(guān)鍵點匹配驗證。一種方式是考慮整幅圖像的內(nèi)容來進(jìn)行驗證,比如預(yù)測兩幅圖像之間的全局變換模型,如果某個關(guān)鍵點匹配對不滿足這種變換模型,便從匹配集合中篩除。還有的方式將圖像分成多個區(qū)域,直接指定某一個區(qū)域來進(jìn)行關(guān)鍵點匹配驗證。這些方法在一定情況下有效果,但在遇到圖像有遮擋、雜質(zhì)等干擾項的情況下,效果可能會很小,甚至還會降低關(guān)鍵點匹配的準(zhǔn)確度。
有鑒于此,特提出本發(fā)明。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的主要目的在于提供一種基于區(qū)域驗證的圖像檢索方法,其至少部分地解決了如何提高圖像檢索準(zhǔn)確度的技術(shù)問題。
為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了以下技術(shù)方案:
一種基于區(qū)域驗證的圖像檢索方法,該方法包括:
提取圖像庫中圖像的第一局部特征和第一區(qū)域特征,并構(gòu)建特征索引;
提取待檢索圖像的第二局部特征和第二區(qū)域特征;
基于所述第二局部特征和所述特征索引,確定所述待檢索圖像與所述圖像庫中圖像之間的局部特征匹配對;
基于所述特征索引并利用所述第一區(qū)域特征和所述第二區(qū)域特征對所述局部特征匹配對進(jìn)行驗證,確定匹配得分;
根據(jù)所述匹配得分,確定所述圖像庫中圖像與所述待檢索圖像之間的相似度;
根據(jù)所述相似度反饋檢索結(jié)果。
優(yōu)選地,所述提取圖像庫中圖像的第一區(qū)域特征包括:
在L個尺度下對所述圖像庫中的各圖像進(jìn)行劃分;其中,所述L表示尺度數(shù)量,并取正整數(shù);
針對第l個尺度,將所述圖像庫中各圖像分別劃分為l×l個大小相同、有重疊且覆蓋所述整幅圖像的區(qū)域;其中,所述l表示尺度序號并取正整數(shù);
針對各區(qū)域分別提取第一區(qū)域特征。
優(yōu)選地,所述提取圖像庫中圖像的第一局部特征具體包括:
檢測所述圖像庫中各圖像的關(guān)鍵點;
利用描述算法對所述關(guān)鍵點鄰域的內(nèi)容提取第一局部特征;
所述構(gòu)建特征索引具體包括:
基于所述第一局部特征,構(gòu)建局部特征庫;
使用k-均值算法對所述局部特征庫進(jìn)行聚類,并設(shè)置聚類中心,建立詞袋模型;
根據(jù)所述詞袋模型,構(gòu)建倒排索引表;
為所述圖像庫中各圖像的所述關(guān)鍵點分配區(qū)域指示器;
將所述第一局部特征量化到距離最近的所述詞袋模型的視覺單詞上;
根據(jù)所述視覺單詞所對應(yīng)的所述倒排索引表中的位置,將所述關(guān)鍵點的屬性信息存入所述倒排索引表;其中,所述屬性信息包括圖像標(biāo)識符和所述區(qū)域指示器;
將所述第一區(qū)域特征編碼成二值化區(qū)域特征;
分配存儲空間并存儲與所述第一區(qū)域特征對應(yīng)的所述二值化區(qū)域特征;
基于所述倒排索引表和所述存儲空間,構(gòu)建特征索引。
優(yōu)選地,所述提取待檢索圖像的第二區(qū)域特征具體包括:
在L個尺度下對所述待檢索圖像進(jìn)行劃分;其中,所述L表示尺度數(shù)量,并取正整數(shù);
針對第l個尺度,將所述待檢索圖像分別劃分為l×l個大小相同、有重疊且覆蓋所述整幅圖像的區(qū)域;其中,所述l表示尺度序號并取正整數(shù);
針對各區(qū)域分別提取第二區(qū)域特征。
優(yōu)選地,所述基于所述第二局部特征和所述特征索引,確定所述待檢索圖像與所述圖像庫中圖像之間的局部特征匹配對,具體包括:
對所述第二局部特征進(jìn)行量化,且量化到距離最近的視覺單詞上,并遍歷視覺單詞所對應(yīng)的倒排索引表;
確定所述待檢索圖像與所述圖像庫中某一圖像之間的所述局部特征匹配對。
優(yōu)選地,所述提取待檢索圖像的第二局部特征具體包括:
檢測所述待檢索圖像的關(guān)鍵點;
利用描述算法對所述關(guān)鍵點鄰域的內(nèi)容提取第二局部特征;
所述基于所述特征索引并利用所述第一區(qū)域特征和所述第二區(qū)域特征對所述局部特征匹配對進(jìn)行驗證,確定匹配得分,具體包括:
為與所述第二局部特征相關(guān)的所述關(guān)鍵點分配區(qū)域指示器;
將所述第二區(qū)域特征編碼成二值化區(qū)域特征;
根據(jù)與所述局部特征匹配對對應(yīng)的兩個關(guān)鍵點的區(qū)域指示器以及所述二值化區(qū)域特征,構(gòu)建二值化區(qū)域特征集合;
根據(jù)以下公式,從所述二值化區(qū)域特征集合中查找最佳區(qū)域?qū)Γ?/p>
其中,所述表示所述待檢索圖像中關(guān)鍵點x對應(yīng)的二值化區(qū)域特征;所述表示所述圖像庫中某一圖像中關(guān)鍵點y對應(yīng)的二值化區(qū)域特征;所述x和所述y為所述局部特征匹配對;pi表示二值化區(qū)域特征;所述i和j滿足條件i∈[1,Tx],j∈[1,Ty];所述Tx表示所述x所處的區(qū)域的個數(shù);所述Ty表示所述y所處的區(qū)域的個數(shù);所述m和所述n表示查找出的最佳區(qū)域?qū)Φ臉?biāo)號;所述h(,)表示漢明距離的計算函數(shù);
基于所述最佳區(qū)域?qū)?,根?jù)以下公式,進(jìn)行區(qū)域驗證,計算匹配得分:
其中,所述s(x,y)表示匹配分?jǐn)?shù);所述m和所述n表示查找出的最佳區(qū)域?qū)Φ臉?biāo)號;所述σ表示可調(diào)參數(shù)。
優(yōu)選地,所述根據(jù)所述匹配得分,確定所述圖像庫中圖像與所述待檢索圖像之間的相似度,具體包括:
將所述匹配得分進(jìn)行累加,得到總得分,并將所述總得分作為所述圖像庫中圖像與所述待檢索圖像之間的相似度。
優(yōu)選地,所述根據(jù)所述相似度反饋檢索結(jié)果具體包括:
對所述相似度按照由大到小的順序排序;
按照所述順序反饋檢索結(jié)果。
與現(xiàn)有技術(shù)相比,上述技術(shù)方案至少具有以下有益效果:
本發(fā)明實施例通過分別提取圖像庫中的圖像和待檢索圖像的局部特征和區(qū)域特征,然后,根據(jù)圖像庫中圖像的局部特征和區(qū)域特征來構(gòu)建特征索引;接著確定待檢索圖像與圖像庫中圖像之間的局部特征匹配對;再基于特征索引并利用第一區(qū)域特征和第二區(qū)域特征對局部特征匹配對進(jìn)行驗證,確定匹配得分;根據(jù)匹配得分,確定圖像庫中圖像與待檢索圖像之間的相似度;最后,根據(jù)相似度反饋檢索結(jié)果。上述技術(shù)方案在檢索階段,對于每個預(yù)匹配的局部特征對,根據(jù)查詢情況會自適應(yīng)地選擇最合適區(qū)域作為驗證線索,來對局部特征的匹配進(jìn)行驗證,可以盡量地減少圖像中遮擋、雜質(zhì)等干擾項的影響,從而提高關(guān)鍵點(或是局部特征)的匹配精度,進(jìn)而提高了圖像檢索的準(zhǔn)確度。在增加少量的存儲空間和檢索時間情況下,實現(xiàn)了比較精確的圖像檢索任務(wù)。
當(dāng)然,實施本發(fā)明的任一產(chǎn)品不一定需要同時實現(xiàn)以上所述的所有優(yōu)點。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其它優(yōu)點可通過在所寫的說明書、權(quán)利要求書以及附圖中所特別指出的方法來實現(xiàn)和獲得。
附圖說明
附圖作為本發(fā)明的一部分,用來提供對本發(fā)明的進(jìn)一步的理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,但不構(gòu)成對本發(fā)明的不當(dāng)限定。顯然,下面描述中的附圖僅僅是一些實施例,對于本領(lǐng)域普通技術(shù)人員來說,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。在附圖中:
圖1為根據(jù)一示例性實施例示出的基于區(qū)域驗證的圖像檢索方法的流程示意圖;
圖2為根據(jù)另一示例性實施例示出的查找最佳區(qū)域?qū)Φ氖疽鈭D;
圖3為根據(jù)一示例性實施例示出的用以展現(xiàn)所選擇的區(qū)域?qū)梢杂行П鎰e關(guān)鍵點匹配質(zhì)量的示意圖;
圖4為根據(jù)一示例性實施例示出的對示例圖像進(jìn)行檢索的結(jié)果示意圖。
這些附圖和文字描述并不旨在以任何方式限制本發(fā)明的構(gòu)思范圍,而是通過參考特定實施例為本領(lǐng)域技術(shù)人員說明本發(fā)明的概念。
具體實施方式
下面結(jié)合附圖以及具體實施例對本發(fā)明實施例解決的技術(shù)問題、所采用的技術(shù)方案以及實現(xiàn)的技術(shù)效果進(jìn)行清楚、完整的描述。顯然,所描述的實施例僅僅是本申請的一部分實施例,并不是全部實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的前提下,所獲的所有其它等同或明顯變型的實施例均落在本發(fā)明的保護(hù)范圍內(nèi)。本發(fā)明實施例可以按照權(quán)利要求中限定和涵蓋的多種不同方式來具體化。
需要說明的是,在下面的描述中,為了方便理解,給出了許多具體細(xì)節(jié)。但是很明顯,本發(fā)明的實現(xiàn)可以沒有這些具體細(xì)節(jié)。
還需要說明的是,在沒有明確限定或不沖突的情況下,本發(fā)明中的各個實施例及其中的技術(shù)特征可以相互組合而形成技術(shù)方案。
本發(fā)明實施例提供一種基于區(qū)域驗證的圖像檢索方法。如圖1所示,該方法可以包括:步驟S100至步驟S150。
S100:提取圖像庫中圖像的第一局部特征和第一區(qū)域特征,并構(gòu)建特征索引。
其中,提取圖像庫中圖像的第一局部特征具體可以包括步驟S101至步驟S102。
S101:檢測圖像庫中各圖像的關(guān)鍵點。
S102:利用描述算法對關(guān)鍵點鄰域的內(nèi)容提取第一局部特征。
其中,本發(fā)明實施例可以采用海森仿射不變檢測子(Hessian-Affine Detector)方法來檢測關(guān)鍵點。
上述步驟中提取的第一局部特征也即局部描述子。本發(fā)明實施例提取局部特征,用來描述一塊區(qū)域,使其具有高區(qū)分度。優(yōu)選地,局部描述子可以是SIFT描述子。SIFT描述子具有比較好的尺度與旋轉(zhuǎn)不變性。每幅圖像庫中的圖像提取到的局部特征數(shù)量由所采用的算法和圖像內(nèi)容自動決定。本步驟中涉及到的鄰域的大小由描述算法(例如:SIFT算法)決定。提取關(guān)鍵點后,每一個關(guān)鍵點都有一個尺度值;而領(lǐng)域的大小為這個尺度值的固定倍數(shù),例如,鄰域可以是邊長為尺度值六倍的方形區(qū)域。
其中,提取圖像庫中圖像的第一區(qū)域特征包括步驟S103至步驟S105。
S103:在L個尺度下對圖像庫中的各圖像進(jìn)行劃分。其中,L表示尺度數(shù)量,并取正整數(shù)。
S104:針對第l個尺度,將所述圖像庫中各圖像分別劃分為l×l個大小相同、有重疊且覆蓋整幅圖像的區(qū)域;其中,l表示尺度序號并取正整數(shù)。
具體地,針對第l個尺度,將圖像庫中的圖像劃分為l×l個大小相同、有重疊且能覆蓋整幅圖像的區(qū)域,則對于圖像庫中的每一幅圖像,劃分為G個區(qū)域。其中,l表示尺度序號并取正整數(shù)。G表示每一幅圖像的區(qū)域數(shù)量且取正整數(shù)。
本發(fā)明實施例將圖像庫中的圖像在多個尺度下進(jìn)行分割,每個尺度下劃分成多個大小一樣的重疊的區(qū)域,將這些區(qū)域作為用于驗證關(guān)鍵點匹配質(zhì)量的候選選項。
作為示例,假設(shè)L取4,則每個尺度下劃分的區(qū)域個數(shù)分別為1×1,2×2,3×3,4×4,所以,每幅圖像最終劃分成30個區(qū)域。
S105:針對各區(qū)域分別提取第一區(qū)域特征。
其中,針對G個區(qū)域中的每一個提取第一區(qū)域特征。該第一區(qū)域特征可以是描述區(qū)域整體視覺信息的特征。
在一個優(yōu)選的實施例中,描述區(qū)域整體視覺信息的特征可以為HSV顏色直方圖特征。在實際實施過程中,可以使用1000維的HSV顏色直方圖特征。如果將圖像劃分為30個區(qū)域,則可以得到30個HSV顏色直方圖特征。進(jìn)一步地,本發(fā)明實施例可以采用局部敏感哈希(LSH)方法對HSV顏色直方圖特征進(jìn)行二值化,編碼成二值化區(qū)域特征。
構(gòu)建特征所引步驟具體可以包括步驟a1至步驟a9。
步驟a1:基于所述第一局部特征,構(gòu)建局部特征庫。
具體地,對圖像庫中所有圖像提取局部特征,構(gòu)建局部特征庫。其中,圖像庫為獨立的圖像庫,其用于訓(xùn)練數(shù)據(jù),不作為檢索圖像庫。
步驟a2:使用k-均值算法對第一局部特征庫進(jìn)行聚類,并設(shè)置聚類中心,建立詞袋模型。
其中,k-均值算法即k-means算法。
需要說明的是,上述步驟a1和步驟a2可以是獨立的步驟。在實際實施過程中,可以選取一個獨立的數(shù)據(jù)集,來提取局部特征(例如,可以是SIFT特征),通常其數(shù)量為幾百萬或上千萬。利用k均值進(jìn)行聚類,得到聚類中心,可以設(shè)置聚類中心為20000,每一個聚類中心即視為一個視覺單詞,可以得到一個大小為20000的視覺詞匯表。
步驟a3:根據(jù)詞袋模型,構(gòu)建倒排索引表。
步驟a4:為圖像庫中各圖像的關(guān)鍵點分配區(qū)域指示器。
通過本步驟可以確定關(guān)鍵點所在的區(qū)域。
其中,區(qū)域指示器中的每一個比特對應(yīng)一個區(qū)域,關(guān)鍵點處在哪些區(qū)域中,則相應(yīng)的比特位置為1,其他比特位為0。例如:某一個關(guān)鍵點位于區(qū)域1、2、6、15中,則對應(yīng)的區(qū)域指示器為110001000000001000000000000000。該區(qū)域指示器中1的個數(shù)表示該關(guān)鍵點所處的區(qū)域的個數(shù)。
步驟a5:將第一局部特征量化到距離最近的詞袋模型的視覺單詞上。
示例性地,如果將第一局部特征量化到視覺單詞i上,則量化后的局部特征都需要存入視覺單詞i所對應(yīng)的倒排索引表中。
步驟a6:根據(jù)視覺單詞所對應(yīng)的倒排索引表中的位置,將關(guān)鍵點的屬性信息存入倒排索引表;其中,屬性信息包括圖像標(biāo)識符和區(qū)域指示器。
其中,圖像標(biāo)識符為圖像庫中圖像的編號,其起始編號是1,最大編號為圖像庫中圖像個數(shù)。
步驟a7:將第一區(qū)域特征編碼成二值化區(qū)域特征。
步驟a8:分配存儲空間并存儲與第一區(qū)域特征對應(yīng)的二值化區(qū)域特征。
作為示例,假設(shè)每個圖像固定選取30個區(qū)域,那么就會有30個區(qū)域特征,然后,根據(jù)30個區(qū)域特征乘以圖像庫中圖像的數(shù)量之積就可以確定存儲空間的大小了。
步驟a9:基于倒排索引表和存儲區(qū)域特征的存儲空間,構(gòu)建特征索引。
上述構(gòu)建特征索引的目的是將圖像庫中圖像的局部特征和區(qū)域特征入庫。
需要說明的是,可以在將上述屬性信息存入倒排索引表的同時將圖像庫中每幅圖像的二值化區(qū)域特征依次存儲到存儲空間中。例如:在將圖像庫中圖像的區(qū)域特征二值化成128比特以及將圖像庫中圖像的局部特征量化到距離最佳(例如:其可以是距離最近的情況)的視覺單詞上時,查找該視覺單詞所對應(yīng)的倒排索引表中的位置,將屬性信息(其包括圖像標(biāo)識符和區(qū)域指示器)存入到倒排索引表中;同時,依次將圖像庫中每幅圖像的二值化區(qū)域特征(例如:對于圖像庫中的每幅圖像提取了30個128比特的二值化區(qū)域特征),存入存儲空間;例如:先存入第一幅圖像的30個128bit的二值化區(qū)域特征,然后再存入第二幅圖像的30個128bit的二值化區(qū)域特征……以此類推。
在查詢檢索階段,待檢索圖像的局部特征(即第二局部特征)以及區(qū)域特征(即第二區(qū)域特征)是用來當(dāng)作查詢線索使用的,也就是通過第二局部特征去做檢索,因此待檢索圖像的特征(包括局部特征、關(guān)鍵點區(qū)域指示器、區(qū)域特征)是不需要存儲的。
S110:提取待檢索圖像的第二局部特征和第二區(qū)域特征。
本步驟與提取圖像庫中圖像的第一局部特征和第一區(qū)域特征所采用的方法相同,在此不再贅述。
S120:基于第二局部特征,確定待檢索圖像與圖像庫中圖像之間的局部特征匹配對。
具體地,本步驟可以包括步驟S121至步驟S122。
S121:對第二局部特征進(jìn)行量化,且量化到距離最近的視覺單詞上,并遍歷視覺單詞所對應(yīng)的倒排索引表。
本步驟就是對待檢索圖像的關(guān)鍵點的第二局部特征進(jìn)行量化,且量化到距離最近的視覺單詞上,然后遍歷視覺單詞所對應(yīng)的倒排索引表。
例如:對于待檢索圖像中的一個關(guān)鍵點x的局部特征SIFT進(jìn)行量化,將其量化到距離最近的視覺單詞w上。w所對應(yīng)的倒排索引表存儲的每一個關(guān)鍵點都視為關(guān)鍵點x的近似最近鄰,即與關(guān)鍵點x預(yù)匹配成功。
S122:確定待檢索圖像與圖像庫中某一圖像之間的局部特征匹配對。
本步驟基于上述步驟S121,構(gòu)建待檢索圖像的關(guān)鍵點與圖像庫中某一圖像的關(guān)鍵點之間的預(yù)匹配關(guān)鍵點對。該預(yù)匹配關(guān)鍵點對即為局部特征匹配對。
例如:對于來自待檢索圖像的關(guān)鍵點x以及圖像庫中某一個圖像的關(guān)鍵點y,如果這兩個關(guān)鍵點按照上述步驟預(yù)匹配成功,則可以構(gòu)成一個預(yù)匹配點對<x,y>。
S130:基于特征索引并利用第一區(qū)域特征和第二區(qū)域特征對局部特征匹配對進(jìn)行驗證,確定匹配得分。
具體地,本步驟可以包括步驟S131至步驟S135
S131:為與第二局部特征相關(guān)的各關(guān)鍵點分配區(qū)域指示器。
S132:將第二區(qū)域特征編碼成二值化區(qū)域特征。
由于圖像庫中的區(qū)域特征(即第一區(qū)域特征)已經(jīng)被存儲到上述獨立的存儲空間中,因此在查詢檢索階段不需要對圖像庫中的區(qū)域特征進(jìn)行處理,直接從特征索引中讀取即可。
在一個優(yōu)選的實施例中,將每個圖像所有區(qū)域的HSV顏色直方圖特征編碼成二值化區(qū)域特征。
在另一個優(yōu)選的實施例中,使用局部敏感哈希(LSH)方法將所有區(qū)域的HSV顏色直方圖特征編碼成二值化區(qū)域特征。
示例性地,若將一幅圖像劃分為30個區(qū)域,則將30個區(qū)域的HSV顏色直方圖特征編碼成128比特的二值化區(qū)域特征。
S133:根據(jù)與局部特征匹配對對應(yīng)的兩個關(guān)鍵點的區(qū)域指示器以及二值化區(qū)域特征,構(gòu)建兩個二值化區(qū)域特征集合。
在實際實施過程中,根據(jù)預(yù)匹配點對中的兩個關(guān)鍵點的區(qū)域指示器,從存儲了區(qū)域特征的存儲空間中讀取二值化的第一區(qū)域特征,構(gòu)建二值化區(qū)域特征集合。
S134:根據(jù)以下公式,從二值化區(qū)域特征集合中查找最佳區(qū)域?qū)Γ?/p>
其中,表示待檢索圖像中關(guān)鍵點x對應(yīng)的二值化區(qū)域特征集合;表示圖像庫中某一圖像中關(guān)鍵點y對應(yīng)的二值化區(qū)域特征集合;x和y為局部特征匹配對;pi表示二值化區(qū)域特征;i∈[1,Tx],j∈[1,Ty];Tx表示x所處的區(qū)域的個數(shù);Ty表示y所處的區(qū)域的個數(shù);m和n表示查找出的最佳區(qū)域?qū)Φ臉?biāo)號;h(,)表示漢明距離的計算函數(shù)。
最佳區(qū)域?qū)σ簿褪亲钕嗨频囊粚^(qū)域,記為
如圖2所示,其中實線連接了一對預(yù)匹配的關(guān)鍵點(預(yù)匹配點),圖像中的矩形框分別是關(guān)鍵點所處的區(qū)域,這些區(qū)域根據(jù)步驟S103和步驟S104生成。其中的實線矩形框是根據(jù)步驟S134得到的最佳區(qū)域?qū)?,該區(qū)域?qū)Φ膮^(qū)域特征用來進(jìn)一步驗證預(yù)匹配的關(guān)鍵點對的質(zhì)量。
圖3示例性地示出了用以展現(xiàn)所選擇的區(qū)域?qū)梢杂行П鎰e關(guān)鍵點匹配質(zhì)量的示意圖。該圖顯示了預(yù)匹配點對所對應(yīng)的最佳區(qū)域?qū)Φ亩祬^(qū)域特征之間的漢明距離分布情況。由圖3可以看出,如果一對關(guān)鍵點是真正的匹配項(真正例),那么它所對應(yīng)的最佳區(qū)域?qū)τ斜容^小的漢明距離。由此,可以利用此漢明距離來區(qū)分該關(guān)鍵點對(預(yù)匹配點對)是不是真正的匹配項。
S135:基于最佳區(qū)域?qū)?,根?jù)以下公式,進(jìn)行區(qū)域驗證,計算匹配得分:
其中,s(x,y)表示匹配分?jǐn)?shù);m和n表示查找出的最佳區(qū)域?qū)Φ臉?biāo)號;σ表示可調(diào)參數(shù),優(yōu)選地,σ取50。
在本步驟中,所得到的匹配得分即預(yù)匹配點對的匹配得分。如果預(yù)匹配點對有較好的匹配質(zhì)量(也就是這個關(guān)鍵點對很有可能是一個真正的匹配對),則根據(jù)s(x,y)可知這個關(guān)鍵點對將會獲得一個較高的得分。這樣,每個關(guān)鍵點對都會有一個匹配得分。
S140:根據(jù)所述匹配得分,確定所述圖像庫中圖像與所述待檢索圖像之間的相似度。
具體地,本步驟可以包括將匹配得分進(jìn)行累加,得到總得分,并將總得分作為所述圖像庫中圖像與所述待檢索圖像之間的相似度。
在一個優(yōu)選的實施例中,本步驟可以包括:將預(yù)匹配點對的匹配分?jǐn)?shù)累加至該預(yù)匹配點對中圖像庫中圖像的關(guān)鍵點所對應(yīng)的圖像計分器中,計算圖像庫中圖像的總得分,并將該總得分作為圖像庫中圖像與待檢索圖像的相似度。
S150:根據(jù)相似度反饋檢索結(jié)果。
具體地,本步驟可以包括步驟S152至步驟S154。
S152:對相似度按照由大到小的順序排序。
S154:按照順序反饋檢索結(jié)果。
圖4為根據(jù)本發(fā)明一示例性實施例示出的對示例圖像進(jìn)行檢索的結(jié)果示意圖。其中,虛線左側(cè)的上、中、下三幅圖為待檢索圖像。虛線右側(cè)的圖像為從圖像庫中按照相似度由大到小的順序反饋的檢索結(jié)果。
上述實施例中雖然將各個步驟按照上述先后次序的方式進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員可以理解,為了實現(xiàn)本實施例的效果,不同的步驟之間不必按照這樣的次序執(zhí)行,其可以同時(并行)執(zhí)行或以顛倒的次序來執(zhí)行,這些簡單的變化都在本發(fā)明的保護(hù)范圍之內(nèi)。
以上對本發(fā)明實施例所提供的技術(shù)方案進(jìn)行了詳細(xì)的介紹。雖然本文應(yīng)用了具體的個例對本發(fā)明的原理和實施方式進(jìn)行了闡述,但是,上述實施例的說明僅適用于幫助理解本發(fā)明實施例的原理;同時,對于本領(lǐng)域技術(shù)人員來說,依據(jù)本發(fā)明實施例,在具體實施方式以及應(yīng)用范圍之內(nèi)均會做出改變。
需要說明的是,本文中涉及到的流程圖或框圖不僅僅局限于本文所示的形式,其還可以進(jìn)行劃分和/或組合。
還需要說明的是:附圖中的標(biāo)記和文字只是為了更清楚地說明本發(fā)明,不視為對本發(fā)明保護(hù)范圍的不當(dāng)限定。
再需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不是用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)?shù)那闆r下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?/p>
術(shù)語“包括”或者任何其它類似用語旨在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備/裝置不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者還包括這些過程、方法、物品或者設(shè)備/裝置所固有的要素。
如本文中所使用的,術(shù)語“模塊”可以指代在計算系統(tǒng)上執(zhí)行的軟件對象或例程??梢詫⒈疚闹兴枋龅牟煌K實現(xiàn)為在計算系統(tǒng)上執(zhí)行的對象或過程(例如,作為獨立的線程)。雖然優(yōu)選地以軟件來實現(xiàn)本文中所描述的系統(tǒng)和方法,但是以硬件或者軟件和硬件的組合的實現(xiàn)也是可以的并且是可以被設(shè)想的。
本發(fā)明的各個步驟可以用通用的計算裝置來實現(xiàn),例如,它們可以集中在單個的計算裝置上,例如:個人計算機(jī)、服務(wù)器計算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備或者多處理器裝置,也可以分布在多個計算裝置所組成的網(wǎng)絡(luò)上,它們可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。因此,本發(fā)明不限于任何特定的硬件和軟件或者其結(jié)合。
本發(fā)明提供的方法可以使用可編程邏輯器件來實現(xiàn),也可以實施為計算機(jī)程序軟件或程序模塊(其包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件或數(shù)據(jù)結(jié)構(gòu)等等),例如根據(jù)本發(fā)明的實施例可以是一種計算機(jī)程序產(chǎn)品,運(yùn)行該計算機(jī)程序產(chǎn)品使計算機(jī)執(zhí)行用于所示范的方法。所述計算機(jī)程序產(chǎn)品包括計算機(jī)可讀存儲介質(zhì),該介質(zhì)上包含計算機(jī)程序邏輯或代碼部分,用于實現(xiàn)所述方法。所述計算機(jī)可讀存儲介質(zhì)可以是被安裝在計算機(jī)中的內(nèi)置介質(zhì)或者可以從計算機(jī)主體上拆卸下來的可移動介質(zhì)(例如:采用熱插拔技術(shù)的存儲設(shè)備)。所述內(nèi)置介質(zhì)包括但不限于可重寫的非易失性存儲器,例如:RAM、ROM、快閃存儲器和硬盤。所述可移動介質(zhì)包括但不限于:光存儲介質(zhì)(例如:CD-ROM和DVD)、磁光存儲介質(zhì)(例如:MO)、磁存儲介質(zhì)(例如:磁帶或移動硬盤)、具有內(nèi)置的可重寫非易失性存儲器的媒體(例如:存儲卡)和具有內(nèi)置ROM的媒體(例如:ROM盒)。
以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。