【CV】PAA論文解讀:在物體檢測中利用概率分布來將anchor分配為正負(fù)樣本
導(dǎo)讀
又一篇anchor匹配策略的文章,不過確實是簡單有效,在ATSS上只需要很小的修改就可以提升性能。GFL2在框的預(yù)測上用上了概率分布,這里又在anchor匹配上用上了概率分布。
代碼:https://github.com/kkhoot/PAA
論文:https://arxiv.org/abs/2007.08103
摘要:文章提出了一種新的anchor分配機(jī)制,根據(jù)模型的學(xué)習(xí)狀態(tài),自適應(yīng)的將anchor分配成正負(fù)樣本。我們首先計算anchor在當(dāng)前模型條件下的得分,然后用這些得分?jǐn)M合一個概率分布出來,然后利用這個概率分布來區(qū)分正負(fù)樣本,然后模型再用這些正負(fù)樣本進(jìn)行訓(xùn)練。然后,我們研究了訓(xùn)練和推理之間的gap,提出了用預(yù)測IoU的方式來作為定位質(zhì)量的度量。我們把定位質(zhì)量得分和分類得分結(jié)合起來用到NMS中來進(jìn)行anchor的分配。這個方法只需要增加一個卷積層,而且每個位置不需要多個anchor,所以非常的高效。
1. 介紹
對原有的基于anchor和gt的IoU的正負(fù)樣本的分配規(guī)則進(jìn)行了擴(kuò)展,考慮到了模型的當(dāng)前的狀態(tài)信息,這樣的話,正樣本的分配是和模型有關(guān)的,當(dāng)沒有一個anchor和gt有較高的IoU的時候,需要把一些anchors分配為正樣本,來降低由于anchor設(shè)計的不合理造成的影響。在這種情況下,模型認(rèn)為的最優(yōu)的anchor可以作為正樣本。另外,當(dāng)有太多的anchors模型都認(rèn)為質(zhì)量很高的時候,這些anchor都可以認(rèn)為是正樣本。因此,最重要的是,為了滿足這些條件,anchor的質(zhì)量評估需要可以反映出模型當(dāng)前的學(xué)習(xí)狀態(tài),也就是其參數(shù)值。
基于這個動機(jī),我們提出了probabilistic anchor assignment(PAA)策略,自適應(yīng)的將所有的anchor分配成正負(fù)樣本。首先,我們定義一個得分,可以反映出檢測框分類和定位的質(zhì)量,然后,我們識別出這個得分和訓(xùn)練時候兩個損失之間的關(guān)系?;谶@種評分方法,我們?yōu)槊總€anchor都進(jìn)行打分,得到模型認(rèn)為的這個anchor是否對于檢測目標(biāo)物體非常有用的評價?;谶@些anchor得分,我們可以得到兩種形式的概率分布,可以最好的表示出模型是正樣本或者是負(fù)樣本的概率。如圖1,然后,在找到的概率分布下,選擇那些正樣本概率高的作為正樣本。這樣的話,就把a(bǔ)nchor分配的問題變成了最大似然估計問題。基于這種假設(shè),模型計算出來的得分是從這個概率分布中采樣出來的,我們期望模型可以從概率的角度去infer具有可分性的樣本,讓訓(xùn)練變得更加容易。另外,由于正樣本是從anchor得分的概率分布中選擇出來的,因此,不需要預(yù)先設(shè)置正樣本的數(shù)量和IoU的閾值。

另外,我們發(fā)現(xiàn)在訓(xùn)練和測試的時候,存在不一致的情況,訓(xùn)練的時候需要同時優(yōu)化分類和定位,在測試的時候,只根據(jù)分類得分來選擇框。理想情況下,檢測框的質(zhì)量應(yīng)該是由分類和定位一起決定的,為了解決這個問題,我們提出了預(yù)測IoU的值來作為定位質(zhì)量,然后將這個IoU的預(yù)測值乘上分類得分,來對框進(jìn)行排序。如圖2:

