Panoptic FCN:真正End-to-End的全景分割

極市導(dǎo)讀
本文介紹了全景分割的一些主要指標(biāo)并回顧之前流行的box-based和box-free的全景分割算法(以Panoptic FPN和DeeperLab為例),最后著重介紹了2021CVPR Oral的Panoptic FCN--被作者認(rèn)為是真正的End to End的全景分割。 >>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺(jué)的最前沿

paper: Fully Convolutional Networks for Panoptic Segmentation
code: https://github.com/yanwei-li/PanopticFCN

在計(jì)算機(jī)視覺(jué)中,所有視覺(jué)可見(jiàn)的事物都可以描述成thing和stuff兩種形式(thing指的是可數(shù)物體如人、動(dòng)物、工具,stuff指的是具有相似結(jié)構(gòu)或材料的非晶態(tài)區(qū)域如草、天空、道路),從而延申出了兩類(lèi)經(jīng)典的計(jì)算機(jī)視覺(jué)任務(wù):語(yǔ)義分割和實(shí)例分割。其中語(yǔ)義分割的任務(wù)是預(yù)測(cè)每個(gè)像素點(diǎn)的語(yǔ)義類(lèi)別(即預(yù)測(cè)stuff),而實(shí)例分割的任務(wù)是預(yù)測(cè)每個(gè)實(shí)例物體包含的像素區(qū)域(即預(yù)測(cè)thing),分別如上圖b和c所示。然而從圖片中可以看出,語(yǔ)義分割和實(shí)例分割都不足以完備的描述出一副圖像中的視覺(jué)信息,2019年FAIR首次提出全景分割的概念,全景分割任務(wù)需要同時(shí)預(yù)測(cè)出每個(gè)像素點(diǎn)賦予類(lèi)別Label和實(shí)例ID(即同時(shí)預(yù)測(cè)thing和stuff,如圖d所示),如果能夠很好的解決全景分割任務(wù),那么就能夠完備的描述出一幅圖像的視覺(jué)信息,對(duì)于無(wú)人駕駛、VR等場(chǎng)景來(lái)說(shuō),完備的場(chǎng)景解析是非常有意義的。
下面主要先介紹一下全景分割的一些主要指標(biāo),然后回顧一下之前流行的box-based和box-free的全景分割算法(以Panoptic FPN和DeeperLab為例),最后重點(diǎn)講一下中2021CVPR Oral的Panoptic FCN,個(gè)人認(rèn)為是目前真正意義上的第一個(gè)End-to-End全景分割,非常精彩!
01 評(píng)價(jià)指標(biāo)
FAIR為全景分割設(shè)計(jì)了新的評(píng)價(jià)標(biāo)準(zhǔn) PQ (panoptic segmentation) 、SQ ( segmentation quality)、RQ (recognition quality) ,計(jì)算公式如下:

其中,RQ是檢測(cè)中應(yīng)用廣泛的 F1 score,用來(lái)計(jì)算全景分割中每個(gè)實(shí)例物體識(shí)別的準(zhǔn)確性,SQ 表示匹配后的預(yù)測(cè) segment與標(biāo)注 segment 的 mIOU,如下圖所示,只有當(dāng)預(yù)測(cè) segment 與標(biāo)注 segment 的 IOU 嚴(yán)格大于 0.5 時(shí),認(rèn)為兩個(gè) segment 是匹配的。

從上面的公式能夠看到,在預(yù)測(cè)與標(biāo)注匹配后的分割質(zhì)量 SQ 計(jì)算時(shí),評(píng)價(jià)指標(biāo)PQ只關(guān)注每個(gè)實(shí)例的分割質(zhì)量,而不考慮不同實(shí)例的大小,即大物體與小物體的分割結(jié)果對(duì)最終的PQ結(jié)果影響相同。然而在一些應(yīng)用場(chǎng)景中更關(guān)注大物體的分割結(jié)果,如肖像分割中大圖的人像分割、自動(dòng)駕駛中近距離的物體等,于是進(jìn)一步提出了 PC (Parsing Covering) 評(píng)價(jià)指標(biāo),計(jì)算公式如下:

