全景分割這一年,端到端之路

機器之心原創,做者:朱豔芳,編輯:邱陸陸。html

圖像分割(image segmentation)任務的定義是:根據某些規則將圖片分紅若干個特定的、具備獨特性質的區域,並提出感興趣目標的技術和過程。git

目前圖像分割任務發展出瞭如下幾個子領域:語義分割(semantic segmentation)、實例分割(instance segmentation)以及今年剛興起的新領域全景分割(panoptic segmentation)。github

而想要理清三個子領域的區別就不得不提到關於圖像分割中 things 和 stuff 的區別:圖像中的內容能夠按照是否有固定形狀分爲 things 類別和 stuff 類別,其中,人,車等有固定形狀的物體屬於 things 類別(可數名詞一般屬於 things);天空,草地等沒有固定形狀的物體屬於 stuff 類別(不可數名詞屬於 stuff)。算法

語義分割更注重「類別之間的區分」,而實例分割更注重「個體之間的區分」,如下圖爲例,從上到下分別是原圖、語義分割結果和實例分割結果。語義分割會重點將前景裏的人羣和背景裏樹木、天空和草地分割開,可是它不區分人羣的單獨個體,如圖中的人所有標記爲紅色,致使右邊黃色框中的人沒法辨別是一我的仍是不一樣的人;而實例分割會重點將人羣裏的每個人分割開,可是不在意草地、樹木和天空的分割。數據庫

全景分割能夠說是語義分割和實例分割的結合,下圖是同一張原圖的全景分割結果,每一個 stuff 類別與 things 類別都被分割開,能夠看到,things 類別的不一樣個體也被彼此分割開了。
api

目前用於全景分割的常見公開數據集包括:MSCOCO、Vistas、ADE20K 和 Cityscapes。網絡

COCO 是微軟團隊公佈的能夠用來圖像 recognition、segmentation 和 captioning 的數據集,主要從複雜的平常場景中截取,主要有 91 個類別,雖然類別比 ImageNet 少不少,但每一類的圖像不少。學習

Vistas 是全球最大的和最多樣化的街景圖像數據庫,以幫助全球範圍內的無人駕駛和自主運輸技術。人工智能

ADE20K 是一個可用於場景感知、分割和多物體識別等多種任務的數據集。相比於大規模數據集 ImageNet 和 COCO,它的場景更多樣化,相比於 SUN,它的圖像數量更多,對數據的註釋也更詳細。設計

Cityscapes 是一個包含 50 個城市街景的數據集,也是提供無人駕駛環境下的圖像分割用的數據集。

連接以下:

對於語義分割和實例分割任務,如今已經有了一些效果很好的模型,爲研究者熟知的有語義分割的 FCN、Dilated Convolutions、DeepLab、PSPNet 等,實例分割的 SDS、CFM、FCIS、Mask R-CNN 等,而全景分割做爲一個今年剛出現的概念,目前的相關研究仍然屈指可數。

今年一月,爲了找到一種能將 stuff 和 things 同時分割開的算法,Facebook 人工智能實驗室(FAIR)的研究科學家何愷明和他的團隊提出了一個新的研究範式:全景分割(Panoptic Segmentation,PS),定義了新的評價標準。

全景分割概念的提出:如何同時分割 stuff 和 things?

論文地址:arxiv.org/abs/1801.00…

何愷明這篇開創新領域的論文的主要創新包含如下兩點:

① 將語義分割和實例分割統一塊兒來提出新的領域:全景分割;

② 定義新的評價指標。

針對語義分割和實例分割這兩個單獨的任務來講,現有一些專門的評價指標。

而做者認爲沒有使用一個統一的指標(將這兩個任務聯合起來的評價指標)是研究者們一般孤立地研究 stuff 和 thing 分割的主要緣由之一。所以,定義了一個新的評價指標 panoptic quality (PQ) metric,來評價全景分割算法的好壞,PQ 的計算方式爲:

給定 TP(樣本爲正,預測結果爲正)、FP(樣本爲負,預測結果爲正)和 FN(樣本爲正,預測結果爲負),則 PQ 的定義爲:

其中 p 表示預測的 segment,ɡ表示 ground truth。

在這篇開創性的文章中,做者並無提出關於全景分割的新算法,只是定義了新的問題,文章中關於全景分割的效果是經過將語義分割(PSPNet)與實例分割(Mask R-CNN)的結果聯合在一塊兒獲得的。做者只是定義了一個基於規則的將兩者的預測結果結合在一塊兒的方法。最後,文章還給出了兩個潛在的研究方向爲後面的研究者提供參考,一是研究端到端的全景分割模型;二是研究如何更好的將語義分割與實例分割模型結合的算法。

JSIS-Net:端到端的嘗試

今年 9 月,埃因霍芬理工大學的團隊使用共享的特徵提取器,提出了聯合語義與實例分割來獲得全景分割的方法(a Joint Semantic and Instance Segmentation Network , JSIS-Net)。

論文地址:arxiv.org/abs/1809.02…

