一種關(guān)注于重要樣本的目標(biāo)檢測方法!
背景
論文是基于anchor的目標(biāo)檢測中正負(fù)樣本采樣的。首先來一起回顧下整個過程。
以經(jīng)典two-stage目標(biāo)檢測網(wǎng)絡(luò)Faster-rcnn為例,如圖所示,過程大致為:
圖片輸入經(jīng)過backbone得到feature_map,
然后經(jīng)過RPN網(wǎng)絡(luò)得到proposal,
再將proposal進(jìn)行1:3的正負(fù)樣本的采樣,
將采樣后的正負(fù)樣本送入rcnn階段進(jìn)行分類和回歸。
圖中藍(lán)框區(qū)域就是本文要研究的內(nèi)容:

問題分析
在這樣一個正負(fù)樣本采樣階段,目前主流的算法都是怎么做的?
Faster-rcnn,將采樣后的正負(fù)樣本直接送入rcnn階段進(jìn)行分類和回歸; ohem,將loss大的proposal視為難例,在采樣的時候優(yōu)先采樣這些樣本; focal_loss,通過兩個超參數(shù)調(diào)節(jié)不同難易程度樣本的loss。
還有很多別的關(guān)于正負(fù)樣本采樣的研究,這里不一一列舉,但是目前來看,大部分關(guān)于這部分的優(yōu)化,都是想要去優(yōu)化難例樣本,也就是說,一個proposal在訓(xùn)練的時候貢獻(xiàn)的loss越大,越需要去優(yōu)化,但是這樣真的是對的嗎?或者說,對于模型來說,這些難例樣本真的是最重要的嗎?
這里我們舉一個例子,看一下本文認(rèn)為什么是重要的樣本,如下圖所示:

左圖:白色虛線表示ground truth,紅色框表示本文認(rèn)為的重要樣本(prime sample),藍(lán)框?yàn)殡y例樣本。
右圖:不同采樣策略下模型的PR曲線,random表示平等對待各個樣本,hard表示重點(diǎn)關(guān)注難例樣本,prima表示重點(diǎn)關(guān)注重要樣本。
可以看到,基于prime sample的采樣策略能夠更好地提升檢測器的性能,原因是什么呢?
我們以左圖為例,對于左圖來說,對于這樣一個檢測結(jié)果,往往我們希望去優(yōu)化藍(lán)框,因?yàn)樗膌oss更大,這是可以理解的。
但是對于這樣一個圖片,已經(jīng)有更好的紅框了,其實(shí)是沒有必要去優(yōu)化藍(lán)框的,因?yàn)樽罱K藍(lán)框只要比紅框得分低,它就會被后處理NMS干掉,從而不對檢測指標(biāo)有貢獻(xiàn),因此,此時,與其去優(yōu)化藍(lán)框,不如進(jìn)一步優(yōu)化紅框,使其更加精確。換句話說,紅框才是更重要的。
重新審視mAP
以COCO計(jì)算mAP的過程為例,大致分為以下四步:
以間隔0.05對在0.5~0.95內(nèi)采樣iou閾值 在每個iou閾值下,計(jì)算PR曲線,得到AP值 將所有iou閾值下的AP值平均得到mAP(m--mean iou) 所有類別的mAP進(jìn)行平均得到總的mAP(m--mean class)
接下來我們看一下,從mAP的指標(biāo)上來看,哪些正負(fù)樣本是更重要的?

文章中說,對于單一gt bbox來說,與其重疊的所有預(yù)測邊界框中,具有最高IoU的bbox最為重要。以圖左邊這個目標(biāo)為例:
對于白色虛線gt來說,預(yù)測邊界框有bbox A, bbox B,bbox C,那么bbox C是最重要的,其原因在于它和gt的IOU是最高的,倘若不考慮每個框的置信度以及NMS的影響,當(dāng)計(jì)算AP50的時候,ABC都可以被認(rèn)為檢測到gt。
但是當(dāng)計(jì)算AP70的時候,只有C表示檢測到了gt,而此時A、B雖然表示沒有檢測到gt,但是有C檢測到了,就不影響recall了,所以C是直接影響召回的,因此它是最重要的。
對于多目標(biāo)gt bbox來說,在所有針對不同對象的IoU最高bbox中(圖中bbox C和bbox D),具有更高IoU的bbox(圖中bbox D)更為重要。以圖中兩個目標(biāo)為例:
依舊類比單目標(biāo)的思路,這里假設(shè)要計(jì)算AP50,那么兩個目標(biāo)分別被C和D很好的檢測到,但是要計(jì)算AP90,就只有D貢獻(xiàn)recall了,要計(jì)算AP95,那整張圖的mAP直接到0,也就是說,隨著mAP計(jì)算過程中IOU閾值的增大,最后還是靠D一直在頂著,因此它是最重要的。

以圖為例,負(fù)樣本是沒有IOU的概念的,只有置信度得分,在nms之后,每一簇負(fù)樣本中(藍(lán)色的一簇,紅色的一簇)分?jǐn)?shù)最高的被保留下來,因?yàn)樗鼈儽尘皡^(qū)域被檢測為某類別正樣本的負(fù)樣本,所以被預(yù)測為某類別分?jǐn)?shù)越高代表其錯的越厲害,也就是越重要。越重要也就是越需要重點(diǎn)關(guān)注去優(yōu)化,但是與優(yōu)化正樣本不一樣,對負(fù)樣本的優(yōu)化是希望高分?jǐn)?shù)能夠降下來。
PISA算法
基于以上內(nèi)容,我們再來看一下PISA這篇論文是怎么做的,其實(shí)主要內(nèi)容上面已經(jīng)說了,就是為了得到高的mAP,分析出哪些正負(fù)樣本對mAP指標(biāo)的提高是最重要的。因此,下面主要就涉及兩方面內(nèi)容,第一,如何去找重要的樣本?第二,對重要程度不同的樣本分別做什么操作?
一、查找重要樣本--HLR
(1)IOU-HLR,對正樣本進(jìn)行分層排序

排序的過程圖中表示地比較清楚,總結(jié)一下就是,對于單一目標(biāo)附近的樣本(ABC, DE),首先根據(jù)IOU在組內(nèi)排序(CAB,DE),然后對不同類別同一順位的樣本排序(DC, AE, B),最后將排序后的樣本重新組合。這么做既考慮了組內(nèi)重要性,又考慮了組間重要性。
這里有一個簡單的小實(shí)驗(yàn),簡單驗(yàn)證了本方法的有效性:

圖中展示的是,不同IOU閾值下的PR曲線,top5/top25表示按照IOU-HLR排序方法排序后得到的top5/top25的重要樣本。兩點(diǎn)結(jié)論,第一,關(guān)注重要樣本,的確能提升AP。第二,關(guān)注重要樣本,對高IOU閾值下的AP增益更大。
(2)Score-HLR,對負(fù)樣本進(jìn)行分層排序

這個過程跟正樣本差不多,不同的是正樣本依據(jù)的是IOU,負(fù)樣本依據(jù)的是Score,都能跟前面的分析照應(yīng)。
二、算法實(shí)現(xiàn)
1. ISR
在對所有樣本重要性進(jìn)行排序之后,怎么跟訓(xùn)練過程聯(lián)系起來呢?
這里采用的方法叫做ISR(Importance-based Sample Reweighting),即基于樣本重要性重新賦予權(quán)重。
分為以下幾個步驟:
(1) 首先將每個類別的樣本分組(N個前景類別+1個背景類別),n_max表示在每個類別中樣本數(shù)最多的數(shù)目,在每個組內(nèi)對正樣本進(jìn)行IoU-HLR操作,對負(fù)樣本進(jìn)行Score-HLR操作,得到重要性排序。

