<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      圖像檢索技術怎樣準如“雷達”,從一張到億張精準定位圖片違規?

      在Web2.0的時代下,圖像、視頻等各類異構數據每天都在以驚人的速度增長。如何在茫茫圖庫中方便、快速、準確地找到所需圖像?你是否還在為如何檢索到真正想要獲取的圖像的關鍵字而苦苦煩惱?你是否發現目前基于文本描述的圖像搜索結果在大規模圖像中結果往往差強人意?

      追根溯源,這是由于基于文本的圖像檢索在外來的圖像入庫時離不開人工的干預。文本描述的特征依賴于人工標注的介入,導致圖庫受到標注者的認知水平、言語使用以及主觀判斷等的影響,造成圖像的文字描述存在差異。同時,標注費時費力,這類方法并不適用于海量圖像庫的檢索。

      背景介紹

      針對這一系列問題,基于內容的圖像檢索(CBIR,Content Based Image Retrieval)充分發揮了計算機擅長于處理重復任務的優勢。它能夠根據用戶給定的查詢圖像,提取有效圖像視覺特征,衡量圖像之間的相似性,并從一個大規模數據庫中快速找到與給定圖像內容相關或相似的圖像,并按相關的排序返回給用戶,將人們從耗費大量人力、物力和財力的人工標注中解放出來。

      目前,基于內容的圖像檢索技術已經深入到了許許多多的領域,在電子商務、皮革布料、版權保護、醫療診斷、公共安全、街景地圖等工業領域得以成功應用,為人們的生活生產提供了極大的便利。

      本文從圖像檢索流程出發,結合網易易盾團隊在數字風控“內容安全”中的實踐經驗,介紹構建基于內容的圖像檢索系統所涉及的一些典型算法。

      檢索系統的搭建

      一個典型的基于內容的圖像檢索基本框架如圖1所示,整個框架分為2大部分:offline離線部分以及online在線部分。

      offline部分主要包括了檢索圖像庫、特征提取、特征庫以及檢索結構。

      檢索圖像庫:一個用于存放待查詢的圖像數據庫。在實際項目中,這個檢索圖像庫是一個動態變化的圖像數據庫。

      特征提?。簣D像特征的表達能力即利用計算機提取圖像中屬于特征性的信息的方法及過程。圖像的任何統計量都可以作為圖像的特征,哪怕是圖像本身的像素信息。在實際項目中,我們通常使用如顏色、結構等傳統視覺特征和基于深度學習的底層/中層/高層語義特征作為圖像特征。

      特征庫:用于存放需要查詢的圖像庫中提取的圖像特征。

      構建索引結構:這一步驟的目的就是對高維度特征的檢索性能進行優化。雖然直接采用暴力檢索一一比對這樣的方法檢索的精度是最高的,但代價是檢索的時間也是最長的,為了在檢索精度和檢索速度之間找到一個平衡點,因此常見的方法有查找優化以及向量優化。在實際業務中,也常常采用兩種方式相結合的方法。

      online部分主要是完成對query圖像的特征提取操作,在這一步操作中,值得注意的是,特征提取方法需要和offline中相保持一致。

      圖像檢索技術怎樣準如“雷達”,從一張到億張精準定位圖片違規?

       

      圖1 | 基于內容的圖像檢索基本框架

      從上圖可以看出,圖像特征提取是整個檢索系統的基礎,檢索結構的設置是整個檢索系統性能的關鍵。下面就對這兩部分進行詳細介紹。

      01 特征提取

      從圖1可以清晰地看出,檢索系統的性能在很大程度上依賴于特征提取方法。理想情況下,特征提取方法應具有識別能力強、魯棒性好、特征維度低三個特點,圖2給出了特征提取算法在魯棒性方面的示例效果。

      圖像檢索技術怎樣準如“雷達”,從一張到億張精準定位圖片違規?

       

      圖2 | 特征提取算法在魯棒性方面的示例效果

      但在實際情況下,由于計算機所“看到”的圖像像素層面表達的低層次信息與人所理解的圖像多維度高層次信息內容之間有很大的差距,因此如何準確、高效、精準地提取圖像特征是我們所要做的工作。從提取的方式上來看特征提取算法,大致可以分為(1)基于手工設計的傳統視覺特征;(2)基于CNN(卷積神經網絡)的深度視覺特征這兩類,如圖3所示。

      圖像檢索技術怎樣準如“雷達”,從一張到億張精準定位圖片違規?

       

      圖3 | 特征提取方法

      1.1 基于手工設計的傳統視覺特征

      傳統的視覺特征在發展早期主要是利用顏色、紋理、形狀、結構特征等全局特征,這些特征計算簡單、表示直觀,但這些特征往往因維度較高使得其計算量較大,同時這些全局圖像特征易受圖像中的光照條件、位移、遮擋、截斷等因素影響。隨后更細致的局部特征描述逐步出現,例如經典的SIFT(ScaleInvariant Feature Transform)、SURF、ORB、BRISK等。這類算法相對簡單,無需學習與訓練,僅需簡單計算與統計,也有較好的穩定性,對旋轉、尺度縮放、亮度變化有較好的穩定性,不易受視角變化、仿射變換、噪聲的干擾[1],但由于這類特征極大程度上依賴于人為的設計,因此有時候并不能準確地表征圖像特征,進而對檢索性能造成一定影響。

      1.2 基于CNN(卷積神經網絡)的深度視覺特征

      由于手工設計的傳統視覺特征其表示能力有限,檢索性能也往往面臨很大的局限性。2014年后,以卷積神經網絡為代表的深度學習逐漸替代了傳統手工特征的檢測與描述方法,各類CNN模型層出不窮,如AlexNet、VGGNet、GoogleNet、RetinaNet、ResNet等。神經網絡的深層級具有較強語義信息;淺層級特征中保存了包含圖像邊緣、紋理、顏色等信息。這類方法主要分為:(1)Pre-trained CNN model;(2)Finetuned CNN model;(3)Hybrid CNN-based method[2]。

      方法一:Pre-trained CNN model

      在Pre-trained CNN model中,常見的做法有2種:

      (1)直接使用全連接層作為全局特征描述作為單張圖像的特征。這是一種最直接,也是最簡單快捷方便的想法。首先FC層的輸出可以看成是一種天然的向量形式,因此可以直接作為圖像的特征向量,其次,FC層的輸出實際上是對圖像整體語義的表示,具有全局表示性,因此可以被視作是一種圖像的全局特征。通過實驗也表明其在能產生較好的檢索精度,若使用指數歸一化也可提高檢索精度。

      (2)使用卷積層特征作為單張圖像的特征。由于FC層本質上是其中的每一個神經元都和前一層所有神經元相連接,這使得提取的特征在一定程度上丟失了空間信息,同時對于如裁剪、遮擋等變換的魯棒性也會降低。而卷積層由于其僅僅與輸入的feature map中的局部區域相關聯,確保了提取的特征中包含了更多的局部特征,魯棒性更強,因此提出了使用卷積層代替全連接層,實驗表明從不同層提取的特征表現出不同的檢索性能,高層網絡的泛化能力要低于較低層的網絡。

      這類方法通常是使用一個現成開源分類識別模型作為一個特征提取器。這些開源模型通常會在ImageNet上這類數據集較大的數據上進行訓練,而當實際業務數據與ImageNet數據分布差異過大時,模型提取的特征不一定非常適合圖像檢索任務,因此。源域和目標域之間的重疊程度在檢索中起著至關重要的作用。

      方法二:Finetuned CNN model

      為了使模型具有更高的可擴展性和更有效的檢索,可以采用finetuned CNN model的方法,根據具體場景的特點大致可以分為如下2種方法:(1)監督學習方法;(2)無監督學習方法。

      (1)基于有監督學習finetune模型

      當有足夠的充足的有標簽業務數據時,基于有監督學習的方法來進行finetune模型是一個不錯的選擇。圖4給出了方法的部分示例網絡結構。這類方法主要分為2種[3]:

      一是,基于純分類模型進行finetune。這類方法的思想很簡單,即在新的數據上對分類模型進行重新訓練,這類方法雖然在一定程度上拉近了源域和目標域之間的距離,但這類方法存在一個問題:對于學習區分特定物體的類內之間的差異能力不強。

      二是,基于分類+度量學習(metric learning)進行finetune。這類方法是在上述方法上進行了改進,通過引入度量學習旨在學習一種低維空間,在這個空間內將同類樣本之間的距離拉近,異類樣本之間的距離拉遠。這種方法既關注了類間樣本,也關注了類內樣本。這類方法從網絡結構的形式上大致可以分為基于Siamese網絡[4]和基于triplet networks[5]網絡,兩者最大的區別就在于輸入圖像對的組成情況,前者輸入圖像是由正或負樣對組成,如圖4(b)、(c)所示,后者則是anchor圖像與相似和不相似的樣本配對,如圖4(d)、(e)、(f)所示。

      圖像檢索技術怎樣準如“雷達”,從一張到億張精準定位圖片違規?

       

      圖4 | 基于有監督學習finetune模型

      (2)基于無監督學習finetune模型

      但在實際業務中,千萬級數據的標注任務就顯得不現實,既費時又費力,同時成本高。基于上述種種限制,基于無監督學習的方法應運而生。該方向目前存在以下2個主要的分支:

      分支一,流形學習(Manifold learning)+度量學習。這類方法[6]主要是通過流形學習來挖掘圖像在流形空間上的相似性,進而選擇相對應的正負樣本進行度量學習。這類方法與前述基于分類+度量學習進行finetune方法最大的不同就在于,該方法的正負樣本選擇是通過流形學習,而非根據給定的有監督的標簽信息。

      分支二,基于AutoEncoder的無監督框架。這類方法[7]利用輸入圖像本身作為輸出結果標簽,通過編碼器對輸入圖片進行編碼,然后利用解碼器將編碼后的特征盡可能重建原始輸入圖像。在提取圖像特征時,只需要將圖像輸入編碼器即可,另外由于編碼器輸出的特征維度往往較低,這也達到一個降維的效果。這類方法本質上是通過一種非線性的變換函數完成特征提取。

      方法三:Hybrid CNN-based method

      前面的2種方法都只將圖像輸入到網絡中一次來獲取描述符,目前也有一些是將圖像多次輸入到網絡中,基于局部表示聚合的方法先設法從輸入圖像中提取一系列的局部區域,之后分別將這些局部區域前饋網絡生成對應的局部表示,最后通過特定編碼方法將這些局部表示聚合為最終表示,這類方法的弊端在于需要前饋網絡多次。

      02 特征增強

      在檢索過程中,圖像特征的表達能力在一定程度上決定檢索性能的優劣,因此在提取特征圖像特征后,往往為了獲得更強可辨識性的特征,通常會采用圖像聚合、嵌入映射、特征融合的方式。

      2.1 特征聚合

      當提取的特征是從卷積層輸出時,通常獲得一個H*W*C的特征,利用池化(pooling)操作可以在某種程度上實現特征的聚合,從而提高特征的表達能力。sum/average pooling和max pooling是兩種常用的特征聚合手段(如圖7中的MAC方法),sum/average pooling 考慮了卷積層的所有激活輸出,削弱了高度激活特征的影響,而max pooling特別適用于稀疏特征,這兩種聚合特征可以認為是當前feature map的全局特征。除上述方法之外,在pooling操作之前引入其他的一些操作,如構建Spatial權重和Channel權重(CroW方法[8])、對feature map某一塊區域進行pooling操作(R-MAC[9])等方式提高感興趣區域特征信息或引入局部特征信息來提高特征的表達能力。

      圖像檢索技術怎樣準如“雷達”,從一張到億張精準定位圖片違規?

       

      圖5 | 特征聚合

      2.2 嵌入映射

      除上述操作之外,還可以將特征嵌入到高維空間中以獲得緊湊的特征,尤其是當提取的特征為局部特征(如SIFT)時,我們就需要對局部特征進行聚合,作為圖像的全局表示。目前常見的方法有VLAD[10]、BoW[11]、FisherVector(FV)[12]等等。

      2.3 特征融合

      發展至今,特征融合的方法多種多樣,主要可以分為以下兩種:(1)單模型層級融合;(2)模型級融合。

      在單模型層級融合中,考慮到同一個模型的不同feature map所關注的圖像特征不同,融合不同層的特征可以充分利用高層語義特征和低層細節特征,這樣可以在度量語義相似度時進行相互補充,在一定程度上保證了檢索的性能。

      眾所周知,在相同數據集上對不同模型進行訓練,模型的特征提取能力不盡相同,既然如此,如果可以找到一種方式來充分發揮各個模型之間的優勢,是不是有利于提高檢索的性能?毋庸置疑,答案是肯定。

      對于這兩種融合策略,關鍵問題是什么特征是最好的組合?在現有的深度模型的基礎上,已經對回答這個問題進行了一些探索[13][14]。

      除深度特征之間融合之外,我們在實際業務中嘗試發現將CNN特征與傳統的特征相互補充,相輔相成,也可以實現更為精準、更為全面的圖像檢索特征。

      上述三大類特征增強的方法,每種方式的側重點不同,因此具體使用哪一種或哪幾種方法視每個業務的情況而定。

      03 構建結構索引

      影響整個檢索系統性能除圖像的特征表達能力之外就是檢索過程了。整個檢索過程中最核心的是計算兩個特征向量之間的相似性后進行排序,獲得查詢結果。這時候能想到最簡單粗暴方法就是暴力(brute-force)搜索方法:通過與查詢庫中特征向量對標,一一計算相似性并排序,這種方法實現起來相對容易、檢索精度高,但在大規模圖像庫上,這種搜索的方式并不友好,主要存在如下問題:

       

      一是,內存占用過大:雖然提取的特征已經比直接保存圖像小了很多,但當數據量仍然龐大,這些向量的存儲成為一個大問題。

      二是,響應時間過長:消耗巨大的計算資源,且單次查詢的響應時間會隨樣本數目N成線性增長。

      因此,為了在實際業務中落地,就必須在盡可能保持搜索精度的前提下,降低搜索空間的空間復雜度與時間復雜度。通常采用構建索引的方法將暴力匹配(精確搜索)轉化為近似搜索來近一步提升搜索速度、節省內存占用空間。業內也提出了不少檢索算法,雖然應對不同數據維度和分布有不同算法,其核心思想可歸為3大類:

      (1)空間劃分法。這類方法的核心是將檢索的數據集所在的特征空間分成多個子空間,把“挨得近”的數據點放在同一個子空間中,這樣在檢索時可以快速定位到這些子空間,減少需掃描的數據量的個數,提高檢索的速度。常用的算法有KD-Tree[15]、聚類檢索等,但這類算法對于高維特征,如維度達到幾百時,這類算法的性能會急劇下降。

      (2)空間編碼和轉換法。這類算法可以看作是一種對特征的編碼操作,實現將高維空間數據映射到低維空間,實現數據的壓縮,進而減少掃描的數據點的計算量。ProductQuantization(PQ)算法[16]就是其中一個典型代表。

      (3)鄰居圖法。以HNSW[17]為代表,這類算法有一個重要的前提:認為鄰居的鄰居仍為鄰居。整個算法核心是基于圖結構完成整個檢索,首先根據特征庫中所有特征預先構建一張關系圖,檢索時直接在關系圖上進行游走遍歷,最終獲得檢索結果。這類方法速度快、精度高,但臨界點存儲浪費內存,增加存儲空間的開銷。

       
      posted @ 2022-02-24 17:18  白鷺鷺鷺  閱讀(317)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久天天躁狠狠躁夜夜躁2o2o| 国产午夜福利在线视频| 国内精品九九久久久精品| 亚洲爆乳WWW无码专区| 日本55丰满熟妇厨房伦| 美女胸18下看禁止免费视频| 中文国产成人精品久久一| 五月天久久综合国产一区二区| 亚洲日本欧洲二区精品| 亚洲性人人天天夜夜摸18禁止| 日本午夜精品一区二区三区电影| 熟女熟妇伦av网站| 久久精品国产亚洲av高| 九九热在线视频免费播放| 日韩丝袜亚洲国产欧美一区 | 国产精品久久无码不卡黑寡妇| 精品无套挺进少妇内谢| 国产乱色熟女一二三四区| 亚洲av激情综合在线| 四虎永久精品在线视频| 无码综合天天久久综合网 | 亚洲精品成人久久久| 国产欧美日韩高清在线不卡| 赞皇县| 日韩淫片毛片视频免费看| 国产精品v片在线观看不卡| 无码精品国产va在线观看| 国产亚洲欧美日韩俺去了| 久久午夜无码免费| 97超级碰碰碰碰久久久久| 亚洲国产av久久久| 亚洲avav天堂av在线网爱情| 亚洲色大成网站WWW永久麻豆| 狠狠色狠狠色五月激情| 亚洲精品男男一区二区| 亚洲色成人网站www永久男男| 国产精品综合一区二区三区| 国产精品区一区第一页| 都市激情 在线 亚洲 国产| 欧美国产亚洲日韩在线二区| 亚洲色大成网站WWW久久|