PolarMask: Single Shot Instance Segmentation with Polar Representation 基於極座標表示的單階段實例分割

參考鏈接:作者專欄

目錄

摘要:

1.Introduction

2. Related Work

3.Our methods

3.1 Architecture

3.2 Polar Mask Segmentation

3.3. Polar Centerness

3.4. Polar IoU Loss



摘要:

與之前兩階段的實例分割不同,是single shot 一階段框架。

提出一個簡單的全卷積的可用於mask預測的模塊,可以和現有的檢測算法結合。
我們的方法稱爲PolarMask,將實例分割問題描述爲實例中心分類和極座標下的密集距離迴歸。

PolarMask提出了一種新的instance segmentation建模方式,通過尋找物體的輪廓(contour)建模。

1.Introduction

實例分割是一個具有挑戰性的任務,同時預測一張圖片中每個實例的位置和語義分割mask。比較常用的解決辦法就是像Mask RCNN一樣的先檢測再分割的兩階段方法。越來越多的工作致力於設計簡單的bounding box檢測器和後續的實例分割識別任務。我們的工作更着重於後者。

因此,我們的目標是設計一個概念簡單的mask預測模塊,它可以很容易地插入到許多現成的檢測器中,從而實現實例分割。

語義表示:像素到像素的對應預測是非常奢侈的(如maskrcnn,下圖(b)),特別是在single-shot方法中。我們指出,如果獲得輪廓(下圖(c)(d)),則可以成功而有效地恢復掩模。

在本文中,我們設計了基於極座標表示的實例分割方法。

極座標表示的優點:

(1)極座標的原點可以看作是物體的中心。(2)從原點出發,輪廓中的點由距離和角度決定。(3)角度具有天然的方向性,使得將點連接成一個整體輪廓非常方便。(笛卡爾表示法缺乏第三種屬性的優勢)

基於極座標系的方式已經將固定角度設爲先驗,網絡只需迴歸固定角度的長度即可,簡化了問題的難度。該模型獲取輸入圖像,並預測從每個角度採樣的正位置(實例中心的候選)到實例輪廓的距離,並在組裝後輸出最終mask。

我們用的目標檢測器是FCOS。做一些修改,PolarMask也可以應用到RetinaNet , YOLO等檢測網絡上。

 

具體來說我們提出PolarMask用於實例分割,將實例分割問題描述爲實例中心分類極座標下的密集距離迴歸。該模型獲取輸入圖像,並預測從每個角度採樣的正位置(實例中心的候選)到實例輪廓的距離,並在組裝後輸出最終mask。它引入了微不足道的開銷。簡單性和效率是single-shot實例分割的兩個關鍵因素,PolarMask成功地實現了這兩個關鍵因素。

 PolarMask最重要的特點是:(1) anchor free and bbox free,不需要出檢測框;(2) fully convolutional network, 相比FCOS把4根射線散發到36根射線,將實例分割和目標檢測用同一種建模方式來表達。因此,PolarMask可以看作是FCOS的一個推廣形式,或者FCOS是PolarMask的一個特例。

PolarMask can be viewed as a generalization of FCOS, or FCOS is a special case of PolarMask.

 爲了最大限度地發揮極值表示的優勢,我們分別提出了極值中心和極值IoU損失(Polar Centerness and Polar IoU Loss)來處理高質量中心樣本的抽樣和密集距離迴歸的優化。它們將掩模精度提高約15%。

本文的主要貢獻總結爲三個方面:

  • 引入了一種新的實例分割方法:PolarMask,,在極座標層面建模Mask。把實例分割任務轉換爲兩個平行的任務:實例中心分類和密集距離迴歸。這種方法最大的特點是簡單高效。(我們第一次證明了實例分割的複雜度,無論是從設計複雜度還是計算複雜度來看,都可以與bbox對象檢測一樣。)
  • 專門爲本文的框架提出了Polar IoU Loss and Polar Centerness(極值中心和極值IoU損失)。相比於smooth-L1 loss,PolarIoU loss能極大的提高mask準確性。Polar Centerness改進了FCOS中最初的“中心”概念,從而進一步提高了性能。
  • 第一次我們提出了更簡單更靈活的實例分割框架,與更復雜的單階段訓練方法(通常包括多尺度訓練和更長的訓練時間)相比,獲得更有競爭力的表現。We hope that PolarMask can serve as a fundamental and strong baseline for single shot instance segmentation.

2. Related Work

       兩階段的實例分割方法都遵循着‘Detect then Segment‘,先檢測再分割的範式,在檢測框裏再進行分割。它們可以達到最先進的性能,但速度往往很慢。

       一階段的方法,這裏文中舉了一些例子,比較複雜。並且這些方法不能直接對實例建模,,而且很難被優化。(比如存在這些優化問題:longer training time, more data augmentation and extra labels)

       我們的PolarMask通過更簡單的靈活的兩個分支,直接對實例分割建模,對質心的每個像素進行分類,迴歸質心和輪廓之間的射線密集距離。

classifying each pixel of mass-center of instance and regressing the dense distance of rays between mass-center and contours.

