【論文】Cascade R-CNN總結

一、簡介

Cascade R-CNN是爲了解決訓練時用來定義FP和TP的IOU值選取的問題,並且提出了一種結構來利用該IOU值不同所帶來的好處,貢獻體現在對於定位能力的改進上,也就是IOU值。一般而言,這個值定爲了0.5,那麼其他的值呢?作者做了實驗,觀察到以下現象:

 

其中,圖(d)中繪製的是隨着定義TP的IOU閾值的變化,根據不同的u訓練出來的檢測器,AP的變化。可以看出來,在IOU較小的時候,根據u=0.5的效果最好,明顯好過了u=0.7,而隨着IOU的增加,u=0.7的檢測器逐漸顯示出優勢。

圖(c)中,x軸是RPN輸入的檢測器與GT的IOU值,y軸是輸出的IOU,當IOU<0.85的時候,所有的檢測器都能夠提升IOU的水平,也就是說輸出的IOU>輸入的IOU,而不同的u訓練出的檢測器在提升IOU上面的性能還不一樣,u=0.5的在0.5附近提升最明顯,而u=0.7的在0.7附近提升最明顯,這說明什麼呢,這說明訓練時選取TP的IOU閾值大小與它之後擅長處理的輸入IOU大小成正比。

TP的IOU值更大,意味着選取TP的標準更嚴格,會有更少的b-box被選取用來訓練,甚至可能會出現漏選的情況(由於標準過於嚴格),文中提到了 larger IoU thresholds leads to an exponentially smaller numbers of positive training samples,是一種指數級下降!過少的樣本會導致嚴重的欠擬合 。TP的IOU值更小,意味着標準更寬鬆,此時漏選的情況會少出現,但是選出的b-box會有更多的FP,質量不高。上面兩個圖觀察的現象就像是種瓜得瓜,種豆得豆,對於TP的選取標準越嚴格,檢測器也就更擅長處理高質量的b-box。這個原因嗎,當然是因爲訓練的時候出現的都是高質量的候選窗,網絡也就更擅長處理這些。當TP的選取標準低的時候,高質量的b-box少了,而網絡還要做的更好,它就要多在質量低的b-box上花些功夫。本質上,是由於輸入b-box分佈的改變,導致了網絡擅長的輸入改變。文中對於定義了兩種質量(評價質量好壞的那個質量,應該用品質):

1. the quality of an hypothesis, 假設的品質,指的是輸入給檢測器的b-box品質。簡稱爲H品質
2. the quality of the detector,訓練時選取的IOU的大小(決定了我們對於detector檢測能力的期望)。簡稱爲D品質

則上面的觀察表明,這兩個方面的品質需要匹配,如果我們要使用更高D品質的檢測器,那麼我們就要提供高H品質的輸入,以發揮檢測器的效用;反之,如果我們的輸入是高H品質,那麼我們要使用高D品質的檢測器才能做到最好。本質上還是由於檢測器對輸入分佈的擬合,如果一種品質的輸入更好,那檢測器就需要在這個品質上做的更好,這樣更容易達成目標(檢測器是懶惰的

這篇文章就是根據這個觀察,設計出了一種級聯(Cascade)的網絡,讓它先在低IOU的標準下學習,之後,提高IOU標準,放到下一層,以此類推。這樣,讓每一級都能學到與之IOU標準相近的能力,並且同時通過級聯來提高IOU(定位能力)。

二、結構和損失

結構就比較簡單了,結構如下:

 

(d)就是它的結構。

損失如下,對於上一級輸出的b_t,這一級的損失爲:

其中,x^t是輸出的一個b-box,g是與之匹配的ground truth(根據匹配方法,可能匹配爲了背景,也記爲g),L_cls是分類損失,h_t是分類器,y^t是g的標籤,是依據這種取法:lambda取1。如果g不是背景的話(y^t != 0),那麼定位損失L_loc存在,是g與迴歸器f_t輸出之間的差距,b^t是上一級(第t級)輸出的b-box。

最後每一級分別按照這個損失去進行計算。

三、實驗結果

使用COCO 2017的mmAP進行評價。U取{0.5,0.6,0.7}

第一個實驗是使用不同的U訓練了3個不同的檢測器,並將這三個檢測器與Cascade R-CNN的三個輸出進行對比。具體的,是通過繪製AP-IOU閾值曲線來顯示其區別。如下圖:

首先對比(a)中的虛線和實線,可以發現虛線的表現好於實線,這說明Cascade的結構可以讓後面的兩級網絡的精確度提升,這是因爲如果沒有使用cascade,那麼u=0.6和u=0.7的網絡接收到的數據就是大量的粗糙b-box,而這是這兩種網絡不擅長的。u=0.5當然不會有改進。這個實驗驗證了這一點。

下一個實驗繼續驗證了這一點,它顯示了Cascade R-CNN每一級網絡的APP-IOU閾值圖像。可以看出,每一級(0.7,0.5,0.6)在其對應的輸入上表現都是最好的(輸入的不同體現在圖中的標題,這也是當然的嘛,畢竟是在上面訓練的),而且可以看出來,3rd Stage中u=0.7的AP要比1st Stage中u=0.5的大。沒看懂圖是咋畫的,就不說了。

之後還做了和Iterative Box、Integral loss的比較,結果是cascade比較好。

剝離實驗(Ablation Experiments)

參考下面的吧:https://zhuanlan.zhihu.com/p/40207812

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