(十一)Cascade R-CNN----2018CVPR論文解讀

Cascade R-CNN: Delving into High Quality Object Detection

級聯R-CNN:致力於高質量目標檢測

Abstract

在對象檢測中,需要定義聯合正負(IoU)閾值。以低IoU閾值訓練的物體檢測器,例如0.5,通常會產生噪聲檢測。但是,**隨着IoU閾值的增加,檢測性能趨於下降。**造成此問題的主要原因有兩個:**1)在訓練期間因正樣本呈指數消失而過度擬合,以及2)最佳檢測器的IoU與輸入假設的IoU之間的推理時間不匹配。**爲了解決這些問題,提出了一種多級目標檢測架構Cascade R-CNN。它由一系列經過不斷提高的IoU閾值訓練的檢測器組成,從而可以對接近的假陽性序列進行更多選擇。對檢測器的訓練是逐步進行的,利用了這樣的觀察:檢測器的輸出是用於訓練下一個更高質量的檢測器的良好分佈。對逐步改進的假設的重新採樣保證了所有檢測器都有一組等效大小的正例,從而減少了過擬合問題。推理時採用相同的級聯過程,從而使假設與每個階段的檢測器質量之間的匹配度更高。在複雜的COCO數據集上,Cascade R-CNN的簡單實現可以超越所有單模型物體檢測器,實驗還表明Cascade R-CNN可廣泛應用於各種檢測器架構,獲得穩定的增益而不受基線檢測器強度的影響。該代碼將在https://github.com/zhaoweicai/cascade-rcnn提供。

1 Introduction

在這裏插入圖片描述
對象檢測是一個複雜的問題,需要解決兩個主要任務。首先,探測器必須解決識別問題,將前景物體與背景區分開併爲其分配適當的物體類別標籤。其次,探測器必須解決定位問題,爲不同的物體分配準確的邊界框。這兩種方法都特別困難,因爲檢測器面臨許多“接近”的誤報,對應於“接近但不正確”的邊界框。檢測器必須在抑制這些接近的假陽性的同時找到真陽性。

許多最近提出的對象檢測器都是基於兩階段R-CNN框架[12、11、27、21],其中檢測被構造爲結合了分類和邊界框迴歸的多任務學習問題。與對象識別不同,定義正/負需要交越聯合(IoU)閾值。然而,通常使用的閾值u(通常爲u = 0.5)對正數建立了相當寬鬆的要求,因此生成的檢測器經常會產生嘈雜的邊界框,如圖1(a)所示。大多數人會認爲近似假陽性的假設經常通過IoU≥0.5的測試。雖然根據u = 0.5準則組裝的示例豐富多樣,但它們使訓練能夠有效拒絕近似誤報的檢測器變得困難。

在這項工作中,我們將假設的質量定義爲具有基本事實的IoU,並將檢測器的質量定義爲用於訓練它的IoU閾值。目標是研究迄今爲止學習程度不高的學習高質量目標檢測器的問題,該檢測器的輸出幾乎沒有誤報,如圖1(b)所示。基本思想是,單個檢測器只能針對單個質量級別進行優化。這在對成本敏感的學習文獻中是已知的[7,24],其中對接收器工作特性(ROC)的不同點的優化需要不同的損耗函數。主要區別在於我們考慮針對給定IoU閾值的優化,而不是誤報率。

圖1(c)和(d)展示了這種想法,圖1(c)和(d)分別展示了三個訓練有IuU閾值u = 0.5、0.6、0.7的檢測器的定位和檢測性能。如COCO [20]所示,根據輸入建議的IoU評估本地化性能,並根據IoU閾值評估檢測性能。請注意,在圖1(c)中,每個邊界框迴歸器在IoU接近於訓練探測器的閾值的示例中表現最佳。這也適用於檢測性能,甚至過擬合。圖1(d)顯示,對於低IoU實例,u = 0.5的檢測器優於u = 0.6的檢測器,在較高的IoU級別下其性能不佳。通常,在單個IoU級別上優化的檢測器不一定在其他級別上最佳。這些觀察結果表明,更高質量的檢測要求檢測器與其處理的假設之間的質量匹配更緊密。通常,只有在提出高質量建議時,檢測器才能具有高質量。

