本發(fā)明涉及圖像檢索技術(shù)領(lǐng)域,特別涉及一種基于深度特征的圖像檢索方法及裝置。
背景技術(shù):
隨著信息技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)上的圖像數(shù)據(jù)增長速度十分驚人。而快速精確地查找到一幅用戶所需的圖像,成為用戶的一種急迫需求?;趦?nèi)容的圖像檢索(Content-based Image Retrieval,CBIR)就是希望利用機器學(xué)習(xí)和圖像處理技術(shù),解決圖像檢索中的難題。雖然基于內(nèi)容的圖像檢索技術(shù)經(jīng)過多年的研究,但由于“語義鴻溝”的存在,目前基于內(nèi)容的圖像檢索系統(tǒng)依然很難滿足人們?nèi)粘z索的需求。一個高精度的基于內(nèi)容的圖像檢索系統(tǒng),主要依賴于兩項關(guān)鍵技術(shù)來實現(xiàn):第一,如何將圖像表示成一種有效的檢索特征,實現(xiàn)高精度檢索;第二,如何在圖像檢索過程中度量查詢圖像與被檢索圖像的相似度,實現(xiàn)高效查詢。
為了解決以上兩個核心問題,在過去的幾十年中,研究者進行了大量的研究,有多種圖像特征被用于圖像檢索系統(tǒng)。早期的圖像檢索系統(tǒng),常常利用顏色、紋理、形狀等全局特征實現(xiàn)圖像相似度查詢。雖然全局特征可以代表圖像的整體描述,但是由于全局特征包含大量背景信息,使得圖像中特定目標(biāo)的查詢精度不高。相對于利用全局特征描述圖像內(nèi)容,利用局部特征的圖像檢索方法可以顯著提高檢索精度,同時局部特征還可以克服圖像中物體由于光照、旋轉(zhuǎn)、尺度變換帶來的影響。除此之外,局部特征(如SURF等特征)也進一步和BoW(Bag of Visual Words),VLAD(Vector of Locally Aggregated Descriptors),F(xiàn)V(Fisher Vector)等特征編碼方法相結(jié)合來構(gòu)建圖像的特征描述符,進一步提高了圖像檢索系統(tǒng)的效率。但總體而言,不論是基于全局特征還是局部特征的圖像檢索系統(tǒng),都沒有脫離利用人工設(shè)計圖像特征描述的模式,使得特征的表達能力受到限制,從而約束了圖像檢索系統(tǒng)的精度。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于深度特征的圖像檢索方法及裝置,能夠提高圖像檢索的精度。
為實現(xiàn)上述目的,本發(fā)明提供一種基于深度特征的圖像檢索方法,所述方法包括:獲取圖像樣本集,所述圖像樣本集中包括預(yù)設(shè)數(shù)量的圖像;將所述圖像樣本集中的每張圖像切分為多個具有獨立語義的圖像塊;從各個所述圖像塊中提取相應(yīng)的圖像特征,并對提取的所述圖像特征進行聚類運算,以確定各個所述圖像特征對應(yīng)的視覺單詞;根據(jù)確定的所述視覺單詞,構(gòu)建所述圖像樣本集中每張圖像對應(yīng)的特征向量,并通過各個所述特征向量形成圖像索引庫;獲取待檢索的目標(biāo)圖像,并提取所述目標(biāo)圖像對應(yīng)的目標(biāo)特征向量;將所述目標(biāo)特征向量與所述圖像索引庫中的各個特征向量進行匹配,并根據(jù)匹配結(jié)果反饋所述目標(biāo)圖像的檢索結(jié)果。
進一步地,將所述圖像樣本集中的每張圖像切分為多個具有獨立語義的圖像塊具體包括:按照預(yù)設(shè)算法生成多個圖像推薦窗,并利用所述多個圖像推薦窗對每張圖像進行切分,以得到多個具有獨立語義的圖像塊;其中,相鄰的圖像塊之間存在重疊部分。
進一步地,在將所述圖像樣本集中的每張圖像切分為多個具有獨立語義的圖像塊之后,所述方法還包括:將各個所述圖像塊的像素縮放至預(yù)設(shè)像素值。
進一步地,從各個所述圖像塊中提取相應(yīng)的圖像特征具體包括:基于卷積神經(jīng)網(wǎng)絡(luò)模型對各個所述圖像塊進行特征提取,并將所述卷積神經(jīng)網(wǎng)絡(luò)模型中第一個全連接層輸出的深度特征作為各個所述圖像塊對應(yīng)的圖像特征。
進一步地,對提取的所述圖像特征進行聚類運算,以確定各個所述圖像特征對應(yīng)的視覺單詞具體包括:預(yù)先設(shè)置與所述圖像特征的數(shù)量相適配的視覺單詞;計算所述圖像特征到每個所述視覺單詞的詞向量之間的距離;將所述圖像特征劃分至距離最近的視覺單詞中,并將所述距離最近的視覺單詞作為所述圖像特征對應(yīng)的視覺單詞。
進一步地,提取所述目標(biāo)圖像對應(yīng)的目標(biāo)特征向量具體包括:將所述目標(biāo)圖像切分為多個具有獨立語義的圖像塊;從目標(biāo)圖像對應(yīng)的各個圖像塊中提取相應(yīng)的圖像特征,并確定各個所述圖像特征對應(yīng)的視覺單詞;根據(jù)確定的所述視覺單詞,構(gòu)建所述目標(biāo)圖像對應(yīng)的目標(biāo)特征向量。
進一步地,將所述目標(biāo)特征向量與所述圖像索引庫中的各個特征向量進行匹配,并根據(jù)匹配結(jié)果反饋所述目標(biāo)圖像的檢索結(jié)果具體包括:計算所述目標(biāo)特征向量與所述圖像索引庫中的各個特征向量之間的距離;按照計算的距離從近到遠的順序,對所述圖像索引庫中的特征向量進行排序,并將排序后的特征向量對應(yīng)的圖像作為檢索結(jié)果進行反饋。
為實現(xiàn)上述目的,本發(fā)明還提供一種基于深度特征的圖像檢索裝置,所述裝置包括:圖像樣本集獲取單元,用于獲取圖像樣本集,所述圖像樣本集中包括預(yù)設(shè)數(shù)量的圖像;圖像塊切分單元,用于將所述圖像樣本集中的每張圖像切分為多個具有獨立語義的圖像塊;視覺單詞確定單元,用于從各個所述圖像塊中提取相應(yīng)的圖像特征,并對提取的所述圖像特征進行聚類運算,以確定各個所述圖像特征對應(yīng)的視覺單詞;圖像索引庫構(gòu)建單元,用于根據(jù)確定的所述視覺單詞,構(gòu)建所述圖像樣本集中每張圖像對應(yīng)的特征向量,并通過各個所述特征向量形成圖像索引庫;目標(biāo)特征向量提取單元,用于獲取待檢索的目標(biāo)圖像,并提取所述目標(biāo)圖像對應(yīng)的目標(biāo)特征向量;檢索結(jié)果反饋單元,用于將所述目標(biāo)特征向量與所述圖像索引庫中的各個特征向量進行匹配,并根據(jù)匹配結(jié)果反饋所述目標(biāo)圖像的檢索結(jié)果。
進一步地,所述圖像塊切分單元具體包括:推薦窗生成模塊,用于按照預(yù)設(shè)算法生成多個圖像推薦窗;切分模塊,用于利用所述多個圖像推薦窗對每張圖像進行切分,以得到多個具有獨立語義的圖像塊;其中,相鄰的圖像塊之間存在重疊部分。
進一步地,所述視覺單詞確定單元具體包括:視覺單詞設(shè)定模塊,用于預(yù)先設(shè)置與所述圖像特征的數(shù)量相適配的視覺單詞;距離計算模塊,用于計算所述圖像特征到每個所述視覺單詞的詞向量之間的距離;視覺單詞劃分模塊,用于將所述圖像特征劃分至距離最近的視覺單詞中,并將所述距離最近的視覺單詞作為所述圖像特征對應(yīng)的視覺單詞。
由上可見,本發(fā)明將圖像切分為具有獨立語義的圖像塊,并可以針對各個圖像塊,確定相應(yīng)的視覺單詞。然后可以通過確定的視覺單詞進行編碼,從而確定各個圖像對應(yīng)的特征向量。這些特征向量可以構(gòu)成圖像索引庫,當(dāng)輸入待檢索的目標(biāo)圖像時,可以將目標(biāo)圖像的目標(biāo)特征向量與圖像索引庫中的特征向量進行匹配,從而能夠反饋與目標(biāo)圖像相關(guān)的檢索結(jié)果。本發(fā)明利用深度特征和聚類算法,能夠制定出精確的圖像索引庫,從而提高了圖像檢索的精度。
附圖說明
圖1為本發(fā)明實施方式提供的基于深度特征的圖像檢索方法流程圖;
圖2為本發(fā)明實施方式提供的基于深度特征的圖像檢索裝置的功能模塊圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施方式中的附圖,對本申請實施方式中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施方式僅僅是本申請一部分實施方式,而不是全部的實施方式。基于本申請中的實施方式,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施方式,都應(yīng)當(dāng)屬于本申請保護的范圍。
請參閱圖1,本發(fā)明實施方式提供一種基于深度特征的圖像檢索方法,所述方法包括以下步驟。
步驟S1:獲取圖像樣本集,所述圖像樣本集中包括預(yù)設(shè)數(shù)量的圖像。
在本實施方式中,可以利用網(wǎng)絡(luò)爬蟲在互聯(lián)網(wǎng)上自動抓取圖像,以構(gòu)建圖像樣本集。由于Internet網(wǎng)絡(luò)是一個網(wǎng)狀結(jié)構(gòu)的信息空間,可以用一個有向圖G=(N,E)來表示整個互聯(lián)網(wǎng)。將網(wǎng)頁中的內(nèi)容看作節(jié)點,由URL(Uniform Resource Locator,統(tǒng)一資源定位符)惟一表示,網(wǎng)頁中的鏈接看作有向邊。其中,節(jié)點集N={N0,…,Nm},節(jié)點集中的各個元素可以表示各個節(jié)點,E是超鏈接集合。在各個節(jié)點中,葉子節(jié)點可以是網(wǎng)頁文件,也可以是圖像、音頻等媒體文件。所有的非葉子節(jié)點是網(wǎng)頁文件。因此,爬蟲在抓取網(wǎng)頁的時候,可以使用有向圖遍歷算法(深度優(yōu)先算法和廣度優(yōu)先算法)對其進行遍歷,抓取所需要的圖像,以構(gòu)建圖像樣本集。抓取后的圖像樣本集可以使用一個單獨的圖像存儲服務(wù)器進行存儲。
步驟S2:將所述圖像樣本集中的每張圖像切分為多個具有獨立語義的圖像塊。
在本實施方式中,可以按照預(yù)設(shè)算法生成多個圖像推薦窗,并利用所述多個圖像推薦窗對每張圖像進行切分,以得到多個具有獨立語義的圖像塊;其中,相鄰的圖像塊之間存在重疊部分。具體地,針對圖像樣本集中的所有圖像,利用對象推薦方法,產(chǎn)生包含圖像目標(biāo)區(qū)域的推薦窗,根據(jù)推薦窗將圖像樣本集中的圖像切分成具有獨立語義的圖像塊。在本發(fā)明中,可以利用SSD(Single Shot Multi-Box Detector,單次多窗檢測器)方法產(chǎn)生的圖像定位外接矩形框,對該部分的圖像進行切分,取其中前500個推薦窗,從而可以將一幅圖像劃分成500個圖像塊。由于圖像塊區(qū)域存在重疊覆蓋,因此500個圖像塊中存在信息的冗余,而該冗余信息正是后續(xù)確定視覺單詞的有效手段。在實際實現(xiàn)過程中,推薦窗的產(chǎn)生使用SSD模型,對每幅圖像進行處理,需要進行大量計算,因此可以使用單獨的圖形工作站對圖像進行切分。切分后的圖像由于各個圖像塊的大小不同,使得后續(xù)特征提取不容易處理,因此可以將各個所述圖像塊的像素縮放至預(yù)設(shè)像素值。例如,可以使用圖像縮放(如線性插值)方法,將所有圖像塊縮放到相同大小(例如224*224像素),并將統(tǒng)一大小的所有圖像塊存儲于圖像存儲服務(wù)器中。
步驟S3:從各個所述圖像塊中提取相應(yīng)的圖像特征,并對提取的所述圖像特征進行聚類運算,以確定各個所述圖像特征對應(yīng)的視覺單詞。
在本實施方式中,可以基于卷積神經(jīng)網(wǎng)絡(luò)模型對各個所述圖像塊進行特征提取,并將所述卷積神經(jīng)網(wǎng)絡(luò)模型中第一個全連接層輸出的深度特征作為各個所述圖像塊對應(yīng)的圖像特征。具體地,可以利用卷積神經(jīng)網(wǎng)絡(luò)模型,針對每個語義圖像塊提取該網(wǎng)絡(luò)第一個全連接層輸出的深度特征,該特征維度為4096維。本發(fā)明使用的卷積神經(jīng)網(wǎng)絡(luò)模型無需重新學(xué)習(xí)訓(xùn)練,而是采用在ImageNet上訓(xùn)練的VGG-19卷積神經(jīng)網(wǎng)絡(luò)模型。該模型的分類精度較好,同時具有強大的遷移學(xué)習(xí)能力,具有較好的表達能力。提取特征同樣需要大量計算,可以利用單獨的服務(wù)器對大量圖像塊進行并行處理,提高特征提取的速度。
在本實施方式中,可以預(yù)先設(shè)置與所述圖像特征的數(shù)量相適配的視覺單詞,然后計算所述圖像特征到每個所述視覺單詞的詞向量之間的距離,從而可以將所述圖像特征劃分至距離最近的視覺單詞中,并將所述距離最近的視覺單詞作為所述圖像特征對應(yīng)的視覺單詞。具體地,對于每個圖像的推薦窗提取的4096維圖像特征,可以利用K均值聚類算法,將各個圖像特征聚類成視覺詞典。聚類單詞數(shù)目可以根據(jù)圖像特征的數(shù)量設(shè)定,例如可以設(shè)置為1024個視覺單詞。根據(jù)圖像的每個圖像特征到視覺單詞的距離,可以將圖像特征劃分到相應(yīng)的視覺單詞中。每幅圖像可以轉(zhuǎn)化成500個圖像特征,對于大規(guī)模的圖像特征而言,聚類過程同樣需要大量的距離計算,因此可以將聚類過程設(shè)置在單獨的服務(wù)器上進行,并將聚類后的視覺字典進行保存。該視覺詞典可以使用在線學(xué)習(xí)方式進行更新,不斷增大規(guī)模提升精度。
步驟S4:根據(jù)確定的所述視覺單詞,構(gòu)建所述圖像樣本集中每張圖像對應(yīng)的特征向量,并通過各個所述特征向量形成圖像索引庫。
在本實施方式中,根據(jù)圖像與圖像塊的關(guān)系,圖像塊與視覺單詞的關(guān)系,可以利用視覺詞典對所有圖像進行特征編碼。每個圖像中的一個圖像塊被劃分到一個視覺單詞中,通過統(tǒng)計圖像中每個圖像特征被劃分到視覺單詞的個數(shù),可以統(tǒng)計出視覺單詞的統(tǒng)計特征。由于存在1024個視覺單詞,則每幅圖像可以被表示成一個1024維度的向量。在所述1024維向量中,每個元素可以對應(yīng)一個視覺單詞,如果某個圖像對應(yīng)的圖像特征與其中的一個視覺單詞相關(guān)聯(lián),那么這一位的元素可以為1,如果不關(guān)聯(lián),則可以為0。這樣,500個圖像塊,根據(jù)每個圖像塊對應(yīng)的視覺單詞,根據(jù)視覺單詞出現(xiàn)的頻率,可以統(tǒng)計為1024維的統(tǒng)計向量,該1024維的統(tǒng)計直方圖,是視覺單詞出現(xiàn)頻率的統(tǒng)計特征,從而能夠有效表征圖像的語義內(nèi)容。在本實施方式中,可以利用所有圖像的特征向量構(gòu)建圖像索引庫。圖像索引庫中的特征向量與圖像樣本集中的圖像是一一對應(yīng)的關(guān)系,通過特征向量可以關(guān)聯(lián)到圖像樣本集中的圖像。
步驟S5:獲取待檢索的目標(biāo)圖像,并提取所述目標(biāo)圖像對應(yīng)的目標(biāo)特征向量。
在本實施方式中,獲取目標(biāo)圖像的目標(biāo)特征向量的過程可以與步驟S1至S4中獲取圖像的特征向量的步驟一致??梢詫⑺瞿繕?biāo)圖像切分為多個具有獨立語義的圖像塊,其中,所述目標(biāo)圖像對應(yīng)的圖像塊的數(shù)量與所述圖像樣本集中每張圖像對應(yīng)的圖像塊的數(shù)量相同。然后可以從目標(biāo)圖像對應(yīng)的各個圖像塊中提取相應(yīng)的圖像特征,并確定各個所述圖像特征對應(yīng)的視覺單詞。最后則可以根據(jù)確定的所述視覺單詞,構(gòu)建所述目標(biāo)圖像對應(yīng)的目標(biāo)特征向量。具體地,對于待檢索的目標(biāo)圖像,可以將該目標(biāo)圖像進行推薦窗圖像塊切分,并將所有切分的圖像塊縮放到224*224像素值的大小。然后提取每個圖像塊的圖像特征,再計算圖像特征與視覺單詞的距離,利用深度視覺詞典將目標(biāo)圖像的圖像特征進行視覺單詞編碼,從而可以得到1024維的目標(biāo)特征向量。
步驟S6:將所述目標(biāo)特征向量與所述圖像索引庫中的各個特征向量進行匹配,并根據(jù)匹配結(jié)果反饋所述目標(biāo)圖像的檢索結(jié)果。
在本實施方式中,可以計算所述目標(biāo)特征向量與所述圖像索引庫中的各個特征向量之間的距離,然后按照計算的距離從近到遠的順序,對所述圖像索引庫中的特征向量進行排序,并將排序后的特征向量對應(yīng)的圖像作為檢索結(jié)果進行反饋。距離越近,則表明目標(biāo)圖像與圖像樣本集中的圖像越相似。這樣便可以優(yōu)先反饋更加相似的圖像,以提高檢索結(jié)果的精度。
請參閱圖2,本發(fā)明還提供一種基于深度特征的圖像檢索裝置,所述裝置包括:
圖像樣本集獲取單元100,用于獲取圖像樣本集,所述圖像樣本集中包括預(yù)設(shè)數(shù)量的圖像;
圖像塊切分單元200,用于將所述圖像樣本集中的每張圖像切分為多個具有獨立語義的圖像塊;
視覺單詞確定單元300,用于從各個所述圖像塊中提取相應(yīng)的圖像特征,并對提取的所述圖像特征進行聚類運算,以確定各個所述圖像特征對應(yīng)的視覺單詞;
圖像索引庫構(gòu)建單元400,用于根據(jù)確定的所述視覺單詞,構(gòu)建所述圖像樣本集中每張圖像對應(yīng)的特征向量,并通過各個所述特征向量形成圖像索引庫;
目標(biāo)特征向量提取單元500,用于獲取待檢索的目標(biāo)圖像,并提取所述目標(biāo)圖像對應(yīng)的目標(biāo)特征向量;
檢索結(jié)果反饋單元600,用于將所述目標(biāo)特征向量與所述圖像索引庫中的各個特征向量進行匹配,并根據(jù)匹配結(jié)果反饋所述目標(biāo)圖像的檢索結(jié)果。
在本申請一個實施方式中,所述圖像塊切分單元200具體包括:
推薦窗生成模塊,用于按照預(yù)設(shè)算法生成多個圖像推薦窗;
切分模塊,用于利用所述多個圖像推薦窗對每張圖像進行切分,以得到多個具有獨立語義的圖像塊;其中,相鄰的圖像塊之間存在重疊部分。
在本申請一個實施方式中,所述視覺單詞確定單元300具體包括:
視覺單詞設(shè)定模塊,用于預(yù)先設(shè)置與所述圖像特征的數(shù)量相適配的視覺單詞;
距離計算模塊,用于計算所述圖像特征到每個所述視覺單詞的詞向量之間的距離;
視覺單詞劃分模塊,用于將所述圖像特征劃分至距離最近的視覺單詞處,并將所述距離最近的視覺單詞作為所述圖像特征對應(yīng)的視覺單詞。
由上可見,本發(fā)明將圖像切分為具有獨立語義的圖像塊,并可以針對各個圖像塊,確定相應(yīng)的視覺單詞。然后可以通過確定的視覺單詞進行編碼,從而確定各個圖像對應(yīng)的特征向量。這些特征向量可以構(gòu)成圖像索引庫,當(dāng)輸入待檢索的目標(biāo)圖像時,可以將目標(biāo)圖像的目標(biāo)特征向量與圖像索引庫中的特征向量進行匹配,從而能夠反饋與目標(biāo)圖像相關(guān)的檢索結(jié)果。本發(fā)明利用深度特征和聚類算法,能夠制定出精確的圖像索引庫,從而提高了圖像檢索的精度。
上面對本申請的各種實施方式的描述以描述的目的提供給本領(lǐng)域技術(shù)人員。其不旨在是窮舉的、或者不旨在將本發(fā)明限制于單個公開的實施方式。如上所述,本申請的各種替代和變化對于上述技術(shù)所屬領(lǐng)域技術(shù)人員而言將是顯而易見的。因此,雖然已經(jīng)具體討論了一些另選的實施方式,但是其它實施方式將是顯而易見的,或者本領(lǐng)域技術(shù)人員相對容易得出。本申請旨在包括在此已經(jīng)討論過的本發(fā)明的所有替代、修改、和變化,以及落在上述申請的精神和范圍內(nèi)的其它實施方式。
本說明書中的各個實施方式均采用遞進的方式描述,各個實施方式之間相同相似的部分互相參見即可,每個實施方式重點說明的都是與其他實施方式的不同之處。
雖然通過實施方式描繪了本申請,本領(lǐng)域普通技術(shù)人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的精神。