——FSAF,CVPR 2019
摘要
本文提出feature selective anchor-free (FSAF) module斗躏,單階段檢測(cè)器的組成block,可以插入具有特征金字塔結(jié)構(gòu)的單階段檢測(cè)器。解決了基于anchor的檢測(cè)方法的兩個(gè)主要問題:1握联、啟發(fā)式的特征選擇(依賴于人為指定),2每瞒、基于IOU的特征采樣金闽。FSAF模塊進(jìn)行在線特征選擇,并且應(yīng)用于多級(jí)anchor-free分支的訓(xùn)練剿骨,每一分支來源于特征金字塔的每一層代芜,允許檢測(cè)框在任意層上進(jìn)行anchor-free的編碼和解碼。在訓(xùn)練過程中懦砂,動(dòng)態(tài)地將每個(gè)物體標(biāo)注分配至最合適的層蜒犯,在前向時(shí)组橄,F(xiàn)SAF可以通過并行或者聯(lián)合輸出預(yù)測(cè)與anchor-based分支一起完成檢測(cè),通過簡(jiǎn)單實(shí)現(xiàn)anchor-free分支和在線特征選擇策略來實(shí)現(xiàn)罚随。在COCO上的實(shí)驗(yàn)結(jié)果表明玉工,F(xiàn)SAF模塊相比anchor-based的對(duì)應(yīng)模型表現(xiàn)更好,同時(shí)更快淘菩。當(dāng)與anchor-based分支一起用時(shí)遵班,F(xiàn)SAF在不同設(shè)置下大幅度提升了RetinaNet的性能,而基本沒引入前向負(fù)擔(dān)潮改。(最優(yōu)模型44.6% mAP)
介紹
基于anchor的方法anchor-box的尺寸比例依賴于手工方法狭郑,但是特征與實(shí)例之間的匹配關(guān)系卻取決于實(shí)例的尺寸,這樣會(huì)帶來物體大小與特征層次不匹配的問題汇在。待檢測(cè)目標(biāo)通常存在尺度差異性翰萨,使用anchor boxes將所有的目標(biāo)離散化成不同尺寸、長(zhǎng)寬比的有限個(gè)boxes糕殉,因此將小的anchor boxes對(duì)應(yīng)到淺層特征亩鬼,大的anchor對(duì)應(yīng)到深層特征,ground truth boxes基于IoU匹配到不同的anchor boxes阿蝶。但是這樣做的缺陷在于可能gt匹配到的不是最接近的anchor boxes雳锋。
FSAF令每個(gè)物體自行選擇最合適的特征層次,因此就不應(yīng)該采用anchor-based的方式來限制特征選取羡洁,以anchor-free的方式對(duì)實(shí)例進(jìn)行編碼玷过,以學(xué)習(xí)分類和回歸的參數(shù)。FSAF模塊嵌入anchoer-based的網(wǎng)絡(luò)示意圖如下:
anchor-free分支與anchor-based分支并行筑煮,且同樣包含分類和回歸子網(wǎng)辛蚊,一個(gè)物體可以被分配到任一層特征的anchor-free分支,訓(xùn)練時(shí)咆瘟,為每個(gè)目標(biāo)動(dòng)態(tài)選擇最合適的特征層次嚼隘,被選擇的特征層次則學(xué)習(xí)檢測(cè)對(duì)應(yīng)的物體。FASF是back-bone無關(guān)的袒餐,能嵌入到任何一種包含特征金字塔的單階段檢測(cè)器中飞蛹,同時(shí)帶來較小的計(jì)算負(fù)擔(dān)。
與ResNeXt-101 based RetinaNet相比灸眼,精度提高1.8%卧檐,延遲只增加6ms。最好的模型44.6mAP焰宣。
以往的多層特征檢測(cè)的模型都采用了人為定義的anchor霉囚,如SSD,DSSD匕积,F(xiàn)PN盈罐,RetinaNet榜跌,DeNet等。
anchor-free的方法有:Dense-Box(全卷積直接預(yù)測(cè)檢測(cè)框)盅粪;UnitBox(IoU loss)
An anchor-free region proposal network for faster r-cnn based text detection approaches
基于關(guān)鍵點(diǎn)的檢測(cè):CornerNet钓葫,CenterNet,Object as Points
Feature Selective Anchor-Free Module
RetinaNet中FPN包含5層特征:票顾,
的stride為
础浮,即相對(duì)原圖分辨率降低
,每層上都接一個(gè)分類和回歸子網(wǎng)奠骄,均為全卷積網(wǎng)絡(luò)豆同,預(yù)測(cè)anchor-box的類別和4個(gè)類別無關(guān)的位置偏移。
在RetinaNet的頂部含鳞,F(xiàn)SAF模塊在每個(gè)分支引入兩個(gè)額外的卷積層影锈,負(fù)責(zé)anchor-free分支的分類和回歸。具體而言民晒,K(類別)個(gè)3*3卷積+Sigmoid激活添加到分類分支精居,4個(gè)3*3卷積+ReLU添加到回歸分支。由此潜必,anchor free和anchor-based方法就能并行工作,同時(shí)共享特征沃但。
Ground-truth and Loss
ground truth box?(中心坐標(biāo)加寬高)磁滚,class?
,這個(gè)物體將被分配至第l層特征
predicted box?宵晚,有
定義:
effective box?垂攘,縮放比例系數(shù)為
ignoring box?,縮放比例系數(shù)為
分別作為predicted box的一部分淤刃,使得:
一個(gè)目標(biāo)的標(biāo)注產(chǎn)生如下圖:
Classification Output:
分類輸出的標(biāo)注是K個(gè)圖晒他,每個(gè)圖對(duì)應(yīng)一個(gè)類。每個(gè)物體以三種方式影響第k個(gè)ground-truth map:
1逸贾、effective box?表示是在某類標(biāo)注圖中顯示為白框的正樣本陨仅,表示實(shí)例的存在。
2铝侵、ignoring box?減去effective box
(
)表示上圖中灰色的區(qū)域灼伤,表示這部分區(qū)域的梯度不回傳;
3咪鲜、相鄰標(biāo)注圖中的ignoring boxes同樣表示ignoring boxes狐赡,如果其存在的話。
如果兩個(gè)目標(biāo)的effective box在某一層特征圖上重疊疟丙,則較小的目標(biāo)具有較高的優(yōu)先級(jí)颖侄。剩下的區(qū)域?yàn)樨?fù)樣本(黑色的鸟雏,以0填充),表明沒有物體览祖。Focal loss用于分類網(wǎng)絡(luò)孝鹊,一張圖片的總分類損失來源于anchor-free分支的所有非ignoring box,并由所有effective boxes中的像素個(gè)數(shù)進(jìn)行正則化穴墅。
Box Regression Output:
回歸輸出的標(biāo)注是4個(gè)偏移圖(offset maps惶室,與類別無關(guān)),物體僅僅影響偏移圖中的effective box區(qū)域玄货,對(duì)于effective box中的每個(gè)像素位置皇钞,將predicted box
表示為四維向量
,其中松捉,
表示當(dāng)前像素位置與predicted box
的左夹界、上、底隘世、右邊的距離可柿。然后,將4個(gè)偏移圖上的
位置處的4維向量設(shè)置為
丙者,其中每個(gè)圖對(duì)應(yīng)于一個(gè)維度复斥,
是歸一化常數(shù),設(shè)為4.0械媒。IoU loss應(yīng)用于回歸分支目锭,總的回歸損失是所有effective box?
的IoU loss的平均值。
在前向時(shí)纷捞,直接由分類和回歸輸出編碼得到預(yù)測(cè)框痢虹,在每個(gè)像素位置,假設(shè)預(yù)測(cè)的偏移為
預(yù)測(cè)的距離為
預(yù)測(cè)框的左上角和右下角為:
最后以縮放預(yù)測(cè)框來得到原圖上的檢測(cè)框主儡〗蔽ǎ可以通過分類輸出圖上的位置
處的最大分?jǐn)?shù)和K維向量的對(duì)應(yīng)類來確定框的置信度得分和類別。
Online Feature Selection:
anchor free分支允許使用任意層的特征進(jìn)行學(xué)習(xí)糜值,F(xiàn)SAF根據(jù)目標(biāo)的語義來選擇最合適的特征
丰捷,而不僅僅是根據(jù)目標(biāo)的尺寸(anchor-based)。
給定一個(gè)目標(biāo)臀玄,定義在某層特征圖
上的分類損失和回歸損失為
瓢阴,計(jì)算方法為:
表示effective box
中的像素個(gè)數(shù)。
表示在特征圖
上位置
處的focal loss和IoU loss健无。
在線特征選擇如圖:
一個(gè)目標(biāo)將經(jīng)過所有層上的anchor free分支荣恐,計(jì)算每層上的分類損失和回歸損失,并得到他們的和,然后叠穆,選擇使得損失和最小的特征層作為特征選取層:
訓(xùn)練中少漆,對(duì)于一個(gè)batch,將更新其相應(yīng)分配的目標(biāo)的的特征硼被,因此所選特征目前是建模實(shí)例的最佳特征示损,它的損失形成了特征空間的下界,訓(xùn)練過程中嚷硫,將不斷降低這個(gè)下界检访。
在infer時(shí),我們不需要選擇特征仔掸,因?yàn)樽詈线m的特征金字塔層級(jí)將自然地輸出高置信度分?jǐn)?shù)脆贵。
為了驗(yàn)證這個(gè)在線特征選擇的重要性,同樣構(gòu)建一個(gè)啟發(fā)式的選擇方式(FPN起暮,僅僅根據(jù)尺度來選擇)卖氨,一個(gè)目標(biāo)被分配的層級(jí)為:
是w×h =
的目標(biāo)應(yīng)該映射到的特征層級(jí)。
此處负懦,筒捺,表示ResNet使用第五組卷積特征進(jìn)行分類。
Joint Inference and Training
將FSAF嵌入到RetinaNet纸厉,能與anchor based的分支并行系吭,保持anchor based分支的參數(shù)不變(訓(xùn)練和前向都不變)
Inference:
FSAF僅僅增加了幾個(gè)卷積層,前向依然很簡(jiǎn)單颗品。對(duì)于anchor free分支村斟,在對(duì)置信度得分(confidence score)進(jìn)行閾值處理(閾值0.05)后,只解碼每個(gè)金字塔特征層級(jí)中最多1k個(gè)得分位置的邊框預(yù)測(cè)抛猫。來自所有層級(jí)的這些較好的預(yù)測(cè)與來自anchor based的分支的邊框預(yù)測(cè)合并,隨后是具有閾值0.5的非極大值抑制孩灯,從而產(chǎn)生最終檢測(cè)闺金。
Initialization:
ResNet在ImageNet 1k上預(yù)訓(xùn)練,遵循RetinaNet對(duì)其進(jìn)行初始化峰档,對(duì)于FSAF的幾個(gè)卷積败匹,以高斯分布進(jìn)行權(quán)重初始化(方差0.01),偏移為讥巡,
表明在訓(xùn)練的初始階段掀亩,每個(gè)位置產(chǎn)生objectness score在0.01周圍』肚辏回歸分支的權(quán)重初始化為方差為0.01的高斯分布槽棍,偏移為0.1,保證網(wǎng)絡(luò)初始訓(xùn)練階段穩(wěn)定,損失不會(huì)太大炼七。
Optimization:
網(wǎng)絡(luò)的整體損失為anchor free損失和anchor based損失缆巧,令表示RetinaNet的anchor based的總損失,
分別為anchor free分支的總分類和總回歸損失豌拙,網(wǎng)絡(luò)的總損失為:
網(wǎng)絡(luò)訓(xùn)練細(xì)節(jié):
stochastic gradientdescent (SGD) on 8 GPUs with 2 images per GPU.
?如非說明陕悬,all models are trained for 90k iterationswith an initial learning rate of 0.01, which is divided by 10 at 60k and again at 80k iterations.?
Horizontal image flipping is the only applied data augmentation unless otherwise specified.?
Weight decay is 0.0001 and momentum is 0.9.
Experiments
為了驗(yàn)證anchor free 分支的作用,消融實(shí)驗(yàn)如下:
AB:Anchor-based branches. R: ResNet. X: ResNeXt.
可視化:
數(shù)字表示選取的特征層級(jí)按傅。
與其他方法對(duì)比: