姓名:范凌峰????學號:16020188020
轉(zhuǎn)載自:https://blog.csdn.net/u014380165/article/details/80784147
【嵌牛導讀】:CVPR2018 目標檢測(object detection)算法總覽
【嵌牛鼻子】:目標檢測
【嵌牛提問】:CVPR2018 目標檢測算法是什么?
【嵌牛正文】:
1、Cascaded RCNN
論文:Cascade R-CNN Delving into High Quality Object Detection
論文鏈接:https://arxiv.org/abs/1712.00726
代碼鏈接:https://github.com/zhaoweicai/cascade-rcnn
詳細內(nèi)容請移步:Cascade RCNN算法筆記
極市原創(chuàng)篇:Cascade R-CNN:向高精度目標檢測器邁進
Cascaded RCNN這篇文章的出發(fā)點非常有意思,是通過分析輸入proposal和ground truth的IOU與檢測模型采用的用于界定正負樣本的IOU關(guān)系得到結(jié)論:當一個檢測模型采用某個閾值(假設(shè)u=0.6)來界定正負樣本時,那么當輸入proposal的IOU在這個閾值(u=0.6)附近時,該檢測模型比基于其他閾值訓練的檢測模型的效果要好,參看FIgure1(c)。
Cascaded RCNN通過級聯(lián)幾個檢測網(wǎng)絡(luò)達到不斷優(yōu)化預(yù)測結(jié)果的目的,與普通級聯(lián)不同的是,cascade R-CNN的幾個檢測網(wǎng)絡(luò)是基于不同IOU閾值確定的正負樣本上訓練得到的,前一個檢測模型的輸出作為后一個檢測模型的輸入,因此是stage by stage的訓練方式,而且越往后的檢測模型,其界定正負樣本的IOU閾值是不斷上升的。cascade R-CNN的實驗大部分是在COCO數(shù)據(jù)集做的,而且效果非常出彩。

這是在COCO數(shù)據(jù)集上的結(jié)果。

2、Relation Networks for Object Detection
論文:Relation Networks for Object Detection
論文鏈接:https://arxiv.org/abs/1711.11575
代碼鏈接:https://github.com/msracver/Relation-Networks-for-Object-Detection
詳細內(nèi)容請移步:Relation Networks for Object Detection算法筆記、Relation Networks for Object Detection源碼解讀(網(wǎng)絡(luò)結(jié)構(gòu)細節(jié))
這篇文章的出發(fā)點在于目前大部分的目標檢測(object detection)算法都是獨立地檢測圖像中的object,但顯然如果模型能學到object之間的關(guān)系顯然對于檢測效果提升會有幫助,因此這篇文章希望在檢測過程中可以通過利用圖像中object之間的相互關(guān)系或者叫圖像內(nèi)容(context)來優(yōu)化檢測效果,這種關(guān)系既包括相對位置關(guān)系也包括圖像特征關(guān)系。
這篇文章提出了object relation module來描述object之間的關(guān)系,從而以attention的形式附加到原來的特征上最后進行回歸和分類。實驗是針對two stage系列的目標檢測算法而言,在ROI Pooling后的兩個全連接層和NMS模塊引入object relation module,如Figure1所示,因此做到了完整的end-to-end訓練。

3、RefineDet
論文:Single-Shot Refinement Neural Network for Object Detection
論文鏈接:https://arxiv.org/abs/1711.06897
代碼鏈接:https://github.com/sfzhang15/RefineDet
詳細內(nèi)容請移步:RefineDet算法筆記、RefineDet算法源碼 (一)訓練腳本、RefineDet算法源碼(二)網(wǎng)絡(luò)結(jié)構(gòu)
個人覺得RefineDet是一篇很不錯的文章,該算法大致上是SSD算法和RPN網(wǎng)絡(luò)、FPN算法的結(jié)合,可以在保持SSD高效的前提下提高檢測效果(實驗效果提升挺明顯)。第一眼看到這篇文章就讓我想起了RON,畢竟都是想做one stage和two stage的object detection算法結(jié)合。
RefineDet的主要思想:一方面引入two stage類型的object detection算法中對box的由粗到細的回歸思想(由粗到細回歸其實就是先通過RPN網(wǎng)絡(luò)得到粗粒度的box信息,然后再通過常規(guī)的回歸支路進行進一步回歸從而得到更加精確的框信息,這也是two stage類型的object detection算法效果優(yōu)于one stage類型的一個重要原因)。另一方面引入類似FPN網(wǎng)絡(luò)的特征融合操作用于檢測網(wǎng)絡(luò),可以有效提高對小目標的檢測效果,檢測網(wǎng)絡(luò)的框架還是SSD。
網(wǎng)絡(luò)結(jié)構(gòu)參考Figure1。

