博客專欄

EEPW首頁 > 博客 > Sparse R-CNN:稀疏框架,端到端的目標(biāo)檢測(附源碼)

Sparse R-CNN:稀疏框架,端到端的目標(biāo)檢測(附源碼)

發(fā)布人:CV研究院 時間:2022-02-10 來源:工程師 發(fā)布文章

Sparse R-CNN拋棄了anchor boxes或者reference point等dense概念,直接從a sparse set of learnable proposals出發(fā),沒有NMS后處理,整個網(wǎng)絡(luò)異常干凈和簡潔,可以看做是一個全新的檢測范式。

image.png

1 簡要

目前目標(biāo)檢測成熟的算法都是基于Dense prior(密集的先驗,比如anchors、reference points),但密集的先驗存在很多問題:1)會檢測出很多相似的結(jié)果,需要后處理(比如NMS)來過濾;2)many-to-one label assignment 問題(作者描述為 many-to-one 正負(fù)樣本分配),猜測意思是我們在設(shè)置pred和gt時,一般不是一對一的關(guān)系,可能是有多個preds,看看哪個與gt更符合;3)檢測結(jié)果與先驗的關(guān)系非常密切(anchors的數(shù)量、大小,reference points的密級程度、proposal生成的數(shù)量)。

image.png

所以,有研究者提出了稀疏RCNN(Sparse R-CNN),一種圖像中目標(biāo)檢測的純稀疏方法?,F(xiàn)有的目標(biāo)檢測工作很大程度上依賴于密集的候選目標(biāo),如所有H×W的圖像特征圖網(wǎng)格上預(yù)定義的k個anchor boxes。

然而,在新提出的方法中,提供了一套固定的稀疏的學(xué)習(xí)候選目標(biāo),總長度N,給目標(biāo)檢測頭進行分類和定位。通過消除H*W*k(多達(dá)數(shù)十萬)手工設(shè)計的候選目標(biāo)到N(例如100)可學(xué)習(xí)的建議,Sparse R-CNN完全避免了所有與候選目標(biāo)的設(shè)計和多對一的標(biāo)簽分配相關(guān)的工作。更重要的是,最終的預(yù)測是直接輸出的,而沒有非極大抑制的后處理。SparseR-CNN證明了準(zhǔn)確性、運行時和訓(xùn)練收斂性能,與具有挑戰(zhàn)性的COCO數(shù)據(jù)集上建立的檢測器基線相當(dāng),例如,在標(biāo)準(zhǔn)3×訓(xùn)練計劃中實現(xiàn)45.0AP,并使用ResNet-50FPN模型以22fps的速度運行。

作者是希望新的框架能夠激發(fā)人們重新思考目標(biāo)檢測器中密集先驗的慣例。

2 背景

image.png

不同目標(biāo)檢測pipelines的比較。(a)Dense,HWk候選目標(biāo)枚舉在所有的圖像網(wǎng)格上,例如。RetinaNet;(b)Dense-to-Sparse,它們從密集的HWk候選目標(biāo)中選擇一小組N個候選目標(biāo),然后通過池化操作提取相應(yīng)區(qū)域內(nèi)的圖像特征,如Faster R-CNN;(c)研究者提出的Sparse R-CNN,直接提供了一小組N個學(xué)習(xí)的候選目標(biāo),這里N遠(yuǎn)小于HWk。

DenseNet

是CVPR2017的oral,非常厲害。文章提出的DenseNet(Dense Convolutional Network)主要還是和ResNet及Inception網(wǎng)絡(luò)做對比,思想上有借鑒,但卻是全新的結(jié)構(gòu),網(wǎng)絡(luò)結(jié)構(gòu)并不復(fù)雜,卻非常有效!眾所周知,最近一兩年卷積神經(jīng)網(wǎng)絡(luò)提高效果的方向,要么深(比如ResNet,解決了網(wǎng)絡(luò)深時候的梯度消失問題)要么寬(比如GoogleNet的Inception),而作者則是從feature入手,通過對feature的極致利用達(dá)到更好的效果和更少的參數(shù)。主要優(yōu)化:

減輕了vanishing-gradient(梯度消失)

加強了feature的傳遞

更有效地利用了feature

一定程度上較少了參數(shù)數(shù)量

在深度學(xué)習(xí)網(wǎng)絡(luò)中,隨著網(wǎng)絡(luò)深度的加深,梯度消失問題會愈加明顯,目前很多論文都針對這個問題提出了解決方案,比如ResNet,Highway Networks,Stochastic depth,F(xiàn)ractalNets等,盡管這些算法的網(wǎng)絡(luò)結(jié)構(gòu)有差別,但是核心都在于:create short paths from early layers to later layers。那么作者是怎么做呢?延續(xù)這個思路,那就是在保證網(wǎng)絡(luò)中層與層之間最大程度的信息傳輸?shù)那疤嵯拢苯訉⑺袑舆B接起來!

image.png

RetinaNet

提出一個新的損失函數(shù),在解決類別不均衡問題上比之前的方法更有效。損失函數(shù)是動態(tài)縮放的交叉熵?fù)p失,其中縮放因子隨著對正確類別的置信度增加而衰減到零(如下圖)。直觀地說,這個縮放因子可以自動降低訓(xùn)練過程中簡單樣本的貢獻,并快速將模型集中在困難樣本上。實驗發(fā)現(xiàn),F(xiàn)ocal Loss在one-stage檢測器上的精確度勝過之前的state-of-art的啟發(fā)式采樣和困難樣本挖掘。最后,focal loss的具體公式形式不是關(guān)鍵的,其它的示例可以達(dá)到類似的結(jié)果。

image.png

設(shè)計了一個名叫RetinaNet的one-stage對象檢測器來說明focalloss的有效性,RetinaNet命名來源于在輸入圖像上的密集采樣。它基于ResNet-101- FPN主干網(wǎng),以5fps的運行速度下,在COCO test-dev上取得了39.1 AP的成績,超過目前公開的單一模型在one-stage和two-stage檢測器上取得的最好成績。

image.png

3 新框架

image.png

數(shù)據(jù)輸入包括an image, a set of proposal boxes and proposal features

使用FPN作為Backbone,處理圖像

下圖中的Proposal Boxes: N*4是一組參數(shù),跟backbone沒啥關(guān)系

下圖中的proposals features和backbone也沒啥關(guān)系

Learnable porposal box

跟backbone沒有什么關(guān)系

可以看成是物體潛在位置的統(tǒng)計概率

訓(xùn)練的時候可以更新參數(shù)

Learnable proposal feature

跟backbone沒有什么關(guān)系

之前的proposal box是一個比較簡潔、卻的方法來描述物體,但缺少了很多信息,比如物體的形狀與姿態(tài)

proposal feature就是用來表示更多的物體信息。

Dynamic instance interactive head

通過proposal boxes以及ROI方法獲取每個物體的特征,然后與proposal feature結(jié)合得到最終預(yù)測結(jié)果

Head的數(shù)量與learnable box的數(shù)量相同,即head/learnable proposal box/learnable proposal feature一一對應(yīng)

image.png

Sparse R-CNN的兩個顯著特點就是sparse object candidates和sparse feature interaction,既沒有dense的成千上萬的candidates,也沒有dense的global feature interaction。Sparse R-CNN可以看作是目標(biāo)檢測框架從dense到dense-to-sparse到sparse的一個方向拓展。

4 實驗&可視化

COCO 2017 val set測試結(jié)果

image.png

COCO 2017 test-dev set

微信圖片_20220210174320.jpg微信圖片_20220210174323.jpg

可視化迭代架構(gòu)中每個階段的預(yù)測框,包括學(xué)習(xí)到的候選框。學(xué)習(xí)到的候選框以白色繪制。顯示了分類分?jǐn)?shù)超過0.3的預(yù)測框。同一候選類的框以相同顏色繪制,學(xué)習(xí)到的候選框被隨機分布在圖像上,并一起覆蓋整個圖像。迭代頭逐漸細(xì)化邊界框位置,刪除重復(fù)的。

上圖顯示了converged model的學(xué)習(xí)到的候選框。這些方框被隨機分布在圖像上,以覆蓋整個圖像區(qū)域。這保證了在稀疏候選條件下的召回性能。此外,每個階段的級聯(lián)頭逐漸細(xì)化邊界框的位置,并刪除重復(fù)的位置。這就導(dǎo)致了高精度的性能。上圖還顯示了Sparse R-CNN在罕見場景和人群場景中都表現(xiàn)出穩(wěn)健的性能。對于罕見場景中的目標(biāo),其重復(fù)的方框?qū)⒃趲讉€階段內(nèi)被刪除。擁擠的場景需要更多的階段來細(xì)化,但最終每個目標(biāo)都被精確而唯一地檢測到。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