1. 程式人生 > >影象檢索:基於內容的影象檢索技術

影象檢索:基於內容的影象檢索技術

背景與意義

在Web2.0時代,尤其是隨著Flickr、Facebook等社交網站的流行,影象、視訊、音訊、文字等異構資料每天都在以驚人的速度增長。例如, Facebook註冊使用者超過10億,每月上傳超過10億的圖片;Flickr圖片社交網站2015年使用者上傳圖片數目達7.28億,平均每天使用者上傳約200萬的圖片;中國最大的電子商務系統淘寶網的後端系統上儲存著286億多張圖片。針對這些包含豐富視覺資訊的海量圖片,如何在這些浩瀚的影象庫中方便、快速、準確地查詢並檢索到使用者所需的或感興趣的影象,成為多媒體資訊檢索領域研究的熱點。基於內容的影象檢索方法充分發揮了計算機長於處理重複任務的優勢,將人們從需要耗費大量人力、物力和財力的人工標註中解放出來。經過十來來的發展,基於內容的影象檢索技術已廣泛應用於搜尋引擎、電子商務、醫學、紡織業、皮革業等生活的方方面面。

影象檢索按描述影象內容方式的不同可以分為兩類,一類是基於文字的影象檢索(TBIR, Text Based Image Retrieval),另一類是基於內容的影象檢索(CBIR, Content Based Image Retrieval)。

基於文字的影象檢索方法始於上世紀70年代,它利用文字標註的方式對影象中的內容進行描述,從而為每幅影象形成描述這幅影象內容的關鍵詞,比如影象中的物體、場景等,這種方式可以是人工標註方式,也可以通過影象識別技術進行半自動標註。在進行檢索時,使用者可以根據自己的興趣提供查詢關鍵字,檢索系統根據使用者提供的查詢關鍵字找出那些標註有該查詢關鍵字對應的圖片,最後將查詢的結果返回給使用者。這種基於文字描述的影象檢索方式由於易於實現,且在標註時有人工介入,所以其查準率也相對較高。在今天的一些中小規模影象搜尋Web應用上仍有使用,但是這種基於文字描述的方式所帶來的缺陷也是非常明顯的:首先這種基於文字描述的方式需要人工介入標註過程,使得它只適用於小規模的影象資料,在大規模影象資料上要完成這一過程需要耗費大量的人力與財力,而且隨時不斷外來的影象在入庫時離不開人工的干預;其次,”一圖勝千言”,對於需要精確的查詢,使用者有時很難用簡短的關鍵字來描述出自己真正想要獲取的影象;再次,人工標註過程不可避免的會受到標註者的認知水平、言語使用以及主觀判斷等的影響,因此會造成文字描述圖片的差異。

隨著影象資料快速增長,針對基於文字的影象檢索方法日益凸現的問題,在1992年美國國家科學基金會就影象資料庫管理系統新發展方向達成一致共識,即表示索引影象資訊的最有效方式應該是基於影象內容自身的。自此,基於內容的影象檢索技術便逐步建立起來,並在近十多年裡得到了迅速的發展。典型的基於內容的影象檢索基本框架如上圖1.1所示,它利用計算機對影象進行分析,建立影象特徵向量描述並存入影象特徵庫,當用戶輸入一張查詢影象時,用相同的特徵提取方法提取查詢影象的特徵得到查詢向量,然後在某種相似性度量準則下計算查詢向量到特徵庫中各個特徵的相似性大小,最後按相似性大小進行排序並順序輸出對應的圖片。基於內容的影象檢索技術將影象內容的表達和相似性度量交給計算機進行自動的處理,克服了採用文字進行影象檢索所面臨的缺陷,並且充分發揮了計算機長於計算的優勢,大大提高了檢索的效率,從而為海量影象庫的檢索開啟了新的大門。不過,其缺點也是存在的,主要表現為特徵描述與高層語義之間存在著難以填補的語義鴻溝,並且這種語義鴻溝是不可消除的。

