Panoptic Segmentation論文筆記

個人博客:http://www.chenjianqu.com/

原文鏈接:http://www.chenjianqu.com/show-113.html

 

 

論文:Alexander Kirillov,Kaiming He,Ross Girshick,Carsten Rother,Piotr Dollar.Facebook AI Research (FAIR),Heidelberg University-HCI/IWR. Panoptic Segmentation

 

素質三連

1.論文貢獻

提出全景分割(panoptic segmentation,PS) 任務,該任務聯合語義分割和實例分割

定義了PS的評估指標 panoptic quality(PQ)

研究了PS標註的人類一致性

通過對實例分割結果和語義分割結果的後處理,給出了全景分割的baseline

2.實驗結果   

在三個數據集Cityscapes,ADE20k,Mapillary Vistas進行各種研究,給出很多有趣的結論。

3.存在的問題

未提出端對端的全景分割模型

摘要

    本文提出了一個新的任務,稱爲全景分割(panoptic segmentation,PS)。全景分割將語義分割(semantic segmentation)和實例分割(instance segmentation)聯合起來。該任務可以產生豐富、完整的場景分割,這是邁向真實視覺系統的重要一步。雖然計算機視覺的早期工作研究了相關的圖像/場景解析任務,但這些任務目前並不流行,可能是缺乏適當的metric和相關比賽。爲了解決這個問題,本文提出了一種新的指標panoptic quality(PQ),用來評估全景分割模型的性能。我們使用該度量在三個數據集上對人類和機器在全景分割上的表現進行研究,揭示了該任務的一些有趣的東西。

 

全景分割

    圖像分割中的分割對象分爲things和stuff兩大類。things是可數目標,包括人、動物、汽車等。而stuff是不可數目標,包括草地、天空、道路等。語義分割處理stuff(也把things當stuff來分割),它將圖像中每個像素進行分類。實例分割處理things,它檢測出圖像中的目標,並分割出實例。而我們提出的全景分割既分割things,也分割stuff。如下圖所示:

圖片1.jpg

    同時分割stuff和things這個問題在前深度學習時代就已經被研究了,當時稱爲場景解析(scene parsing),圖像解析(image parsing)或全面場景理解(holistic scene understanding)。儘管這一方向有實際意義,但目前並不流行,可能是缺乏適當的metric或相關比賽。

    本文致力於讓這個方向死灰復燃,我們提出了一個新任務:(1)包含stuff和thing類別,(2)使用簡單、通用的輸出格式,(3)引入統一的評估指標,稱這個新任務爲全景分割(panoptic segmentation,PS)。Panoptic的本意是包括一切視野內的對象,我們這裏指的是一個統一的全局的分割視圖。

    全景分割的任務格式(task format)很簡單:賦予圖像的每個像素一個語義class和一個實例id。擁有同一個語義class和實例id的像素屬於同一個物體。本文還引入了評估指標panoptic quality(PQ)。PQ簡單、信息豐富,最重要的是可以統一的衡量stuff和things。全景分割包含實例分割和語義分割。但是與純語義分割不同,它需要區分單個實例。與純實例分割不同,目標分割必須是不重疊的。

 

數據集

目標檢測數據集:人臉檢測的早期數據集ad-hoc促進邊框目標檢測(bounding-box object detection)技術的發展。而數據集[Pedestrian detection: An evaluation of the state of the art]促進了行人檢測的發展。PASCAL VOC數據集可以評估多個任務。COCO數據集促進開闢了新的任務:實例分割。

語義分割數據集:語義分割的數據集有很多:[Textonboost: Joint appearance, shape and context modeling for multi-class object recog. and segm.],[SIFT flow: Dense correspondence across scenes and its applications.],[ The cityscapes dataset for semantic urban scene understanding],這些數據集包含stuff和things,但是不區分目標實例。

全景分割數據集:最近出現了一些新的數據集,包括Cityscapes,ADE20k,Mapillary Vistas。這些數據集同時支持語義分割和實例分割,也就是說,也支持PS。

Cityscapes:是汽車在城市中錄製的場景,包括5000張圖片,其中2975張訓練圖片,500張驗證圖片,1525張測試圖片。有19中stuff,其中8種thing。

ADE20k:是一個用開放詞典標籤集(open-dictionary label set)標註的數據集,包含20k訓練集,2k驗證集,3k測試集。在2017 Place Challenge中,選擇其中的100種thing和50種stuff,平均覆蓋89%的像素。這裏使用類似的數據集。

Mapillary Vistas:有25k不同分辨率的街景圖片,包括18k訓練集,2k驗證集,5k測試集。包括28種stuff和37種thing。

 

全景分割的形式

