清华优博论文丨物体检测中的特征构建与模型优化
點擊上方“小白學視覺”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達摘 要:本文針對物體檢測中的環境變化多樣、物體尺度變化不一、搜索空間巨大等挑戰性問題,圍繞特征構建、模型優化和應用等方面進行研究。針對物體檢測中的多尺度特征融合問題,提出針對物體檢測的神經網絡特征融合方法HyperNet;進一步提出了逆向連接的特征金字塔物體檢測方法,將不同尺度的物體分配不同層次的特征,該方法大大減少了多尺度物體檢測的難度;提出了無需候選窗的物體檢測模型FoveaBox,摒棄了傳統依賴候選窗掃描的過程。本文提出的系列方法已經在檢測、分割、姿態估計等方面成功得到拓展。
關鍵詞:跨層連接;無需候選窗;物體檢測
作者孔濤:清華大學博士畢業,師從孫富春教授;現為字節跳動人工智能實驗室研究員。主要研究方向為計算機視覺。在TIP、CVPR 等國際權威期刊會議發表論文 10 余篇,授權美國發明專利 2 項。曾獲IBM 中國獎學金、IROS 國際機器人抓取操作競賽冠軍等。
《物體檢測中的特征構建與模型優化》獲得了2020年度中國人工智能學會優秀博士學位論文提名獎。
引言
物體檢測是一種使計算機能在圖像中自動發現感興趣的物體,并判斷物體的類別、位置的技術。具體來講,物體檢測解決的問題是物體是什么,以及在什么位置這兩個基本問題。傳統的物體檢測方法以滑動窗口法為代表,給定一幅輸入圖像,算法首先對圖像進行掃描得到一系列的子窗口;然后在這些子窗口內部提取相應的特征,針對這些特征進行計算和識別,得到子窗口的識別結果。最新的物體檢測模型取代了基于傳統人工設計特征的候選框生成算法。在Faster R-CNN中,研究者提出了錨點(Anchor)的概念,利用與物體檢測模型共享的特征直接在卷積神經網絡的特征層上生成候選框。自此之后,基于卷積神經網絡的物體檢測方法可以大致分為兩種,一種是基于候選區域的兩階段及多階段的方法;第二種是單階段方法,這種方法直接基于錨點進行預測,判斷其所屬的類別并進一步調整錨點的位置。
從提取圖像特征的演進角度,物體檢測的發展大致經歷了三個階段,第一個階段是基本的圖像元素作為圖像描述的階段;第二個階段是特征描述子的階段;第三個階段是將卷積神經網絡作為特征和框架的階段。物體檢測的難度主要體現在物體形狀和尺度的多樣性、物體自身的多樣性、搜索空間問題和正負樣本不均衡問題這四個方面。
本文圍繞通用物體檢測的特征構建、搜索空間劃分、模型框架及應用等基本問題,提出了一系列的解決方案。下面分別進行介紹。
01 基于跨層連接的物體檢測模型HyperNet?
自2014年Ross等提出基于目標區域候選的R-CNN物體檢測模型之后,該領域得到了快速發展。然而,在本章提出的跨層連接的融合技術出現之前,主流的物體檢測模型還是依賴單一的卷積特征層進行預測。利用單一的特征層雖然也能得到不錯的物體檢測效果,但對多尺度(尤其是小目標)的檢測能力有限。利用多尺度、多層次的特征能有效提高模型對多尺度物體的檢測能力。
HyperNet遵從了兩階段法,首先生成候選區域建議,之后進行物體檢測的流程。圖1是詳細的模型示意圖?;诳鐚舆B接的物體檢測模型由以下幾個部分組成:給定一張圖像,首先利用卷積神經網絡模型計算該圖像在不同網絡層次的特征;然后將這些不同層次、不同語義程度的特征融合起來;之后利用一個輕量級的目標候選生成網絡去預測少量的候選框;最后對這些候選框進行分類和微調,輸出最終的物體檢測結果。
● Hyper Feature 生成:給定一幅二維圖像,首先利用卷積神經網絡計算整幅圖像在不同層次的特征。為了將不同層次的特征結合起來,需要將不同層次的特征進行歸一化。不同層之間的特征數值可能存在尺度不一的問題,為此,我們利用局部響應歸一化技術來歸一化這些特征,最后將不同層特征拼接成一個統一的特征,稱之為Hyper Feature。
● 候選區域建議模塊:候選框生成模塊包含一個感興趣區域提取層(ROI-Pooling)、一個卷積層和一個全連接層,后邊便是并行的前背景分類和候選框回歸。對于每張圖片,神經網絡首先在圖像上生成大約3萬個具有不同大小和長寬比的候選窗口。經過非極大抑制之后,我們選擇前200個候選建議框進入后邊的物體檢測模塊。
●?物體檢測模塊:首先將感興趣區域提取層得到的Hyper特征進行壓縮,之后接兩個全連接層,最后進行網絡的輸出。目標檢測模塊包含兩個并行的輸出——對每個區域建議框,需要進行不同類別的分類;針對每個類別輸出進行候選框位置的進一步微調。
小結:本章提出了跨層連接的概念。考慮到卷積神經網絡的高層語義與低層物體細節,并通過簡單、有效的融合方式形成全新的特征,在此基礎之上進行物體的檢測工作。該方法可以同時生成一張圖片中感興趣物體的區域候選框,以及最終的物體檢測結果。HyperNet 是在基于深度卷積神經網絡物體檢測模型中,對多層融合的首次成功的嘗試。該方法試圖從特征的角度上去解決多尺度的問題,但也存在一定的局限性,雖然考慮了多尺度、多層次的特征,最終仍然在單一尺度的特征上檢測所有尺度的物體。
更多詳細內容參見文章:
● Tao Kong, Anbang Yao, Yurong Chen, Fuchun Sun. HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection. CVPR 2016.
02 基于逆向連接的特征金字塔物體檢測
上一章提出了基于跨層連接的物體檢測模型HyperNet,該模型利用多層特征融合的思想有效提升了物體檢測模型對多尺度目標定位的能力,本章進一步提出了基于逆向連接的特征金字塔物體檢測框架RON。該框架結合了跨層連接的思想,同時利用卷積神經網絡的多層輸出最終的檢測結果,可以進一步解決多尺度目標的定位問題。
本章提出的基于逆向連接的特征金字塔模型的主要思想是利用卷積神經網絡不同深度、不同分辨率的特征層檢測不同尺度的物體,通過將不同尺度的物體分配到不同的特征層,一方面可以大大降低每一個層次檢測目標的難度,另一方面將多層檢測的結果進行結合可以有效提高檢測的精度。如圖2所示,給定一幅輸入圖像,首先計算該圖像在卷積神經網絡的特征;然后利用逆向連接構造不同尺度、不同層次的特征;之后利用不同層次的特征檢測不同尺度的物體。
● 參考框設計:在生成多尺度特征的基礎之上,在特征圖的每個位置均勻預定義一系列的候選框,候選框的大小與物體的感受野相對應。在RON的結構中,不同尺度物體的檢測被分配到了相應的特征層上。
● 感興趣區域先驗響應:提出了感興趣區域響應圖來引導目標的搜索過程。
● 目標響應圖與物體檢測的結合:在訓練的過程中,模型將會對每個包圍框的不同類別的評分結合目標響應圖進行更新。在訓練的每一個批次中,神經網絡模型將會同時計算感興趣區域先驗響應圖和后邊的物體檢測模塊。在反向傳播的檢測模塊,僅有響應的部分會參與到模型的更新訓練中,如圖3所示。
● 模型測試:在測試階段直接將物體檢測得分與感興趣區域響應相乘得到最終的物體檢測結果。最終的物體檢測得分將感興趣區域響應和分類的結果進行融合。最后采用非極大抑制算法來去掉冗余的檢測框。
小結:本章提出了一種利用逆向連接技術構造圖像的深度金字塔特征,進而利用不同層次、不同分辨率的特征圖檢測不同尺度物體的方法?;谀嫦蜻B接的特征金字塔構造技術可以有效地提升低層特征的語義表達能力 , 從而幫助小物體的檢測。本方法不僅可以生成最終的物體檢測結果 , 而且可生成候選區域建議。值得一提的是,與本方法同一時期的工作也包括來自Facebook人工智能研究院的FPN和Google的 TDM,通過深度特征金字塔構造技術,可以形成對輸入圖像不同尺度、不同層次的特征描述來幫助視覺處理任務。
更多詳細內容參見文章:
● Tao Kong, Fuchun Sun, Anbang Yao,Huaping Liu, Yurong Chen, Ming Lu. RON:Reverse Connection with Objectness Prior Networks for Object Detection. CVPR 2017.
03?深度特征金字塔重組技術
在理想情況下,一組成功的金字塔特征需要具備以下屬性:充分利用卷積神經網絡中多層特征的表達能力;對每一層次特征的表達能力都有一定的增強?;谀嫦蜻B接技術的特征金字塔構造技術在一定程度上滿足了這兩個條件。我們通過對FPN這種典型的特征金字塔構造過程進行分析(見圖4),發現其構造過程實際上等價于將不同層次的特征進行線性組合。當然,線性組合在一定程度上可以提升不同層的表達能力,但其無法捕捉更高維的依賴關系。下面將從理論上對目前基于深度卷積神經網絡的特征金字塔構造過程進行分析,并給出特征金字塔重組技術的介紹。
04 無需候選框的物體檢測方法?
物體檢測包含了識別和定位兩個子任務。給定一幅圖像,物體檢測模型需要一方面判斷該圖像中是否包含我們感興趣的物體。如果包含,進一步返回這些物體所在的位置。為了給物體檢測模型物體定位的能力,滑動窗口技術成為主流的、標準的解決方案。即使是在目前主流的基于深度學習的物體檢測模型中,滑動窗口技術也扮演著重要的角色。本章提出的物體檢測框架FoveaBox徹底摒棄了滑動窗口,直接利用卷積神經網絡特征來完成物體的檢測過程。
考慮人類是如何來進行物體檢測這一任務的:當我們進入到一個場景中會自然而然地關注到物體的大體位置。如果想得到該物體邊界,僅需對物體部分進行左右上下瀏覽就可以。在這個過程中,不需要任何的掃描窗口,也不需要預定義物體的大小和長寬比。受這一過程的啟發,我們不自覺會問這樣的問題——基于預定義窗口的方式是最優的物體檢測過程嗎?如果不是,是否可以設計出一種全新的、不需要候選框的物體檢測框架?
FoveaBox受到人類視覺系統感知物體的啟發:人類的視網膜中有一個中心凹(Fovea)區域,該區域對物體的細節極為敏感。通過中心凹區域采集更豐富的信息更有利于檢測物體的精確位置(見圖5)。具體來講 FoveaBox 由一個骨干網絡和兩個子網絡組成。骨干網絡用于計算整幅圖像的卷積神經網絡特征,可以用現成的網絡結構(比如 ResNet)。第一個子網絡用于對網絡輸出位置的分類操作,第二個子網絡對每個位置潛在的目標進行包圍框預測。
● 深層特征金字塔表示:采用標準的特征金字塔結構FPN來作為基本的網絡。概括來講,給定一幅圖像,FPN用多個逆向連接的結構來構造最終的金字塔特征。特征金字塔的每一層用來檢測相應尺度的物體。
● 物體尺度的分配:將目標物體的尺度劃分為幾種,將不同尺度的物體投影到對應的金字塔特征層上進行預測。
● 包圍框預測:為了確定準確的物體位置,需要預測每個物體的邊界。對于每個正確的標注,網絡學習從當前的坐標位置到真實標注的映射。當該分支被訓練完成后,就可以針對每個輸出位置給出相應的包圍框。將包圍框與檢測得分結合就是該位置最終的檢測結果。
圖6給出了FoveaBox的部分檢測結果。對于每一組的左邊,是最終的包圍框、類別和相應的得分;右邊是FoveaBox在非極大抑制之前的結果,得分的高低由顏色的深淺來表示。對于每個物體的位置,大約有幾個物體的中心位置點激活,而這些激活的點都可以預測出同一個物體邊界。通過該圖可以看出FoveaBox可以生成魯棒的最終檢測結果,而不依賴于候選框或者錨點技術。
小結:本章提出了無需候選框掃描、無需錨點預定義的方法 FoveaBox。該方法受到人類的視覺系統檢測目標過程的啟發,首先初步確定物體中心點的位置,然后基于中心點位置預測左右上下邊界。FoveaBox可以直接嵌入到目前主流的特征金字塔網絡結構中,利用金字塔特征的多層檢測對應尺度的物體。在標準的物體檢測數據集中,FoveaBox表現出優異的物體檢測性能。值得相信,這種定位的思路可以拓展到三維物體定位、視頻中的物體檢測、行為分析等相關領域中。
更多詳細內容請參考以下參見文章:
● Tao Kong, Fuchun Sun, Huaping Liu, Yuning Jiang, Lei Li, Jianbo Shi. FoveaBox: Beyond Anchor-based Object Detector. TIP 2020.
05結束語
物體檢測是計算機視覺領域基本的任務之一,其包含識別和定位兩個重要的子任務。物體檢測模型的好壞受到多種因素影響。在這些影響因素中,特征、搜索空間和框架起到了至關重要的作用。近6年物體檢測領域飛速發展。本文對物體檢測中的特征構造、搜索空間和框架方面進行了深入研究。未來物體檢測一定是朝著更準確、高速的方向發展,如更完善的特征金字塔構造過程、無需候選框的物體檢測和分割方法,以及向弱監督、無監督物體檢測。
下載1:OpenCV-Contrib擴展模塊中文版教程
在「小白學視覺」公眾號后臺回復:擴展模塊中文教程,即可下載全網第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內容。
下載2:Python視覺實戰項目52講
在「小白學視覺」公眾號后臺回復:Python視覺實戰項目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數、添加眼線、車牌識別、字符識別、情緒檢測、文本內容提取、面部識別等31個視覺實戰項目,助力快速學校計算機視覺。
下載3:OpenCV實戰項目20講
在「小白學視覺」公眾號后臺回復:OpenCV實戰項目20講,即可下載含有20個基于OpenCV實現20個實戰項目,實現OpenCV學習進階。
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據研究方向邀請進入相關微信群。請勿在群內發送廣告,否則會請出群,謝謝理解~
總結
以上是生活随笔為你收集整理的清华优博论文丨物体检测中的特征构建与模型优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在iOS项目中,如何完美的修改项目名称
- 下一篇: 银行金融领域,如何利用数据挖掘对客户进行