基於內容的影象檢索技術在電子商務、皮革布料、版權保護、醫療診斷、公共安全、街景地圖等工業領域具有廣闊的應用前景。在電子商務方面,谷歌的Goggles、 阿里巴巴的拍立淘等閃拍購物應用允許使用者抓拍上傳至伺服器端,在伺服器端執行圖片檢索應用從而為使用者找到相同或相似的衣服並提供購買店鋪的連結;在皮革紡織工業中,皮革布料生產商可以將樣板拍成圖片,當衣服制造商需要某種紋理的皮革布料時,可以檢索庫中是否存在相同或相似的皮革布料,使得皮革布料樣本的管理更加便捷;在版權保護方面,提供版權保護的服務商可以應用影象檢索技術進行商標是否已經註冊了的認證管理;在醫療診斷方面,醫生通過檢索醫學影像庫找到多個病人的相似部位,從而可以協助醫生做病情的診斷……基於內容的影象檢索技術已經深入到了許許多多的領域,為人們的生活生產提供了極大的便利。

基於內容的影象檢索技術

相同物體影象檢索

相同物體影象檢索是指對查詢影象中的某一物體,從影象庫中找出包含有該物體的影象。這裡使用者感興趣的是影象中包含的特定物體或目標,並且檢索到的圖片應該是包含有該物體的那些圖片。如1.3圖所示,給定一幅”蒙娜麗莎”的畫像,相同物體檢索的目標就是要從影象庫中檢索出那些包含有”蒙娜麗莎”人物的圖片,在經過相似性度量排序後這些包含有”蒙娜麗莎”人物的圖片儘可能的排在檢索結果的前面。相似物體檢索在英文文獻中一般稱為物體檢索(Object Retrieval),近似樣本搜尋或檢測(Duplicate Search or Detection)也可以歸類於相同物體的檢索,並且相同物體檢索方法可以直接應用到近似樣本搜尋或檢測上。相同物體檢索不論是在研究還是在商業影象搜尋產業中都具有重大的價值,比如購物應用中搜索衣服鞋子、人臉檢索等。

對於相同物體影象檢索,在檢索相同的物體或目標時,易受拍攝環境的影響,比如光照變化、尺度變化、視角變化、遮擋以及背景的雜亂等都會對檢索結果造成較大的影響,圖1.3左圖給出了這幾種變化的例子,此外,對於非剛性的物體,在進行檢索時,物體的形變也會對檢索結果造成很大的影響。

由於受環境干擾比較大,因而對於相同物體影象檢索,在選取特徵的時候,往往會選擇那些抗干擾性比較好的不變性區域性特徵,比如SIFT1、SURF2、ORB3等,並以此為基礎通過不同的編碼方式構建影象的全域性描述,具有代表性的工作有詞袋模型4(BoW, Bag of Words)、 區域性特徵聚合描述符5(VLAD, Vector of Locally Aggregated Descriptors)以及Fisher向量6(FV, Fisher Vector),這一類以類SIFT為基礎的影象檢索方法,由於結合了類SIFT不變性的特性,並且採用了由區域性到全域性的特徵表達方式,並且在實際應用時在提取SIFT 的時候還可以使用siftGPU加速SIFT提取,因而從整體上來說能夠獲得比較好的檢索效果,但這一類方法通常其特徵維度往往是非常高的,如圖1.2所示,在牛津建築物影象資料庫上採用詞袋模型進行檢索,為了獲得較高的檢索精度,在聚類時聚類數目一般都設定到了幾十萬,因而其最終表示的特徵其維度高達幾十萬維,因此為它們設計高效的索引方式顯得十分必要。

相同類別影象檢索

對給定的查詢圖片,相似影象檢索的目標是從影象庫中查找出那些與給定查詢影象屬於同一類別的影象。這裡使用者感興趣的是物體、場景的類別,即使用者想要獲取的是那些具有相同類別屬性的物體或場景的圖片。為了更好的區分相同物體檢索和相同類別檢索這兩種檢索方式區,仍以圖1.3左圖所舉的”蒙娜麗莎”為例,使用者如果感興趣的就是”蒙娜麗莎”這幅畫,那麼檢索系統此時工作的方式應該是以相同物體檢索的方式進行檢索,但如果使用者感興趣的並不是”蒙娜麗莎”這幅畫本身,而是”畫像”這一類圖片,也就是說,使用者所感興趣的已經是對這幅具體的畫進行了類別概念的抽象,那麼此時檢索系統應該以相同類別檢索的方式進行檢索。相同類別影象檢索目前已廣泛應用於影象搜尋引擎,醫學影像檢索等領域。