任務形式

    預定義語義標籤集合 L={0,...,L-1},全景分割預測的分割圖像和ground truth圖像的每個像素表示爲一對(li,zi)∈L*N,li 代表該像素的語義class,zi 代表該像素的實例id。相同 li 和相同 zi 的像素是同一個分割。歧義的像素或不屬於已知類別的像素應該設置空類別(void label)

Stuff和thing標籤

    語義標籤集合由兩個子集組成:L=LSt∪LTh,而且LSt∩LTh=∅,代表stuff和thing的語義標籤。分割圖像中stuff類別的像素屬於同一個實例id。而thing類別的像素,擁有同一個實例id的像素屬於同一個實例。

與語義分割的關係

    PS任務形式是語義分割任務形式的泛化。兩個任務都需要對每個像素賦予一個語義標籤。如果ground truth不指定實例id,或者所有的類別都是stuff,那麼兩個任務的格式是一樣的,當然任務評估指標不同。

與實例分割的關係

    實例分割允許重疊的分割,因爲它是先檢測包圍框,再對包圍框進行分割的,而包圍框運行重疊。然而PS的每個像素只能有一個語義類別和實例id。

置信度

    與實例分割不同,PS的分割沒有的置信度。這使得PS對於人類和機器來說是對稱的(symmetric),兩者產生同類型的註釋,因爲人工的PS不包含置信度。這也使得評估PS的人類一致性變得簡單。然而有時候置信度也很有用,PS在特定配置下也可以產生置信度。

 

評估指標:Panoptic Quality

    我們想要的PS metric應該具有如下特點:完整性(Completeness),指標應該以統一的方式處理stuff和thing,能捕獲PS任務的各方面。可解釋性(Interpretability),指標應該具有可識別的意義,以促進溝通和理解。簡單性(Simplicity),指標應該定義和實現都很簡單,這樣可以提高透明度,便於重新實現。由此,指標才能高效計算,以實現快速評估。

    根據上面的三個原則,本文提出了Panoptic Quality(PQ)。PQ評估 預測分割 相對於 gt分割 的質量。其計算過程分爲兩步:(1)分割匹配,(2)給定匹配計算PQ。

分割匹配(Segment Matching)

    給定一個預測分割和一個gt分割,僅當它們的IoU大於0.5時,才匹配到一起。這就需要PS的不重疊性:每個gt分割只能匹配一個預測分割。

定理1.每個gt分割最多有一個IoU大於0.5的預測分割。證明如下:

1jpg.jpg

2.jpg

    根據這個定理可以推得兩個特性。首先,這種對應關係是唯一而且很容易得到,因此它簡單而高效。其次,它是可解釋而且易於理解的。

PQ計算

    對每個類別獨立計算PQ,然後各個類別平均,這樣使得PQ對類別不平衡更加魯棒。對於某個類別,將預測分割gt分割劃分到三個集合:true positives(TP),false positives(FP),false negatives(FN),TP代表已被匹配的預測分割和gt分割,FP代表未被匹配的預測分割,FN代表未被匹配的gt分割。下圖表示Person類的TP,FP,FN:

3.jpg

    得到3個集合後,就可以計算PQ:

4.jpg

    其中

5.jpg

    是已匹配的分割的平均IoU。而分母中的

6.jpg

    是未匹配分割的懲罰項。如果乘以除以TP集合的大小,則上式變形爲 segmentation quality(SQ) 與 recognition quality(RQ) 的乘積:

7.jpg

    RQ跟目標檢測常用的F1分數指標類似。SQ是已匹配分割的平均IoU。

空標籤Void labels

    gt分割中有兩種情況需要標記像素爲空標籤(void labels)。(a)不屬於已知類別的像素;(b)歧義的或未知的像素。在計算PQ過程中忽略掉void pixels,具體地說,(1)在匹配過程中,預測分割中對應gt分割標記爲void的像素將被移除,不影響IoU的計算。(2)匹配後,包含超過匹配閾值的一小部分void像素的未被匹配預測分割將被移除,並且不算作FP(原文:after matching, unmatched predicted segments that contain a fraction of void pixels over the matching threshold are removed and do not count as false positives.)。因此,即使預測分割包含void像素,也不影響評估。

組標籤Group labels

    如果很難準確的描述每個實例,那麼對同一語義類別的相鄰實例使用group labels,而不是實例id。對於計算PQ,(1) during matching, group regions are not used, and (2) after matching, unmatched predicted segments that contain a fraction of pixels from a group of the same class over the matching threshold are removed and do not count as false positives.

PQ與現存指標的比較

    語義分割指標比如IoU忽略物體級(object-level)標籤,因此不適合評估thing類別。而實例分割的指標,比如Average Precision(AP),需要分割的置信度,因此也不適用與PS。

 

