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