本文貢獻(xiàn)如下:
1、提出了一種新的anchor框的分配策略,計算模型得分的概率分布,用最大似然來估計這個概率分布,自適應(yīng)的選取正負(fù)樣本。
2、為了對齊anchor分配,優(yōu)化和后處理過程,提出對IoU進(jìn)行預(yù)測,同時使用分類和定位得分一起來對檢測框進(jìn)行排序來做NMS,最后,我們提出了一種得分投票的方法來進(jìn)一步提升performance。
3、進(jìn)行了消融實驗,進(jìn)一步驗證了我們方法的有效性。
2. 方法
2.1 基于概率分布的anchor分配策略
我們這個anchor的匹配策略應(yīng)該關(guān)注一下幾點:首先,應(yīng)該可以度量給定anchor的質(zhì)量,基于使用這個anchor可以用來預(yù)測這個目標(biāo)的線索的多少來定義這個質(zhì)量。第二,anchor的正負(fù)樣本的分割應(yīng)該是要可以自適應(yīng)的,最后,這個匹配策略的表示形式應(yīng)該是一個概率分布的最大似然估計,這樣模型可以從概率的方式來實現(xiàn)這個anchor的分配。因此,我們設(shè)計了一個anchor的評分方法和一個anchor的分配策略。
具體來說,我們先定義這個anchor的質(zhì)量評分,這個評分應(yīng)該可以反映出這個預(yù)測框預(yù)測離它最近的那個GT的時候的質(zhì)量,一個直覺的方法計算分類得分定位得分,并相乘:

得分可以從分類的head中得到,但是如何定義不是很明顯,因為定位的分支給出的是坐標(biāo)的offset,而不是得分,這里,我們使用這個預(yù)測框和GT的IoU作為:

對這個質(zhì)量得分取負(fù)log,我們可以得到:

其中,和分別是二元交叉熵?fù)p失和IoU損失,也可以替換為Focal Loss和GIoU Loss,這兩個Loss的和可以認(rèn)為是給定的anchor對于GT的質(zhì)量評分函數(shù)。
為了讓模型可以從概率的方法分配這個anchor到底是正樣本還是負(fù)樣本,我們把這個anchor對于給定GT的得分看成是從一個分布中采樣得到的,然后用最大似然的方法來估計這個分布的參數(shù),然后,通過這個概率分布來將anchor分配為正負(fù)樣本。由于我們的目的是將anchor分為兩組,正樣本和負(fù)樣本,任意可以建模這個多峰分布的概率分布都可以滿足,這里我們選擇了GMM(高斯混合模型),用兩個高斯分布來建模這個anchor的得分分布。

給定一組anchor得分,我們使用EM算法來估計這個概率分布的參數(shù)。
得到了這個概率分布之后,就可以用各種方法來分出正負(fù)樣本,圖3給出了不同的分割方法。為了計算這個anchor的得分,先將anchor分配到具有最高IoU的GT上,為了讓EM算法更加高效,我們從每個特征level上選擇了topk個anchor,然后進(jìn)行EM的估計,topK之外的anchor被分配為負(fù)樣本。

正樣本數(shù)量是由這個概率分布自適應(yīng)的決定的,這個是和其他不利用模型狀態(tài)的分配方法的最大的區(qū)別。
總結(jié)一下我們這個方法,并將其嵌入到訓(xùn)練過程和目標(biāo)函數(shù)中,如下:

2.2 IoU預(yù)測作為質(zhì)量評分
在訓(xùn)練的時候,anchor的得分是從訓(xùn)練目標(biāo)中得到的(包括兩種loss),但是在推理的時候,NMS只使用分類的得分,為了改進(jìn)這個問題,可以預(yù)測一個質(zhì)量得分,這樣,訓(xùn)練時候的評分函數(shù)可以直接用到推理的NMS的時候。這只需要一個額外的卷積層就可以實現(xiàn),用sigmoid進(jìn)行激活,得到合理范圍內(nèi)的IoU的預(yù)測,訓(xùn)練目標(biāo)現(xiàn)在變成:

實驗表明,在推理時使用預(yù)測的IoU值可以顯著提升performance。
2.3 評分投票
這是一個簡單有效的后處理步驟,在NMS之后,對于每個留下來的預(yù)測框b,我們進(jìn)行如下操作:

其中,si是評分,σt是超參數(shù)用來調(diào)整近鄰的框b的權(quán)重。我們發(fā)現(xiàn),使用pi作為框的權(quán)重本身已經(jīng)可以有提升,使用pi和si相乘可以進(jìn)一步提升。
3. 實驗
不同正負(fù)樣本分割策略的效果以及單獨方法的效果:

和其他自適應(yīng)anchor的方法的對比以及不同backbone的對比:

正樣本數(shù)量的穩(wěn)定性的對比:

和其他sota方法的對比:

4. 個人總結(jié)
在目標(biāo)檢測中,anchor匹配被認(rèn)為是可以有效提升效果的方向之一,最近在這個方向上的研究也挺多的,自適應(yīng)匹配應(yīng)該是一個趨勢,但是感覺對anchor的評價基本上還是在用分類得分和IoU,希望可以看到有更好的可以將anchor分配為正負(fù)樣本的指標(biāo)出現(xiàn)。

論文鏈接:https://arxiv.org/abs/2007.08103
往期精彩回顧
獲取本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:
https://t.zsxq.com/qFiUFMV
本站qq群704220115。
加入微信群請掃碼:
