12篇深度學習目標檢測必讀論文
作者丨McGL@知乎 來源丨h(huán)ttps://zhuanlan.zhihu.com/p/181169225 整理:深度學習技術前沿
導讀
?本文梳理了目標檢測領域2013年至2019年的12篇必讀論文,為希望學習相關知識的新手提供了很好的入門路徑。同時,作者還提供了一個附加論文列表。作為拓展閱讀的內容,它們或為目標檢測提供了新的視角,或用更強大的功能擴展了這個領域。
12 Papers You Should Read to Understand Object Detection in the Deep Learning Era
原作者:Ethan Yanjia Li
編譯:McGL
鏈接:https://towardsdatascience.com/12-papers-you-should-read-to-understand-object-detection-in-the-deep-learning-era-3390d4a28891
前言
計算機視覺研究中,目標檢測是一個比分類更困難的領域,我們將回顧它的歷史和最近的發(fā)展。在深度學習時代之前,像 HOG 和特征金字塔這樣的手工特性被廣泛用于獲取圖像中的定位信號。然而,這些方法通常不能很好地擴展到通用的目標檢測,所以大多數(shù)的應用僅限于人臉識別或者行人檢測。利用深度學習的力量,我們可以訓練一個網絡來學習要獲取的特征,并預測目標的坐標。這最終帶來了基于視覺感知的應用的繁榮,比如商業(yè)人臉識別系統(tǒng)和無人機。在這篇文章里,我為那些想要學習目標檢測的新手挑選了12篇必讀論文。盡管構建目標檢測系統(tǒng)最具挑戰(zhàn)性的部分隱藏在實現(xiàn)細節(jié)中,但是閱讀這些論文仍然可以讓你對這些想法的來源以及未來目標檢測將如何發(fā)展有一個很好的大致理解。
作為閱讀本文的前提條件,你需要了解卷積神經網絡的基本思想,以及常用的優(yōu)化方法,如帶反向傳播的梯度下降法。還有圖像分類的基礎知識,因為目標檢測的許多很酷的想法都來源于更基礎的圖像分類研究。
2013:OverFeat
OverFeat: 使用卷積網絡集成識別、定位和檢測

源自論文 “OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks”
在2012年的 ImageNet 競賽中,基于 CNN 特征提取的AlexNet擊敗了所有手工設計的特征提取器。受到 AlexNet 成功的啟發(fā),OverFeat 迅速將 CNN 引入到目標檢測領域。這個想法非常直接: 如果我們可以用 CNN 對一張圖片進行分類,那么用不同大小的窗口滑動瀏覽整張圖片,然后嘗試用 CNN 逐一對它們進行分類呢?該算法利用了 CNN 的特征提取和分類能力,并通過預定義的滑動窗口繞過了硬 region proposal 問題。另外,由于鄰近的卷積核可以共享部分計算結果,因此不需要計算重疊區(qū)域的卷積,從而大大降低了成本。OverFeat 是單階段目標檢測器的先驅。它試圖在同一個 CNN 中結合特征提取、位置回歸和區(qū)域分類。不幸的是,這種單階段的方法由于使用較少的先驗知識,精確度也相對較差。因此,OverFeat 未能引領單階段檢測器研究的熱潮,直到兩年后出現(xiàn)了一個更優(yōu)雅的解決方案。
2013: R-CNN
基于區(qū)域卷積網絡的精確目標檢測和分割
R-CNN 也是在2013年提出的,比 OverFeat 晚了點。然而,這種基于區(qū)域的方法最終以其兩階段的框架,即 region proposal 階段和區(qū)域分類與精細化階段,引發(fā)了目標檢測研究的大浪潮。

