【目標(biāo)檢測算法50篇速覽】2、檢測網(wǎng)絡(luò)檢測網(wǎng)絡(luò)設(shè)計范式的完善
【GiantPandaCV導(dǎo)讀】到了第二章,檢測網(wǎng)絡(luò)已經(jīng)發(fā)展到了將整個的檢測任務(wù)都放在CNN中進(jìn)行,也開始有學(xué)者探討,CNN中每一層到底學(xué)到了什么信息。到此部分,現(xiàn)在通用的檢測模型結(jié)構(gòu)開始逐步的產(chǎn)生和完善,并向更高精度和更快速度邁進(jìn)。
第一篇 FCN
《Fully Convolutional Networks for Semantic Segmentation》
提出時間:2015年
針對問題:
過往的檢測網(wǎng)絡(luò)大都采用了全連接層來對CNN提取到的特征進(jìn)行處理。作者嘗試討論那能否設(shè)計一個全部由卷積層構(gòu)建的網(wǎng)絡(luò)模型,來達(dá)到更精細(xì)的檢測效果。
創(chuàng)新點(diǎn):
設(shè)計了一種全卷機(jī)的網(wǎng)絡(luò)來實(shí)現(xiàn)對輸入圖像的像素級分割任務(wù)。采用反卷積層對最后一個卷積層的feature map進(jìn)行上采樣, 使它恢復(fù)到輸入圖像相同的尺寸,從而可以對每個像素都產(chǎn)生了一個預(yù)測, 同時保留了原始輸入圖像中的空間信息, 最后在上采樣的特征圖上進(jìn)行逐像素分類。最后逐個像素計算softmax分類的損失, 相當(dāng)于每一個像素對應(yīng)一個訓(xùn)練樣本。

