【目標檢測算法50篇速覽】三、檢測網絡優化及改進


【GiantPandaCV導讀】檢測網絡模型發展到16年已經基本造成了一段式和兩段式的兩種網絡設計模式,二者的共同點是均採用了anchor based的設計結構來達到對輸入特徵圖遍歷的效果。可是反映出來的現象是兩段式網絡的精度更高,一段式網絡速度更快,二者都對待檢測目標的尺度適應能力存在必定的瓶頸,那麼如何繼續提升特徵表達來加強網絡性能呢?基於anchor的思路也引入了相對較多的超參數,如何繼續簡化超參數的數量呢?本章咱們將沿着這個問題進行2016年到2018年論文的速覽。html

第一篇 MS-CNN

《A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection》git

提出時間:2016github

針對問題:web

多尺度目標的檢測問題仍舊是檢測任務的一個重點問題,既然已經有學者考慮了在網絡的不一樣層上完成對不一樣尺度的目標檢測任務,那麼具體怎麼運用多層的特徵呢,本文做者的思路是對不一樣的輸出層設計不一樣尺度的目標檢測器。算法

創新點:設計模式

對於不一樣的輸出層設計不一樣尺度的目標檢測器,完成多尺度下的檢測問題,使用特徵的上採樣代替輸入圖像的上採樣步驟。設計一個去卷積層,來增長特徵圖的分辨率,使得小目標依然能夠被檢測出來。這裏使用了特徵圖的deconvolutional layer(反捲積層)來代替input圖像的上採樣,能夠大大減小內存佔用,提升速度。微信

詳解博客:https://blog.csdn.net/app_12062011/article/details/77945816網絡

第二篇 R-FCN

《R-FCN: Object Detection via Region-based Fully Convolutional Networks》app

提出時間:2016編輯器

針對問題:

分類網絡對輸入特徵圖中目標的位置信息是不敏感的,而檢測網絡即須要對目標的位置敏感,還須要保證足夠的分類精度。如何解決或者平衡這個矛盾?按咱們的理解來講就是,對分類網絡來講輸入的特徵圖,目標在圖上的不一樣位置其損失差異不大,可是對檢測網絡來講,就須要考慮定位的損失,定位的損失再通過回傳,會改變網絡的權重參數,從而可能對分類的性能產生影響。

創新點:

主要貢獻在於解決了「分類網絡的位置不敏感性(translation-invariance in image classification)」與「檢測網絡的位置敏感性(translation-variance in object detection)」之間的矛盾,在提高精度的同時利用「位置敏感得分圖(position-sensitive score maps)」提高了檢測速度。具體就是把每一個目標輸出爲kk(c+1)的特徵向量,k*k每一層表徵當前目標的上,下左右等細分位置的heatmap圖。

1

詳解博客:https://zhuanlan.zhihu.com/p/30867916

第三篇 PVANET

《PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection》

提出時間:2016年

針對問題:

本篇論文繼續在faster rcnn網絡上深耕,綜合以前提出的多層特徵融合、淺層特徵計算冗餘和inception結構來改善faster rcnn網絡的性能。

創新點:

改進了faster rcnn的基礎特徵提取網絡,在不影響精度的前提下加速。主要是三個點:1)C.RELU,C.ReLU(x)=[ReLU(x), ReLU(-x)],認爲淺層卷積核的一半計算都是冗餘的。2)Inception結構的引入。3)多層特徵的融合。以儘量的利用細節和抽象特徵。

詳解博客:https://blog.csdn.net/u014380165/article/details/79502113

第四篇 DSSD

《DSSD : Deconvolutional Single Shot Detector》

提出時間:2017

針對問題:

繼續在SSD的基礎上嘗試提升對小目標的檢測能力。

創新點:

在網絡中添加了反捲積的結構,並經過在backbone中使用resnet結構來提升淺層特徵的表達能力。

2

詳解博客:https://blog.csdn.net/u010725283/article/details/79115477/

