目標檢測算法綜述 檢測組件 學習策略 應用及Benchmarks 1.傳統方法 2.深度學習方法 檢測組件 特徵描述 學習策略 測試階段 目標檢測未來可能研究方向

參考:https://mp.weixin.qq.com/s/S1IrgEqS1Q4xqGl5adNrlg
目標檢測維度

檢測組件

  • 檢測設置:Bounding Box 與像素 Mask
  • 檢測範式:兩階段法與一階段法
  • 推薦區域生成方法:傳統計算機視覺方法,基於Anchor的方法,基於關鍵點的方法,其他方法
  • Backbone結構:1.VGG16,ResNet,DenseNet;2.MobileNet,ResNeXt;3.DetNet,Hourglass Net
  • 特徵描述:多尺度特徵學習,區域特徵編碼,上下文推理,可變性特徵學習

學習策略

  • 訓練階段:數據增強,非平衡採樣,定位精煉,級聯學習
  • 測試階段:duplicate removal,模型加速

應用及Benchmarks

  • 應用:人臉識別,行人識別。
  • Benchmarks:MSCOCO,Pascal VOC,open images,FDDB,Wider FACE.

1.傳統方法

傳統目標檢測方法流程:區域選擇--特徵提取--分類器
區域選擇:滑動窗口,導致計算量過大
特徵提取:由於形態、光照、背景多樣性,導致人工設計的特徵難以魯棒,主要是HOG,SIFT,Haar等。
分類器:SVM等。
主要缺點:滑動窗口的區域選擇方法計算量大;手動設計的特徵無魯棒性。

2.深度學習方法


OverFeat,R-CNN,Fast R-CNN等方法引入CNN進行特徵特徵,未改變區域推薦方法,計算量仍比較大。
Faster R-CNN提出RPN進行區域推薦,目標檢測算法實現端到端。

檢測組件

  • 兩階段方法:區域推薦+迴歸



    R-CNN引入CNN進行特徵提取,R-CNN與Fast R-CNN都是用SS進行區域推薦,Fast R-CNN中提出了ROI Pooling ,將區域座標與feature map對應起來,只需要提取一次特徵就可以,減少計算量,提升檢測速度,Faster R-CNN提出了RPN,實現了端到端。

  • 一階段方法,沒有區域推薦過程,直接進行迴歸


  • 基於anchor方法


Faster RCNN提出的RPN爲開山之作,後來陸續基於此工作進行改進。
DeRPN將anchor迴歸的四信息維度分解成兩個線段信息(AAAI2019),更易迴歸(但是效果而言不算特別驚豔);DeepProposal(ICCV2015)從低分辨率特徵圖到高分辨率特徵圖路線預測proposal然後精煉;RefineDet(CVPR2018)將手工設計的anchor進行逐級精煉獲得更好的候選區域;Cascade RCNN(CVPR2018)通過Iou閾值的match觀察,通過iou閾值的篩選逐漸提高高質量proposal的比例;MetaAnchor(NIPS2018)嘗試學習如何設計anchor,但是其自定義的基礎anchor組仍是手工設計的。

  • Keypoints-based Methods
      將基於關鍵點的檢測器分爲兩類:corner-based 和center-based。前者直接預測一對角點,代表是CornerNet;後者預測特徵圖上每個位置的中心點出現的概率並在此基礎上預測寬高,如FSAF;還有兩種思路結合的方法,如CenterNet。

特徵描述

  • 多尺度學習


1.圖像金字塔

左上。對不同尺度圖像訓練多尺度檢測器,獲得檢測器對多尺度圖像的描述能力,但是計算量巨大,使用較少。
2.特徵融合

將不同層的特徵融合在一起,以兼顧多尺度特徵學習能力。如ION將不同層的特徵通過RoIpooling進行裁剪融合,在預測中結合了多尺度的信息;類似的還有HyperNet,Multi-scale Location-aware Kernel Representation等。跨層特徵融合方法現在用的不多,一般現在都是多尺度預測。

3.預測金字塔

右上,對多層特徵分別預測,SSD,MSCNN等方法均使用此思路。

4.特徵金字塔
經典的是FPN。
每個分辨率的feature map引入後一分辨率縮放兩倍的feature map做element-wise相加的操作,進而做預測。通過這樣的連接,每一層預測所用的feature map都融合了不同分辨率、不同語義強度的特徵,融合的不同分辨率的feature map分別做對應分辨率大小的物體檢測。這樣保證了每一層都有合適的分辨率以及強語義特徵。

特徵融合詳細講一下
前期啓發式工作爲hypernet