對於相同類別影象檢索,面臨的主要問題是屬於同一類別的影象類內變化巨大,而不同類的影象類間差異小。如圖1.3右圖所示,對於”湖泊”這一類影象,屬於該類別的影象在表現形式上存在很大的差異,而對於圖??????右圖下面所示的”dog” 類和”woman”類兩張影象,雖然它們屬於不同的類,但如果採用低層的特徵去描述,比如顏色、紋理以及形狀等特徵,其類間差異非常小,直接採用這些特徵是很難將這兩者分開的,因此相同類別影象檢索在特徵描述上存在著較大的類內變化和較小的類間差異等挑戰。近年來,以深度學習(DL, Deep Learning)為主流的自動特徵在應用到相同類別影象檢索上時,能夠極大的提高檢索的精度,使得面向相同物體的檢索在特徵表達方面得到了較好的解決。目前,以卷積神經網路(CNN, Convolutional Neural Network)為主導的特徵表達方式也開始在相同物體影象檢索上進行展開,並已有了一些相應的工作7,但由於相同物體在構造類樣本訓練資料時並不像相同類別影象檢索那樣那麼方便,因而相同物體影象檢索在CNN模型訓練以及抽取自動特徵等方面還有待深入。不管是相同物體影象檢索還是相同類別影象檢索,在使用CNN模型提取自動特徵的時候,最終得到的維度一般是4096維的特徵,其維度還是比較高的,直接使用PCA等降維的手段,雖然能達到特徵維度約減的目的,但在保持必要的檢索精度前提下,能夠降低的維度還是有限的,因而對於這一類影象檢索,同樣有必要為它構建夠高效合理的快速檢索機制,使其適應大規模或海量影象的檢索。

大規模影象檢索特點

無論是對於相同物體影象檢索還是相同類別影象檢索,在大規模影象資料集上,它們具有三個典型的主要特徵:影象資料量大、特徵維度高以及要求相應時間短。下面對這三個主要特徵逐一展開說明:

(1) 影象資料量大。得益於多媒體資訊捕獲、傳輸、儲存的發展以及計算機運算速度的提升,基於內容的影象檢索技術經過十幾年的發展,其需要適用的影象規模範圍也從原來的小型影象庫擴大到大規模影象庫甚至是海量影象資料集,比如在上世紀九十年代影象檢索技術發展的早期階段,研究者們在驗證影象檢索演算法效能的時候,用得比較多是corel1k,該影象庫共1000張圖片,與今天同樣可以用於影象檢索的最流行的影象分類庫imageNet資料集相比,其量級已經有了成千上萬倍的增長,因而影象檢索應滿足大資料時代的要求,在大規模影象資料集上應該具備伸縮性。

(2) 特徵維度高。影象特徵作為直接描述影象視覺內容的基石,其特徵表達的好壞直接決定了在檢索過程中可能達到的最高檢索精度。如果前置特徵未表達好,在構建後置檢索模型的時候,不但會複雜化模型的構建,增加檢索查詢的響應時間,而且能夠提升的檢索精度也是極其有限的。所以在特徵提取之初,應該有意識的選取那些比較高層特徵。如果將區域性特徵表達方式也作為”高維”的一種,那麼特徵的描述能力跟特徵的維度高低具有較大的關聯,因而在特徵描述方面大規模影象檢索具有明顯的特徵維度高的特性,比如詞袋模型BoW、VLAD、Fisher向量以及CNN特徵。為了對這些高維的特徵有一個維度量級的定量認識,本文以詞袋模型構建的特徵向量為例,在牛津大學建築物影象資料集上試驗了特徵維度(在數值上跟聚類單詞數目大小相等)對檢索精度的影響,從圖1.2中可以看到,詞袋模型的特徵維度是非常高的。因此,面向大規模影象資料集檢索的另一個典型特點是影象特徵描述向量維度高。