第五篇 YOLOv2/YOLO9000

《YOLO9000:Better, Faster, Stronger》

提出時間:2017年

針對問題:

對yolov1進行改進,借鑑了anchor、多特徵層融合檢測等網絡改進技巧,在保證檢測速度的前提下,提升了yolo系列的檢測精度。

創新點:

在v1的基礎上,用anchor來強化grid,提升輸入的分辨率,用BN替代dropout,約束anchor的中心點變更區間,新的backbone

詳解博客:https://blog.csdn.net/shanlepu6038/article/details/84778770

第五篇《YOLO9000:Better, Faster, Stronger》

提出時間:2017年

針對問題:

對yolov1進行改進,借鑑了anchor、多特徵層融合檢測等網絡改進技巧,在保證檢測速度的前提下,提升了yolo系列的檢測精度。

創新點:

在v1的基礎上,用anchor來強化grid,提升輸入的分辨率,用BN替代dropout,約束anchor的中心點變更區間,新的backbone

詳解博客:https://blog.csdn.net/shanlepu6038/article/details/84778770

第六篇 FPN

《Feature Pyramid Networks for Object Detection》

提出時間:2017年

針對問題:

本篇論文的做者嘗試經過加強CNN主幹網絡輸出的特徵來進一步加強網絡的檢測精度。

創新點:

CNN目標檢測網絡開始嘗試利用多層特徵融合來進行大目標+小目標的檢測,本篇主要是提出新的跳層特徵融合及用做分類的方式。FPN網絡的提出也成爲後續檢測的主幹網絡經常使用結構

3

詳解博客:https://blog.csdn.net/kk123k/article/details/86566954

第七篇《RON: Reverse Connection with Objectness Prior Networks for Object Detection》

提出時間:2017年

針對問題:

對一段式網絡模型的訓練精度問題進行優化,做者發現一段式網絡在訓練時相對兩段式網絡正負樣本不均衡程度更大且沒有有效的抑制手段。不均衡的正負樣本會不利於網絡模型收斂。

創新點:

爲了優化one-stage目標檢測算法的正負樣本不均勻的問題,添加了objectness prior層來篩選正負樣本,並採用了和FPN相似的特徵融合思路,使得淺層特徵的表現能力獲得了提升。

4

詳解博客:https://blog.csdn.net/shanlepu6038/article/details/84778770

第八篇《DeNet: Scalable Real-time Object Detection with Directed Sparse Sampling》

提出時間:2017年

針對問題:

本文做者注意到,當前的檢測網絡模型都應用了anchor來完成對特徵圖的近似遍歷,其中的anchor超參數的設置也很重要。做者嘗試繼續簡化anchor的超參數,即將基於必定長寬anchor組合的檢測算法,取anchor的極限,經過預測圖像中目標的角點來完成對圖像中目標的定位。

創新點:

以前的two stage 和 one stage都是基於anchor來實現目標建議框的選取,這是第一篇,嘗試在anchor盛行的時候,不手工設置anchor,而是利用目標角點檢測來實現目標位置檢測的方案。

詳解博客:https://blog.csdn.net/yaoqi_isee/article/details/70184686;https://www.cnblogs.com/fourmi/p/10771589.html

第九篇《CoupleNet: Coupling Global Structure with Local Parts for Object Detection》

提出時間:2017年

針對問題:

本文是對R-FCN的一個改進。做者觀察到R-FCN中,對輸入特徵圖直接映射爲目標的不一樣組件的,對紋理較少的目標,好比沙發,就可能定位偏差偏大。因此做者考慮在R-FCN中加上全局信息。

創新點:

在R-FCN中加上了對全局信息的提取,由於R-FCN是直接將共享的Feature Map 映射爲了每類目標的各個組件,而對沙發這種單獨結構文理不多的,更須要目標的全局信息,ROI Pooling則保留了相似的信息,因此二者合一一塊兒用。

