本發(fā)明涉及圖像檢索領域,具體而言,涉及一種圖像的檢索方法及裝置。
背景技術:
隨著網(wǎng)絡及照相設備的普及尤其是帶有照相功能的手機的普及,使人們接觸到的圖像越來越多,因此如何在大量的圖像中快速、準確的找到一副圖像的相似圖像變得越來越重要。
目前,相關技術中的圖像檢索技術有基于文本的圖像檢索技術和基于圖像的圖像檢索技術;其中,基于文本的圖像檢索技術是早年普遍采用的一種圖像檢索技術,其沿用了傳統(tǒng)的文本檢索技術,通過人工給圖像庫中的每個圖片添加標注,用于描述圖像的信息,用戶檢索時也通過文字來檢索某一類圖片,如目前的百度圖片依然支持這種圖像檢索方法。隨著數(shù)字圖像處理、模式識別以及機器學習等技術的發(fā)展,基于圖像的圖像檢索技術應運而生,其大量應用數(shù)字圖像處理、模式識別以及機器學習領域的原理和知識,通過特定的算法提取圖像的特征,通過提取到的特征計算圖像之間的相似度,并依據(jù)相似度返回圖像庫中相似的圖片,完成整個圖像檢索流程。
基于文本的圖像檢索雖然搜索出來的圖片大都是符合用戶輸入的待檢索圖片的語義,但其圖像庫中的每張圖像都需要人工標注,需要耗費大量的人力,尤其是在互聯(lián)網(wǎng)圖片更新越來越快以及人工成本越來越高的背景下,該方法正變得越來越不實用。相關技術中的基于圖像的圖像檢索系統(tǒng)大都通過計算圖像在某一個或某幾個特征上的相似度來檢索相近的圖片,如顏色特征、直方圖特征、梯度特征以及幾何特征等,但這些特征大都不具有語義性,導致檢索處理的圖片匹配度不高。
針對相關技術中的上述問題,目前尚未存在有效的解決方案。
技術實現(xiàn)要素:
本發(fā)明提供了一種圖像的檢索方法及裝置,以至少解決相關技術中圖像的檢索方式單一且匹配度不高的問題。
根據(jù)本發(fā)明的一個方面,提供了一種圖像的檢索方法,包括:提取待檢索圖像上用于表征圖像特征屬性的多個特征描述子;將提取到的特征描述子映射到預先生成的詞匯表上,并統(tǒng)計在所述詞匯表上的直方圖;計算所述待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度,并依據(jù)計算結果從所述圖像庫中檢索出相似度大于預設閾值的所有圖像。
進一步地,在獲取待檢索圖像上用于表征圖像特征屬性的多個特征描述子之前,所述方法還包括:采集各種類型的圖像,并對所述各種類型的圖像進行預處理得到歸一化后的各種類型的圖像;提取歸一化后的所述各種類型的圖像的特征描述子,并對所述各種類型的特征描述子進行聚類處理生成用于映射各種不同特征屬性的特征描述子的詞匯表。
進一步地,在通過聚類生成所述詞匯表之后,所述方法還包括:提取歸一化后的所有圖像的特征描述子;循環(huán)處理每個圖像,將每個圖像上所有的特征描述子映射到詞匯表上,并統(tǒng)計出每個圖像在詞匯表上各詞匯的直方圖;將所述直方圖歸一化得到每張圖像在所述詞匯表上的歸一化后的直方圖。
進一步地,所述計算所述待檢索圖像的直方圖與預存在圖像庫中所有圖像的直方圖的相似度包括:統(tǒng)計所述待檢索圖像的直方圖中每一項代表不同特征屬性的特征描述子占所有特征描述子總和的比例;根據(jù)直方圖中不同特征屬性的特征描述子的比例值,計算所述待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度。
進一步地,每一直方圖中所有不同特征屬性的特征描述子的比例值的和為1。
根據(jù)本發(fā)明的另一個方面,提供了一種圖像的檢索裝置,包括:特征提取模塊,用于提取待檢索圖像上用于表征圖像特征屬性的多個特征描述子;第一映射模塊,用于將提取到的特征描述子映射到預先生成的詞匯表上,并統(tǒng)計在所述詞匯表上的直方圖;相似度計算模塊,用于計算所述待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度,并依據(jù)計算結果從所述圖像庫中檢索出相似度大于預設閾值的所有圖像。
進一步地,所述裝置還包括:第一處理模塊,用于在獲取待檢索圖像上用于表征圖像特征屬性的多個特征描述子之前,采集各種類型的圖像,并對所述各種類型的圖像進行預處理得到歸一化后的所述各種類型的圖像;第二處理模塊,用于提取歸一化后的所述各種類型的圖像的特征描述子,并對所述各種類型的特征描述子進行聚類處理生成用于映射各種不同特征屬性的特征描述子的詞匯表。
進一步地,所述裝置還包括:提取模塊,用于提取歸一化后的所述所有圖像的特征描述子;第二映射模塊,用于循環(huán)處理每個圖像,將每個圖像上所有的特征描述子映射到詞匯表上,并統(tǒng)計出每個圖像在詞匯表上各詞匯的直方圖;歸一化模塊,用于將所述直方圖歸一化得到每張圖像在所述詞匯表上的歸一化后的直方圖。
進一步地,所述相似度計算模塊包括:統(tǒng)計單元,用于統(tǒng)計所述待檢索圖像的直方圖中每一項代表不同特征屬性的特征描述子占所有特征描述子總和的比例;相似度計算單元,用于根據(jù)直方圖中不同特征屬性的特征描述子的比例值,計算所述待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度。
進一步地,每一直方圖中所有不同特征屬性的特征描述子的比例值的和為1。
通過本發(fā)明,采用獲取待檢索圖像上用于表征圖像特征屬性的多個特征描述子,進而將提取到的特征描述子映射到預先生成的詞匯表上,并統(tǒng)計在所述詞匯表上的直方圖,最后通過計算待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度,并依據(jù)計算結果從圖像庫中檢索出相似度大于預設閾值的所有圖像的方式,通過本發(fā)明,解決了相關技術中圖像的檢索方式單一且匹配度不高的問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的圖像的檢索方法的流程圖;
圖2是根據(jù)本發(fā)明可選實施例的圖像的檢索裝置的結構框圖;
圖3是根據(jù)本發(fā)明可選實施例的圖像的檢索裝置的可選結構框圖一;
圖4是根據(jù)本發(fā)明可選實施例的圖像的檢索裝置的可選結構框圖二;
圖5是根據(jù)本發(fā)明可選實施例的詞匯表訓練方法的流程圖;
圖6是是根據(jù)本發(fā)明可選實施例的圖像庫建立方法的流程圖;
圖7是根據(jù)本發(fā)明可選實施例的圖像檢索方法的流程圖。
具體實施方式
下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。
在本實施例中提供了一種圖像的檢索方法,圖1是根據(jù)本發(fā)明實施例的圖像的檢索方法的流程圖,如圖1所示,該流程包括如下步驟:
步驟s102:提取待檢索圖像上用于表征圖像特征屬性的多個特征描述子;
步驟s104:將提取到的特征描述子映射到預先生成的詞匯表上,并統(tǒng)計在所述詞匯表上的直方圖;
步驟s106:計算待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度,并依據(jù)計算結果從圖像庫中檢索出相似度大于預設閾值的所有圖像。
通過本實施例的上述步驟s102至步驟s106可知,采用獲取待檢索圖像上用于表征 圖像特征屬性的多個特征描述子,進而將提取到的特征描述子映射到預先生成的詞匯表上,并統(tǒng)計在所述詞匯表上的直方圖,最后通過計算待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度,并依據(jù)計算結果從圖像庫中檢索出相似度大于預設閾值的所有圖像,也就是說,通過將圖像的特征描述子映射到詞匯表中并通過直方圖來表示不同類型的特征屬性,進而通過比較待檢索圖像的直方圖與預存的直方圖,將相似度高于預設閾值的圖像檢索出來,從而解決了相關技術中圖像的檢索方式單一且匹配度不高的問題。
在本實施例的可選實施方式中,對于步驟s102中涉及到的在獲取待檢索圖像上用于表征圖像特征屬性的特征描述子之前,本實施例的方法還可以包括:
步驟s102-1:采集各種類型的圖像,并對各種類型的圖像進行預處理得到歸一化后的各種類型的圖像;
步驟s102-2:提取歸一化后的各種類型的圖像的特征描述子,并對各種類型的特征描述子進行聚類處理生成用于映射各種不同特征屬性的特征描述子的詞匯表。
也就是說,該步驟s102-1和步驟s102-2在具體應用場景中可以是:搜集訓練圖像,該圖像類別至少包括人物、景物;對搜集到的圖片進行預處理,使圖像尺寸大小歸一化,利用重要信息稠密分布的特點提取各訓練圖像上對應點的特征描述子,對提取到的特征描述子進行聚類操作后生成用于表征圖像特征的詞匯表。
此外,在本實施例的另一個可選實施方式中,在將通過聚類生成所述詞匯表之后,本實施例的方法還可以包括:
步驟s102-3:提取歸一化后的所有圖像的特征描述子;
步驟s102-4:循環(huán)處理每個圖像,將每個圖像上所有的特征描述子映射到詞匯表上,并統(tǒng)計出該圖像在詞匯表上各詞匯的直方圖;
步驟s102-5:將所述直方圖歸一化得到每張圖像在所述詞匯表上的歸一化后的直方圖。
對于上述步驟,在本實施例具體應用場景中可以是:對圖像庫中的圖片進行預處理,使圖像尺寸大小歸一化;利用重要信息稠密分布的特點提取各圖像上對應點的特征描述子;將提取到的特征映射到預先生成的詞匯表上,并統(tǒng)計直方圖;統(tǒng)計直方圖中各項出現(xiàn)次數(shù)的總和,然后將直方圖中的每一項都除以該總和,確保處理后的直方圖各項之和為1;將處理后的直方圖數(shù)據(jù)保存到文件或數(shù)據(jù)庫中。
對于本實施例中涉及到的步驟s106,計算待檢索圖像的直方圖與預存在圖像庫中所有圖像的直方圖的相似度包括:
步驟s106-1:統(tǒng)計待檢索圖像的直方圖中每一項代表不同特征屬性的特征描述子占 所有特征描述子總和的比例;
步驟s106-2:根據(jù)直方圖中不同特征屬性的特征描述子的比例值,計算待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度。
需要說明的是,本實施例中的每一直方圖中所有不同特征屬性的特征描述子的比例值的和為1。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例的方法。
在本實施例中還提供了一種圖像的檢索裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述。如以下所使用的,術語“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構想的。
圖2是根據(jù)本發(fā)明可選實施例的圖像的檢索裝置的結構框圖,如圖2所示,該裝置包括:特征提取模塊22,用于提取待檢索圖像上用于表征圖像特征屬性的多個特征描述子;第一映射模塊24,與特征提取模塊22耦合連接,用于將提取到的特征描述子映射到預先生成的詞匯表上,并統(tǒng)計在所述詞匯表上的直方圖;相似度計算模塊26,與第一映射模塊24耦合連接,用于計算待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度,并依據(jù)計算結果從圖像庫中檢索出相似度大于預設閾值的所有圖像。
圖3是根據(jù)本發(fā)明可選實施例的圖像的檢索裝置的可選結構框圖一,如圖3所示,該裝置還包括:第一處理模塊32,用于在獲取待檢索圖像上用于表征圖像特征屬性的多個特征描述子之前,采集各種類型的圖像,并對各種類型的圖像進行預處理得到歸一化后的各種類型的圖像;第二處理模塊34,與第一處理模塊32耦合連接,用于提取歸一化后的各種類型的圖像的特征描述子,并對各種類型的特征描述子進行聚類處理生成用于映射各種不同特征屬性的特征描述子的詞匯表。
圖4是根據(jù)本發(fā)明可選實施例的圖像的檢索裝置的可選結構框圖二,如圖4所示,該裝置還包括:提取模塊42,用于提取歸一化后的所有圖像的特征描述子;第二映射模塊44,與提取模塊42耦合連接,用于循環(huán)處理每個圖像,將每個圖像上所有的特征描述子映射到詞匯表上,并統(tǒng)計出該圖像在詞匯表上各詞匯的直方圖;歸一化模塊46,與第二映射模塊44耦合連接,用于將所述直方圖歸一化得到每張圖像在所述詞匯表上的歸一化后的直方圖。
可選地,本實施例圖2中的相似度計算模塊26還可以包括:統(tǒng)計單元,用于統(tǒng)計待檢索圖像的直方圖中每一項代表不同特征屬性的特征描述子占所有特征描述子總和的比例;相似度計算單元,用于根據(jù)直方圖中不同特征屬性的特征描述子的比例值,計算待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度。
可選地,在本實施例中每一直方圖中所有不同特征屬性的特征描述子的比例值的和為1。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的,對于后者,可以通過以下方式實現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。
下面結合本發(fā)明的可選實施例對本發(fā)明進行舉例說明;
本發(fā)明提出了一種基于重要信息稠密分布特點的詞袋模型圖像檢索方法,本可選實施例通過提取圖像的稠密特征,利用聚類生成一定量的具有代表性的特征描述子,組成詞匯表;在檢索階段,通過衡量待檢索圖片與圖像庫中的每個圖片在詞匯表上的直方圖的相似度來完成圖像檢索。在本可選實施例中涉及到的詞袋模型可以提取一定的語義信息,而利用圖像上重要信息的稠密分布特點可以提取到更多的重要信息,忽略掉一定的次要信息。
本可選實施例的檢索方法包括三個部分:訓練詞匯表、構建待檢索圖像庫、圖像檢索。
(1)訓練詞匯表的實現(xiàn)步驟包括:
步驟s11,搜集訓練圖片,要求圖像類別盡可能全面,包括人物、景物等;
步驟s12,對搜集到的圖片進行預處理,使圖像尺寸大小歸一化;
步驟s13,利用重要信息稠密分布的特點提取各訓練圖像上對應點的特征描述子;
步驟s14,對提取到的特征描述子進行k-means聚類,生成訓練詞匯表。
(2)構建待檢索圖像庫的步驟包括:
步驟s21,對圖像庫中的圖片進行預處理,使圖像尺寸大小歸一化;
步驟s22,利用重要信息稠密分布的特點提取各圖像上對應點的特征描述子;
步驟s23,將提取到的特征映射到預先生成的詞匯表上,并統(tǒng)計直方圖;
步驟s24,統(tǒng)計直方圖中各項出現(xiàn)次數(shù)的總和,然后將直方圖中的每一項都除以該總和,確保處理后的直方圖各項之和為1;
步驟s25,將處理后的直方圖數(shù)據(jù)保存到文件或數(shù)據(jù)庫中。
(3)圖像檢索的步驟包括:
步驟s31,對待檢索圖片進行預處理,使圖像尺寸大小歸一化;
步驟s32,利用重要信息稠密分布的特點提取待檢索圖像上對應點的特征描述子;
步驟s43,將提取到的特征映射到預先生成的詞匯表上,并統(tǒng)計直方圖;
步驟s44,統(tǒng)計直方圖中各項出現(xiàn)次數(shù)的總和,然后將直方圖中的每一項都除以該總和,確保處理后的直方圖各項之和為1;
步驟s45,計算待檢索圖像的直方圖與圖像庫中預先計算好的各直方圖之間的相似度;
步驟s46,對相似度進行排序,并獲取相似度高于某一閾值的所有圖像的信息;
步驟s47,按用戶要求,返回最相似的k張圖片。
由此可知,本可選實施例利用圖像上重要信息稠密分布的特點以及詞袋模型進行圖像檢索,所提取到的特征既具有一定的語義性,可以較好的描述圖像的內(nèi)容,又突出了圖像中的重點信息,減少了一部分次要信息,提高了檢索的準確度。
下面結合本發(fā)明可選實施例的具體實施例對本可選實施例;
圖5是根據(jù)本發(fā)明可選實施例的詞匯表訓練方法的流程圖,如圖5所示,該方法的步驟包括:
s502,搜集訓練圖片;
其中,圖像類別盡可能全面,包括人物、景物等,圖像數(shù)目不能太少;
s504,循環(huán)處理訓練集中的每張圖片,得到所有圖片上所有特征點的特征描述子;
其中,該s504中的方式可以通過如下步驟來實現(xiàn):
s504-1:對圖片進行預處理,使圖像尺寸大小歸一化
s504-2:計算圖像上所有特征點的位置
其中,該計算圖像上所有特征點的位置的方式為:設置一個初始特征點,根據(jù)前一特征點距圖像中心的距離計算步長,依據(jù)上述計算得到的步長計算當前特征點的位置,記錄當前特征點的位置,循環(huán)上述過程。
s504-3:計算所有特征點的特征描述子。
s506,對提取到的所有特征描述子進行k-means聚類,生成詞匯表。
圖6是是根據(jù)本發(fā)明可選實施例的圖像庫建立方法的流程圖,如圖6所示,該方法 的步驟主要是循環(huán)處理圖像庫中的每張圖片,而該循環(huán)處理圖像庫中的每張圖片在具體的實施方式中包括:
s602,對圖像進行預處理,使圖像尺寸大小歸一化;
s604,計算圖像上所有特征點的位置;
其中,該方式可以通過如下方式來實現(xiàn):設置一個初始特征點,根據(jù)前一特征點距圖像中心的距離計算步長,依據(jù)上述中的步長計算當前特征點的位置,記錄當前特征點的位置,循環(huán)上述的方式直到計算出所有特征點的位置。
s606,計算所有特征點的特征描述子;
s608,將計算的特征點的特征描述子映射到詞匯表上,得到直方圖;
s610,統(tǒng)計直方圖中各詞匯出現(xiàn)的次數(shù)的總和;
s612,將直方圖中各詞匯出現(xiàn)的次數(shù)除以s610中計算出的總和;
s614,將s612中計算的直方圖及圖像的相關信息存文件或數(shù)據(jù)庫。
圖7是根據(jù)本發(fā)明可選實施例的圖像檢索方法的流程圖,如圖7所示,該方法的步驟包括:
s702,對待檢索圖像進行預處理,使圖像尺寸大小歸一化;
s704,計算圖像上所有特征點的位置;
其中,計算所有特征點的位置可以是:設置一個初始特征點,根據(jù)前一特征點距圖像中心的距離計算步長,依據(jù)上述中的步長計算當前特征點的位置,記錄當前特征點的位置,循環(huán)上述過程直到計算出所有特征點的位置;
s706,計算所有特征點的特征描述子;
s708,將計算的特征點的特征描述子映射到詞匯表上,得到直方圖;
s710,統(tǒng)計直方圖中各詞匯出現(xiàn)的次數(shù)的總和;
s712,將直方圖中各詞匯出現(xiàn)的次數(shù)除以上述計算出的總和;
s714,計算得到的直方圖與圖像庫中的各直方圖的相似性;
s716,依據(jù)相似性排序,并用一個閾值過濾掉一些不相似的圖片;
s718,依據(jù)用戶的要求,返回檢索的結果。
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以被設置為存儲用于執(zhí)行以下步驟的程序代碼:
s1:提取待檢索圖像上用于表征圖像特征屬性的多個特征描述子;
s2:將提取到的特征描述子映射到預先生成的詞匯表上,并統(tǒng)計在詞匯表上的直方圖;
s3:計算待檢索圖像的直方圖與預存在圖像庫中各個圖像的直方圖的相似度,并依據(jù)計算結果從圖像庫中檢索出相似度大于預設閾值的所有圖像。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。