43.6% mAP! 阿里巴巴提出:用于一階段目標(biāo)檢測的半錨式檢測器
點擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達

標(biāo)準(zhǔn)的一階段檢測器包括兩個任務(wù):分類和回歸。為特征圖中的每個位置引入了不同形狀的錨(anchor),以減輕多尺度目標(biāo)回歸的挑戰(zhàn)。但是,由于anchor中高度的類不平衡問題,分類的性能可能會降低。最近,提出了許多anchor-free算法來直接對位置進行分類。anchor-free策略有利于分類任務(wù),但由于缺少先驗的邊界框,可能導(dǎo)致回歸不到最優(yōu)值。在這項工作中,我們提出了一個半錨式(semi-anchored)框架。具體而言,我們在分類中確定正位置,并將多個anchors與回歸中的正位置關(guān)聯(lián)。以ResNet-101為骨干,提出中的semi-anchored檢測器在COCO數(shù)據(jù)集上達到了43.6%的mAP,這證明了一階段檢測器的最新性能。
本文提出了一種用于單級目標(biāo)檢測的半錨定檢測器。具體來說,我們在沒有錨的情況下對feature map中的位置進行分類。在分類中,我們可以將錨點的正候選點與負(fù)候選點的比率從1:1400提高到位置的1:200。對于回歸,我們?yōu)槊總€位置關(guān)聯(lián)多個錨點,并從錨點學(xué)習(xí)前景位置的邊界框。主要的挑戰(zhàn)之一是計算以前景位置為中心的錨點的前景/背景概率,因為錨點沒有用于分類。這些錨具具有相同的定位性能,但由于錨具的形狀不同,性能可能不盡人意。因此,我們附加一個錨分類頭來識別每個位置的前景錨。圖1說明了所提出的半錨定檢測器的過程。

顯然,所提出的檢測器在沒有錨的情況下處理了平衡分類問題,并且在有錨的情況下獲得了更好的回歸性能。此外,我們還根據(jù)回歸后的并集相交(IoU)定義了正錨。與傳統(tǒng)回歸前用IoU標(biāo)記錨點的算法相比,該策略更符合目標(biāo)。簡化了分類頭,提高了分類效率。在COCO數(shù)據(jù)集上的大量實驗(Lin et al. 2014)驗證了所提框架的有效性和效率。我們的算法可以超過目前最先進的無錨檢測器FCOS (Tian et al. 2019),以ResNet-101為骨干實現(xiàn)mAP 43.6%。此外,當(dāng)我們?yōu)槊總€位置分配更多的錨時,該方法的推理時間甚至小于RetinaNet。
3.1 Location Classification
在分類任務(wù)中,我們在沒有錨的情況下從特征圖中識別前景位置。一個位置是指feature map中的一個像素。設(shè){x i, y i}表示位置集,其中xi為特征,yi表示第i個位置的標(biāo)號。對于C個前景對象的問題,我們讓y i∈{0,…, C}其中y i = 0表示背景位置。注意,xi可以直接從feature map中提取,唯一的問題是為位置分配適當(dāng)?shù)臉?biāo)簽。標(biāo)記每個位置最直接的方法是使用ground truth邊界盒,即一個ground truth邊界盒內(nèi)的每個位置都可以用相應(yīng)的前景標(biāo)簽進行標(biāo)記。但是,每個位置都可以與多個前景對象相關(guān)聯(lián)。用較小對象的標(biāo)簽標(biāo)記重疊位置的啟發(fā)式方法可能與使用錨的回歸任務(wù)不一致。因此,我們建議在半錨定檢測器中為每個錨定位置定義標(biāo)簽。
對于每個位置,我們與基于錨的方法中一樣,將K個錨與不同的比例和縱橫比關(guān)聯(lián)起來。在傳統(tǒng)算法的基礎(chǔ)上,利用GT邊界盒計算loss,得到錨點的標(biāo)號。設(shè)one-hot向量y i,k∈{0,1}C+1表示第i個位置上第k個錨點的標(biāo)號。通過對一個位置錨的標(biāo)簽,我們可以得到該位置的置信分?jǐn)?shù)為:

考慮到錨點中背景大量存在,我們將0≤γ≤1的分?jǐn)?shù)重新標(biāo)為背景(即c = 0,其中sci為si中第c個元素)

這相當(dāng)于閾值移動來解決類不平衡問題。給定置信分?jǐn)?shù),第i個位置的標(biāo)簽可以定義為:

需要注意的是,錨只用于在分類任務(wù)中獲取位置標(biāo)簽。所提出的標(biāo)記策略如圖2所示??梢钥吹剑谡嬷颠吔绾兄?,許多非必要的位置被標(biāo)記為背景。為了進一步演示我們的標(biāo)記策略,我們在圖3中展示了一些正位置的例子。


有了標(biāo)記的位置,我們就可以像在其他工作中一樣,用常見的focal損失來訓(xùn)練分類器:

3.2 Anchor Classification
現(xiàn)在有了位置分類器和錨點回歸器,在推理過程中,位置分類器可以告訴我們對象c的第i個位置的概率Pr{yi = c|xi},回歸器提供錨點{zi, K} K =1,…,K,其中zi,K表示第K個錨點在第i個位置的特征。這里是主要的gap,也就是K個錨中的哪個應(yīng)該是輸出。因此,我們的目標(biāo)是估計每個錨點的概率為Pr{yi,k = c|xi, zi,k},而只有對應(yīng)位置Pr{yi = c|x i}的概率。
考慮到錨點的標(biāo)簽應(yīng)該與其位置一致,我們計算條件概率為:

這個公式暗示了一個二元分類問題,識別錨與相同的標(biāo)簽作為位置。因此,我們可以將訓(xùn)練集收集為{zi,k, yi,k},其中:

在傳統(tǒng)的錨基方法中,錨的標(biāo)簽{yi,k}是根據(jù)錨的先驗形狀計算的。回歸后,細(xì)化后的形狀可能會與初始形狀不一樣,這實際上導(dǎo)致了很大的差異。我們的建議是通過計算回歸后改進錨點的loss來消除這種差異。有了合適的標(biāo)簽,我們可以通過優(yōu)化focal損失來學(xué)習(xí)錨分類器。
令μi,k表示錨點z i,k的IoU。首先,我們將每個位置的IoU分?jǐn)?shù)歸一化為:

我們采用分?jǐn)?shù)作為軟標(biāo)簽,并引入平滑的focal損失:

與標(biāo)準(zhǔn)focal損失相比,我們有μ?,k的平滑標(biāo)簽正錨,而不是1,可以捕獲不同的錨更好的分布和提高性能。在提出的平滑focal損失的情況下,錨分類器是通過最小化所有前景位置的損失來學(xué)習(xí)的:

總之,半錨定探測器的目標(biāo)是最小化:


4.1 Ablation Study
Number of Anchors


Location Classification


Anchor Classification

Inference Strategy

4.2 Comparison with State-of-the-Art


交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

