Region Proposal by Guided Anchoring(CVPR2019)
簡(jiǎn)介:GA-RPN(Guided Anchoring)是一種新的anchor 生成方法原献,其通過(guò)圖像特征來(lái)指導(dǎo)anchor 的生成。通過(guò)CNN預(yù)測(cè) anchor 的位置和形狀埂淮,生成稀疏而且形狀任意的 anchor姑隅,并且設(shè)計(jì)Feature Adaption 模塊來(lái)修正特征圖使之與預(yù)測(cè)生成得 anchor精確匹配。GA-RPN相比RPN減少90%的anchor倔撞,并且提高9.1%的召回率讲仰,將其用于不同的物體檢測(cè)器Fast R-CNN, Faster R-CNN and RetinaNet,分別提高 檢測(cè)mAP 2.2%,2.7% ,1.2%痪蝇。
貢獻(xiàn):
提出了一種新的anchor策略鄙陡,用于產(chǎn)生稀疏的任意形狀的anchor;
設(shè)計(jì)了基于anchor形狀的特征適應(yīng)模塊來(lái)refine特征躏啰;
提出了一種改進(jìn)模型性能的方案.
一趁矾、Motivation:
現(xiàn)有的Anchor-based方法生成Anchor的過(guò)程存在兩大問(wèn)題:
為了保證召回率,需要生成密集的anchor给僵,引入過(guò)多負(fù)樣本同時(shí)影響模型的速率愈魏。
anchor的尺度和長(zhǎng)寬比需要預(yù)先定義,針對(duì)不同類型的檢測(cè)任務(wù)需要調(diào)整這些超參數(shù)想际,預(yù)先定義好的 anchor 形狀不一定能滿足極端大小或者長(zhǎng)寬比懸殊的物體。
基于上述兩點(diǎn)溪厘,作者就嘗試使用特征去指導(dǎo)Anchor box中心位置胡本,寬高比的生成,這樣不僅可以提高生成Anchor的效率畸悬,而且還可以生成任意大小的Anchor侧甫,這對(duì)于一些比較極端長(zhǎng)寬比的物體是非常有效的。
注意:作者假設(shè)待檢測(cè)圖像中的目標(biāo)是不均勻分布的且稀疏的。
二披粟、模型結(jié)構(gòu)
作者提出使用圖像特征去指導(dǎo)Anchor生成咒锻,該結(jié)構(gòu)稱為Guided Anchoring,Guided Anchoring可以嵌入到任意的Anchor生成模塊之中守屉。下面是一個(gè)嵌入到FPN中的例子:
?? ???上圖左邊是一個(gè)FPN結(jié)構(gòu)惑艇,F(xiàn)PN每一層的特征都可以嵌入一個(gè)Guided Anchoring模塊用于預(yù)測(cè)proposals。Guided Anchoring的具體結(jié)構(gòu)則如上圖右邊所示拇泛,主要由兩個(gè)模塊組成:
Anchor generation模塊:
?? ??? ?添加兩個(gè)分支分別用于預(yù)測(cè)特征圖上每個(gè)像素(對(duì)應(yīng)的感受野)是目標(biāo)的置信度滨巴,以及對(duì)應(yīng)寬和高。目標(biāo)的置信度大于一個(gè)特定域值俺叭,則被認(rèn)為是目標(biāo)恭取。顯然,這個(gè)proposal獲取的過(guò)程不同于滑窗熄守,可以減少大量負(fù)樣本(每個(gè)Feature map上的像素點(diǎn)做多只產(chǎn)生一個(gè)proposal)蜈垮。此外,由于寬和高也是CNN回歸出來(lái)的裕照,所以沒(méi)有對(duì)物體的scale攒发,寬高比作任何先驗(yàn)假設(shè)。
1牍氛、anchor Location Prediction
位置預(yù)測(cè)分支的目標(biāo)是預(yù)測(cè)那些區(qū)域應(yīng)該作為中心點(diǎn)來(lái)生成 anchor晨继,是一個(gè)二分類問(wèn)題,預(yù)測(cè)是不是物體的中心搬俊。
FPN特征圖經(jīng)過(guò)位置預(yù)測(cè)子網(wǎng)絡(luò)生成位置得分圖:對(duì)基礎(chǔ)feature map先通過(guò)1*1卷積紊扬,然后逐元素Sigmoid轉(zhuǎn)換為概率值。然后根據(jù)閾值篩選唉擂,可以過(guò)濾掉90%的區(qū)域而保持相同的召回率
我們將整個(gè) feature map 的區(qū)域分為物體中心區(qū)域餐屎,外圍區(qū)域和忽略區(qū)域:即將 ground truth 框的中心一小塊對(duì)應(yīng)在 feature map 上的區(qū)域標(biāo)為物體中心區(qū)域,在訓(xùn)練的時(shí)候作為正樣本玩祟,其余區(qū)域按照離中心的距離標(biāo)為忽略或者負(fù)樣本腹缩。通過(guò)位置預(yù)測(cè),可以篩選出一小部分區(qū)域作為 anchor 的候選中心點(diǎn)位置空扎,使得 anchor 數(shù)量大大降低藏鹊。
2、Anchor Shape Prediction
針對(duì)每個(gè)檢測(cè)出的中心點(diǎn)转锈,選取一個(gè)最佳的anchor box盘寡。最佳a(bǔ)nchor box的定義為:與預(yù)測(cè)的候選中心點(diǎn)的鄰近ground truth box產(chǎn)生最大IOU的anchor box。
形狀預(yù)測(cè)分支的目標(biāo)是給定 anchor 中心點(diǎn)撮慨,預(yù)測(cè)最佳的長(zhǎng)和寬竿痰,這是一個(gè)回歸問(wèn)題脆粥。論文直接使用 IoU 作為監(jiān)督,來(lái)學(xué)習(xí) w 和 h影涉。無(wú)法直接計(jì)算w 和 h变隔,而計(jì)算 IoU 又是可導(dǎo)的操作,所以使用基于bounded IoU Loss網(wǎng)絡(luò)優(yōu)化使得 IoU 最大蟹倾。
作者認(rèn)為匣缘,直接預(yù)測(cè)anchor box的寬高的話,范圍太廣不易學(xué)習(xí)喊式,故將寬高值使用指數(shù)及比例縮放進(jìn)行壓縮:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ω =σ·s·exp(dw) , h=σ·s·exp(dh )
該分支預(yù)測(cè)dw,dh,通過(guò)上式進(jìn)行壓縮孵户,s為stride,σ是經(jīng)驗(yàn)尺度因子(論文取8)岔留,該映射將[0,1000]壓縮至[-1,1]夏哭。該分支輸出dw和dh。首先通過(guò)1*1卷積層產(chǎn)生兩個(gè)通道的map(包括dw和dh的值)献联,然后經(jīng)過(guò)逐元素轉(zhuǎn)換層實(shí)現(xiàn)w和h的轉(zhuǎn)化竖配。得益于任意形狀的anchor,所以對(duì)于寬高比夸張的目標(biāo)也具有更好的效果(比如火車等)里逆。
Feature adaption模塊:這個(gè)模塊實(shí)際上借鑒了可變性卷積的思想进胯。
由于每個(gè)位置的形狀不同,大的anchor對(duì)應(yīng)較大感受野原押,小的anchor對(duì)應(yīng)小的感受野胁镐。所以不能像之前基于anchor的方法那樣直接對(duì)feature map進(jìn)行卷積來(lái)預(yù)測(cè),而是要對(duì)feature map進(jìn)行feature adaptation诸衔。作者利用變形卷積的思想盯漂,根據(jù)形狀對(duì)各個(gè)位置單獨(dú)進(jìn)行轉(zhuǎn)換。
其中笨农,fi是第i個(gè)位置的特征就缆,(wi, hi)是對(duì)應(yīng)的anchor形狀。NT通過(guò)3*3的變形卷積實(shí)現(xiàn)谒亦。首先通過(guò)形狀預(yù)測(cè)分支預(yù)測(cè)offset field竭宰,然后對(duì)帶偏移的原始feature map做變形卷積獲得adapted features。之后進(jìn)一步做分類和bounding box回歸份招。
三切揭、Training
采用多任務(wù)loss進(jìn)行端到端的訓(xùn)練,損失函數(shù)為:
1锁摔、anchor location
利用groundtruth bounding box來(lái)指導(dǎo)label生成伴箩,1代表有效位置,0代表無(wú)效位置鄙漏。中心附近的anchor應(yīng)該較多嗤谚,而遠(yuǎn)離中心的anchor數(shù)目應(yīng)該少一些。假定R(x, y, w, h)表示以(x, y)為中心怔蚌,w和h分別為寬高的矩形區(qū)域巩步。將groundtruth的bbox(xg, yg, wg, hg)映射到feature map的尺度得到(x'g, y'g, w'g, h'g)。
a.定義中心區(qū)域CR=R(x'g, y'g, σ1w', σ1h')桦踊,CR區(qū)域內(nèi)的像素標(biāo)記為正樣本椅野;
b.定義ignore區(qū)域IR=R(x'g, y'g, σ2w', σ2h')\CR,該區(qū)域的像素標(biāo)記為ignore籍胯;
c.其余區(qū)域標(biāo)記為外部區(qū)域OR竟闪,該區(qū)域所有像素標(biāo)記為負(fù)樣本。
考慮到基于FPN利用了多層feature杖狼,所以只有當(dāng)feature map與目標(biāo)的尺度范圍匹配時(shí)才標(biāo)記為CR炼蛤,而臨近層相同區(qū)域標(biāo)記為IR,如下圖所示蝶涩。文中使用Focal Loss來(lái)訓(xùn)練定位分支理朋。
2)anchor shape
首先將anchor與groundtruth的bbox匹配,然后計(jì)算最佳寬和高(可以最大化IoU)绿聘。因此重新定義了變化的anchor與gt bbox的vIoU:
變化anchor:awh=(x0, y0, w, h)
groundtruth bbox:gt=(xg, yg, wg, hg)
其中IoUnormal是IoU的常規(guī)定義嗽上,w和h是變量。由于對(duì)任意位置的anchor與ground truth熄攘,對(duì)vIOU進(jìn)行明確的表示是非常困難的兽愤,因此給定(x0,y0),本文采用近似的方法挪圾,采樣一些可能的w和h浅萧。文中采樣了9組常見的w、h洛史。實(shí)驗(yàn)表明結(jié)果對(duì)sample的組數(shù)不敏感惯殊。文中采用有界IoU損失來(lái)最大化IoU。
作者使用Guided Anchoring策略來(lái)改進(jìn)RPN(稱為GA-RPN)也殖。下圖對(duì)比了RPN和GA-RPN產(chǎn)生的proposal的IoU分布:
很顯然土思,GA-RPN產(chǎn)生的正樣本數(shù)目更多,而且高IoU的proposal占的比例更大忆嗜。訓(xùn)練時(shí)相比于RPN己儒,GA-RPN采用更高的閾值、使用更少的樣本(使用高質(zhì)量proposal的前提是根據(jù)proposal的分布調(diào)整訓(xùn)練樣本的分布)捆毫。
四闪湾、優(yōu)缺點(diǎn)分析
優(yōu)點(diǎn):
1、論文提出anchor設(shè)計(jì)的兩個(gè)準(zhǔn)則:alignment 和 consistency绩卤,指導(dǎo)基于anchor優(yōu)化的方向途样。采用位置預(yù)測(cè)和形狀預(yù)測(cè)兩個(gè)分支江醇,不需要像FPN預(yù)先設(shè)置尺度和長(zhǎng)寬比,同時(shí)使用可變形卷積對(duì)feature map調(diào)整何暇,生成高質(zhì)量低密度的proposal陶夜,提高IoU的閾值進(jìn)行訓(xùn)練。
2裆站、提出了一種新的anchor策略条辟,用于產(chǎn)生稀疏的任意形狀的anchor;
3宏胯、論文提出的GA-RPN可以完全替代RPN羽嫡,在Fast R-CNN, Faster R-CNN and RetinaNet等模型基礎(chǔ)上提高目標(biāo)檢測(cè)模型的精度。
缺點(diǎn):
1肩袍、論文假設(shè)圖像中的目標(biāo)是稀疏的杭棵。如果是稠密圖像,比如車站或廣場(chǎng)的擁擠人群了牛,檢測(cè)效果有待檢驗(yàn)颜屠。
2、每一個(gè)點(diǎn)只產(chǎn)生一個(gè)anchor鹰祸,那么對(duì)于那些目標(biāo)中心重合甫窟,即一個(gè)點(diǎn)需要負(fù)責(zé)檢測(cè)兩個(gè)目標(biāo),似乎無(wú)法處理蛙婴。
3粗井、采用deformable卷積會(huì)相對(duì)地降低速度,同時(shí)根據(jù)DCN v2的分析街图,在deformable卷積中加入可調(diào)節(jié)的機(jī)制可能會(huì)更好浇衬。
思考:
?? ?? ? 1、可以借鑒采用雙分支預(yù)測(cè):一個(gè)分支預(yù)測(cè)目標(biāo)的中心點(diǎn)餐济,另一個(gè)分支預(yù)測(cè)物體的長(zhǎng)框耘擂,這個(gè)思想的實(shí)現(xiàn)和看完cornerNet和CenterNet的想法實(shí)現(xiàn)是類似的,但是出發(fā)點(diǎn)不同絮姆。
?? ?? ? 之前做雙分支預(yù)測(cè)是想利用anchor free中的中心點(diǎn)的預(yù)測(cè)看能否增加物體的內(nèi)部感知能力∽碓現(xiàn)在的雙分支預(yù)測(cè)是為了減少先驗(yàn)框anchor的數(shù)量,減少正負(fù)樣本的不平衡問(wèn)題篙悯。兩者出發(fā)點(diǎn)不同蚁阳,但是采用的操作是類似的,有效性有待考證鸽照。