[目標檢測] Faster R-CNN 深入理解 && 改進方法彙總
PS: 一作任少卿大神人挺帥的,回答問題還很耐心。
Faster R-CNN 主要由三個部分組成:(1)基礎特徵提取網路(2)RPN (Region Proposal Network) (3)Fast-RCNN 。其中RPN和Fast-RCNN共享特徵提取卷積層,思路上依舊延續提取proposal + 分類的思想。後人在此框架上,推出了一些更新,也主要是針對以上三點。
1. 更好的特徵網路
(1)ResNet,PVANet
ResNet CVPR2016 oral
ResNet 依然是現在最好的基礎網路,ResNeXT可能效能上比他好一點,但不是很主流,通過將Faster-RCNN中的VGG16替換成ResNet可以提高performance,不僅是detection,在segmentation,video analysis,recognition等其他領域,使用更深的ResNet都可以得到穩定的提升。
PASCAL VOC 2007 上,通過將VGG-16替換成ResNet-101,mAP從73.2%提高到76.4%, PASACAL 2012 上從70.4%提高到73.8%
值得注意的是,ResNet版本的Faster-RCNN連線方法和Baseline 版本不太一致,具體見任少卿在PAMI 2015中提到 https://arxiv.org/abs/1504.06066。以ResNet-101為例,參考下圖方式,其中res5c,atrous + fc4096 + fc4096 + fcn+1 的方式是和baseline版本一致的方式,而res4b22+res5a+res5b+rec5c+fcn+1 是最終採取的方式。這種連線方式使得ResNet-faster-rcnn成為全卷積結構,大大減少模型大小,同時在效能上有一定提升。
在速度方面,ResNet比VGG16更慢,同時需要訓練的次數也更多,個人實驗結果vgg16 baseline版本訓練一輪耗時1.5s,ResNet版本一輪耗時2.0s,同時記憶體佔用量也遠遠大於VGG16,大概四五倍,沒有12G的GPU就不要想用了。
PVANet NIPS2016 workshop
PVANet是幾個韓國人鼓搗出來的一個更深但快速的基礎網路,在VOC2012上效果達到82.5%,接近Faster R-CNN + ResNet-101 +++ 和 R-FCN的結果,但是速度上快非常多。實際驗證結果,訓練和測試速度都比baseline版本快一倍左右。不過,這個網路非常難訓練,收斂困難,loss會比較大,選用的訓練方法是plateau,在一些比較困難的任務上,大概得好幾倍的迭代次數才能達到和VGG16效能相當程度。另外,82.5%這個效能也並非全部得益於PVANet,文章中把anchor數量增加到40多個,還做了一些小改動。個人認為,PVANet的速度廣受認可,但效能頂多和VGG16相當,不如ResNet。
(2) Hierarchy Feature
代表作有HyperNet,同樣的思想在SSD和FCN中也有用到,將多層次的卷積網路feature map接在一起
HpyerNet
以VGG-16為例,將conv1,conv3,conv5三層接在一起,形成一個Hyper Feature,以Hpyer Feature maps 代替原有的conv5_3,用於RPN和Fast-RCNN。該文章問題出發點針對小目標和定位精度,由於CNN的本身特點,隨著層數加深,特徵變得越來越抽象和語義,但解析度卻隨之下降。Conv5_3 每一個畫素點對應的stride = 16 pixel,如果能在conv3_3上做預測,一個畫素點對應的stride = 4 pixel,相當於可以獲得更好的精度,而conv5_3代表的語義資訊對分類有幫助,結合下來,相當於一個定位精度和分類精度的折中。下圖是以AlexNet為例,不同層接法在Pascal VOC 2007上的結果,可以看到,1+3+5會取得不錯的效果。
2. 更精準更精細的RPN
(1)FPN
(2)more anchors
3. ROI分類方法
(1)PS-ROI-POOLING
R-FCN:
(2)ROI-Align & multi-task benefits
Mask R-CNN :
(3)multi-layer roi-pooling
DeepText:
一篇將Faster RCNN應用在文字檢測的文章,裡面的contribution比較瑣碎,但有一點小改進經驗證過相當有效,就是roi分別在conv4,conv5上做roi-pooling,合併後再進行分類。這樣基本不增加計算量,又能利用更高解析度的conv4。
4. sample and post-process
(1)Hard example mining
OHEM
Paper: Code:
(2)GAN
A-Fast-RCNN
這篇文章比較新穎,蹭上了GAN的熱點,利用GAN線上產生一些遮擋形變的positive sample。與Fast-RCNN比較,在VOC2007上,mAP增加了2.3%,VOC2012上增加了2.6%。
(3)soft-NMS
Soft-NMS (Improving Object Detection With One Line of Code)
該篇文章主要focus在後處理NMS上,不得不承認,對於很多問題,後處理的方法會對結果產生幾個點的影響。雖然我自己試驗過,在我的任務上,Soft-NMS得到的結果和NMS完全一致,該後處理方式可能不具備推廣性,但是好在嘗試起來非常容易,代價也很小,只需要替換一個函式就可以,所以大家不妨可以試驗一下。
相關推薦
[目標檢測] Faster R-CNN 深入理解 && 改進方法彙總
Faster R-CNN 從2015年底至今已經有接近兩年了,但依舊還是Object Detection領域的主流框架之一,雖然推出了後續 R-FCN,Mask R-CNN 等改進框架,但基本結構變化不大。同時不乏有SSD,YOLO等骨骼清奇的新作,但精度上
[目標檢測] Faster R-CNN 深入理解 && 改進方法彙總
Faster R-CNN 從2015年底至今已經有接近兩年了,但依舊還是Object Detection領域的主流框架之一,雖然推出了後續 R-FCN,Mask R-CNN 等改進框架,但基本結構變化不大。同時不乏有SSD,YOLO等骨骼清奇的新作,但精度上依然以Faste
Faster R-CNN 深入理解 && 改進方法彙總
Faster R-CNN 從2015年底至今已經有接近兩年了,但依舊還是Object Detection領域的主流框架之一,雖然推出了後續 R-FCN,Mask R-CNN 等改進框架,但基本結構變化不大。同時不乏有SSD,YOLO等骨骼清奇的新作,但精度上依然以Fast
Pytorch1.0目標檢測Faster R-CNN and Mask R-CNN 官方實踐程式碼
微信掃描二維碼,回覆“nn”獲取完整程式碼! // Copyright (c) Facebook, Inc. and its affiliates
目標檢測之R-CNN系列
R-CNN 整體結構 Region proposal -> warped region -> CNN -> FC -> linear SVM、regression 訓練步驟 對CNN進行Supervised pre-tr
Faster R-CNN演算法理解
1、文章概述 Faster r-cnn是2016年提出的文章,有兩個模型,一個是ZF模型,一個是VGG模型。在VOC07+12資料集中,ZF模型的mAP值達到59.9%,17fps; VGG模型的mAP值達到73.2%,5fps。 Faster
對Faster R-CNN的理解(3)
font img left box strong 技術 mar 圖片 http 2.2 邊框回歸 邊框回歸使用下面的幾個公式: xywh是預測值,帶a的是anchor的xywh,帶*的是GT Box的xywh,可以看作是anchor經過一定的變換回歸到附近的G
CNN--卷積神經網路從R-CNN到Faster R-CNN的理解(CIFAR10分類程式碼)
1. 什麼是CNN 卷積神經網路(Convolutional Neural Networks, CNN)是一類包含卷積計算且具有深度結構的前饋神經網路(Feedforward Neural Networks),是深度學習(deep learning)的代表演算法之一。 我們先來看卷積神經網路各個層級結構圖
帶你深入AI(4)- 目標檢測領域:R-CNN,faster R-CNN,yolo,SSD, yoloV2
系列文章,請多關注 Tensorflow原始碼解析1 – 核心架構和原始碼結構 自然語言處理1 – 分詞 帶你深入AI(1) - 深度學習模型訓練痛點及解決方法 帶你深入AI(2)- 深度學習啟用函式,準確率,優化方法等總結 帶你深入AI(3)- 物體分類領域:AlexNet VGG I
Faster R-CNN:詳解目標檢測的實現過程
最大的 中心 width 小數據 等等 eat tar 優先 博文 本文詳細解釋了 Faster R-CNN 的網絡架構和工作流,一步步帶領讀者理解目標檢測的工作原理,作者本人也提供了 Luminoth 實現,供大家參考。 Luminoth 實現:h
一文讀懂目標檢測 R-CNN Fast R-CNN Faster R-CNN YOLO SSD
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Faster R-CNN 目標檢測演算法詳細總結分析(two-stage)(深度學習)(NIPS 2015)
論文名稱:《 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 》 論文下載:https://papers.nips.cc/paper/5638-faster-r-cnn-t
Faster R-CNN:利用區域提案網路實現實時目標檢測 論文翻譯
Faster R-CNN論文地址:Faster R-CNN Faster R-CNN專案地址:https://github.com/ShaoqingRen/faster_rcnn 摘要 目前最先進的目標檢測網路需要先用區域提案演算法推測目標位置,像SPPnet1和Fast R-CNN2
基於DL的目標檢測技術:R-CNN、Fast R-CNN、Faster R-CNN
目標檢測:在給定的圖片中精確找到物體所在位置,並標註出物體的類別。 目標檢測=影象識別(CNN)+定位(迴歸問題/取影象視窗) 遇到多物體識別+定位多個物體? 用選擇性搜尋找出可能含有物體的框(候選框)判定得分。這些框之間是可以互相重疊互相包含的,從而避免暴力列舉的所有框了。 1.R
目標檢測技術演進:Fast R-CNN、Faster R-CNN
在上一篇目標檢測技術演進:R-CNN、Fast R-CNN、Faster R-CNN 之 RCNN中,我講了 RCNN 演算法,似乎它的表現不太好,所以這次我們講講它的進化版 —— Fast RCNN 和 Faster RCNN。 如果你還沒看上一篇,可以在我的部落格或者知乎檢視。
目標檢測技術演進:R-CNN、Fast R-CNN、Faster R-CNN 之 RCNN
這篇文章的內容總結翻譯自 A Step-by-Step Introduction to the Basic Object Detection Algorithms (Part 1) ,文中有加入自己的理解。 當你想要在雜亂的桌子上面尋找鑰匙的時候,是不是有想過要是有種東西可以直接告訴我鑰
目標檢測演算法的演進(two-stage檢測演算法):R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、Mask R-CNN
什麼是目標檢測(object detection): 目標檢測(object detection),就是在給定的一張圖片中精確找到物體所在的位置,並標註出物體的類別。所以,目標檢測要解決的問題就是物體在哪裡以及是什麼的整個流程問題。 但是,在實際照片中,物體的尺寸變化範圍很大,擺放物體的
論文筆記:目標檢測演算法(R-CNN,Fast R-CNN,Faster R-CNN,YOLOv1-v3)
R-CNN(Region-based CNN) motivation:之前的視覺任務大多數考慮使用SIFT和HOG特徵,而近年來CNN和ImageNet的出現使得影象分類問題取得重大突破,那麼這方面的成功能否遷移到PASCAL VOC的目標檢測任務上呢?基於這個問題,論文提出了R-CNN。 基本步驟:如下圖
基於深度學習的目標檢測技術演進:R-CNN、Fast R-CNN、Faster R-CNN
object detection我的理解,就是在給定的圖片中精確找到物體所在位置,並標註出物體的類別。object detection要解決的問題就是物體在哪裡,是什麼這整個流程的問題。然而,這個問題可不是那麼容易解決的,物體的尺寸變化範圍很大,擺放物體的角度,姿態不定,而且可以出現在圖片的任何地方,更何況物
Faster R-CNN:用區域提案網路實現實時目標檢測
摘要 最先進的目標檢測網路依賴於區域建議演算法來假設物體的位置.像sppnet[1]和快速r-cnn[2]這樣的進步減少了這些檢測網路的執行時間,將區域提案計算暴露為瓶頸。在本文中,我們引入了一個區域提案網路(RPN),它與檢測網路共享全影象卷積特徵,從而實現了幾乎免費的區域提案。RPN是一個完