摘要
提出了一種全卷積的one-stage目標(biāo)檢測(cè)方法,以逐像素點(diǎn)的方式解決目標(biāo)檢測(cè)問(wèn)題,類(lèi)似于語(yǔ)義分割。FCOS是anchor free的方法挖垛,F(xiàn)COS with ResNeXt-64x4d-101 在單模型單尺度的測(cè)試下,AP達(dá)到44.7%诚亚,超越了之前的one-stage方法晕换。
一、介紹
作者了分析anchor based方法的缺點(diǎn)站宗,主要有以下四點(diǎn):
1闸准、檢測(cè)性能對(duì)于anchor的尺寸、數(shù)量梢灭、高寬比非常敏感夷家,通過(guò)改變這些超參數(shù)Retinanet在COCO benchmark上面提升了4%的AP。
2敏释、泛化能力較差库快,即使是精心設(shè)計(jì)的anchor,在處理形狀變化比較大的場(chǎng)景時(shí)表現(xiàn)仍然不佳钥顽,特別是對(duì)于小對(duì)象來(lái)說(shuō)义屏。需要在新檢測(cè)任務(wù)上重新設(shè)計(jì)anchor。
3蜂大、為了提高召回率闽铐,需要生成大量的anchor,在訓(xùn)練過(guò)程中奶浦,大部分的anchor都被標(biāo)記為負(fù)樣本兄墅,從而導(dǎo)致了樣本不平衡的問(wèn)題。
4澳叉、在訓(xùn)練過(guò)程中涉及到大量復(fù)雜的運(yùn)算隙咸,如IOU,消耗額外的計(jì)算資源和內(nèi)存成洗。
作者認(rèn)為可以用語(yǔ)義分割(FCN)的框架來(lái)進(jìn)行目標(biāo)檢測(cè)五督,在之前的一些工作中基于FCN框架直接預(yù)測(cè)一個(gè)4D向量及類(lèi)別,4D向量描述了到四條邊的偏移量瓶殃。但是對(duì)于高度重疊邊界框會(huì)導(dǎo)致一個(gè)難以處理的歧義問(wèn)題充包,重疊部分到底屬于哪一類(lèi)。作者在后面的論文中通過(guò)FPN大大消除了這種模糊性碌燕。此外误证,作者發(fā)現(xiàn)該方法在離目標(biāo)較遠(yuǎn)的位置產(chǎn)生大量的的低質(zhì)量預(yù)測(cè)框。因此提出了一個(gè)center-ness分支去解決該問(wèn)題修壕。
作者總結(jié)了FCOS的優(yōu)點(diǎn)愈捅,主要有以下四點(diǎn):
1、檢測(cè)任務(wù)可以和其他FCN-sovable的任務(wù)統(tǒng)一慈鸠,類(lèi)似于語(yǔ)義分割蓝谨,使其中的一些idea可以通用。
2青团、檢測(cè)不需要anchor譬巫,大大減少了設(shè)計(jì)參數(shù)的數(shù)量。使得訓(xùn)練變得更加簡(jiǎn)單督笆。
3芦昔、不需要在訓(xùn)練過(guò)程中有復(fù)雜的IOU計(jì)算,比anchor-based的方法節(jié)省了更多的內(nèi)存娃肿。
4咕缎、沒(méi)有什么花里胡哨的,是目前state-of-the-art方法料扰。也可以替換兩階段方法的RPN網(wǎng)絡(luò)凭豪。
5、只需要少量的修改晒杈,可以輕易的拓展到其他視覺(jué)任務(wù)嫂伞,例如實(shí)例分割和關(guān)鍵點(diǎn)檢測(cè)。
二拯钻、相關(guān)工作
1帖努、anchor-based
作者在這部分主要探討了anchor based方法的發(fā)展及其超參數(shù)是非常復(fù)雜的,其中提到了:
通過(guò)IOU閾值進(jìn)行正負(fù)樣本的劃分说庭。
之前提到的anchor的設(shè)計(jì)然磷,包括尺寸,寬高比等刊驴。
檢測(cè)任務(wù)偏離了語(yǔ)義分割任務(wù)的簡(jiǎn)單的全卷積架構(gòu)姿搜。
2、anchor-free
作者介紹了yolov1和densebox方法捆憎。
三舅柜、FOCS
1、通過(guò)FPN進(jìn)行多級(jí)預(yù)測(cè)提高召回率并解決重疊的邊界框引起的歧義問(wèn)題躲惰。
2致份、通過(guò)center-ness分支,抑制低質(zhì)量的預(yù)測(cè)框础拨,大大提高了性能氮块。
1绍载、全卷積one-stage檢測(cè)器
FCOS直接對(duì)feature map中每個(gè)位置對(duì)應(yīng)原圖的邊框都進(jìn)行回歸,換句話(huà)說(shuō)FCOS直接把每個(gè)位置都作為訓(xùn)練樣本滔蝉,這一點(diǎn)和FCN用于語(yǔ)義分割相同击儡。由feature map映射回input image的公式為:
FOCS中,如果一個(gè)位置(x,y)落入任何ground truth中蝠引,就認(rèn)為它是一個(gè)正樣本阳谍,并將它標(biāo)記為對(duì)應(yīng)類(lèi)別。并且還需要標(biāo)記一個(gè)4D向量螃概,即(l, t, r, b)矫夯,該點(diǎn)到邊界框的偏移量。如果一個(gè)(x,y)落入多個(gè)ground truth中吊洼,則將它視作一個(gè)模糊樣本训貌,選擇面積較小的ground truth將其標(biāo)記。在下一節(jié)中融蹂,將利用多級(jí)預(yù)測(cè)去減少模糊樣本的數(shù)量旺订,從而不影響檢測(cè)性能。
FOCS盡量使用多的前景(正樣本)參與訓(xùn)練回歸器超燃,而不是像anchor based的方法区拳,只考慮IOU足夠大的anchor作為正樣本。作者認(rèn)為這是FCOS表現(xiàn)優(yōu)于anchor based方法的原因之一意乓。
損失函數(shù):?是focal loss類(lèi)別損失樱调,?是交并 比損失。
2届良、使用FPN進(jìn)行多級(jí)預(yù)測(cè)
作者使用FPN解決了兩個(gè)問(wèn)題笆凌。
-
基于錨框的檢測(cè)器由于大的步伐導(dǎo)致低召回率,需要通過(guò)降低正的錨框所需的交并比分?jǐn)?shù)來(lái)進(jìn)行補(bǔ)償:在FCOS算法中表明士葫,及時(shí)是大的步伐(stride)乞而,也可以獲取較好的召回率,甚至效果可以?xún)?yōu)于基于錨框的檢測(cè)器慢显。
image.png -
真實(shí)邊框中的重疊可能會(huì)在訓(xùn)練過(guò)程中造成難以處理的歧義爪模,這種模糊性導(dǎo)致基于fcn的檢測(cè)器性能下降:在FCOS中,采用多級(jí)預(yù)測(cè)方法可以有效地解決模糊問(wèn)題荚藻,與基于錨框的模糊檢測(cè)器相比屋灌,基于FCN的模糊檢測(cè)器具有更好的性能∮τ基于錨框的檢測(cè)器將不同尺寸的錨框分配到不同級(jí)別的特征層共郭,所以作者為了減少尺度差異大的物體重疊,引入?yún)?shù)
為特征層
的最大距離,如果一個(gè)
滿(mǎn)足
或者
除嘹,那么我們?cè)谶@個(gè)特征層就將其視為負(fù)樣本写半,不在進(jìn)行回歸。其中
分別設(shè)置為0尉咕,64污朽,128,256龙考,512和正無(wú)窮,正好可以形成5個(gè)區(qū)間矾睦,在5個(gè)層上進(jìn)行限制尺寸以減少重疊區(qū)域晦款。如果在一個(gè)層中出現(xiàn)重疊區(qū)域呢仍存在重疊區(qū)域,就直接簡(jiǎn)單的使用最小區(qū)域作為回歸目標(biāo)枚冗。作者還提到加入P3是[0,64]缓溅,P4是[64,128]存在重疊部分是不合理的,因此沒(méi)有使用固定的
赁温,而是加入了一個(gè)可訓(xùn)練的參數(shù)
坛怪,
自動(dòng)調(diào)整不同特征圖的的范圍,略微提升了一點(diǎn)檢測(cè)性能股囊。
image.png
3袜匿、Center-ness
在FCOS中使用了多級(jí)預(yù)測(cè)后,還是和anchor based的方法存在性能差距稚疹,這是由于遠(yuǎn)離對(duì)象中心的位置產(chǎn)生了大量的低質(zhì)量預(yù)測(cè)框居灯。所以添加了一個(gè)簡(jiǎn)單的center-ness分支,與分類(lèi)分支并行内狗,來(lái)預(yù)測(cè)center-ness的位置怪嫌。center-ness(可以理解為一種具有度量作用的概念,在這里稱(chēng)之為"中心度")柳沙,中心度取值為0,1之間岩灭,使用交叉熵?fù)p失進(jìn)行訓(xùn)練。并把損失加入前面提到的損失函數(shù)中赂鲤。測(cè)試時(shí)噪径,將預(yù)測(cè)的中心度與相應(yīng)的分類(lèi)分?jǐn)?shù)相乘,計(jì)算最終得分(用于對(duì)檢測(cè)到的邊界框進(jìn)行排序)蛤袒。因此熄云,中心度可以降低遠(yuǎn)離對(duì)象中心的邊界框的權(quán)重。因此妙真,這些低質(zhì)量邊界框很可能被最終的非最大抑制(NMS)過(guò)程濾除缴允,從而顯著提高了檢測(cè)性能。
四、實(shí)驗(yàn)
使用COCO數(shù)據(jù)集练般,使用trainval135K(115K張圖片)進(jìn)行訓(xùn)練矗漾,使用minival(5K張圖片)進(jìn)行消融實(shí)驗(yàn),最后在test_dev(20K張圖片)上報(bào)告我們的結(jié)果薄料。
- 訓(xùn)練細(xì)節(jié):
- 1敞贡、使用RetinaNet相同的超參數(shù),采用resnet-50作為backbone摄职,使用ImageNet上的預(yù)訓(xùn)練權(quán)重進(jìn)行初始化誊役。
- 2、使用SGD作為優(yōu)化器谷市,初始學(xué)習(xí)率為0.01蛔垢,Moment為0.9,batch size 16迫悠。
- 3鹏漆、訓(xùn)練90K次,學(xué)習(xí)率在60K和80K時(shí)衰減10倍创泄。
- 4艺玲、weight decay為0.0001。
- 5鞠抑、短邊為800饭聚,長(zhǎng)邊不超過(guò)1333。
- 推理細(xì)節(jié):
- 使用RetinaNet相同的后處理超參數(shù)搁拙。
- 使用和訓(xùn)練時(shí)一樣大小的圖像進(jìn)行推理若治。
1、消融實(shí)驗(yàn)
使用FPN進(jìn)行多級(jí)預(yù)測(cè):主要解決了召回率低以及模糊樣本的問(wèn)題感混。主要參考本文前面列的兩張實(shí)驗(yàn)圖端幼,這里不再重復(fù)論述了。
-
使用Center-ness:
image.png -
和anchor based的方法對(duì)比:
image.png
2弧满、和最新的一些方法對(duì)比
簡(jiǎn)而言之婆跑,F(xiàn)COS最好。