4、SNIP
論文:An Analysis of Scale Invariance in Object Detection – SNIP
論文鏈接:https://arxiv.org/abs/1711.08189
詳細內(nèi)容請移步:SNIP 算法筆記
這篇文章從數(shù)據(jù)集出發(fā)進行了非常詳細的分析和實驗對比,發(fā)現(xiàn)在COCO數(shù)據(jù)集中小目標占比要比ImageNet數(shù)據(jù)集大,這樣在用ImageNt數(shù)據(jù)集的預(yù)訓練模型時就會產(chǎn)生domain-shift問題,另外COCO數(shù)據(jù)集中的object尺寸變化范圍非常大,即便采用multi-scale training的方式也很難訓練一個檢測器去cover所有scale的目標。
因此,這篇文章針對前面提到的問題,提出一種新的訓練模型的方式:Scale Normalization for Image Pyramids (SNIP),該算法主要包含兩個改進點:1、為了減少前面所提到的domain-shift,在梯度回傳時只將和預(yù)訓練模型所基于的訓練數(shù)據(jù)尺寸相對應(yīng)的ROI的梯度進行回傳。2、借鑒了multi-scale training的思想,引入圖像金字塔來處理數(shù)據(jù)集中不同尺寸的數(shù)據(jù)。
SNIP網(wǎng)絡(luò)結(jié)構(gòu)參考Figure6。

5、R-FCN-3000
論文:R-FCN-3000 at 30fps: Decoupling Detection and Classification
鏈接:https://arxiv.org/abs/1712.01802
詳細內(nèi)容請移步:R-FCN-3000算法筆記
這篇文章主要是成功將R-FCN算法(關(guān)于R-FCN算法的介紹可以看博客)應(yīng)用在檢測類別較多的場景下。首先當初提出R-FCN算法的主要目的在于引入position-sensitive score map解決原來Faster RCNN中ROI的重復(fù)計算問題,有效提升速度。但是如果檢測的類別數(shù)非常多(比如這里的3000類),那么直接用R-FCN算法的話速度是很慢的,瓶頸正是生成分類支路的position-sensitive score map時計算量非常大,因此這篇文章通過解耦分類支路的position-sensitive score map生成的過程(將原來的分類支路拆分成兩條支路,而回歸支路還是采用R-FCN的回歸支路,這篇文章不做修改,這是因為增加檢測類別數(shù)增加不影響回歸支路的計算量),從而在保證速度(30FPS)的情況下將R-FCN的分類類別數(shù)延伸至3000類。
Figure2是F-RCN-3000的分類支路過程,該過程包含兩條支路(Figure2上面那條是生成objectness score的過程,F(xiàn)igure2下面那條是生成fine-grained classification score的過程),這兩條支路的結(jié)果的乘積才是最終的分類結(jié)果。在Figure2中回歸部分并未畫出,但是需要注意的是回歸部分和R-FCN的回歸部分是一樣的。

6、DES
論文:Single-Shot Object Detection with Enriched Semantics
論文鏈接:https://arxiv.org/abs/1712.00433
詳細內(nèi)容請移步:Detection with Enriched Semantics(DES)算法筆記
Detection with Enriched Semantics(DES)主要是基于SSD做改進,也是為了解決SSD中對于小目標物體的檢測效果不好的問題,因為SSD算法對小目標的檢測只是利用了淺層的特征,并沒有用到高層的語義特征。因此這篇文章的出發(fā)點就是為了增加用于檢測的feature map的語義信息,主要的措施包括:1、引入segmentation module用于得到attention mask,從而提高low level的feature map的語義信息。2、引入global activation module用于提高high level的feature map的語義信息。
實驗效果不錯,在VOC2007數(shù)據(jù)集上,DES512能達到81.7的mAP,而且在Titan X上的速度是31.7FPS(batch設(shè)置為8,不過比相同大小輸入和相同特征提取網(wǎng)絡(luò)的SSD算法慢一些)。
網(wǎng)絡(luò)結(jié)構(gòu)參考Figure1。

7、STDN
論文:Scale-Transferrable Object Detection
論文鏈接:https://pan.baidu.com/s/1i6Yjvpz
詳細內(nèi)容請移步:Scale-Transferrable Detection Network(STDN)算法筆記
Scale-Transferrable Detection Network(STDN)算法主要用于提高object detection算法對不同scale的object的檢測效果。該算法采用DenseNet網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò)(自帶高低層特征融合),基于多層特征做預(yù)測(類似SSD),并對預(yù)測結(jié)果做融合得到最終結(jié)果。該算法有兩個特點:1、主網(wǎng)絡(luò)采用DenseNet,了解DenseNet的同學應(yīng)該知道該網(wǎng)絡(luò)在一個block中,每一層的輸入feature map是前面幾層的輸出feature map做concate后的結(jié)果,因此相當于高低層特征做了融合。高低層特征融合其實對object detection算法而言是比較重要的,F(xiàn)PN算法是顯式地做了高低層特征融合,而SSD沒有,這也是為什么SSD在小目標問題上檢測效果不好的原因之一,因此該算法雖然看似SSD,但其實和SSD有區(qū)別。2、引入scale-transfer layer,實現(xiàn)了在幾乎不增加參數(shù)量和計算量的前提下生成大尺寸的feature map(其他常見的算法基本上都是采用deconvolution或upsample),由于scale-transfer layer是一個轉(zhuǎn)換操作,因此基本不會引入額外的參數(shù)量和計算量。
網(wǎng)絡(luò)結(jié)構(gòu)參考Figure2。

相關(guān)文章
聊聊目標檢測中的多尺度檢測(Multi-Scale),從 YOLO,ssd 到 FPN,SNIPER,SSD 填坑貼和極大極小目標識別