詳解博客:https://blog.csdn.net/qq_36269513/article/details/80420363
第二篇 OHEM
《Training Region-based Object Detectors with Online Hard Example Mining》
提出時間:2016年
針對問題:
本文作者的出發(fā)點(diǎn)是對faster rcnn論文算法的訓(xùn)練流程進(jìn)行改進(jìn),從而提高該模型的檢測精度。該操作也側(cè)面說明了網(wǎng)絡(luò)的訓(xùn)練過程,難例對模型性能提升是重要的。
創(chuàng)新點(diǎn):
利用難例挖掘技術(shù)在CNN中的應(yīng)用來優(yōu)化訓(xùn)練流程,從而使得Fast RCNN網(wǎng)絡(luò)模型的檢測精度提高。在第t次迭代時,輸入圖片到卷積網(wǎng)絡(luò)中得到特征圖,然后 把特征圖和所有的RoIs輸入到RoI網(wǎng)絡(luò)中并計算所有RoIs的損失,把損 失從高到低排序,然后選擇B/N個RoIs。這里有個小問題,位置上相鄰 的RoIs通過RoI網(wǎng)絡(luò)后會輸出相近的損失,這樣損失就翻倍。作者為了 解決這個問題,使用了NMS(非最大值抑制)算法,先把損失按高到低排 序,然后選擇最高的損失,并計算其他RoI這個RoI的IoU(交叉比),移除IoU大于一定閾值的RoI,然后反復(fù)上述流程直到選擇了B/N個RoIs。
詳解博客:https://zhuanlan.zhihu.com/p/58162337
第三篇 YOLOv1
提出時間:2016年
針對問題:
主流的檢測網(wǎng)絡(luò)都是兩段式的,因為要先提取疑似目標(biāo)框,再對目標(biāo)框進(jìn)行精細(xì)定位和分類,所以耗時都會很高,那么能不能設(shè)計一種一段式的網(wǎng)絡(luò),既能達(dá)到檢測的效果,又能降低耗時呢?
創(chuàng)新點(diǎn):
作者創(chuàng)新的提出了,依賴回歸和在輸出特征圖上劃分grid直接進(jìn)行回歸和分類的網(wǎng)絡(luò)模型,從而去掉了顯式的提取疑似目標(biāo)框的流程,回歸的思路一定程度上,可以參考第二章第二篇,該網(wǎng)絡(luò)模型設(shè)計思路降低了檢測流程的耗時,形成了新的一段式檢測網(wǎng)絡(luò)設(shè)計模式。
詳解博客:https://www.jianshu.com/p/cad68ca85e27
第四篇 G-CNN
《G-CNN: an Iterative Grid Based Object Detector》
提出時間:2016年
針對問題:
既然yolov1創(chuàng)新的提出了grid劃分網(wǎng)格并在網(wǎng)格內(nèi)直接回歸目標(biāo)框的思路來替換顯式提取目標(biāo)框的方案,那能不能將該方案應(yīng)用到兩段式的網(wǎng)絡(luò)模型中,從而即利用了兩段式的精度又加快了速度?
創(chuàng)新點(diǎn):
作者在fast rcnn上做試驗,用grid來替換selective search算法,并逐步迭代回歸到目標(biāo)的真實(shí)位置。
詳解博客:https://www.jianshu.com/p/17139e4c5580
第五篇 AZ-Net
《Adaptive Object Detection Using Adjacency and ZoomPrediction》
提出時間:2016年CVPR
針對問題:
作者嘗試對faster rcnn中的RPN部分進(jìn)行優(yōu)化,主要是在保證精度的前提下,提高該部分的目標(biāo)框提取速度,從而實(shí)現(xiàn)對faster rcnn的優(yōu)化。
創(chuàng)新點(diǎn):
AZ-net,主要對深度檢測網(wǎng)絡(luò)中的RPN部分進(jìn)行優(yōu)化,利用遞歸的思路來避免生成Region proposal時候的大量重復(fù)操作和計算資源浪費(fèi)。也就是對輸入圖像分塊,再逐步向下分塊直到當(dāng)前塊判斷無目標(biāo)。
詳解博客:https://blog.csdn.net/qq_34135560/article/details/84951384
第六篇 Inside-OutsideNet
《Inside-OutsideNet:Detecting Objects in Context with Skip Poolingand Recurrent Neural Networks》
提出時間:2016年
針對問題:
由第一章第九篇論文,我們可以知悉網(wǎng)絡(luò)的淺層和深層所獲取到的圖像特征是從局部到整體逐漸抽象的。那么對最終的目標(biāo)檢測任務(wù)來說,我們就需要淺層的特征信息來對較小目標(biāo)進(jìn)行檢測,還需要深層的特征信息來對較大目標(biāo)實(shí)現(xiàn)檢測,如何協(xié)調(diào)淺層和深層的特征來達(dá)到對不同尺度的目標(biāo)都比較好的檢測效果呢?
創(chuàng)新點(diǎn):
提取不同層的特征,經(jīng)過L2正則后拼接,并使用了iRNN結(jié)構(gòu)來提高檢測效果,是2016年精度最高的監(jiān)測模型,最早的利用多層特征融合來進(jìn)行檢測的論文。

詳解博客:https://blog.csdn.net/u014119694/article/details/88423331
第七篇 HyperNet
《HyperNet: Towards Accurate Region Proposal Generationand Joint Object Detection》
提出時間:2016年
針對問題:
有faster rcnn網(wǎng)絡(luò)里的RPN子網(wǎng)絡(luò)以后,雖然將先驗的目標(biāo)框從幾千減少到了幾百,但是還是存在著大量的冗余,如何近一步提高先驗框提取部分的性能并改進(jìn)檢測網(wǎng)絡(luò)?
創(chuàng)新點(diǎn):
作者嘗試跳層提取特征,即分別從網(wǎng)絡(luò)的淺層和深層提取特征。既能獲取高層語義,又可以得到低層高分辨率的位置信息。提高小目標(biāo)檢測效果。