(3) 要求響應速度快。對於使用者的查詢,影象檢索系統應該具備迅速響應使用者查詢的能力,同時由於大規模影象資料量大、特徵維度高,直接採用暴力搜尋(Brute Search) 索引策略(也稱為線性掃描)難以滿足系統實時性的要求,圖1.2右圖所示的是在牛津大學建築物影象資料集上平均每次查詢所耗費的時間,可以看到在影象數量僅有4063張的牛津大學建築物影象集,其查詢時間在單詞數目為100萬且重排深度為1000的條件下就需要耗費1 秒左右的時間,並且整個程式還是執行在一臺高配的伺服器上,因此,大規模影象檢索需要解決系統實時響應的問題。

基於雜湊的影象檢索技術其具體框架如圖1.4所示,按步驟可以分為特徵提取、雜湊編碼、漢明距離排序以及重排四個步驟:

(1) 特徵提取。對影象資料庫中的影象逐一進行特徵提取,並將其以影象檔名和影象特徵一一對應的方式新增到特徵庫中;

(2) 雜湊編碼。雜湊編碼可以拆分成為兩個子階段,在對特徵進行編碼之前需要有雜湊函式集,而雜湊函式集則通過雜湊函式學習階段而得到,因此這兩個子階段分別為雜湊函式學習階段和正式的雜湊編碼階段。在雜湊函式學習階段,將特徵庫劃分成訓練集和測試集,在訓練庫上對構造的雜湊函式集H(x)=h1(x),h2(x),,hK(x)H(x)=h1(x),h2(x),…,hK(x) 進行訓練學習;正式的雜湊編碼階段時,分別將原來的特徵xi(i=1,2,,N)xi(i=1,2,…,N) 代入到學習得到的雜湊函式集H(x)H(x) 中,從而得到相應的雜湊編碼。值得注意的是,如果設計的雜湊演算法已經經過實驗驗證有效,那麼在實際的應用系統中,在劃分資料集的時候,可以將整個影象庫既作為訓練集也作為影象資料庫,從而使得在大規模影象上學到的雜湊函式具備較好的適應性;

(3) 漢明距離排序。在漢明距離排序階段,對於給定的查詢影象,逐一計算查詢影象對應的雜湊編碼到其他各個雜湊編碼之間的漢明距離,然後按從小到大的順序進行相似性排序,從而得到檢索結果;

(4) 重排。針對步驟(3)漢明排序後的結果,可以選擇前M(M«N)M(M«N) 個結果或者對漢明距離小於某一設定的漢明距離dcdc 的結果進行重排。一般地,在重排的時候採用歐式距離作為相似性度量得到重排後的結果。因此,從這裡可以看到,雜湊過程可以看作是篩選候選樣本或是粗排序的過程。在採用雜湊方法進行大規模影象檢索的應用系統中,通常會有重排這一步,但是在設計雜湊演算法的時候,對效能進行指標評價直接採用的是漢明距離,也就是在評價雜湊演算法效能的時候,不需要重排這一步。

隨著視覺資料的快速增長,面向大規模視覺資料的基於內容的影象檢索技術不論是在商業應用還是計算機視覺社群都受到了極大的關注。傳統的暴力(brute-force) 搜尋方法(又稱線性掃描)通過逐個與資料庫中的每個點進行相似性計算然後進行排序,這種簡單粗暴的方式雖然很容易實現,但是會隨著資料庫的大小以及特徵維度的增加其搜尋代價也會逐步的增加,從而使得暴力搜尋僅適用於資料量小的小規模影象資料庫,在大規模影象庫上這種暴力搜尋的方式不僅消耗巨大的計算資源,而且單次查詢的響應時間會隨著資料樣本的增加以及特徵維度的增加而增加,為了降低搜尋的空間的空間複雜度與時間複雜度,在過去的十幾年裡研究者們找到了一種可供替代的方案— 近似最近鄰(ANN, Approximate Nearest Neighbor)搜尋方法,並提出了很多高效的檢索技術,其中最成功的方法包括基於樹結構的影象檢索方法、基於雜湊的影象檢索方法和基於向量量化的影象檢索方法。

近似最近鄰搜尋

基於樹結構的最近鄰搜尋方法和基於雜湊的最近鄰搜尋方法在理論電腦科學、機器學習以及計算機視覺中是一個很活躍的領域,這些方法通過將特徵空間劃分成很多小的單元,以此減少空間搜尋的區域,從而達到次線性的計算複雜度。