然后按照公式(1)將重要性排序進(jìn)行線性變換,r_i表示某樣本排序后的次序,r_i越小表示排序越靠前,可以看到r_i越小,u_i越大。
(2)再按照公式(2)將u和每個樣本的權(quán)重w建立聯(lián)系,為不同重要性的樣本賦予不同的權(quán)重,其中β和γ是超參數(shù)。

(3)最后將重新賦值的權(quán)重應(yīng)用到分類損失的計(jì)算上。

其中i表示正樣本,j表示負(fù)樣本,這里為了保證應(yīng)用ISR之后不改變總的loss值,對ISR之后的每個樣本的權(quán)重進(jìn)行了歸一化。
2. CARL
在為不同的樣本根據(jù)重要性排序結(jié)果賦予不同權(quán)重之后,本來進(jìn)而提出了CARL(Classification-Aware Regression Loss),來解決分類和回歸不一致的問題,也就是有時候回歸的好,但是分類分?jǐn)?shù)差之類的問題。因?yàn)槲覀冇?jì)算mAP的時候,不僅需要高的IOU閾值,更要高的分類置信度,畢竟NMS會首先保留下來分?jǐn)?shù)最好的檢測結(jié)果。
其做法如公式(4)所示,就是將分類置信度p_i引入到回歸損失中,經(jīng)過推倒可以證明,回歸損失L(d_i, ^d_i)和L_carl對p_i的倒數(shù)是正相關(guān)的,回歸損失較大的樣本的分類分?jǐn)?shù)會被抑制,這樣讓樣本的回歸結(jié)果指導(dǎo)分類分支,加強(qiáng)分類和回歸的一致性。
實(shí)驗(yàn)結(jié)果
1. PISA應(yīng)用在不同檢測器時,在COCO和VOC測試集上帶來的增益。
可以看到,基本都有漲點(diǎn),尤其是對高IOU閾值下的AP指標(biāo)(AP75)漲點(diǎn)較多。

2. 消融實(shí)驗(yàn)

表3中,R表示平等對待所有樣本,H表示關(guān)注難例樣本,P表示關(guān)注主要樣本。
表4中,ISP-R/ISR-N分別表示為正/負(fù)樣本基于重要性重新賦予權(quán)重。CARL指分類和回歸分支聯(lián)合調(diào)優(yōu)的應(yīng)用。
3. 超參數(shù)搜索實(shí)驗(yàn)

表5為公式(2)和公式(4)的超參數(shù)搜索實(shí)驗(yàn)結(jié)果。
4.ISR對樣本分?jǐn)?shù)的影響

橫坐標(biāo)表示樣本的重要性順序,縱坐標(biāo)表示樣本分?jǐn)?shù)。
可以看到,ISR-P能夠提升重要性排名靠前的正樣本的分?jǐn)?shù),且抑制重要性排名靠后的樣本的分?jǐn)?shù)。
ISR-N也的確能夠抑制負(fù)樣本的分?jǐn)?shù),且重要性排名越靠前,其分?jǐn)?shù)被抑制的越多。
5. CARL對樣本分?jǐn)?shù)的影響

圖8展示了應(yīng)用CARL之后,不同IOU下樣本分?jǐn)?shù)均值的變化,可以看到,CARL能夠提升高IOU下重要樣本得分,低IOU閾值下樣本得分會被抑制,也就是說,有了更好的,不那么好的就可以考慮丟了呀。
6. 可視化結(jié)果

從可視化結(jié)果可以看到,PISA能夠使模型更關(guān)注于重要樣本的優(yōu)化,使得檢測結(jié)果中有更少的假陽,且真陽的分?jǐn)?shù)更高。
以上解讀僅代表個人觀點(diǎn),水平有限,歡迎交流~
本文來自由周郴蓮負(fù)責(zé)的Datawhale論文分享項(xiàng)目「Whalepaper」,NLP、CV、Res…每周一起解讀論文!
Whalepaper介紹及加入方式:https://datawhale.feishu.cn/docs/doccnAbq5hJPaVB645IztpFPdld