該網絡的結構圖以下:

該算法與何愷明團隊的作法是相似的,都是將語義分割與實例分割模型結合獲得全景分割結果,只不過兩個模型採用共享特徵提取器來提取特徵,而且進行聯合訓練。基本網絡結構採用 ResNet-50,將提取到的特徵同時輸入到語義分割和實例分割分支中,在語義分割分支中,首先採用 PSPNet 中的金字塔池化模塊產生特徵圖,而後採用混合上採樣方法將預測的結果調整到輸入圖像的大小;實例分割分支中採用的是 Mask R-CNN,最後也將這兩個模型獲得的結果結合在一塊兒獲得全景分割的結果。

在將語義分割與實例分割的結果結合的過程當中,有如下兩個問題須要解決:

一是:因爲全景分割任務要求全部的分割結果都不能有重疊,因此如何處理實例分割結果產生的重疊是首先須要解決的問題,即對於一個處於兩個物體交疊部分的 things 類的像素來講,可能有來自實例分割模型的兩個實例 id 標籤,那麼這時這個像素應該分配給誰?

二是:在將語義分割與實例分割的結果聯合的過程當中,因爲 stuff 的分割只有來自語義分割的預測,而對 things 的預測,語義分割和實例分割兩部分都能產生預測,因此對於一個 things 類別的像素來講,可能有來自語義分割和來自實例分割模型的兩個標籤,那麼當對這種狀況兩個模型預測產生衝突時該如何如何解決?

對於第一個問題,何愷明團隊的作法是採用一種相似非極大值抑制的算法(NMS-like)將重疊的分割結果去除掉;而埃因霍芬理工大學團隊的作法是計算重疊部分的像素屬於各個實例的機率,並將其分配給那個機率最高的實例。

對於第二個問題,若是產生預測衝突,何愷明團隊的作法是將此標籤分配給 things 標籤及其對應的實例 id,而埃因霍芬理工大學團隊的作法是,首先將語義分割結果中獲得的 things 類都刪除掉,而且用語義分割結果預測的最有可能的 stuff 類代替它們,這樣就使得語義分割的結果只有 stuff 類,而後用實例分割的 things 類的結果來替換語義分割結果中屬於 things 類的像素。

JSIS-Net 的主要貢獻在於,應用端到端學習的思想來聯合進行語義分割和實例分割預測,從而最終預測全景分割輸出。做者在最後的結論中代表這種網絡雖然能夠 work,可是效果比何愷明團隊提出的基本方法的效果還差。

如何在沒有足夠的全景分割標註數據的狀況下,習得全景分割模型

今年 11 月份,牛津大學的團隊提出了弱監督全景分割模型:

論文地址:arxiv.org/abs/1808.03…

code 地址:github.com/qizhuli/Wea…

這是首個利用弱監督方式訓練獲得全景分割效果的模型,文章中也沒有提出新的關於全景分割的模型,採用的模型是《Pixelwise Instance Segmentation with a Dynamically Instantiated Network》論文中的模型,網絡結構以下:

這篇文章的主要特色以下:

① 對於僅有 bounding boxes 註釋的圖像,也能夠將圖像中的 stuff 類和 things 類很好的區分出來。

② 對於上面提到的全景分割獲得的 segments 不能有重疊的問題,這篇論文很好的解決了此問題,它不會預測出任何的 overlap,其解決辦法是:對於圖像中的全部像素,在沒有可靠註釋的狀況下,該模型首先採用弱監督(weak supervision)和圖像先驗(image priors)來使圖像中像素的一個子集去逼近 ground-truth,而後,使用這個像素子集的估計標籤來訓練網絡。逼近 ground-truth 的方法是:只對那些肯定的像素分配標籤,並將剩餘的像素集標記爲「忽略」區域。

TASCNet:端到端實現

12 月份,豐田研究院也提出了端到端的全景分割模型 TASCNet:

論文地址:arxiv.org/abs/1812.01…

這篇文章針對何愷明提出的兩個研究方向都進行研究,既設計了一個 end-to-end 的全景分割模型,也提出了一個新算法能夠更好的將語義分割與實例分割模型結合。網絡結構以下:

和全部的網絡同樣,TASCNet 也用了深度網絡提取特徵,它使用的是 ResNet-50 和 FPN 做爲 backbone,使用 FPN 可以從 backbone 網絡的更深處捕獲低級特徵,這樣能夠識別更多的對象。

這篇文章的創新主要在於它提出了一個新的算法(Things and Stuff Consistency, TASC),用於在訓練過程當中保持語義分割和實例分割這兩個子任務的輸出分佈之間對齊(alignment)。做者認爲雖然語義分割與實例分割這兩個分支都使用的是同一個 backbone 網絡訓練獲得的特徵,可是因爲這兩個任務在註釋上的細微差異以及其餘因素的影響,會使得這兩個分支 drift apart,而全景分割的任務是使得全局最優,因此採用 TASC 算法來使得兩個任務更好的融合。

相關文章
相關標籤/搜索