詳解博客:https://blog.csdn.net/qq_34564947/article/details/77462819

第十篇《Focal Loss for Dense Object Detection》

提出時間:2017年

針對問題:

如第七篇論文的工做,在網絡模型訓練的過程當中,正負樣本的不平衡是影響模型精度的重要因素。第七篇採用的的策略和兩段式網絡類似,都是經過篩選生成的目標框是否包含正樣原本過濾。本文做者則從損失函數的角度,經過設計的Focal Loss下降重複的簡單樣本對模型權重的影響,強調難例對網絡學習的益處,以此來提升模型權重收斂的方向,使其達到更高精度。

創新點:

定義新的損失函數Focal loss來使得難訓練的樣本對loss貢獻大,從而必定程度優化訓練樣本類別不均衡的問題。

詳解博客:https://www.bilibili.com/read/cv2172717

第十一篇《DSOD: Learning Deeply Supervised Object Detectors from Scratch》

提出時間:2017年

針對問題:

本文做者認爲當前的檢測模型大部分都是以大數據集訓練獲得的分類模型爲骨幹網絡,再將其遷移到當前數據集的檢測任務上,雖然分類和檢測能夠共用特徵,可是檢測直接從頭訓練的模型和分類網絡訓練出來的模型參數仍是有區別的。因此做者嘗試提供一種從頭有監督的訓練檢測網絡模型的方案。

創新點:

擺脫預訓練模型,從頭訓練本身的模型,從而擺脫結構依賴。

https://arleyzhang.github.io/articles/c0b67e9a/

第十二篇《MASK R-CNN》

提出時間:2017年

針對問題:

做者嘗試從採用分割網絡的思路來實現檢測的任務,也就是對每一個像素點判斷其類別,再經過不一樣實例來肯定其最小外接矩形框從而達到檢測的目的。

創新點:

主要是ROI align技術,也就是不進行截斷,而是差值方式的ROI POOLING 。

6

詳解博客:https://blog.csdn.net/WZZ18191171661/article/details/79453780

第十三篇《Deformable Convolutional Networks》

提出時間:2017年

針對問題:

做者認爲卷積神經網絡因爲其構建模塊中的固定幾何結構而固有地僅限於模型幾何轉換,即由於卷積核是固定的形狀,沒法自適應的對輸入特徵圖上的特徵進行有效的提取。因此做者設計了可變形的卷積層和池化層。

創新點:

可變形卷積,經過借鑑空洞卷積實現,經過單獨的層學習採樣點位置;可變形roi,roi pooling裏面的每一個bin均可以有一個offset來進行平移。

詳解博客:https://zhuanlan.zhihu.com/p/52476083

第十四篇《YOLOv3》

提出時間:2018年

針對問題:

主要是做者對yolov2網絡的持續優化和改進。

創新點:

主要是借鑑FPN和resnet來提升主幹網絡的特徵層表徵能力。

詳解博客:https://blog.csdn.net/dz4543/article/details/90049377

第十五篇《Scale-Transferrable Object Detection》

提出時間:2018年

針對問題:

做者認爲相似原始FPN中的特徵的融合並不可以很好的加強特徵的表達能力,因此設計了新的融合方式來強化這部分。

創新點:

提出了一種新的在幾乎不增長參數和計算量前提下獲得大尺寸featuremap的方法,首先將輸入feature map在channel維度上按照r^2長度進行劃分,也就是劃分紅C個,每一個通道長度爲r^2的feature map,而後將每一個11r^2區域轉換成rr維度做爲輸出feature map上rr大小的結果,最後獲得rHrWC的feature map。

7

詳解博客:https://blog.csdn.net/u014380165/article/details/80602130

第十六篇《Single-Shot Refinement Neural Network for Object Detection》

提出時間:2018年

針對問題:

做者觀察到兩段式網絡有較好的精度表現,而一段式網絡有更優秀的速度性能,做者嘗試結合二者的特色來構建新的網絡結構。