基於樹的影象檢索方法將影象對應的特徵以樹結構的方法組織起來,使得在檢索的時候其計算複雜度降到關於影象庫樣本數目nn的對數的複雜度。基於樹結構的搜尋方法有KD-樹8、M-樹9等。在眾多的樹結構搜尋方法中,以KD-樹應用得最為廣泛,KD-樹在構建樹的階段,不斷以方差最大的維對空間進行劃分,其儲存對應的樹結構則不斷的向下生長,並將樹結構儲存在記憶體中,如圖2.1右圖示例了一個簡單的KD-樹劃分過程:在搜尋階段,查詢資料從樹根節點達到葉節點後,對葉節點下的資料與查詢資料進行逐一比較以及回溯方式從而找到最近鄰。雖然基於樹結構的檢索技術大大縮減了單次檢索的響應時間,但是對於高維特徵比如維度為幾百的時候,基於樹結構的索引方法其在檢索時候的效能會急劇的下降,甚至會下降到接近或低於暴力搜尋的效能,如表2.1所示,在LabelMe資料集上對512維的GIST特徵進行索引的時候,單次查詢Spill樹(KD-樹的變形)耗時比暴力搜尋用時還要多。此外,基於樹結構的檢索方法在構建樹結構的時候其佔用的儲存空間往往要比原來的資料大得多,並且對資料分佈敏感,從而使得基於樹結構的檢索方法在大規模影象資料庫上也會面臨記憶體受限的問題。

相比基於樹結構的影象檢索方法,基於雜湊的影象檢索方法由於能夠將原特徵編碼成緊緻的二值雜湊碼,使得基於雜湊的影象檢索方法能夠大幅的降低記憶體的消耗,並且由於在計算漢明距離的時候可以使用計算機內部運算器具有的XOR異或運算,從而使的漢明距離的計算能夠在微秒量級內完成,從而大大縮減了單次查詢響應所需要的時間。如表2.1所示,在LabelMe影象資料集上,相比於暴力搜尋方法以及基於樹結構的搜尋方法,通過將影象的特徵編碼後進行搜尋,在編碼位數為30位元時基於雜湊的搜尋方法單次查詢時間比暴力搜尋以及基於樹結構的方法降低了將近4個數量級,並且特徵維度由原來的512維降低至30維,因而極大的提高了檢索的效率。

基於雜湊的影象檢索方法其關鍵之處在於設計一個有效的雜湊函式集,使得原空間中的資料經過該雜湊函式集對映後,在漢明空間其資料間的相似效能夠得到較好的保持或增強。由於未經編碼的特徵在數域上是連續的,而雜湊編碼得到的是一個二值雜湊碼,也就是說從數域上來講雜湊函式集是一個將數值從連續域變換到離散域的過程,因而會導致在優化雜湊函式集時往往難於求解10,從而使得設計一個有效的雜湊函式集極其不易。在過去的十幾年裡,儘管設計有效的雜湊函式集面臨很大的挑戰,但研究者們仍然提出了很多基於雜湊的影象檢索方法,其中最經典的雜湊方法是區域性敏感雜湊方法11(LSH, Locality Sensitive Hashing)。

區域性敏感雜湊被認為是高維空間(比如成百上千維)快速最近鄰搜尋的重要突破,它在構造雜湊函式的時候採用隨機超平面的方法,即使用隨機超平面將空間分割成很多子區域,每一個子區域可以被視為一個”桶”,如圖2.1右圖所示。在構建階段,區域性敏感雜湊僅需要生成隨機超平面,因而沒有訓練的過程;在索引階段,樣本被對映成二進位制雜湊碼,如圖2.1右圖示意的二進位制雜湊碼,具有相同的二進位制雜湊碼的樣本被儲存在同一個“桶”中;在查詢階段,查詢樣本通過同樣的對映後可以鎖定查詢樣本位於哪個“桶”中,然後在鎖定的”桶”中將查詢樣本與該“桶”中的樣本進行逐一的比較,從而得到最終的近鄰。區域性敏感雜湊其有效性在理論分析中得到了保證,但是由於區域性敏感雜湊在構造雜湊函式過程中並沒有利用到資料本身,使得在應用區域性敏感雜湊時為了獲得較高的精索精度常常採用很長的編碼位,但在長編碼位數下會降低相似樣本在雜湊離散過程中的碰撞概率,從而導致檢索的召回率會出現比較大的下降,因此出現了多個雜湊表的區域性敏感雜湊。 在相同的編碼長度下,相比於只有一個雜湊表的區域性敏感雜湊(即單雜湊表區域性敏感雜湊),多雜湊表區域性敏感雜湊中的每一個雜湊表的編碼長度減小為單雜湊表區域性敏感雜湊編碼長度的LL 分之一倍(假設LL 為多雜湊表區域性敏感雜湊),因此多雜湊表區域性敏感雜湊能夠獲得比具有相同編碼長度的單雜湊表區域性敏感雜湊更高的召回率,但無論是多雜湊表區域性敏感雜湊還是單雜湊表區域性敏感雜湊,它們的編碼都不是緊緻的,從而使得它們在記憶體使用效率方面並不是很有效。