然而,爲了生產高質量的檢測器,僅僅在訓練期間增加u是不夠的。實際上,從圖1(d)中u = 0.7的檢測器可以看出,這會降低檢測性能。問題在於,從提議檢測器發出的假設分佈通常在質量低下嚴重失衡。通常,強迫更大的IoU閾值會導致正訓練樣本數量成倍減少。對於神經網絡而言,這尤其成問題,因爲神經網絡被認爲是非常密集的示例,並且使得“高級”訓練策略很容易過度擬合。另一個困難是推斷時檢測器質量與測試假設質量之間的不匹配。如圖1所示,對於高質量的假設,高質量的檢測器僅是最佳的。當要求他們根據其他質量水平的假設進行檢測時,檢測可能不是最佳的。

**在本文中,我們提出了一種解決這些問題的新型檢測器架構Cascade R-CNN。它是R-CNN的多級擴展,其中級聯更深的檢測器級依次對接近的假陽性更具選擇性。**依次訓練R-CNN階段的級聯,使用一個階段的輸出來訓練下一個階段。這是由於觀察者的動機,即迴歸器的輸出IoU幾乎總是好於輸入IoU。可以在圖1(c)中進行觀察,其中所有圖都在灰線上方。這表明以某個IoU閾值訓練的檢測器的輸出是良好的分佈,可以訓練下一個更高的IoU閾值的檢測器。這類似於對象檢測文獻[31,8]中通常用於組裝數據集的增強方法。主要區別在於,Cascade R-CNN的重採樣過程並非旨在挖掘硬底片。相反,通過調整邊界框,每個階段的目標是找到一組良好的false positive,以訓練下一階段。當以這種方式操作時,適用於越來越高的IoU的一系列檢測器可以克服過度擬合的問題,因此可以有效地進行訓練。推斷時,將應用相同的級聯過程。如圖1(c)和(d)所示,逐步改進的假設可以更好地與每個階段不斷提高的檢測器質量匹配,從而實現更高的檢測精度。

Cascade R-CNN的實施和端到端訓練非常簡單。我們的結果表明,在具有挑戰性的COCO檢測任務[20]上,尤其是在更高質量的評估指標下,沒有任何障礙和哨聲的香草實現方式大大超過了所有以前的最新單模型檢測器。此外,可以使用任何基於R-CNN框架的兩級對象檢測器來構建Cascade R-CNN。我們已經觀察到了一致的收益(2-4點),計算量略有增加。該增益與基線物體檢測器的強度無關。因此,我們認爲,這種簡單有效的檢測體系結構可能會引起許多對象檢測研究的興趣。

2 Related Work

由於R-CNN [12]架構的成功,通過結合提議檢測器和區域分類器,檢測問題的兩階段表述在最近變得很重要。爲了減少R-CNN中的冗餘CNN計算,SPP-Net [15]和Fast-RCNN [11]引入了區域特徵提取的思想,顯着加快了整個檢測器的速度。後來,Faster-RCNN [27]通過引入區域提議網絡(RPN)進一步提高了速度。這種架構已成爲領先的目標檢測框架。最近的一些工作已將其擴展爲解決各種細節問題。例如,R-FCN [4]提出了有效的區域級完全卷積,而沒有精度損失,從而避免了Faster-RCNN繁重的區域級CNN計算;而MS-CNN [1]和FPN [21]在多個輸出層檢測提議,以減輕RPN接收字段與實際對象大小之間的比例失配,以進行高召回提議檢測。