詳解博客:https://blog.csdn.net/qq_35608277/article/details/80432907
第八篇 CRAFT
《CRAFT Objects from Images》
提出時間:2016年
針對問題:
作者在本篇論文中,認(rèn)為faster rcnn網(wǎng)絡(luò)模型仍舊存在改進(jìn)的空間,通過任務(wù)細(xì)化,來改進(jìn)網(wǎng)絡(luò)RPN部分和分類部分的性能。
創(chuàng)新點(diǎn):
對于生成目標(biāo)proposals階段,論文在RPN的后面加了一個二值的Fast RCNN分類器來對RPN生成的proposals進(jìn)行進(jìn)一步的篩選,留下一些高質(zhì)量的proposals;對于第二階段的目標(biāo)proposals分類,論文在原來的分類器后又級聯(lián)了N個類別(不包含背景類)的二值分類器以進(jìn)行更精細(xì)的目標(biāo)檢測
詳解博客:https://blog.csdn.net/scarecrowliu/article/details/53067529
第九篇 MultiPathNet
《A MultiPath Network for Object Detection》
提出時間:2016年
針對問題:
本篇論文也是在總結(jié)跳層提取特征、輸入訓(xùn)練樣本的多個不同IOU等模型訓(xùn)練技巧的基礎(chǔ)上,對faster rcnn模型進(jìn)行的改進(jìn)。
創(chuàng)新點(diǎn):
MPN網(wǎng)絡(luò),是對Fast R-CNN的改進(jìn),改進(jìn)的點(diǎn)主要有三個:
(1)跳躍結(jié)構(gòu):在VGG網(wǎng)絡(luò)里,從conv1到conv4,每層conv之后都有一次2*2的max pooling,4次max pooling之后,特征圖將下采樣到原先的1/16,這會導(dǎo)致信息的丟失。所以將具有豐富信息的較早層連接至后面的網(wǎng)絡(luò)。(2)中心區(qū)域:背景信息對于小目標(biāo)檢測識別來說是很有用的,所以作者使用了4種不同大小的region crops,分別是1x,1.5x,2x和4x。在每種情況下,使用RoI Pooling技術(shù)將它們固定到相同大小。送入全連接層。四個輸出連接成一個長向量,用于打分和框回歸。(3)積分損失函數(shù):Fast R-CNN里所有IoU>50%的proposals的得分是相等的,作者改進(jìn)了損失函數(shù),設(shè)置6個不同大小的IoU,分別計算得分然后求平均。這樣的話,IoU越高,得分就越高
詳解博客:https://blog.csdn.net/qq_37124765/article/details/54906517
第十篇 SSD
提出時間:2016年CVPR
針對問題:
一段式的網(wǎng)絡(luò)從yolov1推出以后,因其對遮擋多目標(biāo)檢測效果不理想、小目標(biāo)檢測不理想等原因,仍舊存在很大的提升空間,本篇論文的作者通過結(jié)合多層特征的檢測結(jié)果,對yolov1進(jìn)行改進(jìn),從而增強(qiáng)其對目標(biāo)尤其是小目標(biāo)的檢測能力,成為了一段式檢測網(wǎng)絡(luò)的里程碑。

創(chuàng)新點(diǎn):
繼yolov1之后,一段式目標(biāo)檢測的又一里程碑,相較于yolov1,采用了多個卷積層的特征來進(jìn)行檢測,顯著提升對小目標(biāo)的檢測能力;第二點(diǎn)是引入了初始框的設(shè)計,也就是對用于檢測的特征圖,也就是說在每個特征圖的單元格的中心設(shè)置一系列尺度和大小不同的初始框,這些初始框都會反向映射到原圖的某一個位置,如果某個初始框的位置正好和真實(shí)目標(biāo)框的位置重疊度很高,那么就通過損失函數(shù)預(yù)測這個初始框的類別,同時對這些初始框的形狀進(jìn)行微調(diào),以使其符合我們標(biāo)記的真實(shí)目標(biāo)框。以這種設(shè)計來完成一段式網(wǎng)絡(luò)的anchor設(shè)定。
詳解博客:https://blog.csdn.net/u013044310/article/details/89380273
總結(jié)
到本章,學(xué)者們開始對兩段式的網(wǎng)絡(luò),進(jìn)行速度和精度上的優(yōu)化改進(jìn),其中很明顯的特征是學(xué)者們都注意到了不同層的特征混合使用可以對網(wǎng)絡(luò)的檢測精度有很大的提高。與此同時,我們也可以看到,針對兩段式網(wǎng)絡(luò)檢測速度低的問題,基于回歸的思想,一段式的檢測網(wǎng)絡(luò)開始出現(xiàn)并在SSD網(wǎng)絡(luò)上達(dá)到了不錯的檢測效果。以此開始基于anchor的檢測網(wǎng)絡(luò)的一段式和兩段式網(wǎng)絡(luò)齊頭并進(jìn)。
- END -對文章有問題,或者對公眾號的建議歡迎在評論區(qū)反饋!
希望加入交流群,可以添加BBuf微信