源自論文“Region-based Convolutional Networks for Accurate Object Detection and Segmentation”
在上圖中,R-CNN 首先使用一種稱為selective search的技術從輸入圖像中提取出感興趣的潛在區(qū)域。selective search并不真正嘗試理解前景目標,相反,它依靠啟發(fā)式方法對相似的像素進行分組: 相似的像素通常屬于同一個目標。因此,selective search的結果很有可能包含一些有意義的內容。接下來,R-CNN 將這些 region proposals 變換成帶有一些填充的固定大小的圖像,并將這些圖像提供給網絡的第二階段,以便進行更細粒度的識別。與那些使用selective search的舊方法不同,R-CNN 在第二階段將 HOG 替換為 CNN,從所有 region proposals 中提取特征。這種方法需要注意的是,許多 region proposals 實際上并不是一個完整的目標,因此 R-CNN 不僅需要學習如何對包含的類別進行分類,還需要學習如何拒絕負類。為了解決這個問題,R-CNN 將所有與一個ground truth框重疊度≥0.5 IoU 的 region proposal 視為正,其余視為負。
selective search 的 region proposal 高度依賴于相似性假設,因此只能提供大致的位置估計。為了進一步提高定位精度,R-CNN 借鑒了“Deep Neural Networks for Object Detection”(又名 DetectorNet)的思想,引入了額外的邊界框回歸來預測框的中心坐標、寬度和高度。這種回歸器被廣泛應用于未來的目標檢測器中。
然而,像 R-CNN 這樣的兩階段檢測器存在兩個大問題: 1) selective search并不是卷積,因為它不是端到端可訓練的。2) region proposal 階段與 OverFeat 等其他單階段檢測器相比通常非常慢,而且在每個 region proposal上分別運行會使其更慢。稍后,我們將看到 R-CNN 如何隨著時間的推移逐步演變以解決這兩個問題的。
2015: Fast R-CNN
Fast R-CN

源自論文“Fast R-CNN”
R-CNN 的一個快速后續(xù)是減少對多個 region proposals 的重復卷積。由于這些 region proposals 都來自一個圖像,自然而然地想到,可以通過對整個圖像運行一次 CNN,并在許多 region proposals 之間共享計算,來改進 R-CNN。然而,不同的 region proposals 有不同的大小,如果我們使用相同的 CNN 特征提取器,會導致不同的輸出特征圖大小。這些具有不同大小的特征圖將阻止我們使用全連接層進行進一步的分類和回歸,因為全連接層的輸入只能是固定大小。
幸運的是,論文“Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition”解決了全連接層的動態(tài)縮放問題。在 SPPNet 中,在卷積層和 FC 層之間引入了特征金字塔池化,以創(chuàng)建bag-of-words式的特征向量。這個向量有固定的大小和不同尺度的特征特征,所以我們的卷積層現(xiàn)在可以接受任意尺寸的圖像作為輸入,而不用擔心 FC 層的不兼容性。受此啟發(fā),F(xiàn)ast R-CNN 提出了一個類似的層稱為 ROI Pooling 層。這個池化層將不同大小的特征圖 downsample 為一個固定大小的向量。這樣我們就可以使用相同的 FC 層進行分類和框回歸,不管 ROI 是大還是小。
Fast R-CNN 由于采用了共享特征提取器和尺度不變(scale-invariant)的 ROI 池化層,達到類似的定位精度,訓練快了10 ~ 20倍,且推理快了100 ~ 200倍。接近實時推理和一個更易用的端到端檢測部分訓練協(xié)議使Fast R-CNN 成為業(yè)界的熱門選擇。
2015: Faster R-CNN
Faster R-CNN: 通過Region Proposal Networks實現(xiàn)實時目標檢測
正如我們上面介紹的,在2015年初,Ross Girshick 提出了一個改進版本的 R-CNN,稱為 Fast R-CNN,對建議的區(qū)域使用共享的特征提取器。僅僅幾個月后,Ross和他的團隊又帶著另一個改進回來了。這個新的網絡Faster R-CNN 不僅比以前的版本更快,而且標志著目標檢測深度學習方法的一個里程碑。

源自論文“Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”
有了 Fast R-CNN,網絡中唯一的非卷積部分就是 selective search 的 region proposal了。2015年,研究人員開始意識到深層神經網絡是如此神奇,只要有足夠的數(shù)據,它就可以學習任何東西。那么,是否有可能訓練一個 region proposal 的神經網絡,而不是依賴于 selective search 等啟發(fā)式和手工的方法?Faster R-CNN 遵循這個方向和思路,并成功地創(chuàng)建了Region Proposal Network(RPN)。簡單地說,RPN 是一個 CNN,以圖像作為輸入,并輸出一組矩形目標建議,每個都有一個 objectiveness 得分。論文最初使用的是 VGG,但其他主干網絡如 ResNet 后來變得更加普及。為了生成 region proposals,在 CNN 特征圖輸出上應用一個3x3滑動窗口每個位置生成2個得分(前景和背景)和4個坐標值。實際上,這個滑動窗口是用一個帶有1x1卷積核的3x3卷積核來實現(xiàn)的。
雖然滑動窗口有一個固定的大小,我們的目標可能有不同的尺度。因此,F(xiàn)aster R-CNN 引入了一種稱為 anchor box 的技術。Anchor boxes 是預先定義的具有不同寬高比和尺寸的框,但共享相同的中心位置。在 Faster R-CNN 中,每個滑動窗口位置都有 k = 9個anchors,每個anchor 覆蓋3個高寬比和3個尺度。這些不同尺度的重復 anchor boxes 在共享同一特征圖輸出的同時,為網絡帶來了良好的平移不變性和比例不變性。請注意,邊界框回歸將從這些anchor box 而不是從整個圖來計算。