人類一致性研究

    PS的優點是能夠衡量人類標註一致性。由於模型訓練的依據就是人類的標註,但是每個人的標註都略有差異,因此分析這些標註的差異和性質就顯得十分必要。人類一致性研究可以讓我們更加透澈的瞭解該任務,可以從各個維度瞭解評估指標的設計和人類標註的差異。

數據來源

    爲了能夠進行人類一致性分析,數據集創建者慷慨地爲我們提供了30張Cityscapes的兩次標註圖像(即對某張圖片標註兩次,用於計算PQ)、64張ADE20k的雙標註圖像和46張Vistas的雙標註圖像。Cityscapes和Vistas是由不同的人來標註的,而ADE20k由一個人標註,但是他兩次標註的時間間隔6個月。爲了確定人類標註的PQ,將兩張圖片中的其中一張作爲gt分割,另一張作爲預測分割。

人類一致性

    下圖是各個數據集人類標註的一致性:

8.jpg

可以看到人類標註的PQ得分並不是特別高(因此模型表現差一點也可以理解)。類別的數量,標註像素的百分比,場景的複雜度因數據集而異,都會影響到標註的精度。下面是人類分割和標註的一些誤差的可視化:

9.jpg

10.jpg

Stuff和things標註比較

    上表一中還展示了stuff和thing標註的PQ。Thing標註的精度要低一些。下圖展示了每個數據集中各個類別標註的PQ。

11.jpg

小目標和大目標的標註比較

    將目標根據大小分成大中小三類,最小的25%爲S,最大的25%爲L,中間爲M。下表展示了越大的目標標註精度越高(廢話)。很大程度上是因爲小目標的RQ太低,這表明標註者遺漏了某些小目標。

12.jpg

IoU閾值的影響

    下面是匹配的累積密度函數隨匹配閾值變化的曲線:

13.png

    當閾值設置爲0.5時,小於16%的匹配沒有被匹配。下圖7展示了閾值爲0.25,0.5,0.75時PQ的值,表明閾值設置爲0.5應該是合理的:

14.jpg

SQ和RQ的平衡

    前面分析過,PQ=SQ*RQ,RQ等於F1分數。當然也不一定就令RQ爲F1,這裏引入一個參數α調整識別誤差的懲罰項:

15.jpg

    默認α=0.5,下圖是不同α值的影響:

16.jpg

    可以看到α影響SQ和RQ的平衡。

機器分割基線

    (1)高性能的實例分割和語義分割的啓發式組合對全景分割有何作用?(2)PQ與AP和IoU等現有指標相比如何?(3)機器的結果如何與人類的結果進行比較?

數據來源

    本文的實驗數據來源於將現有的實例分割結果與語義分割結果啓發式的結合。對於Cityscapes數據集,使用PSPNet和Mask R-CNN的各自的驗證集輸出。對於ADE20k,使用2017 Palces Challenge的冠軍,語義分割是[Places challenge 2017: scene parsing, G-RMI team],[Places challenge 2017: scene parsing, CASIA IVA JD team],實例分割是[Places challenge 2017: instance segmentation, G-RMI team],[Places challenge 2017: instance segmentation,Megvii (Face++) team],各自的測試集輸出子集(1k)。對於Vistas,使用LSUN’17 Segmentation Challenge的官方提供的冠軍模型的語義分割和實例分割的1k測試集。

實例分割

    對得到的實例分割結果使用PQ進行評估。但是實例分割模型會產生重疊的分割,而PQ要求所有的分割都不重疊,因此需要進行一個預處理。作者設計出一個類似於NMS方法。首先,將預測分割按照按照置信度進行排序,去除低置信度的分割。然後從最高置信度的分割實例開始迭代,對於每個實例,首先去除跟更高置信度重疊的像素,如果還有足夠多的像素存在,則作爲一個PS實例,否則放棄整個實例。過程中用到的閾值,可以通過交叉驗證得到。結果如下:

17.jpg

語義分割

    語義分割的結果可以直接計算PQ,如下表:

18.jpg

全景分割

    需要根據現有的語義分割和實例分割的結果生成全景分割結果。首先對實例分割結果去掉重疊的部分,然後將實例分割和語義分割的結果結合起來,即將實例分割結果加到語義分割結果上面,爲每個像素分配語義class和實例id。下表是計算結果:

19.jpg

    下圖是全景分割的部分可視化:

20.jpg

人類和機器全景分割的比較

21.png

 

全景分割的未來

    未來的PS算法至少能夠解決下面兩個問題(1)是一個端對端的模型,可以解決PS的stuff-and-thing性質。(2)有些更高級的方法解決實例重疊。

 

 

 

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