論文地址://arxiv.org/pdf/1901.03278.pdf
代碼地址:GitHub - open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark
1.RPN
RPN即Region Proposal Network,是(shi)用RON來選擇感(gan)興趣區(qu)域(yu)的(de),即proposal extraction。例如,如果一個(ge)區(qu)域(yu)的(de)p>0.5,則認為(wei)這(zhe)個(ge)區(qu)域(yu)中(zhong)可能是(shi)80個(ge)類(lei)別中(zhong)的(de)某一類(lei),具體(ti)是(shi)哪一類(lei)現在(zai)還不清楚。到(dao)此(ci)為(wei)止,網絡只需要把(ba)這(zhe)些可能含有物體(ti)的(de)區(qu)域(yu)選取(qu)(qu)出來就可以(yi)了(le),這(zhe)些被選取(qu)(qu)出來的(de)區(qu)域(yu)又叫做ROI(Region of Interests),即感(gan)興趣的(de)區(qu)域(yu)。當然RPN同時也會在(zai)feature map上框(kuang)定(ding)這(zhe)些ROI感(gan)興趣區(qu)域(yu)的(de)大致位置(zhi),即輸出Bounding Box。
2.Guided Anchoring
通(tong)常用(yong)(yong)(x,y,w,h)來描述一個(ge)anchor,即中(zhong)心點坐標和寬高。文章將anchor的分布(bu)用(yong)(yong)條件概率(lv)來表示,公式為:
兩個(ge)條(tiao)件概(gai)率的(de)分布,代表給(gei)定圖像特(te)征之(zhi)后anchor的(de)中心(xin)點概(gai)率分布,和(he)給定圖像特(te)征和(he)中(zhong)心(xin)點之(zhi)后(hou)的形狀概率(lv)分布。這樣看(kan)來,原(yuan)來我們所獲(huo)取anchor的(de)方法(fa)就可(ke)以看(kan)成上述條件概率分布(bu)的(de)一個特例,即p(x,y|I)是均勻分布(bu)而p(w,h|x,y,I)是沖激(ji)函數。
根(gen)據上面的公(gong)式,anchor的生(sheng)成過程可以分解為兩個步驟,anchor位(wei)置預測(ce)和(he)形狀預測(ce)。
這個(ge)框(kuang)架就是在原始的(de)(de)RPN的(de)(de)特征(zheng)圖基礎上,采(cai)(cai)用兩個(ge)分值分別預測anchor的(de)(de)位(wei)置和(he)(he)形狀,然后再結合到(dao)(dao)一起得(de)到(dao)(dao)anchor。之(zhi)后采(cai)(cai)用一個(ge)Feature Adaption模塊進(jin)行anchor特征(zheng)的(de)(de)調(diao)整,得(de)到(dao)(dao)新的(de)(de)特征(zheng)圖供之(zhi)后的(de)(de)預測使用(anchor的(de)(de)分類和(he)(he)回(hui)歸(gui))。整個(ge)方法(fa)可以端到(dao)(dao)端訓練(lian),而且相比(bi)之(zhi)前只(zhi)是增(zeng)加了3個(ge)1×1 conv 和(he)(he)一個(ge)3×3 deformable conv,帶來的(de)(de)模型參數量變化很(hen)小。
(1)位置預測
位置預測(ce)分支(zhi)的目標是(shi)預測(ce)哪(na)些(xie)區(qu)域應(ying)該作為(wei)中(zhong)心點(dian)來生成(cheng)anchor,也(ye)是(shi)一個二分類問(wen)題,但是(shi)不同于RPN的分類,我們并不是(shi)預測(ce)每個點(dian)是(shi)前景(jing)還是(shi)背景(jing),而是(shi)預測(ce)是(shi)不是(shi)物體(ti)中(zhong)心。
我們將(jiang)整個feature map的區(qu)域(yu)分(fen)為物體(ti)(ti)中心(xin)區(qu)域(yu)、外圍區(qu)域(yu)和忽略(lve)區(qu)域(yu),大致思路(lu)就是將(jiang)groundtruth 框的中心(xin)一小塊(kuai)對應在(zai)feature map上的區(qu)域(yu)標為物體(ti)(ti)中心(xin)區(qu)域(yu),在(zai)訓練的時候作為正樣(yang)本,其余區域按照離中(zhong)心的(de)距(ju)離標為忽略或者負樣(yang)本。最后通過選擇對應概率值高于預定閾(yu)值的(de)位置來確定可(ke)能存在對象活動的(de)區域。? 對輸入(ru)的(de)特征圖使用 1×1 的(de)卷積,得到與 ? 相(xiang)同(tong)分辨率(lv)的輸出(chu),? 得到(dao)輸出的(de)(de)每個位置(zhi)(zhi)的(de)(de)值(zhi)(zhi)表(biao)示(shi)原圖(tu)I上對(dui)應(ying)位置(zhi)(zhi)出現物(wu)體的(de)(de)可能(neng)性,也就是概(gai)率圖(tu),最后通過(guo)選擇對(dui)應(ying)概(gai)率值(zhi)(zhi)高于預(yu)定閾值(zhi)(zhi)的(de)(de)位置(zhi)(zhi)來(lai)確定可能(neng)存在對(dui)象活(huo)動的(de)(de)區域。
通過(guo)位置(zhi)(zhi)預(yu)測,我(wo)們(men)可以(yi)篩(shai)選出一小部分區域(yu)作為(wei)anchor的候(hou)選中心點位置(zhi)(zhi),使得anchor數量(liang)大大降低。這樣(yang)在最后(hou)我(wo)們(men)就可以(yi)只(zhi)針(zhen)對有anchor的地方進行(xing)計(ji)算。
(2)形狀預測
形狀預(yu)測分支是(shi)(shi)目標是(shi)(shi)給(gei)定anchor中心點,預(yu)測最佳的長和(he)寬,這是(shi)(shi)一個回歸(gui)問題。
采用(yong)1×1的卷積網絡 ? 輸入 ?,輸出與(yu) ? 尺(chi)寸相同的(de)2通道的(de)特(te)征(zheng)圖,每(mei)個(ge)通道分別代表 dw 和(he) dh,表示每(mei)個(ge)位(wei)置可(ke)能的(de)最好的(de) anchor 尺(chi)寸。雖然我們的(de)預(yu)測目標是 w 和(he) h,但是直接預(yu)測這兩個(ge)數字不穩定(ding),因(yin)為(wei)范圍很大,所(suo)以將空間(jian)近似(si) [0,1000] 映射到了 [-1,1] 中,公式為(wei):
其中 s 是(shi)步幅,σ 是(shi)經(jing)驗(yan)因子,實(shi)驗(yan)中取 σ=8。實(shi)驗(yan)中產生(sheng) dw,dh 的雙通(tong)道(dao)映射,通(tong)過這個方程實(shi)現了逐(zhu)像素轉換。文章(zhang)中直接用 IOU 作為監督來學習 w 和 h。
對(dui)于 anchor 和 ground truth 匹(pi)配問題,傳統 RPN 都(dou)(dou)是(shi)(shi)直接計算 anchor 和所有 ground truth 的(de)(de) IOU,然后將(jiang)anchor 匹(pi)配給 IOU 最(zui)大(da)的(de)(de)那(nei)個 ground truth,但是(shi)(shi)現(xian)在由于我們的(de)(de)改(gai)進(jin),anchor 的(de)(de) w 和 h 都(dou)(dou)是(shi)(shi)不確定的(de)(de),是(shi)(shi)一個需要預測的(de)(de)變(bian)量。文中將(jiang)這(zhe)個 anchor 和某個 ground truth 的(de)(de) IOU 表示為(wei):
我(wo)們不可能把所有可能的 w 和 h 遍(bian)歷一(yi)遍(bian)求 IOU 的最大值,文中采用了(le)9組可能的 w 和 h 作為樣本,近似(si)效果已經足夠(gou)。
到這(zhe)里我們就可以生成 anchor 了(le)。這(zhe)時所生成的(de) anchor 就是稀疏而且每個位置不(bu)一樣(yang)的(de)。實驗可得此時的(de)平均 recall 已經超過(guo)普通的(de) RPN 了(le),僅僅是增加了(le)兩(liang)個 conv。
(3)特征(zheng)精調模塊
由于每個位(wei)置(zhi)(zhi)的(de)(de)(de)形(xing)(xing)狀(zhuang)不同(tong),大的(de)(de)(de)anchor對(dui)應較大感受(shou)野(ye),小的(de)(de)(de)anchor對(dui)應小的(de)(de)(de)感受(shou)野(ye)。所(suo)以不能像(xiang)之前基于anchor的(de)(de)(de)方(fang)法那樣(yang)直接對(dui)feature map進行卷(juan)積來(lai)預測,而是要(yao)對(dui)feature map進行feature adaptation。作者利用可變形(xing)(xing)卷(juan)積(deformable convolution)的(de)(de)(de)思想(xiang),根據形(xing)(xing)狀(zhuang)對(dui)各個位(wei)置(zhi)(zhi)單獨進行轉(zhuan)換。
方法就是(shi)(shi)把anchor的(de)形(xing)狀(zhuang)信息直接(jie)融入(ru)到(dao)(dao)特(te)(te)征(zheng)(zheng)圖當中(zhong),得到(dao)(dao)新的(de)特(te)(te)征(zheng)(zheng)圖去適應每個位置(zhi)anchor的(de)形(xing)狀(zhuang)。這里就利用(yong)了上述的(de)3×3的(de)可變形(xing)卷積進(jin)行對原(yuan)始特(te)(te)征(zheng)(zheng)圖的(de)修正,可變形(xing)卷積的(de)變化(hua)量(liang)是(shi)(shi)通(tong)過anchor的(de)w和h經過一個1×1 conv得到(dao)(dao)的(de)。
其中,fi 是(shi)第 i 個位置的(de)(de)(de)特征(zheng),(wi, hi) 是(shi)對應的(de)(de)(de) anchor 形(xing)狀。NT 通過 3×3 的(de)(de)(de)變形(xing)卷積(ji)實現(xian)。首先(xian)通過形(xing)狀預(yu)測分(fen)支預(yu)測偏(pian)移(yi)字(zi)段(duan) offset field,然后對帶(dai)偏(pian)移(yi)的(de)(de)(de)原始 feature map 做變形(xing)卷積(ji)獲得 adapted features。之(zhi)后進一(yi)步做分(fen)類和 bounding box 回歸。
通過這樣的(de)操作,達(da)到(dao)了讓 feature 的(de)有效范圍和 anchor 形狀更加接近的(de)目的(de),同一(yi)個 conv 的(de)不同位(wei)置也(ye)可以代表不同形狀大(da)小的(de) anchor 了。