源自論文“Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”
到目前為止,我們討論了新的 Region Proposal Network 來取代舊的 selective search 進行region proposal。為了進行最終的檢測,F(xiàn)aster R-CNN 使用與 Fast R-CNN 相同的檢測頭進行分類和細粒度定位。你還記得 Fast R-CNN 還使用共享的 CNN 特性提取器嗎?既然 RPN 本身也是一個特征提取 CNN,我們可以像上面的圖表那樣與檢測頭共享它。這種分享設計并不會帶來什么麻煩。如果我們一起訓練 RPN 和 Fast R-CNN 檢測器,我們將把 RPN proposals 作為 ROI 池化的一個常量輸入,并且不可避免地忽略 RPN 邊界框proposals的梯度。一個繞開方法被稱為替代訓練,即輪流訓練 RPN 和Fast R-CNN 。在后來的論文“Instance-aware semantic segmentation via multi-task network cascades”中,我們可以看到 ROI 池化層也可以對框坐標proposals微分。
2015: YOLO v1
你只看一次: 統(tǒng)一,實時的目標檢測
雖然 R-CNN 系列在研究界引起了關于兩階段目標檢測的大肆炒作,但其復雜的實現(xiàn)給維護它的工程師們帶來了許多頭疼的問題。目標檢測有必要這么麻煩嗎?如果我們愿意犧牲一點準確率,我們能換來更快的速度嗎?帶著這些問題,Joseph Redmon 在 Faster R-CNN 發(fā)布僅僅四天后就向http://arxiv.org提交了一個名為 YOLO 的網絡,并且在 OverFeat 首次亮相兩年后,終于將人氣帶回到了單階段目標檢測。

源自論文“You Only Look Once: Unified, Real-Time Object Detection”
與 R-CNN 不同的是,YOLO 決定在同一個 CNN 上一起處理region proposal和分類。換句話說,它把目標檢測問題看作是一個回歸問題,而不是一個依賴于region proposal的分類問題。其基本思想是將輸入分割成一個 SxS 網格,并讓每個單元直接回歸邊界框的位置以及如果目標中心落入該單元時的置信度得分。因為目標可能有不同的大小,將有一個以上的邊界框回歸器落到每個單元。在訓練過程中,將指定IOU最高的回歸器與ground-truth 標簽進行比較,因此同一位置的回歸器將學會隨著時間的推移處理不同的尺度。同時,當網格單元包含一個目標(高置信度得分)時,每個單元也將預測 C 類概率。這種方法后來被描述為稠密的預測,因為 YOLO 試圖預測圖像中所有可能位置的類和邊界框。相比之下,R-CNN 依賴于region proposals來過濾背景區(qū)域,因此最終的預測更加稀疏。

源自論文“You Only Look Once: Unified, Real-Time Object Detection”
在整張圖片上的密集預測的計算成本很大,為了避免這個問題,YOLO 采用了 GooLeNet 的瓶頸結構。YOLO 的另一個問題是,兩個對象可能落入同一個粗糙的網格單元,所以它不能很好地處理小目標,如一群鳥。盡管精確度較低,但 YOLO 簡單易懂的設計和實時推理能力使得單階段目標檢測在研究中再次流行起來,同時也是業(yè)界的首選解決方案。
2015: SSD
SSD: 單發(fā)多框檢測器
YOLO v1顯示了單階段檢測的潛力,但和兩階段檢測的性能差距仍然很明顯。在 YOLO v1中,可以將多個目標分配給同一個網格單元。這對于探測微小物體來說是一個巨大的挑戰(zhàn),也成為提高單階段檢測器性能到與兩階段檢測器相當?shù)年P鍵問題。SSD是一個挑戰(zhàn)者,從三個角度解決這個問題。