PolarMask最重要的優點就是簡單高效,相比於以上提到的方法。在實驗中,由於我們的目標是設計一個概念上簡單靈活的掩模預測模塊,所以我們並沒有採用太多的訓練技巧,比如數據擴充、訓練時間延長等。 

3.Our methods

3.1 Architecture

      整個模型結構包括:Backbone網絡和FPN特徵提取網絡設置都與FCOS一致,爲了對比簡潔高效性),兩個或三個任務分支,取決於這個模型是否預測bbox。(polarmask可以結合單階段和兩階段的模型使用)

3.2 Polar Mask Segmentation

       這一部分詳細的介紹怎麼用極座標建模實例(instance)

       我們對實例的候選中心(Xc,Yc)和位於輪廓(Xi,Yi)上的點(I=1, 2,…,n)進行採樣,然後從中心開始,N射線均勻地發射,具有相同的角度間隔δ(例如,n=36,δth==10),其長度由中心到輪廓上的點來確定。(這也是前面說的我們只需要對距離進行迴歸

與之前的逐像素的生成mask相比,這裏將mask建模轉換爲一個實例中心和36個點之間的距離迴歸,計算量大大減少。

 

Center samples

在質心範圍內,從上到下從右到左選取一組center samples.就可以增加9~16個samples。

這種做法有兩個優點:
(1)將陽性樣品的數量從1增加到9 ~ 16可以在很大程度上避免陽性和陰性樣品的不平衡。然而,訓練分類分支時仍需要focal loss(後面有解釋)。(2)質心可能不是一個實例的最佳中心樣本。更多的候選點使得自動找到一個實例的最佳中心成爲可能。我們將在3.3節中詳細討論。

Distance Regression

有了中心點(Xc,Yc)和輪廓線上的點(Xi,Yi),計算距離很簡單。N=36,則輪廓線上有36個點,間隔10°。大多數情況下都可以獲得所需要的n條射線。接着討論了三種特例,比如不同射線在輪廓上的點是重合的等等。作者也認爲這些特例也是限制Polar表示的性能上界接近mAP100%的主要因素。

迴歸分支的訓練是非常重要的。PolarMask的mask分支實際上是一個密集距離迴歸任務(a dense distance regression task)。每一個訓練樣本的n條相關的射線應被視爲一個整體,而不是獨立的迴歸的example。因此我們提出了Polar IoU Loss。3.4詳細討論。

輪廓線上的點的位置座標是這樣計算的:

參數:角度,距離,中心座標。

Mask Assembling

       在推理過程中,網絡輸出分類和中心度(Polar centerness),將中心度與分類相乘,得到最終的置信度分數。在將置信度得分閾值設爲0.05之後,我們最多隻能根據每個FPN級別的最高得分預測1k來組裝mask。 合併所有級別的最高預測,並應用閾值爲0.5的非最大抑制(NMS)產生最終結果。 在這裏,我們介紹了mask的組裝過程和快速的NMS過程。NMS用來刪除冗餘的掩碼。

3.3. Polar Centerness

這是一個簡單而有效的策略來重設點的權重,這樣dmin和dmax越接近,分配給點的權重就越高。實驗表明,在AP75等更嚴格的定位條件下,極座標中心能提高定位精度。

3.4. Polar IoU Loss


smooth-l1 loss  and IoU loss are the two effective ways to supervise the regression problems.

然而,smooth-l1損失忽略了相同對象的樣本之間的相關性,從而導致定位精度較低。然而,IoU損失的訓練過程將優化作爲一個整體來考慮,並直接優化興趣度量。
然而,計算所預測掩模的IoU和它的groundtruth是非常棘手的,並且很難實現並行計算。

在這項工作中,我們推導了一個簡單而有效的算法來計算掩模IoU基於極座標向量表示,並取得了具有競爭力的性能,如下所示。根據IoU的定義我們引入了Polar IoU Loss,也是交併比,計算方式如下:
 

 

離散形式

進一步化簡爲:

Polar IoU Loss is the binary cross entropy (BCE) loss of Polar IoU. Since the optimal IoU is always 1.

我們的Polar IoU Loss有兩個優勢:(1) 它是可微的,允許反向傳播;並且很容易實現並行計算,從而促進快速訓練過程。(2) 從整體上預測迴歸目標。實驗表明,與平滑l1損耗相比,它能大幅度提高系統的整體性能。(3) 另外,Polar IoU損失能夠自動保持分類損失和密集距離預測迴歸損失之間的平衡。我們將在實驗中詳細討論。

性能對比:在單階段方法中,PolarMask性能較好,速度快且精度較高,以後可作爲單階段方法的一個baseline。

在這個模型中,分類分支採用的損失函數是focal loss,基於交叉熵的改進,用於平衡正負樣本,詳情可參考以下鏈接。

Focal loss: https://www.cnblogs.com/king-lps/p/9497836.html

二分類交叉熵損失:

在原有交叉熵的基礎上,增加因子gamma和alpha.

只添加alpha雖然可以平衡正負樣本的重要性,但是無法解決簡單與困難樣本的問題。

gamma調節簡單樣本權重降低的速率,當gamma爲0時即爲交叉熵損失函數,當gamma增加時,調整因子的影響也在增加。實驗發現gamma爲2是最優。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章