在面向大規模影象檢索時,除了採用影象雜湊方法外,還有另一類方法,即向量量化的方法,向量量化的方法中比較典型的代表是乘積量化(PQ, Product Quantization)方法,它將特徵空間分解為多個低維子空間的笛卡爾乘積,然後單獨地對每一個子空間進行量化。在訓練階段,每一個子空間經過聚類後得到kk個類心(即量化器),所有這些類心的笛卡爾乘積構成了一個對全空間的密集劃分,並且能夠保證量化誤差比較小;經過量化學習後,對於給定的查詢樣本,通過查表的方式可以計算出查詢樣本和庫中樣本的非對稱距離12。乘積量化方法雖然在近似樣本間的距離時比較的精確,但是乘積量化方法的資料結構通常要比二值雜湊碼的複雜,它也不能夠得到低維的特徵表示,此外為了達到良好的效能必須加上不對稱距離,並且它還需要每個維度的方差比較平衡,如果方差不平衡,乘積量化方法得到的結果很差。

參考文獻

  1. LOWE D G. Distinctive Image Features from Scale-Invariant Keypoints, Int. J. Comput. Vis., 2004, 60(2):91–110.

  2. BAY H, TUYTELAARS T, GOOL L J V. SURF: Speeded Up Robust Features, Proc. IEEE Int. Conf. Comput. Vis., 2006:404–417. 

  3. RUBLEE E, RABAUD V, KONOLIGE K, et al. ORB: An Efficient Alternative to SIFT or SURF, Proc. IEEE Int. Conf. Comput. Vis., 2011:2564–2571. 

  4. CSURKA G, DANCE C, FAN L, et al. Visual Categorization with Bags of Keypoints, Workshop on statistical learning in computer vision, Eur. Conf. Comput. Vis., 2004,1:1–2. 

  5. JEGOU H, DOUZE M, SCHMID C, et al. Aggregating Local Descriptors into A Compact Image Representation, Proc. IEEE Int. Conf. Comput. Vis. Pattern Recognit., 2010:3304–3311. 

  6. PERRONNIN F, SÁNCHEZ J, MENSINK T. Improving the Fisher Kernel for Large-Scale Image Classification, Proc. Eur. Conf. Comput. Vis., 2010:143–156. 

  7. KIAPOUR M H, HAN X, LAZEBNIK S, et al. Where to Buy It: Matching Street Clothing Photos in Online Shops, Proc. IEEE Int. Conf. Comput. Vis., 2015:3343–3351. 

  8. BENTLEY J L. Multidimensional Binary Search Trees Used for Associative Searching, Commun. ACM, 1975, 18(9):509–517. 

  9. UHLMANN J K. Satisfying General Proximity/Similarity Queries with Metric Trees, Inf. Process. Lett., 1991, 40(4):175–179. 

  10. GE T, HE K, SUN J. Graph Cuts for Supervised Binary Coding, Proc. Eur. Conf. Comput. Vis., 2014:250–264. 

  11. DATAR M, IMMORLICA N, INDYK P, et al. Locality-Sensitive Hashing Scheme Based on p-stable Distributions, Proc. Symp. Comput. Geom., 2004:253–262. 

  12. DONG W, CHARIKAR M, LI K. Asymmetric Distance Estimation with Sketches for Similarity Search in High-dimensional Spaces, Proc. ACM SIGIR Conf. Res. Develop. Inf. Retr., 2008:123–130.