PolarMask:单阶段实例分割框架,FCOS进阶!
點(diǎn)擊上方“AI搞事情”關(guān)注我們
PolarMask是一項(xiàng)CVPR2020錄用的工作,該方法基于FCOS,將實(shí)例分割也融入到了FCN框架中,相比于“先檢測(cè)再分割”的Mask RCNN,PolarMask是一種single shot的實(shí)例分割框架。
相關(guān)資源
論文:https://arxiv.org/pdf/1909.13226.pdf
開(kāi)源:https://github.com/xieenze/PolarMask
論文筆記
PolarMask針對(duì)實(shí)例分割任務(wù)提出了一種新的建模方式,
下圖展示了兩種實(shí)例分割建模方式:
a:pixel-based建模,目標(biāo)框中針對(duì)像素進(jìn)行分類,如圖 (b),Mask RCNN采用此方式。
b:contour-based建模,在坐標(biāo)系 (c. 直角坐標(biāo) \ d.極坐標(biāo)) 中建模目標(biāo)輪廓,本文采用 (d) 方式建模,相比于 (c) ,極坐標(biāo)系建模輪廓可以利用固定角度先驗(yàn)信息,網(wǎng)絡(luò)只需要回歸特定方向的長(zhǎng)度即可,進(jìn)一步簡(jiǎn)化問(wèn)題。
PolarMask通過(guò)極坐標(biāo)系建模輪廓,把實(shí)例分割問(wèn)題轉(zhuǎn)化為實(shí)例中心點(diǎn)分類(instance center classification)問(wèn)題和密集距離回歸(dense distance regression)問(wèn)題。
PolarMask特點(diǎn):
(1) anchor free and bbox free,不需要檢測(cè)框
(2) fully convolutional network, 相比FCOS把4根射線散發(fā)到36根射線,將instance segmentation和object detection用同一種建模方式來(lái)表達(dá)。
因此,FCOS可以看作是PolarMask的特殊形式,而PolarMask可以看作FCOS的通用形式。FCOS只從0,90,180,270四個(gè)角度回歸長(zhǎng)度,而PolarMask將目標(biāo)實(shí)例分為了36個(gè)方向進(jìn)行長(zhǎng)度回歸。
01
極坐標(biāo)掩碼回歸
PolarMask整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)同F(xiàn)COS基本一致,由主干網(wǎng)(Backbone)?+ 特征金字塔(Feature Pyramid)+ 預(yù)測(cè)head組成。預(yù)測(cè)部分,Mask預(yù)測(cè)分支替換了FCOS的Bbox預(yù)測(cè)分支(將channel=4擴(kuò)展成36),同時(shí),作者提出了Polar Centerness替換了FCOS的Centerness,作用基本一致,用來(lái)定義高質(zhì)量樣本,根據(jù)位置為像素樣本賦予不同權(quán)重。
(PolarMask網(wǎng)絡(luò)結(jié)構(gòu)圖)
Polar Representation
針對(duì)實(shí)例掩碼,采樣實(shí)例的中心點(diǎn)(xc, yc)以及實(shí)例輪廓點(diǎn)?(xi, yi), ?i = 1, 2, ..., N。以均勻的角度?θ?鏈接中心點(diǎn)和輪廓點(diǎn)。這樣,一個(gè)實(shí)例就可以通過(guò)極坐標(biāo)的方式建模為一個(gè)中心點(diǎn)和n條射線。
Mass Center
選擇實(shí)例中心有很多方式,如邊框中心、質(zhì)心。如何選擇需要根據(jù)分割預(yù)測(cè)的效果,實(shí)驗(yàn)證明選擇質(zhì)心作為實(shí)例中心效果更好。
Center Samples
實(shí)例質(zhì)心周圍的像素被視為中心樣本,其余為負(fù)樣本。具體,選擇質(zhì)心對(duì)應(yīng)特征圖上步長(zhǎng)為1.5周圍的點(diǎn)為正樣本,因此,一個(gè)實(shí)例質(zhì)心周圍有9~16個(gè)像素被作為正樣本。主要可以:
(1). 增加正樣本數(shù)量,避免正負(fù)樣本不均衡。
(2). 質(zhì)心并不一定是實(shí)例樣本的最佳采樣點(diǎn)。
Distance Regression
得到中心樣本點(diǎn)(xc, yc),根據(jù)該點(diǎn)生成n(n=36)條射線,一些特殊情況:
(1). 射線與實(shí)例輪廓有多個(gè)交點(diǎn),取最長(zhǎng)射線。
(2). 若實(shí)例中心點(diǎn)在外部,某方向射線與輪廓沒(méi)有交點(diǎn),則回歸目標(biāo)值為最小值?∝(∝ =?10?6)。
回歸損失采用提出的Polar IoU Loss,因?yàn)?#xff1a;
(1).?一個(gè)樣本有n條射線,屬于密集回歸任務(wù),Smooth L1 loss還面臨和分類loss不均衡的問(wèn)題,需要精心調(diào)整權(quán)重,十分低效。
(2). n條射線屬于同一實(shí)例,是相關(guān)的,應(yīng)該被作為一個(gè)整體進(jìn)行訓(xùn)練,而不是作為n個(gè)回歸樣本。?
Mask Assembling
推理過(guò)程,通過(guò)對(duì)FPN各尺度預(yù)測(cè)的得分圖和centerness圖相乘后獲得最后置信度得分,再利用閾值(0.05)過(guò)濾,每個(gè)尺度保留1k top得分進(jìn)行掩碼生成。
掩碼生成過(guò)程:中心點(diǎn)(xc, yc),n條射線長(zhǎng)度{d1,d2,....,dn},可以計(jì)算出每個(gè)方向上的輪廓位置:
?從0?逐個(gè)輪廓點(diǎn)鏈接便可以得到掩碼,再利用NMS去除冗余的結(jié)果。?
02
Polar Centerness
Centerness的目的主要是為目標(biāo)內(nèi)部的每個(gè)像素學(xué)習(xí)一個(gè)位置權(quán)重,越中心權(quán)值越大,因此可以用來(lái)衡量訓(xùn)練樣本的質(zhì)量。作者對(duì)FCOS的bbox Centerness進(jìn)行改進(jìn),提出了極坐標(biāo)下的Polar Centerness。
其中 d1,d2,....,dn指的是36根射線的長(zhǎng)度,當(dāng)所有射線基本一樣長(zhǎng)時(shí),該位置像素被認(rèn)為是高質(zhì)量樣本,即:dmin與dmax越接近的位置會(huì)被分配一個(gè)更高的權(quán)重。
同F(xiàn)COS操作一樣,Polar Centerness得分圖會(huì)與分類得分圖逐像素相乘,為分類得分圖賦予位置權(quán)重信息。
03
Polar IoU Loss
作者提出Polar IoU Loss,近似計(jì)算出predict mask和gt mask的iou,通過(guò)Iou Loss 更好的監(jiān)督mask的回歸,且實(shí)驗(yàn)證明,Polar IoU Loss比Smooth L1 loss效果更好。
兩個(gè)mask的Iou可以簡(jiǎn)化為在dθ下的三角形面積iou問(wèn)題并對(duì)無(wú)數(shù)個(gè)三角形求和(積分),可以推倒簡(jiǎn)化為最后的形式。
IOU積分形式:
轉(zhuǎn)換為求和形式:
假設(shè)射線均勻分布,,可進(jìn)一步簡(jiǎn)化,
同時(shí),通過(guò)經(jīng)驗(yàn)發(fā)現(xiàn)平方對(duì)效果影響很小,繼續(xù)簡(jiǎn)化:
Polar IoU Loss為Polar IoU的交叉熵?fù)p失,取Polar IoU的負(fù)對(duì)數(shù):
04
實(shí)驗(yàn)結(jié)果
沒(méi)用采用任何trick的情況下,PolarMask在resnext101-fpn的情況下,取得了32.9的AP,雖然不是stoa,但是它的思路非常巧妙,提供了一種新的建模方式,對(duì)后面的研究有著很大的啟發(fā)意義。
(PolarMask實(shí)驗(yàn)結(jié)果)
相關(guān)閱讀:
真正意義的Anchor-Free,FCOS目標(biāo)檢測(cè)算法了解一下
長(zhǎng)按二維碼關(guān)注我們
有趣的靈魂在等你
總結(jié)
以上是生活随笔為你收集整理的PolarMask:单阶段实例分割框架,FCOS进阶!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 真正意义的Anchor-Free,FCO
- 下一篇: 【机器学习课程01】李宏毅2020年机器