創新點:

TCB,ARM與ODM模塊的提出。

詳解博客:https://blog.csdn.net/woduitaodong2698/article/details/85258458?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-5.nonecase&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-5.nonecase

第十七篇《Relation Networks for Object Detection》

提出時間:2018年

針對問題:

你們都有感受,物體間或者物體內一些區域的關聯性是有助於目標檢測任務的,可是以前沒人有實際的證實如何使用這種關聯性是必定可行的,本文做者就嘗試在檢測網絡中添加註意力模塊來提升網絡表現。

創新點:

計算object之間的relation,做爲訓練參數,從而提升檢測精度。

8

詳解博客:https://blog.csdn.net/weixin_42102248/article/details/102858695

第十八篇《Cascade R-CNN: Delving into High Quality Object Detection》

提出時間:2018年

針對問題:

本文也是對網絡訓練過程當中的優化技巧,做者發現訓練檢測網絡時候須要設置超參數IOU閾值來判斷當前定位框是否爲正樣本,可是一個單一的IOU閾值可能並非合用的,因此嘗試作級聯的IOU閾值來輔助訓練。

創新點:

爲了優化RPN中的單一IOU問題對最終檢測精度的影響問題而提出,作不一樣IOU閾值的級聯來提升計算最終損失的正負樣本質量及比例,從而提升性能。

詳解博客:https://blog.csdn.net/qq_17272679/article/details/81260841

第十九篇《Receptive Field Block Net for Accurate and Fast

Object Detection》

提出時間:2018年

針對問題:

本文做者的工做也是對主幹網絡的不一樣層特徵融合工做的優化進行的。主要是爲了更有效且更高效的實現特徵的融合。

創新點:

提出RFB結構,利用空窗卷積來進行特徵的融合。

9

詳解博客:https://blog.csdn.net/u014380165/article/details/81556769

第二十篇《Object Detection based on Region Decomposition and Assembly》

提出時間:2019年

針對問題:

本文做者仍是針對兩段式網絡中目標框提取部分進行優化,來提升檢測精度。

創新點:

思路仍是借鑑以前的論文,對正樣本圖像塊進行拆分左右上下半邊和其自己,再分別送入後續卷積,目的是讓網絡儘量多的看到當前正樣本的豐富的特徵。

10

詳解博客:https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/88148760

第二十一篇《M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid

Network》

提出時間:2019年

針對問題:

做者認爲FPN的特徵金字塔最開始就是爲了分類而設計的,在檢測網絡中須要進行必定的適配才能達到最好的性能。

創新點:

原始的backbone更適合分類任務,改善backbone的使用機制,使其更適應檢測任務。兩個新模塊1)TUM 經過卷積、上採樣和相同shape相加來獲得多尺度的特徵2)FFMv2 特徵融合模塊,經過卷積核upsample來統一輸入feature map的shape,再concat  3)SFAM  對輸入的特徵先concat,再進行通道層面的attention,並轉化爲權重參數相乘,再送入分類和迴歸。

詳解博客:https://blog.csdn.net/hanjiangxue_wei/article/details/103311395

本章總結

到本章之後,所提到的21篇論文大部分都是對已有的兩種檢測網絡設計範式的調整和優化,學者們探索了多層特徵的融合並最終推出了FPN,並在FPN基礎上對檢測問題進行適配;學者們還探索了在檢測網絡中添加註意力模塊的方式和方法,並證實其有效。咱們還要注意到第八篇和第十三篇論文,其中第八篇討論了anchor從多個框壓縮爲點的可能性,第十三篇則探討了,可能純卷積的結構並非檢測問題的最優選項,這個方向仍舊有優化的可能。














對文章有問題,或者對公衆號的建議歡迎在評論區反饋!



但願加入交流羣,能夠添加下方微信




本文分享自微信公衆號 - GiantPandaCV(BBuf233)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索