或者,一級目標檢測架構也已變得很流行,這主要是由於其計算效率高。這些架構接近經典的滑動窗口策略[31,8]。 YOLO [26]通過轉發輸入圖像一次輸出非常稀疏的檢測結果。當使用高效的骨幹網絡實現時,它可以以合理的性能實現實時對象檢測。SSD[23]以類似於RPN [27]的方式檢測對象。 ,但使用不同分辨率的多個特徵圖來覆蓋不同比例的對象。這些體系結構的主要限制是其精度通常低於兩級檢測器的精度。最近,RetinaNet [22]被提出來解決極端的前景-背景類別不平衡的密集物體檢測,比最新的兩級物體檢測器獲得更好的結果。

還提出了多階段目標檢測的一些探索。多區域檢測器[9]引入了迭代包圍盒迴歸法,其中多次應用R-CNN以產生更好的包圍盒。CRAFT[33]和AttractioNet [10]使用了多階段過程來生成準確的建議,並將其轉發給Fast-RCNN。 [19,25]嵌入了[31]在對象檢測網絡中的經典級聯架構。 [3]交替執行檢測和分段任務,例如分段。

3 Object Detection

在本文中,我們擴展了Faster-RCNN [27,21]的兩階段體系結構,如圖3(a)所示。 第一階段是提議子網(“ H0”),應用於整個圖像,以產生初步的檢測假設,稱爲目標提議。 在第二階段中,這些假設然後由表示爲檢測頭的感興趣區域檢測子網(“ H1”)處理。 最終分類得分(“ C”)和邊界框(“ B”)被分配給每個假設。 我們專注於對多級檢測子網進行建模,並採用但不限於RPN [27]進行提議檢測。

3.1. Bounding Box Regression

邊界框b =(b x,b y,b w,b h)包含圖像塊x的四個座標。邊界框迴歸的任務是使用迴歸函數f(x,b)將候選邊界框b迴歸到目標邊界框g。這是從訓練樣本{g i,b i}中學到的,從而將邊界框風險降到最低

Rloc[f]=i=1NLloc(f(xi,bi),gi)1 \mathcal{R}_{l o c}[f]=\sum_{i=1}^{N} L_{l o c}\left(f\left(x_{i}, \mathbf{b}_{i}\right), \mathbf{g}_{i}\right) (1)
其中L loc是R-CNN [12]中的L2損失函數,但在Fast-RCNN [11]中已更新爲平滑的L 1損失函數。爲鼓勵尺度和位置迴歸不變,Lloc對距離矢量∆進行運算=(δx,δy,δw,δh)由
δx=(gxbx)/bw,δy=(gyby)/bhδw=log(gw/bw),δh=log(gh/bh)2 \begin{aligned}\delta_{x} &=\left(g_{x}-b_{x}\right) / b_{w}, & \delta_{y} &=\left(g_{y}-b_{y}\right) / b_{h} \\\delta_{w} &=\log \left(g_{w} / b_{w}\right), & \delta_{h} &=\log \left(g_{h} / b_{h}\right)\end{aligned} (2)
在這裏插入圖片描述
由於邊界框迴歸通常對b執行較小的調整,因此(2)的數值可能會很小。因此,(1)的風險通常比分類風險小得多。爲了提高多任務學習的有效性,通常用∆的均值和方差對∆進行歸一化,即將δx替換爲δ′x =(δx − µ x)/σx。這在文獻中得到了廣泛的應用[27 ,1,4,21,14]。

一些著作[9,10,16]認爲f的單個迴歸步驟不足以進行精確定位。而是將f迭代地應用,作爲後處理步驟
f(x,b)=fff(x,b)3 f^{\prime}(x, \mathbf{b})=f \circ f \circ \cdots \circ f(x, \mathbf{b}) (3)
完善邊界框b。這稱爲迭代邊界框迴歸,表示爲迭代BBox。可以使用圖3(b)的推理架構來實現,其中所有頭都相同。但是,這個想法忽略了兩個問題。首先,如圖1所示,對於較高IoU的假設,在u = 0.5處訓練的迴歸因子f次優。實際上,它會使大於0.85的IoU邊界框降級。其次,如圖2所示,邊界框的分佈在每次迭代後都會發生顯着變化。雖然迴歸器對於初始分佈而言是最佳的,但在此之後它可能會是次優的。由於這些問題,迭代式BBox需要大量的人爲工程,包括提案積累,框投票等[9,10,16],並且收益有些不可靠。通常,僅應用兩次f就沒有任何好處。