源自論文 “SSD: Single Shot MultiBox Detector”
首先,來自 Faster R-CNN 的anchor box 技術可以緩解這個問題。同一區(qū)域中的對象通常具有不同的可見長寬比。引入anchor box 不僅增加了每個單元的目標檢測數(shù)量,而且利用這個長寬比假設可以更好地區(qū)分重疊的小目標。

源自論文 “SSD: Single Shot MultiBox Detector”
SSD 進一步在檢測之前聚合多尺度特征。這是一個提取細粒度的局部特征非常常見的方法,同時保留粗糙的全局特征在 CNN 中。例如,CNN 語義分割的先驅 FCN 也從多個層次對特征進行融合,以提取分割的邊界。此外,多尺度特征聚合可以方便地在所有常用的分類網絡上進行,從而方便了主干網與其他網絡的替換。
最后,SSD 利用了大量的數(shù)據增強,特別是針對小目標。例如,在隨機裁剪之前,圖像被隨機擴展到更大的尺寸,這給訓練數(shù)據帶來了縮放效果,以模擬小目標。此外,大的邊界框通常很容易學習。為了避免這些簡單的樣本主導損失函數(shù),SSD 采用了一種hard negative mining技術,為每個anchor box選出損失最大的樣本。
2016: FPN
目標檢測的特色金字塔網絡
隨著 Faster-RCNN、 YOLO 和 SSD 在2015年的發(fā)布,似乎確定了目標檢測器的總體結構。研究人員開始著眼于改善這些網絡的每個單獨部分。特征金字塔網絡是利用不同層次的特征構成特征金字塔,從而改進檢測頭的一種嘗試。這種特征金字塔的想法在計算機視覺研究中并不新奇。當特征還是手工設計的時候,特征金字塔已經是識別不同尺度模式的一種非常有效的方法。在深度學習中使用特征金字塔也不是一個新的想法: SSPNet、 FCN 和 SSD 都證明了在分類之前聚合多層特征的好處。然而,如何在 RPN 和基于區(qū)域的檢測器之間共享特征金字塔仍然有待于確認。

源自論文 “Feature Pyramid Networks for Object Detection”
首先,為了使用如上圖所示的 FPN 結構重新構建 RPN,我們需要有一個在多個不同尺度的特征輸出上運行的region proposal。此外,我們現(xiàn)在每個位置只需要3個不同長寬比的anchors,因為不同大小的物體將由不同層次的特征金字塔處理。接下來,為了在 Fast R-CNN 檢測器中使用 FPN 結構,我們還需要對其進行改造,以便在多種尺度的特征圖上進行檢測。由于region proposals也可能有不同的尺度,我們也應該在 FPN 的相應層級上使用它們。簡而言之,如果Faster R-CNN 是一對運行在一個尺度上的 RPN 和基于區(qū)域的檢測器,F(xiàn)PN 將其轉換成在不同尺度上運行的多個并行分支,并最終從所有分支中收集最終結果。
2016: YOLO v2
YOLO9000: 更好,更快,更強
當何凱明、Ross Girshick和他們的團隊不斷改進他們的兩階段 R-CNN 探測器時,另一邊,約Joseph Redmon也在忙于改進他的單階段 YOLO 檢測器。最初版本的 YOLO 存在許多缺點: 基于粗網格的預測帶來了較低的定位精度,每個網格單元有兩個尺度不確定的回歸器也使得識別小目標變得困難。幸運的是,2015年我們在許多計算機視覺領域看到了太多偉大的創(chuàng)新。YOLO v2只是需要找到一種方法來整合它們,使它們變得更好、更快、更強。以下是修改的一些亮點:

Anchor boxes,源自論文“YOLO9000: Better, Faster, Stronger”
注意,YOLO v2還試驗了一個版本,該版本在9000個類的分層數(shù)據集上訓練,這也代表了目標檢測器中多標簽分類的早期試驗。
2017: RetinaNet
針對密集目標檢測的Focal Loss
為了理解為什么單階段檢測器通常不如兩階段檢測器好,RetinaNet 研究了單階段檢測器密集預測的前景-背景類不均衡問題。以 YOLO 為例,它試圖同時預測所有可能位置的類和邊界框,因此在訓練過程中大多數(shù)輸出與負類相匹配。SSD 通過 hard example mining解決了這個問題。在訓練的早期階段,YOLO 使用objectiveness評分隱式訓練前景分類器。RetinaNet認為他們都沒有找到解決問題的關鍵,所以它發(fā)明了一種新的損失函數(shù),稱為Focal Loss,以幫助網絡學習什么是真正重要的。