其中,
02 Panoptic FPN
Panoptic FPN是全景分割box-based的經(jīng)典方法,box-based的全景分割基本都跟Panoptic FPN非常類(lèi)似,這里以Panoptic FPN為例,介紹一下box-based的全景分割常規(guī)做法。

如上圖所示,Panoptic FPN使用FPN作為backbone部分,來(lái)提取多尺度的語(yǔ)義信息,然后后續(xù)接一個(gè)instance segmentation branch,來(lái)預(yù)測(cè)instance,實(shí)際上fpn+instance segmentation branch等同于mask rcnn,其中instance segmentation branch由一個(gè)box branch和一個(gè)instance branch組成,instance的預(yù)測(cè)過(guò)程是先通過(guò)box branch預(yù)測(cè)出box,然后通過(guò)預(yù)測(cè)box的范圍在instance branch預(yù)測(cè)出instance,這就是box-based全景分割的由來(lái)。Panoptic FPN在mask rcnn的基礎(chǔ)上再增加一個(gè)semantic segmentation branch,來(lái)預(yù)測(cè)出semantic。instance segmentation branch和semantic segmentation branch的輸出分別對(duì)應(yīng)thing和stuff。
另外由于box-based的全景分割通過(guò)兩個(gè)branch分別預(yù)測(cè)thing和stuff,會(huì)導(dǎo)致出現(xiàn)兩個(gè)branch預(yù)測(cè)結(jié)果有重合區(qū)域,需要引入后處理過(guò)程來(lái)去重。Panoptic FPN設(shè)計(jì)的后處理過(guò)程和NMS很類(lèi)似:
(1)根據(jù)不同實(shí)例的置信度來(lái)去除重疊部分
(2)以實(shí)例優(yōu)先原則去除實(shí)例和語(yǔ)義分割輸出之間的重疊部分
(3)去除stuff標(biāo)記為“其他”或者給定面積閾值下的區(qū)域
之后的box-based全景分割算法大多數(shù)都是圍繞著如何改進(jìn)后處理還有不同branch如何進(jìn)行信息融合進(jìn)行的。但是無(wú)論怎么改進(jìn),box-based的全景分割存在一個(gè)天然的缺陷,最終的預(yù)測(cè)結(jié)果主要取決于box branch的預(yù)測(cè)精度,并且box branch的feature map尺寸受限制。
03 DeeperLab
DeeperLab是全景分割box-free的經(jīng)典方法,去除了類(lèi)似Panoptic FPN的box預(yù)測(cè)部分,直接預(yù)測(cè)出thing和stuff。相比Panoptic FPN等方法,去除了box branch預(yù)測(cè)精度的影響,并且能在更大feature map上進(jìn)行全景分割。

DeeperLab包含Encoder、Decoder 和 Prediction 三個(gè)部分,其中,Encoder 和 Decoder 兩個(gè)部分是參數(shù)共享的。在Encoder部分,末尾使用了ASPP模塊來(lái)增加特征表達(dá)能力;在Decoder部分,通過(guò)使用S2D和D2S模塊來(lái)高效的融合不同尺度的特征。
為了得到目標(biāo)實(shí)例預(yù)測(cè),作者使用基于關(guān)鍵點(diǎn)的方法,在 object instance segmentation branch,同時(shí)預(yù)測(cè)了 keypoint heatmap、long-range offset map、short-range offset map和middle-range offset map四種輸出,得到像素點(diǎn)與每個(gè)實(shí)例關(guān)鍵點(diǎn)之間的關(guān)系,并依此融合形成類(lèi)別未知的不同實(shí)例,另外semantic segmantion branch預(yù)測(cè)出語(yǔ)義信息,最后結(jié)合兩個(gè)branch輸出得到全景分割的結(jié)果。
04 Panoptic FCN