3.2. Classification

在這裏插入圖片描述

分類器是一個函數h(x),它將圖像塊x分配給M + 1個類之一,其中類0包含背景,其餘的要檢測的對象。 h(x)是類別後驗分佈的M +1維估計,即h k(x)= p(y = k | x),其中y是類別標籤。 給定訓練集(x i,y i),可通過最小化分類風險來學習
Rcls[h]=i=1NLcls(h(xi),yi)4 \mathcal{R}_{c l s}[h]=\sum_{i=1}^{N} L_{c l s}\left(h\left(x_{i}\right), y_{i}\right) (4)
其中Lcls是經典的交叉熵損失。

3.3. Detection Quality

由於邊界框通常包含一個對象和一定數量的背景,因此很難確定檢測結果是陽性還是陰性。這通常通過IoU指標解決。如果IoU高於閾值u,則將補丁視爲該類的示例。因此,假設x的類別標籤是u的函數,
y={gy,IoU(x,g)u0, otherwise 5 y=\left\{\begin{array}{ll} {g_{y},} & {\operatorname{IoU}(x, g) \geq u} \\ {0,} & {\text { otherwise }} \end{array}\right. (5)
其中,y是地面真實物體g的類標籤。 IoU閾值u定義了檢測器的質量。

對象檢測具有挑戰性,因爲無論閾值如何,檢測設置都具有很高的對抗性。當u高時,正詞沒有背景,但是很難組裝足夠的正訓練樣本。當u低時,可以使用更豐富,更多樣化的陽性訓練集,但是訓練有素的檢測器幾乎沒有動力拒絕接近的假陽性。通常,很難要求單個分類器在所有IoU級別上均一地表現良好。根據推斷,由於提議檢測器產生的大多數假設,例如RPN [27]或選擇性搜索[30]的質量較低,對於質量較低的假設,檢測器必須具有更大的判別力。這些相互矛盾的要求之間的標準折衷方案是使u = 0.5。但是,這是一個相對較低的閾值,導致低質量的檢測,大多數人認爲接近的假陽性,如圖1(a)所示。
在這裏插入圖片描述
一項簡單的解決方案是使用圖3(c)的架構開發一組分類器,並針對各種質量級別進行損失優化,
Lcls(h(x),y)=uULcls(hu(x),yu)6 L_{c l s}(h(x), y)=\sum_{u \in U} L_{c l s}\left(h_{u}(x), y_{u}\right)(6)
其中U是一組IoU閾值。這與[34]的積分損失密切相關,其中U = {0.5,0.55,··,0.75},其設計適合於COCO挑戰的評估指標。根據定義,分類器需要在推理時進行組合。該解決方案無法解決以下問題:(6)的不同損失作用於不同數量的正數。如圖4的第一個圖所示,一組正樣本隨u迅速減少。這尤其成問題,因爲高質量的分類器容易過擬合。另外,需要那些高質量分類器來處理推論中壓倒性的低質量建議,而這些建議並未得到優化。由於所有這些,(6)的合奏無法在大多數質量級別上實現更高的精度,並且該體系結構比圖3(a)的增益很小。

4 Cascade R-CNN

在本節中,我們介紹圖3(d)提出的Cascade R-CNN對象檢測架構。

4.1. Cascaded Bounding Box Regression

如圖1(c)所示,很難要求單個迴歸器在所有質量級別上都能完美地均勻執行。受級聯姿勢迴歸[6]和麪部對齊[2,32]的啓發,可以將困難的迴歸任務分解爲一系列更簡單的步驟。在CascadeR-CNN中,它具有圖3(d)的體系結構,是級聯退化問題。這依賴於一連串的專業迴歸器
f(x,b)=fTfT1f1(x,b)7 f(x, \mathbf{b})=f_{T} \circ f_{T-1} \circ \cdots \circ f_{1}(x, \mathbf{b}) (7)
其中T是級聯總數。請注意,級聯中的每個迴歸變量f t均經過優化。樣本分佈{b t}到達相應階段,而不是{b 1}的初始分佈。這種級聯逐步改善了假設。

它在幾個方面與圖3(b)的迭代BBox體系結構不同。首先,雖然迭代BBox是用於改善邊界框的後處理過程,但級聯迴歸是一種重採樣過程,可以更改要在不同階段處理的假設的分佈。其次,由於它既用於訓練又用於推理,因此訓練和推理分佈之間沒有差異。第三,針對多個階段的重採樣分佈,優化了多個專業迴歸變量{f T,f T-1,…,f 1}。這與(3)的單個f相反,後者僅對初始分佈是最佳的。這些差異使您可以比迭代BBox進行更精確的定位,而無需進行進一步的人工操作。

如第3.1節所述,(2)中的∆ =(δx,δy,δw,δh)需要通過其均值和方差進行歸一化,以進行有效的多任務學習。如圖2所示。在訓練時,將使用相應的統計量對每個階段的Δ進行歸一化。

4.2. Cascaded Detection

如圖4左側所示,初始假設的分佈例如RPN提案嚴重傾向於低質量。這不可避免地導致對高質量分類器的有效學習。 Cascade R-CNN通過將級聯迴歸作爲重採樣機制來解決此問題。這是由於在圖1(c)中所有曲線都位於對角灰線上方,即受過一定u訓練的包圍盒迴歸器往往會產生更高IoU的包圍盒。因此,從一組示例(x i,b i)開始,級聯迴歸依次對較高IoU的示例分佈(x’i,b’i)進行重採樣。以這種方式,即使當檢測器質量(IoU閾值)增加時,也可以將連續級的正例的集合保持在大致恆定的大小。如圖4所示,在每個重採樣步驟之後,分佈向高質量示例的傾斜程度更大。結果有兩個。首先,沒有過度擬合,因爲所有級別的示例都很多;其次,更深階段的檢測器針對更高的IoU閾值進行了優化。請注意,如圖2所示,通過增加IoU閾值可以順序刪除一些離羣值,從而可以更好地訓練專用檢測器序列。

在每個階段t,R-CNN包括分類器h t和針對IoU閾值u t優化的迴歸器f t,其中u t> u t-1。通過最小化損失來保證
L(xt,g)=Lcls(ht(xt),yt)+λ[yt1]Lloc(ft(xt,bt),g)8 L\left(x^{t}, g\right)=L_{c l s}\left(h_{t}\left(x^{t}\right), y^{t}\right)+\lambda\left[y^{t} \geq 1\right] L_{l o c}\left(f_{t}\left(x^{t}, \mathbf{b}^{t}\right), \mathbf{g}\right) (8)
其中bt = ft-1(xt-1,bt-1),g是xt的地面真實對象,λ= 1折衷係數,[·]指標函數,yt是ut給定的xt的標籤(5)。與(6)的積分損失不同,這保證了一系列經過有效訓練的,質量不斷提高的探測器。推斷而言,通過應用相同的級聯過程,假設的質量得到了依次提高,並且只需要較高質量的檢測器即可對較高質量的假設進行操作。如圖1(c)和(d)所示,這可以實現高質量的物體檢測。

5 Experimental Results

在MS-COCO 2017 [20]上對Cascade R-CNN進行了評估,其中包含約118k圖像進行訓練,5k驗證(有效)和約20k測試(不提供註釋)(test-dev)。 COCO風格的平均精度(AP)可將跨IoU閾值的AP平均取值範圍爲0.5到0.95。 這些評估指標可衡量各種質量的檢測性能。 所有模型都在COCO訓練集上進行訓練,並在val集上進行評估。 最終結果也報告在測試開發集上。

5.1. Implementation Details

爲了簡單起見,所有迴歸器均與類無關。 Cascade R-CNN中的所有級聯檢測階段都具有相同的架構,這是基線檢測網絡的頭。除非另有說明,否則,級聯R-CNN總共有四個階段,一個RPN和三個用於U = {0.5,0.6,0.7}的檢測。第一檢測階段的採樣遵循[11,27]。在接下來的階段中,如第4.2節所述,只需使用前一階段的迴歸輸出即可實現重採樣。除了標準水平圖像翻轉之外,沒有使用任何數據增強。推理是在單個圖像尺度上進行的,沒有其他的鈴聲和口哨聲。 Caffe [18]在同一代碼庫上重新實現了所有基線檢測器,以進行公平比較。

5.1.1 Baseline Networks

爲了測試Cascade R-CNN的多功能性,使用三種流行的基線檢測器進行了實驗:帶主幹VGG-Net的Faster-RCNN [29],帶ResNet主幹的R-FCN [4]和FPN [21] [16]。這些基準具有廣泛的檢測性能。除非另有說明,否則使用其默認設置。使用端到端培訓代替了多步訓練。

在這裏插入圖片描述
在這裏插入圖片描述
Faster-RCNN:網絡頭具有兩個完全連接的層。爲了減少參數,我們使用[13]修剪不太重要的連接。每個完全連接的層保留2048個單元,並刪除掉落層。在2個同步的GPU上,訓練以0.002的學習率開始,在60k和90k迭代中減少了10倍,並在100k迭代中停止,每個GPU每次迭代包含4張圖像。每個圖像使用128個RoI。

R-FCN:R-FCN向ResNet添加了卷積,邊界框迴歸和分類層。級聯R-CNN的所有頭都具有此結構。沒有使用在線硬負挖礦[28]。訓練以0.003的學習率開始,在4個同步的GPU上,在160k和240k迭代中,學習率降低了10倍,在280k迭代中停止了學習,每個迭代中每張圖像只有一個圖像。每個圖像使用256個RoI。

FPN:由於尚未公開可用於FPN的源代碼,因此我們的實現細節可能有所不同。RoIAlign[14]用於獲得更強的基準。這被表示爲FPN +,並用於所有消融研究中。與往常一樣,ResNet-50用於消融研究,ResNet-101用於最終檢測。訓練在8個同步的GPU上進行了12萬次迭代的學習率是0.005,接下來的60k迭代的學習率是0.0005,每個GPU每次迭代持有一張圖像。每個圖像使用256個RoI。

5.2. Quality Mismatch

圖5(a)顯示了三個單獨訓練的檢測器的AP曲線,這些檢測器的IoU閾值爲U = {0.5,0.6,0.7}。在低IoU電平下,u = 0.5的檢測器優於u = 0.6的檢測器,但是在較高IoU的情況下性能不佳。但是,u = 0.7的檢測器性能不如其他兩個。爲了理解爲什麼會發生這種情況,我們在推斷時更改了建議的質量。圖5(b)顯示了將地面真相邊界框添加到建議集中時獲得的結果。儘管所有檢測器都有所改善,但u = 0.7的檢測器具有最大的增益,在幾乎所有IoU級別上都可實現最佳性能。這些結果表明了兩個結論。首先,對於精確檢測,u = 0.5不是一個好的選擇,對於低質量的建議而言,魯棒性更強。其次,高精度檢測需要與檢測器質量相匹配的假設。接下來,原始檢測器建議被更高質量的Cascade R-CNN建議(分別使用第二和第三階段建議的u = 0.6和u = 0.7代替)。圖5(a )還表明,當測試建議更符合檢測器質量時,兩個檢測器的性能將得到顯着改善。

在所有級聯階段對所有Cascade R-CNN檢測器進行測試,得出的觀察結果相似。圖6顯示,當使用更精確的假設時,每個檢測器都得到了改進,而質量更高的檢測器具有更大的增益。例如,對於第一階段的低質量建議,u = 0.7的檢測器性能較差,而對於更深的級聯階段可用的更精確的假設,則性能要好得多。此外,即使使用相同的建議,圖6的聯合訓練探測器也要優於圖5(a)的單獨訓練探測器。這表明檢測器在Cascade R-CNN框架內得到了更好的訓練。

5.3. Comparison with Iterative BBox and Integral Loss

在本節中,我們將Cascade R-CNN與迭代BBox和積分損耗檢測器進行比較。迭代BBox是通過反覆應用FPN + baseline三次來實現的。積分損耗檢測器具有與Cascade R-CNN相同數量的分類頭,其中U = {0.5,0.6,0.7}。
在這裏插入圖片描述
本地化:在圖7(a)中比較了級聯迴歸和迭代BBox的本地化性能。使用單個迴歸器會降低高IoU假設的本地化。當像迭代BBox那樣迭代應用迴歸器時,此效果會累積,實際上性能會下降。請注意,經過3次迭代後,迭代BBox的性能非常差。相反,級聯迴歸器在後期階段具有更好的性能,在幾乎所有IoU級別上都優於迭代BBox。

積分損失:積分損失檢測器中所有分類器的檢測性能(共享一個迴歸變量)如圖7(b)所示。在所有IoU級別上,u = 0.6的分類器是最佳的,而u = 0.7的分類器是最差的。所有分類器的集合均未顯示可見增益。

表1顯示,迭代BBox和積分損耗檢測器均稍微改善了基線檢測器。級聯R-CNN對於所有評估指標均具有最佳性能。對於較低的IoU閾值,增益是溫和的,但對於較高的IoU閾值,增益是顯着的。

5.4. Ablation Experiments

還進行了消融實驗。

階段比較:表2總結了階段性能。由於多階段多任務學習的優勢,第一階段的性能已經超過了基線檢測器。第二階段實質上提高了性能,第三階段與第二階段等效。這與積分損失檢測器不同,後者的較高IOU分類器相對較弱。雖然在較低(較高)IoU指標下,前一個(後期)階段比較好,但是所有分類器的整體效果最好。
在這裏插入圖片描述
IoU閾值:所有頭部均使用相同的IoU閾值u = 0.5訓練了初步的Cascade R-CNN,在這種情況下,各個階段的區別僅在於它們接收的假設不同。每個階段都用相應的假設進行訓練,即解釋圖2的分佈。表3的第一行顯示了在基線檢測器上級聯得到改善。這表明優化相應樣本分佈的階段的重要性。第二行表明,通過增加階段閾值u,可以使檢測器針對接近的假陽性結果更具選擇性,並專門用於更精確的假設,從而帶來額外的收益。這支持了第4.2節的結論。

迴歸統計數據:利用圖2的逐步更新的迴歸統計數據,有助於有效地進行分類和迴歸的多任務學習。通過比較表3中的模型,可以看出它的好處。學習對這些統計數據並不敏感。

階段數:表4總結了階段數的影響。添加第二個檢測階段可顯着改善基線檢測器。三個檢測階段仍可帶來不小的改進,但增加第4個階段(u = 0.75)會導致性能略有下降。但是請注意,雖然AP的整體性能下降,但四階段級聯對於高IoU級別具有最佳性能。三級串級實現了最佳折衷。

5.5. Comparison with the state-of-the-art

在這裏插入圖片描述
表5中將基於FPN +和ResNet-101主幹的Cascade R-CNN與最新的單模型對象檢測器進行了比較。設置如5.1.1節所述,但總數爲280k運行訓練迭代,學習率下降到160k和240k迭代。 RoI的數量也增加到512。表5上的第一組檢測器是一級檢測器,第二組是兩級檢測器,最後一組是多級檢測器(Cascade R-CNN的三級檢測器+ RPN) )。所有比較過的最先進的探測器都經過u = 0.5訓練。需要注意的是,我們的FPN +實現比原始FPN更好[21],提供了非常強大的基線。此外,從FPN +擴展到Cascade R-CNN的性能提高了約4點。在所有評估指標下,Cascade R-CNN的表現也大大優於所有單模檢測器。這包括2015年和2016年COCO挑戰賽獲勝者的單模檢測器(更快的R-CNN +++ [16]和G- RMI [17]),以及最近的可變形R-FCN [5],RetinaNet [22]和Mask R-CNN [14]。在COCO上最好的多級檢測器AttractioNet [10]使用迭代BBox生成建議。儘管在AttractioNet中使用了許多增強功能,但香草Cascade R-CNN的性能仍然優於7.1點。請注意,與Mask R-CNN不同,Cascade R-CNN中未利用任何分段信息。最後,香草單模Cascade R-CNN還超越了精心設計的整體探測器,該探測器在2015年和2016年分別贏得了COCO挑戰(分別爲AP 37.4和41.6)1。

5.6. Generalization Capacity

表6中比較了所有三個基線檢測器的三級Cascade R-CNN。所有設置如上,對FPN +的第5.5節進行了更改。

檢測性能:同樣,我們的實現優於原始檢測器[27,4,21]。儘管如此,Cascade R-CNN在這些基線上始終可以提高2-4點,而與它們的強度無關。這些增益在val和test-dev上也一致。這些結果表明,Cascade R-CNN在檢測器體系結構中廣泛適用。

參數和時序:級聯R-CNN參數的數量隨級聯級數的增加而增加。基線檢測頭的參數數量呈線性增加。另外,由於與RPN相比檢測頭的計算成本通常較小,因此在訓練和測試方面,Cascade R-CNN的計算開銷都較小。

6 Conclusion

在本文中,我們提出了一種多級目標檢測框架Cascade R-CNN,用於設計高質量的目標檢測器。事實證明,該體系結構避免了訓練時過度擬合和推理時質量不匹配的問題。在具有挑戰性的COCO數據集上對Cascade R-CNN進行可靠而一致的檢測改進表明,需要對各種併發因素進行建模和理解才能推進目標檢測。 Cascade R-CNN被證明適用於許多物體檢測架構。我們認爲,它對將來的許多對象檢測研究工作很有用。

致謝
我們要感謝何凱明的寶貴討論。

最後總結:
本篇文章主要解決了在目標檢測中,檢測框不是特別準,容易出現噪聲干擾的問題,即close false positive,爲什麼會有這個問題呢?作者實驗發現,因爲在基於anchor的檢測方法中,我們一般會設置訓練的正負樣本(用於訓練分類以及對正樣本進行座標迴歸),選取正負樣本的方式主要利用候選框與ground truth的IOU佔比,常用的比例是50%,即IOU>0.5的作爲正樣本,IOU<0.3作爲負樣本等,但是這樣就帶來了一個問題,閾值取0.5是最好的嗎?作者通過實驗發現,1、設置不同閾值,閾值越高,其網絡對準確度較高的候選框的作用效果越好。2、不論閾值設置多少,訓練後的網絡對輸入的proposal都有一定的優化作用。基於這兩點,作者設計了Cascade R-CNN網絡,如下面圖Figure3(d)所示,即通過級聯的R-CNN網絡,每個級聯的R-CNN設置不同的IOU閾值,這樣每個網絡輸出的準確度提升一點,用作下一個更高精度的網絡的輸入,逐步將網絡輸出的準確度進一步提高。

一句話總結就是:Cascade R-CNN就是使用不同的IOU閾值,訓練了多個級聯的檢測器。

最後一個實驗,作者對stage的數量進行了分析,如下圖所示,作者發現stage爲3的時候效果最好,繼續增加效果反而下降了。

最後總結部分轉自:https://blog.csdn.net/Chunfengyanyulove/article/details/86414810

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章