源自論文“Focal Loss for Dense Object Detection”
Focal Loss 增加了一個指數(shù) γ (他們稱之為聚焦參數(shù))的交叉熵損失。自然,隨著置信度分數(shù)的增加,損失值會比正常的交叉熵值低得多。參數(shù) α 用于平衡這種聚焦效應。

源自論文“Focal Loss for Dense Object Detection”
這個想法很簡單,即使是小學生也能理解。為了進一步證明他們的工作,他們調整了之前提出的 FPN 模型,并創(chuàng)建了一個新的單階段檢測器,稱為 RetinaNet。它由 ResNet 主干網、不同尺度信道特征的 FPN 檢測頸、作為檢測頭的分類子網和框回歸子網組成。類似于 SSD 和 YOLO v3,RetinaNet 使用anchor boxes 覆蓋不同尺度和長寬比的目標。
稍微離題一下,RetinaNet 使用了 ResNeXT-101和800輸入分辨率的 COCO 精確度來對比 YOLO v2,而YOLO v2只有一個輕量的 Darknet-19主干和448輸入分辨率。這種不真誠表明團隊強調獲得的更好的基準測試結果,而不是解決像速度準確性 trade-off這樣的實際問題。這可能是 RetinaNet 發(fā)布后沒有起飛的部分原因。
2018: YOLO v3
YOLOv3: 漸進式改進
YOLO v3 是官方 YOLO 系列的最后一個版本。遵循 YOLO v2的傳統(tǒng),YOLO v3從以前的研究中借鑒了更多的想法,并且得到了一個難以置信的像怪物一樣強大的單階段檢測器。YOLO v3很好地平衡了速度、準確率和實現(xiàn)的復雜性。由于它的快速和簡單的組件,它在行業(yè)中非常受歡迎。

源自論文“Dive Really Deep into YOLO v3: A Beginner’s Guide”

源自論文“Dive Really Deep into YOLO v3: A Beginner’s Guide”
簡單地說,YOLO v3的成功來自于它更強大的主干功能提取器和帶有 FPN 頸部的類似 RetinaNet 的檢測頭。新的主干網絡 Darknet-53利用了 ResNet 的skip連接,以達到與 ResNet-50相當?shù)臏蚀_度,但速度要快得多。此外,YOLO v3拋棄了 v2的pass through層,完全采用 FPN 的多尺度預測設計。從那時起,YOLO v3終于扭轉了人們對它在處理小目標時表現(xiàn)不佳的印象。
此外,關于 YOLO v3還有一些有趣的事實。它diss了 COCO mAP 0.5:0.95度量標準,證明了條件密集預測時Focal Loss沒啥用。一年后作者Joseph甚至決定放棄整個計算機視覺研究,因為他擔心會用到軍事上。
2019: Objects As Points
盡管近年來圖像分類領域變得不那么活躍,但目標檢測的研究還遠未成熟。2018年,一篇名為“CornerNet: Detecting Objects as Paired Keypoints””的論文為檢測器訓練提供了一個新的視角。由于準備anchor box目標是一個相當繁瑣的工作,是否真的有必要使用他們作為先決條件?這種拋棄 anchor boxes的新趨勢被稱為“anchor-free”目標檢測。

源自論文“Stacked Hourglass Networks for Human Pose Estimation”
受Hourglass網絡中熱圖用于人體姿態(tài)估計的啟發(fā),CornerNet 使用框角生成的熱圖來監(jiān)督邊界框回歸。

源自論文“Objects as Points”
Objects As Points,又名 CenterNet,更進了一步。它使用熱圖峰值來表示物體中心,網絡將直接從這些框中心回歸框的寬度和高度。實際上,CenterNet 使用每個像素作為網格單元。使用高斯分布的熱圖,與之前直接回歸邊界框大小的嘗試相比,訓練也比較容易收斂。
消除anchor boxes還有另一個有用的副作用。以前,我們依賴anchor boxe和ground truth框之間的IOU(如 > 0.7)來分配訓練目標。這樣一些相鄰的anchors都被分配了同一個目標的正目標。網絡也將學會為同一個物體預測多個正框。解決這個問題的常用方法是使用一種稱為非極大值抑制(Non-maximum Suppression,NMS)的技術。這是一個貪婪算法,過濾掉太靠近的框?,F(xiàn)在anchors消失了,我們在熱圖中每個目標只有一個峰值,不再需要使用 NMS 了。由于 NMS 有時難以實現(xiàn)且運行緩慢,因此對于在資源有限的各種環(huán)境中運行的應用程序來說,擺脫 NMS 是一個很大的好處。
2019: EfficientDet
EfficientDet: 可擴展和高效的目標檢測

