影象檢索(一)--綜述
轉自:https://baijiahao.baidu.com/s?id=1619752354929282906&wfr=spider&for=pc
影象檢索演算法因何而起?
網路時代,隨著各種社交網路的興起,網路中圖片,視訊資料每天都以驚人的速度增長,逐漸形成強大的影象檢索資料庫。針對這些具有豐富資訊的海量圖片,如何有效地從巨大的影象資料庫中檢索出使用者需要的圖片,成為資訊檢索領域研究者感興趣的一個研究方向。
什麼是影象檢索演算法?
影象檢索,簡單的說,便是從圖片檢索資料庫中檢索出滿足條件的圖片,影象檢索技術的研究根據描述影象內容方式的不同可以分為兩類:
一類是基於文字的影象檢索技術,簡稱TBIR,
一類為基於內容的影象檢索技術,簡稱CBIR。
隨著影象檢索技術的發展和逐漸成熟,已經形成了多個基於影象檢索的研究方向和應用場景,並且投入實用,在遙感影像、安防監控、檢索引擎、電子商務、醫學等方方面面起著十分重要的作用。
兩類影象檢索技術
基於文字的影象檢索(TBIR)技術,其主要原理為利用文字描述,如文字描述圖片的內容、作者等等的方式來檢索圖片;
基於影象的內容語義的影象檢索技術(CBIR),利用圖片的顏色、紋理及圖片包含的物體、類別等資訊檢索圖片,如給定檢索目標圖片,在影象檢索資料庫中檢索出與它相似的圖片。
基於影象的內容語義的影象檢索包括相同物體影象檢索和相同類別影象檢索,檢索任務分別為檢索同一個物體地不同圖片和檢索同一個類別地圖片。例如,行人檢索中檢索的是同一個人即同一個身份在不同場景不同攝像頭下拍得的圖片屬於相同物體的影象檢索,而在3D形狀檢索中則是檢索屬於同一類的物品,如飛機等。
影象檢索技術的步驟
影象檢索技術主要包含幾個步驟,分別為:輸入圖片、特徵提取、度量學習、重排序。
特徵提取:即將圖片資料進行降維,提取資料的判別性資訊,一般將一張圖片降維為一個向量;
度量學習:一般利用度量函式,計算圖片特徵之間的距離,作為loss,訓練特徵提取網路,使得相似圖片提取的特徵相似,不同類的圖片提取的特徵差異性較大。
重排序:利用資料間的流形關係,對度量結果進行重新排序,從而得到更好的檢索結果。
深度學習與影象檢索
隨著深度學習的引入,基於深度學習的影象檢索技術,主要是將深度學習方法應用在影象檢索中的特徵提取模組,利用卷積神經網路提取圖片特徵。主要步驟即給定一張圖片,通過卷積神經網路對圖片進行特徵提取得到表徵圖片的特徵,利用度量學習方法如歐式距離對圖片特徵進行計算距離,對圖片距離進行排序,得到初級檢索結果,再根據圖片資料的上下文資訊和流形結構對影象檢索結果進行重排序,從而提高影象檢索準確率,得到最終的檢索結果。
(1)相同物體影象檢索
相同物體影象檢索是指對查詢影象中的某一物體,從影象庫中找出包含有該物體的影象。這裡使用者感興趣的是影象中包含的特定物體或目標,並且檢索到的圖片應該是包含有該物體的那些圖片。如1.3圖所示,給定一幅”蒙娜麗莎”的畫像,相同物體檢索的目標就是要從影象庫中檢索出那些包含有”蒙娜麗莎”人物的圖片,在經過相似性度量排序後這些包含有”蒙娜麗莎”人物的圖片儘可能的排在檢索結果的前面。相似物體檢索在英文文獻中一般稱為物體檢索(Object Retrieval),近似樣本搜尋或檢測(Duplicate Search or Detection)也可以歸類於相同物體的檢索,並且相同物體檢索方法可以直接應用到近似樣本搜尋或檢測上。相同物體檢索不論是在研究還是在商業影象搜尋產業中都具有重大的價值,比如購物應用中搜尋衣服鞋子、人臉檢索等。對於相同物體影象檢索,在檢索相同的物體或目標時,易受拍攝環境的影響,比如光照變化、尺度變化、視角變化、遮擋以及背景的雜亂等都會對檢索結果造成較大的影響,圖1.3左圖給出了這幾種變化的例子,此外,對於非剛性的物體,在進行檢索時,物體的形變也會對檢索結果造成很大的影響。
(2)相同類別影象檢索
相似影象檢索的目標是從影象庫中查詢出那些與給定查詢影象屬於同一類別的影象。這裡使用者感興趣的是物體、場景的類別,即使用者想要獲取的是那些具有相同類別屬性的物體或場景的圖片。為了更好的區分相同物體檢索和相同類別檢索這兩種檢索方式區,仍以圖1.3左圖所舉的”蒙娜麗莎”為例,使用者如果感興趣的就是”蒙娜麗莎”這幅畫,那麼檢索系統此時工作的方式應該是以相同物體檢索的方式進行檢索,但如果使用者感興趣的並不是”蒙娜麗莎”這幅畫本身,而是”畫像”這一類圖片,也就是說,使用者所感興趣的已經是對這幅具體的畫進行了類別概念的抽象,那麼此時檢索系統應該以相同類別檢索的方式進行檢索。相同類別影象檢索目前已廣泛應用於影象搜尋引擎,醫學影像檢索等領域。
對於相同類別影象檢索,面臨的主要問題是屬於同一類別的影象類內變化巨大,而不同類的影象類間差異小。如圖1.3右圖所示,對於”湖泊”這一類影象,屬於該類別的影象在表現形式上存在很大的差異,而對於圖1.3右圖下面所示的”dog” 類和”woman”類兩張影象,雖然它們屬於不同的類,但如果採用低層的特徵去描述,比如顏色、紋理以及形狀等特徵,其類間差異非常小,直接採用這些特徵是很難將這兩者分開的,因此相同類別影象檢索在特徵描述上存在著較大的類內變化和較小的類間差異等挑戰。
提升檢索效能的一些思考
1、 檢索目標背景雜亂
(1)在例項檢索中,複雜的背景噪聲直接影響了最終的搜尋效能。因此很多隊伍首先嚐試使用目標檢測(比如faster-rcnn)RPN定位感興趣的區域,然後在進一步地學習特徵,比較相似度。另外,當沒有bounding box訓練資料時,弱監督的目標定位也是一種有效的方法。
(2)預處理:自動定位使用者感興趣的商品,去除背景、多主體等因素的影響,也有利於抽取的語義特徵的對齊。語義對齊方式,常見操作有商品檢測框對齊、旋轉對齊、區域性關鍵點對齊等。(淘寶搜圖使用者可以手動調整選擇檢測框)
2、 類內差異性與類間相似性(高層語義和低層特徵融合)
很多方法都是用最後一個卷積層或全連線層的特徵進行檢索,而由於高層的特徵已經損失了很多細節資訊(對於更深的網路,損失更嚴重。高層語義和低層特徵融合很重要。不同層的特徵圖譜(feature map)進行融合,這不僅利用了高層特徵的語義資訊,還考慮了低層特徵的細節紋理資訊,使得例項搜尋更精準。GoogLeNet-22網路,對於最後的8層特徵圖(從Inception 3b到Inception 5b),首先使用最大池化對這些不同尺度的特徵圖分別進行子取樣(轉換為相同尺寸的特徵圖),並使用的卷積對這些取樣結果進一步地處理。然後對這些特徵圖做線性加權(由的卷積完成),最後在此基礎上,使用sum pooling得到最終的影象特徵。在訓練時,我們根據所提供的訓練資料,通過優化基於餘弦距離的triplet ranking loss來端到端學習這些特徵。因此在測試時,可以直接使用特徵之間的餘弦距離來衡量影象的相似度。(例如一件衣服除了一件是圓領另一件是V領,其他顏色,紋理都是一摸一樣的,領口形狀就是高層語義,顏色紋理就是低層特徵。要想達到好的檢索效果最好都要兼顧。(類似特徵金子塔FPN))
3、 特徵降維
特徵提取得到的特徵表示經常是含有很多組不同分量的高緯向量,高緯度對後面的分析帶來不便,分量之間也可能相互關聯,需要特徵降維。維度低且判別性好的特徵才能保證檢索的效能與效率。用於降維學習的資料一般是商品同款資料;常用的降維方式有線性判別分析(LDA)、影象分類與度量學習(無監督馬氏度量,PCA主成分分析特徵抽取:進行去均值化, 即計算所有資料的平均值, 並把?個資料減去該平均值;計算協方差矩陣S; 計算S 的特徵值和特徵向量 並按特徵值大小降序排列;選擇前K (K為降維後的維數)個特徵值對應的特徵向呈組成變換矩陣; 使用變換矩陣對原資料進行變換)等
4、 提升速度
(1) 特徵聚類,如果資料庫資料量比較小,用於檢索的特徵緯數也比較小可以使用窮舉法直接檢索。但是如果資料很多,特徵緯度很高的情況下,這種方法就很慢,可以用聚類縮小搜尋範圍。K-means 聚類,(選擇k個點作為初始質心,將每個點指派到最近的質心,形成k個簇,重新計算每個簇的質心,反覆操作,直到簇不發生變化,或者到最大迭代次數。優點容易實現,缺點可能收斂到區域性最小值,大規模資料收斂慢)。找出和待搜尋影象距離最小的聚類中心,之後計算待搜尋影象和這個聚類中心所對應的簇中的每個影象的距離,返回若干距離最小的作為結果。
(2) 通過識別目標主體的品類,使得在檢索時可以在該類別的資料子庫進行搜尋,提升檢索的效果與效率。
5、 將影象相關文字描述與影象的低層特徵融入到一個CBIR系統中。(百度,淘寶可以先輸入圖片之後,再輸入文字描述)
6、 反饋技術。
影象檢索最終的使用者是人,通過互動手段來捕獲人對影象內容的認知。體現出人與系統的協同工作,打分,線上學習,檢索效能的評價指標。(強化學習,給搜尋結果一個reward)
7、 一階池化特徵和二階池化特徵融合
二階池化方法通過捕捉影象二階統計變數,如協方差等,往往可以取得更好的搜尋準確率。
8、聯合特徵學習和屬性預測
與DeepFashion類似,同時學習特徵和預測圖片的屬性(多工訓練),從而得到更具區分性的特徵。(loss函式為Softmax loss 和度量學習 loss相加)
相關文章
- 影象處理入門:目標檢測和影象檢索綜述
- GAN生成影象綜述
- 影象檢索:資訊檢索評價指標mAP指標
- 目標檢測綜述
- 「技術綜述」閒聊影象分割這件事兒
- 基於雜湊的影象檢索技術
- 曠視南京研究院魏秀參:細粒度影象分析綜述
- 對抗樣本綜述(一)
- Spring綜述Spring
- 入侵檢測系統綜述文獻研讀
- 2D目標檢測綜述 2020 CVPR ECCV
- Anchor-free目標檢測綜述 -- Dense Prediction篇
- API安全綜述API
- Spring Bean 綜述SpringBean
- 「技術綜述」一文道盡R-CNN系列目標檢測CNN
- 文字識別(一)--傳統方案綜述
- 「技術綜述」影象與CNN發家簡史,集齊深度學習三巨頭CNN深度學習
- Anchor-free目標檢測綜述 -- Keypoint-based篇
- 文章綜述:基於結構法分析的故障檢測
- MLsys各方向綜述
- GAN生成影像綜述
- 視覺SLAM綜述視覺SLAM
- 綜述:影象風格化演算法最全盤點 | 內附大量擴充套件應用演算法套件
- openGauss每日一練(全文檢索)
- PostgreSQL一複合查詢SQL優化例子-(多個exists,範圍檢索,IN檢索,模糊檢索組合)SQL優化
- PostgreSQL掃描方法綜述SQL
- 反諷識別綜述
- 損失函式綜述函式
- 對話系統綜述
- 計算機視覺入門系列(一) 綜述計算機視覺
- 超解析度分析(一)--傳統方案綜述
- 領域綜述 | 知識圖譜概論(一)
- pta檢索
- ES:檢索
- 資料複製策略綜述
- 蛋白質語言模型綜述模型
- MyBatis 核心配置綜述之StatementHandlerMyBatis
- NP難問題求解綜述