入門分享 | 12篇深度學(xué)習(xí)目標(biāo)檢測必讀論文
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)
作者丨McGL@知乎 來源丨h(huán)ttps://zhuanlan.zhihu.com/p/181169225 整理:深度學(xué)習(xí)技術(shù)前沿
導(dǎo)讀
?本文梳理了目標(biāo)檢測領(lǐng)域2013年至2019年的12篇必讀論文,為希望學(xué)習(xí)相關(guān)知識的新手提供了很好的入門路徑。同時,作者還提供了一個附加論文列表。作為拓展閱讀的內(nèi)容,它們或?yàn)槟繕?biāo)檢測提供了新的視角,或用更強(qiáng)大的功能擴(kuò)展了這個領(lǐng)域。
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
前言
計算機(jī)視覺研究中,目標(biāo)檢測是一個比分類更困難的領(lǐng)域,我們將回顧它的歷史和最近的發(fā)展。在深度學(xué)習(xí)時代之前,像 HOG 和特征金字塔這樣的手工特性被廣泛用于獲取圖像中的定位信號。然而,這些方法通常不能很好地擴(kuò)展到通用的目標(biāo)檢測,所以大多數(shù)的應(yīng)用僅限于人臉識別或者行人檢測。利用深度學(xué)習(xí)的力量,我們可以訓(xùn)練一個網(wǎng)絡(luò)來學(xué)習(xí)要獲取的特征,并預(yù)測目標(biāo)的坐標(biāo)。這最終帶來了基于視覺感知的應(yīng)用的繁榮,比如商業(yè)人臉識別系統(tǒng)和無人機(jī)。在這篇文章里,我為那些想要學(xué)習(xí)目標(biāo)檢測的新手挑選了12篇必讀論文。盡管構(gòu)建目標(biāo)檢測系統(tǒng)最具挑戰(zhàn)性的部分隱藏在實(shí)現(xiàn)細(xì)節(jié)中,但是閱讀這些論文仍然可以讓你對這些想法的來源以及未來目標(biāo)檢測將如何發(fā)展有一個很好的大致理解。
作為閱讀本文的前提條件,你需要了解卷積神經(jīng)網(wǎng)絡(luò)的基本思想,以及常用的優(yōu)化方法,如帶反向傳播的梯度下降法。還有圖像分類的基礎(chǔ)知識,因?yàn)槟繕?biāo)檢測的許多很酷的想法都來源于更基礎(chǔ)的圖像分類研究。
2013:OverFeat
OverFeat: 使用卷積網(wǎng)絡(luò)集成識別、定位和檢測

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