源自論文“EfficientDet: Scalable and Efficient Object Detection”
在最近的 CVPR’20中,EfficientDet 向我們展示了目標檢測領域更令人興奮的發(fā)展。FPN 結構已被證明是提高檢測網絡在不同尺度下對目標檢測性能的有力技術。著名的檢測網絡,如 RetinaNet 和 YOLO v3,在框回歸和分類之前都采用了 FPN 頸。后來,NAS-FPN 和 PANet (請參閱閱讀更多部分)都證明了一個普通的多層 FPN 結構可能會受益于更多的設計優(yōu)化。EfficientDet繼續(xù)朝這個方向探索,最終創(chuàng)造了一個新的脖,叫做 BiFPN。基本上,BiFPN 提供了額外的跨層連接,以鼓勵來回的特性聚合。為了證明網絡的效率,BiFPN 從原始的PANet設計中刪除了一些不太有用的連接。FPN 結構上的另一個創(chuàng)新改進是權重特征融合。BiFPN 增加了額外的可學習的權重來實現(xiàn)聚合,這樣網絡就可以學習不同分支的重要性。

源自論文“EfficientDet: Scalable and Efficient Object Detection”
此外,就像我們在圖像分類網絡 EfficientNet 中看到的一樣,EfficientDet 也引入了一種合理的方法來縮放目標檢測網絡。上述公式中的參數(shù)φ 同時控制了 BiFPN 頸部和檢測頭的寬度(通道)和深度(層)。