上述的以Panoptic FPN為代表的box-based全景分割還有以DeeperLab為代表的box-free全景分割都是將thing和stuff拆分成兩個(gè)branch來(lái)進(jìn)行預(yù)測(cè)的,這必然會(huì)引入更多的后處理還有設(shè)計(jì)不同branch信息融合的操作,整個(gè)系統(tǒng)顯的即冗余又復(fù)雜。個(gè)人認(rèn)為Panoptic FCN是真正意義上的第一個(gè)end-to-end全景分割,通過(guò)將thing和stuff統(tǒng)一成特征描述子kernels來(lái)進(jìn)行預(yù)測(cè),同時(shí)省去了復(fù)雜后處理還有不同branch信息融合的操作,是全景分割發(fā)展歷程中的集大成者。

Panoptic FCN主要由Kernel Generator、Kernel Fusion和Feature Encoder三個(gè)部分組成。Panoptic FCN先通過(guò)引入kernel generator來(lái)為thing和stuff生成kernel weights,然后通過(guò)kernel fusion對(duì)多個(gè)stage的kernel weights進(jìn)行合并,feature encoder用來(lái)對(duì)高分辨率feature進(jìn)行編碼,最后將得到的kernels和編碼feature卷積得到最終預(yù)測(cè)結(jié)果。
Kernel Generator
kernel generator由kernel head和position head兩個(gè)branch構(gòu)成,首先通過(guò)position head同時(shí)預(yù)測(cè)thing和stuff的位置(其中,thing通過(guò)預(yù)測(cè)center來(lái)定位和分類(lèi),stuff通過(guò)region來(lái)定位和分類(lèi)),然后根據(jù)thing和stuff的位置,從kernel head中產(chǎn)生kernel weights。這里有一個(gè)細(xì)節(jié)是,thing通過(guò)定位的點(diǎn)從kernel head對(duì)應(yīng)的點(diǎn)抽取kernel weight,而stuff通過(guò)定位的區(qū)域mask和kernel head相乘得到kernel weight,這樣子thing和stuff的kernel weight維度能夠保持相同。
Kernel Fusion
kernel fusion將不同stage產(chǎn)生的kernel weights進(jìn)行合并,保證thing的實(shí)例感知和stuff的語(yǔ)義一致性。簡(jiǎn)單來(lái)說(shuō)通過(guò)對(duì)不同stage的kernel weights平均池化產(chǎn)生所有thing和stuff的kernel weights,然后通過(guò)閾值來(lái)去除相似的kernel weight,最后產(chǎn)生M個(gè)thing的kernel weights和N個(gè)stuff的kernel weights。具體細(xì)節(jié)可以看開(kāi)源code。
Feature Encoder
feature encoder首先對(duì)高分辨率feature進(jìn)行編碼得到編碼feature,然后用kernel fusion得到的M+N個(gè)kernel weights對(duì)encoded feature進(jìn)行卷積,得到最終的預(yù)測(cè)結(jié)果,其中每個(gè)輸出通道表示一個(gè)thing或者stuff的mask預(yù)測(cè)。和SOLO類(lèi)似,Panoptic FCN的kernel head和feature encoder都引入了coord,有利于和position head特征進(jìn)行位置對(duì)齊,對(duì)精度的提升非常大。
實(shí)驗(yàn)結(jié)果
最終得到的實(shí)驗(yàn)結(jié)果,速度和精度的平衡超過(guò)了之前的全景分割算法。

Panoptic FCN是第一個(gè)將thing和stuff進(jìn)行統(tǒng)一預(yù)測(cè),這對(duì)于如何解全景分割任務(wù)具有重大意義。
Reference
1. Panoptic Segmentation
2. Panoptic Feature Pyramid Networks
3. DeeperLab: Single-Shot Image Parser
4. Fully Convolutional Networks for Panoptic Segmentation
推薦閱讀
2020-12-22
2020-12-07
2020-08-20

# CV技術(shù)社群邀請(qǐng)函 #
備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測(cè)-深圳)
即可申請(qǐng)加入極市目標(biāo)檢測(cè)/圖像分割/工業(yè)檢測(cè)/人臉/醫(yī)學(xué)影像/3D/SLAM/自動(dòng)駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群
每月大咖直播分享、真實(shí)項(xiàng)目需求對(duì)接、求職內(nèi)推、算法競(jìng)賽、干貨資訊匯總、與 10000+來(lái)自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺(jué)開(kāi)發(fā)者互動(dòng)交流~