將低層特徵池化縮小兩倍,高層特徵反捲積擴大兩倍,與中間層特徵尺度相同,使用concat操作將特徵通道數連接在一起,進行預測。
後續更成功的特徵金字塔。


  • (a)圖像金字塔:圖像縮放成不同尺寸分別提取特徵圖,對特徵圖分別進行預測

  • (b)普通單層特徵圖:取最後一層特徵進行預測

  • (c)預測金字塔,典型的如SSD,對每層特徵進行預測

  • (d)特徵金字塔:融合SSD與hypernet思路,高層特徵進行兩倍上採樣與其上一層特徵尺寸相同,上一層特徵經過1*1卷積操作,與高層特徵通道上相同,採用add操作,將兩層特徵圖夾在一起,多層特徵圖均這樣操作,對變換後的每層特徵進行預測。使用concat進行通道數相加也可以。


  • 特徵描述
    1.Region Feature Encoding

RoIPooling。改進從Pooling到Warping然後是Align以及清華的個PrRoipooling,減少量化誤差。其他的變式如R-FCN的PSRoIPooling;Couplenet的整合pooling輸出;可變性卷積的變形RoIPooling等。
2.上下文推理
全局上下文推理:學習整張圖片的上下文信息,並通過這些上下文信息進行目標的推斷。代表工作如ION,DeepId,改進版的Faster R-CNN。
區域上下文推理:只編碼候選區域附近的上下文信息,即檢測目標與其附近環境的關係。直接建模物體與其周圍的關係是很難的,因爲目標的周圍環境具有很大的變化性,難以抽象和建模。相關工作有:

SMN模塊(ICCV2017)記錄關聯並作爲先驗判斷;SIN(CVPR2018)將物體作爲節點,進而推理邊的關係的圖推理問題;
設計了一種Relation Network(CVPR2018)替代掉傳統的NMS過程;
擴大proposal滑窗尺寸得到更廣域的上下文信息然後和本ROI進行concat融合(ECCV2016);
GBDNet (ECCV2016)學習門函數選擇上下文信息的融合。

學習策略

  • 訓練階段
    不均衡採樣:proposal的樣本不平衡可分爲:類別不平衡和難分程度不平衡。
    類別不平衡
    主要是proposal的背景數遠多於正樣本。解決方法有不均衡採樣,如Faster RCNN的1:3採樣;SSD中提出困難樣本採樣策略,將難分proposal餵給網絡更新參數。
    難度不平衡
    Focal Loss,GHM,OHEM。

  • 定位優化
    對proposal位置進行精修獲得更準確地邊框位置。
    (1)得到更高質量的proposal(2)Fast R-CNN的smoothL1迴歸損失(3)LocNet的連續迴歸(感覺和IoUNet一樣)(4)Multipath Network多尺度Roi以及多個不同閾值IoU分類器的共同學習(5)Grid RCNN

  • Training from Scratch(從無到有的訓練)

出發點是分類與檢測任務不同,分類預訓練模型可能對檢測的初始化帶來不好的對抗偏置(但是實際來看,預訓練能解決很多問題,這個說法有點牽強)。

最早提出Training from Scratch的是DSOD,後來陸續有基於此的結構改進以便實現從頭訓練的更好收斂。包括Detnet就以這個爲標準進行了比較。但是何愷明的Rethinking imagenet pre-training表示只要數據夠大(10k),直接訓練不遜色於fine-tune的,無關具體結構,這間接否定了一些這方面設計的工作。

測試階段

  • Duplicate Removal(重複刪除)

NMS,soft-NMS,還有可學習的Learning NMS。

  • Model Acceleration(模型加速)

主要是針對兩階段檢測器耗時問題的解決。針對R-FCN的heavy位敏特徵圖,Light Head R-CNN進行簡化取得不錯的速度和性能的tradeoff;backbone方面有MobileNet深度可分離卷積加速特徵提取;非線性計算部分有PVANet採用CReLU激活函數加速;還有一些離線加速方法,如模型壓縮量化,剪枝等。

目標檢測未來可能研究方向

(1)Proposal的Anchor生成方式(2)對上下文信息更有效的編碼(3)更好更大的數據集(4)Low-shot目標檢測(5)適用於檢測任務的backbone(6)輕量級目標檢測:加速檢測算法,使其能夠在移動設備上平穩運行。(7)AutoML:未來的一個方向是使用神經結構搜索,減少設計檢測模型時的人爲干預(例如,如何設計引擎,如何設置錨盒)。AutoML可能是目標檢測的未來。(8)弱監督檢測(9)小目標檢測(10)在視頻中檢測(11)信息融合檢測(12)其他,如batch的大小、增強學習等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章