性能大幅度提升(速度&遮擋) | 基于區域分解&集成的目標檢測
最近杭州天氣陰陽不定,為了消除不愉快的心情,可以來和我們一起探討下接下來講述的技術框架,主要涉及深度學習及目標檢測領域!
研究背景
目標檢測其實就是查找給定圖像的一個或多個目標類的所有實例。
近年來,目標檢測已經被研究很長一段時間,并取得了很大的進步且部分都已經應用到實際生活當中,好比人流量統計、刷臉支付、危險人物監測等技術。其中最著名的框架屬R-CNN[1](2014年),首先使用選擇性搜索生成目標區域候選[2](2013年),提取這些區域的CNN特征[3],并將其用特殊類的SVMs分類。然后,出現了Fast R-CNN[4],使用特征共享和RoI池化提高R-CNN的速度。最近的研究是將外部區域候選模塊整合到CNN中,以進一步提高訓練和檢測速度。
因此,通過對區域候選和分類模塊的聯合學習,也可以提高檢測精度。
[1] Girshick, R. B.; Donahue, J.; Darrell, T.; and Malik, J. 2014. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 580–587.
[2] Uijlings, J. R. R.; van de Sande, K. E. A.; Gevers, T.; and Smeulders, A. W. M. 2013. Selective search for object recognition. IJCV 104(2):154–171.
[3] Krizhevsky, A.; Sutskever, I.; and Hinton, G. E. 2012. Imagenet classification with deep convolutional neural networks. In NIPS, 1106–1114.
[4] Girshick, R. B. 2015. Fast R-CNN. In ICCV, 1440–1448.
現代檢測器通常在固定的輸入尺度下簡化特征提取和目標檢測過程。但是,即使在尺度變化下具有魯棒性,區域候選的精度也經常會因所產生的候選和目標區域的變化而降低。此外,對于小目標檢測錯誤會增加。為了提高候選的精度,采用特征金字塔的多尺度特征表示來生成更強的綜合特征圖。然而,圖像金字塔的每層都顯著增加了推理時間。
動機
一般情況下,檢測錯誤經常由于目標遮擋造成。在這種情況下,由于目標的某些部分細節在區域中缺失,因此該目標的CNN特征大量減少,意味著對整個目標區域進行全局外觀特征的挖掘不足以對目標進行準確的分類和定位。具體例子如下:
新框架分析
接下來直接進入主題——區域分解和集成的檢測器(R-DAD)。在下圖的框架中,首先是將一個目標區域劃分為多個小區域,為了聯合捕獲目標的整體外觀和部分細節,在整個目標區域和分解區域中提取CNN特征;然后將多區域特征逐步與區域集成塊相結合,學習目標與其部件之間的語義關系,并利用組合的和高級語義特征進行目標分類和定位。
為了更準確地提出區域候選,提出了一個多尺度的候選層,可以生成不同尺度的目標候選,將R-DAD集成到多個特征中,并且在VOC2017、VOC2012和MSCOCO數據集上進行實驗,發現有了顯著的性能提升。
該框架主要由3小部分組成:1)特征提取,2)基于多尺度的區域候選(MRP,Multi-Scale Region Proposal),3)目標區域分解與集成階段(RDA,Region Decomposition and Assembly)。
特征提取
這部分主要基于Faster R-CNN的流程,我們主要說說第二步驟(MRP)及第三部分內容(RDA)。
上圖中的MRP模塊主要作用是用來改善RPN生成的Region Proposals的準確率。看過的同學應該都知道,該思想特別簡單,就是利用傳統的RPN生成一些候選框,然后再用不同的縮放因子(該技術使用了5種縮放因子作為一組:s = [0.5, 0.7, 1, 1.2, 1.5])對生成出的候選框進行不同比例的縮小及放大,從而提高了區域候選的多樣性。
如上,就生成了不同尺度的區域,有部分僅僅是局部區域,有部分是大于目標本身的區域,其實這也有一個問題:原來的區域候選已經有很大數量級,再乘以五個尺寸,也就是乘以五倍,想要該框架完全利用生成的候選框感覺很吃力啊!
所以最后添加了RoI的采樣層,對得分較低的和跟GT重疊率較低的進行了篩選。由MRP網絡生成的各種Region Proposals可以進一步適應目標之間因為空間變化所導致的特征變化,提高結構的魯棒性。
RDA
一般來說,特征的強烈響應是識別目標最重要的方法之一。因此,對于來自MRP網絡的每一個候選,都會通過結合多個區域的逐階段特征來進行強的再加工,如上圖。為此,需要學習能夠表示不同部分特征之間語義關系的權重,并利用這些權重來控制下一層特征的數量。上圖還顯示了學習的R-DAD的幾個層的語義特性。目標內部的一些強特征響應是由R-DAD提取的。
先用線性插值兩倍上采樣之后再分解,這樣效果會更好。左右剛好是特征圖的左右一半,上下也同理,都會輸入到RAB模塊,RAB模塊如下圖所示:
通過上圖可以發現,RAB模塊類似于一個Maxout的單元,它可以逼近任何連續函數,所以該框架最終選擇了RAB而不是直接使用常用的ReLU函數,這表明各種各樣的目標特征構造可以通過分層的RABs表示,此外該網絡生成的各種區域候選可以進一步提高目標間空間配置變化所產生的特征變化的魯棒性。
實驗
提出的多尺度區域候選和目標區域分解/集成方法的效果
不同區域集成塊的檢測比較
在VOC數據集上與Faster R-CNN比較
在MSCOCO數據集上的結果比較
實驗效果圖
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。