源自論文“EfficientDet: Scalable and Efficient Object Detection”
這個新參數(shù)產生了8個不同的 EfficientDet 變種,從 D0到 D7。一個輕量級的 D0變種可以達到與 YOLO v3相似的精度,而FLOPs更少。一個重型的 D7變種,加上可怕的1536x1536輸入,甚至在 COCO 上可以達到53.7 AP ,使所有其他競爭者相形見絀。
閱讀更多
從 R-CNN、 YOLO 到最近的 CenterNet 和 EfficientDet,我們見證了深度學習時代目標檢測研究領域最重大的創(chuàng)新。除了上面的論文,我還提供了一個附加論文的列表,你可以繼續(xù)閱讀,以獲得更深入的理解。他們或者為目標檢測提供了不同的視角,或者用更強大的功能擴展了這個領域。
2009: DPM
基于分離部分訓練的目標檢測模型
通過為每個可變形的部件匹配很多 HOG 特征,DPM 是深度學習時代之前最有效的目標檢測模型之一。以行人檢測為例,首先采用星型結構識別通用人模式,然后用不同的子濾波器識別各部分并計算總分。即使在今天,在我們從 HOG 特征轉換到 CNN 特征之后,通過各個可變形部件來識別目標的想法仍然很流行。
2012: Selective Search
物體識別的Selective Search
和 DPM 一樣,Selective Search 也不是深度學習時代的產物。然而,這種方法將許多經典的計算機視覺方法結合在一起,也用于早期的 R-CNN 檢測器。selective search的核心思想來自于語義分割,即通過相似度對像素進行分組。selective search使用不同的相似度標準,如顏色空間和基于 SIFT 的紋理來迭代合并相似的區(qū)域在一起。這些合并后的區(qū)域用作前景預測,然后用支持向量機分類器進行目標識別。
2016: R-FCN
R-FCN: 通過基于區(qū)域的全卷積網絡實現(xiàn)目標檢測
Faster R-CNN 最終結合了 RPN 和 ROI 特征提取,大大提高了速度。然而,對于每個region proposal,我們仍然需要全連接層來分別計算類和邊界框。如果有300個 ROIs,我們需要重復300次,這也是單階段和兩階段檢測器之間速度差異的主要原因。R-FCN 借鑒了 FCN 語義分割的思想,但是 R-FCN 沒有計算類掩碼,而是計算了一個正敏感的得分圖。這張圖將預測物體在每個位置出現(xiàn)的概率,并且所有位置將投票(平均)來決定最終的類和邊界框。此外,R-FCN 還在其 ResNet 主干中使用了 atrous 卷積,這種卷積最初是在 DeepLab 語義分割網絡中提出的。
2017: Soft-NMS
用一行代碼改進目標檢測
非極大值抑制(NMS)被廣泛應用于基于anchor的目標檢測網絡中,以減少附近的重復正proposals。更具體的說,候選框在和一個有更有置信度的候選框 IOU高于閾值時,NMS 會迭代消除這個框。當具有相同類的兩個目標確實彼此非常接近時,這可能會導致一些意外的行為。Soft-NMS 對重疊候選框的置信度通過一個參數(shù)進行了小幅度的調整。這個縮放參數(shù)在調整定位性能時提供了更多的控制,并且在需要高召回率時有更高的精度。
2017: Cascade R-CNN
Cascade R-CNN: 探索高質量的目標檢測
當 FPN 探索如何設計一個更好的 R-CNN 頸部來使用主干特征時,Cascade R-CNN 研究并重新設計了 R-CNN 分類和回歸頭。底層的假設是簡單而深刻的: 我們在準備正的目標時使用的IOU值越高,網絡學會做出的false positive的預測就越少。然而,我們不能簡單地將IOU閾值從常用的0.5提高到更具侵略性的0.7,因為這也可能導致過多的負樣本出現(xiàn)在訓練中。Cascade R-CNN的解決方案是將多個檢測頭鏈接在一起,每個檢測頭都將依賴于前一個檢測頭的邊界框proposals。只有第一個檢測頭使用原來的 RPN proposals。這樣后面的頭便有效的模擬了 IOU 閾值的增加。
2017: Mask R-CNN
Mask R-CNN
Mask R-CNN并不是一個典型的目標檢測網絡。它被設計來解決一個具有挑戰(zhàn)性的實例分割任務,即為場景中的每個對象創(chuàng)建一個掩碼。然而,Mask R-CNN 展示了對 Faster R-CNN 框架的一個很好的擴展,反過來也激發(fā)了目標檢測的研究。其主要思想是在已有的邊界框和分類分支的基礎上,在 ROI pooling之后增加一個二進制掩碼預測分支。此外,為了解決原始的 ROI Pooling 層的圖像量化誤差問題,Mask R-CNN 還提出了一個新的 ROI Align 層,該層實際上使用了雙線性圖像重采樣。如你所料,多任務訓練(分割 + 檢測)和新的 ROI Align 層都有助于改進邊界框benchmark。
2018: PANet
用于實例分割的路徑聚合網絡
實例分割與目標檢測有著密切的關系,因此一個新的實例分割網絡通常也可以間接地為目標檢測分析研究帶來好處。PANet 旨在通過在原有的自上而下路徑之后增加一個自下而上的路徑,來促進 Mask R-CNN 的 FPN 頸部的信息流??梢暬@種變化就是,在多層池化特征之前,我們在原來的 FPN 的脖子上有一個↑↑結構,而 PANet 使它更像一個↑↓↑ 結構。同時,在 Mask R-CNN 的 ROIAlign 融合 (逐元素最大值的和)多尺度特性之后,PANet 增加了一個“自適應特性池化”層,而不是每個特性層都有單獨的池化。
2019: NAS-FPN
NAS-FPN: 學習可擴展特征金字塔結構的目標檢測
PANet的成功引起了一組 NAS 研究人員的注意。他們使用了來自圖像分類網絡 NASNet 的類似的強化學習方法,重點搜索融合單元的最佳組合。這里,融合單元是指 FPN 的基礎構建塊,它將任意兩個輸入特征層融合到一個輸出特征層中。最終的結果證明了 FPN 可以進一步優(yōu)化的想法,但是復雜的計算機搜索結構使人類難以理解。
總結
目標檢測仍然是一個活躍的研究領域。雖然這個領域總體是由 R-CNN 這樣的兩級檢測器和 YOLO 這樣的單級檢測器構成的,但是我們最好的檢測器仍然遠遠沒有在基準度量上飽和,而且在復雜的背景中漏掉了許多目標。與此同時,像 CenterNet 這樣的anchor-free檢測器向我們展示了一個光明的未來,在那里目標檢測網絡可以變得像圖像分類網絡一樣簡單。目標檢測的其他發(fā)展方向,如 few-shot 識和 NAS,仍處于初級階段,我們將在未來幾年內看到它的發(fā)展。
References
