0
本文作者: skura | 2019-03-18 15:21 |
雷鋒網(wǎng) AI 科技評論按,本文作者劉環(huán)宇,系浙江大學(xué)控制科學(xué)與工程自動化系碩士,曠視科技研究院算法研究員,全景分割算法 OANet 第一作者,研究方向包括全景分割、語義分割等。同時,他也是 2018 COCO + Mapillary 全景分割比賽曠視 Detection 組冠軍團隊成員。
本文原載于知乎,雷鋒網(wǎng)獲授權(quán)轉(zhuǎn)載。
前言
在計算機視覺中,圖像語義分割(Semantic Segmentation)的任務(wù)是預(yù)測每個像素點的語義類別;實例分割(Instance Segmentation)的任務(wù)是預(yù)測每個實例物體包含的像素區(qū)域。全景分割 [1] 最先由 FAIR 與德國海德堡大學(xué)聯(lián)合提出,其任務(wù)是為圖像中每個像素點賦予類別 Label 和實例 ID,生成全局的、統(tǒng)一的分割圖像。
接下來我們將全面解讀全景分割任務(wù),下面這張思維導(dǎo)圖有助于大家整體把握全景分割任務(wù)特性:
全景分割解讀思維導(dǎo)圖
首先,我們將分析全景分割任務(wù)的評價指標(biāo)及基本特點,并介紹目前最新的研究進展;然后介紹我們發(fā)表于 CVPR 2019 的工作 Occlusion Aware Network (OANet),以及曠視研究院 Detection 組參與的 2018 COCO Panoptic Segmentation 比賽工作介紹;最后對全景分割當(dāng)前研究進行總結(jié)與分析。
任務(wù)與前沿進展解讀
全景分割任務(wù),從任務(wù)目標(biāo)上可以分為 object instance segmentation 子任務(wù)與 stuff segmentation 子任務(wù)。全景分割方法通常包含三個獨立的部分:object instance segmentation 部分,stuff segmentation 部分,兩子分支結(jié)果融合部分;通常 object instance segmentation 網(wǎng)絡(luò)和 stuff segmentation 網(wǎng)絡(luò)相互獨立,網(wǎng)絡(luò)之間不會共享參數(shù)或者圖像特征,這種方式不僅會導(dǎo)致計算開銷較大,也迫使算法需要使用獨立的后處理程序融合兩支預(yù)測結(jié)果,并導(dǎo)致全景分割無法應(yīng)用在工業(yè)中。
因此,可以從以下幾個角度分析與優(yōu)化全景分割算法
(1)網(wǎng)絡(luò)框架搭建;
(2)子任務(wù)融合;
(3)全景輸出預(yù)測;
這三個問題分別對應(yīng)的是全景分割算法中的三個重要環(huán)節(jié),下面我們將分別分析這些問題存在的難點,以及近期相關(guān)工作提出的改進方法與解決方案。
全景分割評價指標(biāo)
FAIR 研究團隊 [1] 為全景分割定了新的評價標(biāo)準(zhǔn) PQ (panoptic segmentation) 、SQ ( segmentation quality)、RQ (recognition quality),計算公式如下:
PQ 評價指標(biāo)計算公式
其中,RQ 是檢測中應(yīng)用廣泛的 F1 score,用來計算全景分割中每個實例物體識別的準(zhǔn)確性,SQ 表示匹配后的預(yù)測 segment 與標(biāo)注 segment 的 mIOU,如下圖所示,只有當(dāng)預(yù)測 segment 與標(biāo)注 segment 的 IOU 嚴(yán)格大于 0.5 時,認(rèn)為兩個 segment 是匹配的。
全景分割預(yù)測結(jié)果與真實標(biāo)注匹配圖解 [1]
從上面的公式能夠看到,在預(yù)測與標(biāo)注匹配后的分割質(zhì)量 SQ 計算時,評價指標(biāo) PQ 只關(guān)注每個實例的分割質(zhì)量,而不考慮不同實例的大小,即大物體與小物體的分割結(jié)果對最終的 PQ 結(jié)果影響相同。Yang et al. [6] 注意到在一些應(yīng)用場景中更關(guān)注大物體的分割結(jié)果,如肖像分割中大圖的人像分割、自動駕駛中近距離的物體等,提出了 PC (Parsing Covering) 評價指標(biāo),計算公式如下:
PC 評價指標(biāo)計算公式
其中,R, R' 分別表示對應(yīng)類別的預(yù)測 segments 與真實 segments,|R| 表示對應(yīng)類別的實例在真實標(biāo)注中像素點數(shù)量,Ni 表示類別為 i 的真實標(biāo)注像素點總和。通過對大的實例物體賦予更大的權(quán)重,使評價指標(biāo)能夠更明顯地反映大物體的分割指標(biāo)。
網(wǎng)絡(luò)框架搭建
由于 object instance segmentation 子任務(wù)與 stuff segmentation 子任務(wù)分別屬于兩個不同的視覺預(yù)測任務(wù),其輸入數(shù)據(jù)及數(shù)據(jù)增強方式、訓(xùn)練優(yōu)化策略與方法、網(wǎng)絡(luò)結(jié)構(gòu)與方法具有較大的不同,如何將兩個子任務(wù)融合并統(tǒng)一網(wǎng)絡(luò)結(jié)構(gòu)、訓(xùn)練策略,是解決該問題的關(guān)鍵。
FAIR 研究團隊提出了一種簡潔有效的網(wǎng)絡(luò)結(jié)構(gòu) Panoptic FPN [2],在網(wǎng)絡(luò)框架層面將語義分割的全卷積網(wǎng)絡(luò)(FCN)[3] 和實例分割網(wǎng)絡(luò) Mask RCNN [4] 統(tǒng)一起來,設(shè)計了單一網(wǎng)絡(luò)同時預(yù)測兩個子任務(wù),網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示。
Panoptic FPN 網(wǎng)絡(luò)框架圖
該網(wǎng)絡(luò)結(jié)構(gòu)能夠有效預(yù)測 object instance segmentation 子任務(wù)與 stuff segmentation 子任務(wù)。在 Mask RCNN 網(wǎng)絡(luò)與 FPN [5] 的基礎(chǔ)上,作者設(shè)計了簡單而有效的 stuff segmentation 子分支:在 FPN 得到的不同層級的特征圖基礎(chǔ)上,使用不同的網(wǎng)絡(luò)參數(shù)得到相同大小的特征圖,并對特征圖進行加法合并,最后使用雙線性插值上采樣至原圖大小,并進行 stuff 類別預(yù)測。
MIT 與谷歌等聯(lián)合提出 DeeperLab [6],使用 bottom-to-up 的方法,同時實現(xiàn) object instance segmentation 子任務(wù)與 stuff segmentation 子任務(wù),其網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:
DeeperLab 網(wǎng)絡(luò)結(jié)構(gòu)圖
該網(wǎng)絡(luò)包含了 encoder、decoder 與 prediction 三個環(huán)節(jié),其中,encoder 和 decoder 部分對兩個子任務(wù)均是共享的,為了增強 encoder 階段的特征,在 encoder 的末尾使用了 ASPP (Atrous Spatial Pyramid Pooling) 模塊 [7];而在 decoder 階段,首先使用 1×1 卷積對低層特征圖與 encoder 輸出的特征圖進行降維,并使用內(nèi)存消耗較少的 space-to-depth [8, 9] 操作替代上采樣操作對低層特征圖進行處理,從而將低層特征圖(大小為原圖 1/4)與 encoder 輸出的特征圖(大小為原圖 1/16)拼接起來;最后,使用兩層 7×7 的大卷積核增加感受野,然后通過 depth-to-space 操作降低特征維度。
為了得到目標(biāo)實例預(yù)測,作者采用類似 [10, 11, 12] 的使用基于關(guān)鍵點表示的方法,如下圖所示,在 object instance segmentation 子分支頭部,分別預(yù)測了 keypoint heatmap(圖 a)、long-range offset map(圖 b)、short-range offset map(圖 c)、middle-range offset map(圖 d)四種輸出,得到像素點與每個實例關(guān)鍵點之間的關(guān)系,并依此融合形成類別不可知的不同實例,最后得到全景分割的結(jié)果。
object instance segmentation 子分支頭部預(yù)測目標(biāo)
子任務(wù)融合
雖然通過特征共享機制與網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,能夠?qū)?object instance segmentation 子任務(wù)與 stuff segmentation 子任務(wù)統(tǒng)一起來,但是這兩個子分支之間的相互聯(lián)系與影響并沒有得到充分的探究,例如:兩個子分支的任務(wù)是否能夠達到相互增益或者單向增益的效果?或者如何設(shè)計將兩個子分支的中間輸出或者預(yù)測關(guān)聯(lián)起來?這一部分問題我們可以統(tǒng)一將它稱作兩個子任務(wù)的相互提升與促進。
中科院自動化研究所提出了 AUNet [13],文中設(shè)計了 PAM(Proposal Attention Module)與 MAM(Mask Attention Module)模塊,分別基于 RPN 階段的特征圖與 object instance segmentation 輸出的前景分割區(qū)域,為 stuff segmentation 提供了物體層級注意力與像素層級注意力,其網(wǎng)絡(luò)結(jié)構(gòu)圖如下圖所示:
AUNet 網(wǎng)絡(luò)結(jié)構(gòu)圖
為了使 object instance segmentation 的預(yù)測輸出與 stuff segmentation 預(yù)測輸出保持一致性,豐田研究院設(shè)計了 TASCNet [14],其網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:
TASCNet 網(wǎng)絡(luò)結(jié)構(gòu)圖
網(wǎng)絡(luò)首先將 object instance segmentation 子分支得到的實例前景掩膜區(qū)域,映射到原圖大小的特征圖中,得到全圖尺寸下的實例前景掩膜區(qū)域,并與 stuff segmentation 預(yù)測的實例前景掩膜進行對比,使用 L2 損失函數(shù)最小化兩個掩膜的殘差。
全景輸出預(yù)測
Object instance segmentation 子分支與 stuff segmentation 子分支的預(yù)測結(jié)果在融合的過程中,一般通過啟發(fā)式算法(heuristic algorithm)處理相沖突的像素點,例如簡單地以 object instance segmentation 子分支的預(yù)測結(jié)果為準(zhǔn),并以 object instance segmentation 子分支的檢測框得分作為不同實例的合并依據(jù)。
這種方式依據(jù)簡單的先驗邏輯判斷,并不能較好地解決全景分割復(fù)雜的合并情況,因此,如何設(shè)計有效的模塊解決 object instance segmentation 子分支與 stuff segmentation 子分支到全景分割輸出的融合過程,也是全景分割任務(wù)中的重要問題。
Uber 與港中文聯(lián)合提出了 UPSNet [15],其網(wǎng)絡(luò)結(jié)構(gòu)圖如下圖所示:
UPSNet 網(wǎng)絡(luò)結(jié)構(gòu)圖
將 object instance segmentation 子分支與 stuff segmentation 子分支的輸出通過映射變換,可得到全景頭部輸出的特征張量,該張量大小為 (Ninst+ Nstuff)×H×W,其中,N_{inst} 為動態(tài)變量,表示一張圖像中實例的數(shù)量,Nstuff 表示 stuff 類別個數(shù),對于每張圖像其數(shù)值是相同的,下文使用 Xthing 和 Xstuff 分別表示這兩種特征張量。此外,網(wǎng)絡(luò)對像素進行了未知類別的預(yù)測(Unknown Prediction),從而使得網(wǎng)絡(luò)能夠?qū)⒉糠窒袼攸c判斷為未知類別并在測試的時候進行忽略,避免做出錯誤的類別導(dǎo)致 PQ 指標(biāo)下降。
在得到 object instance segmentation 子分支與 stuff segmentation 子分支的輸出后,經(jīng)過如下圖所示的變換,映射成 Xthing 和 Xstuff。
panoptic segmentation head 示意圖
Xstuff 可以直接從不規(guī)則類別分割的輸出中提取,Xthing 中的第 i 個實例的掩膜區(qū)域可由 Xmaski + Ymaski 獲得,其中 Xmaski 表示第 i 個實例對應(yīng)的真實標(biāo)注框與標(biāo)注類別在 stuff segmentation 子分支輸出截取的掩膜區(qū)域,Ymaski 表示第 i 個實例對應(yīng)的 instance segmentation 子分支得到的掩膜區(qū)域映射到原圖的掩膜區(qū)域,最后使用標(biāo)準(zhǔn)的逐像素點的交叉熵?fù)p失函數(shù)對全景頭部輸出的張量進行監(jiān)督訓(xùn)練。
Occlusion Aware Network 專欄解讀
論文鏈接:
An End-to-End Network for Panoptic Segmentation
Motivation
在全景分割相關(guān)實驗中,我們發(fā)現(xiàn),依據(jù)現(xiàn)有的啟發(fā)式算法進行 object instance segmentation 子分支與 stuff segmentation 子分支的預(yù)測合并,會出現(xiàn)不同實例之間的遮擋現(xiàn)象。為了解決不同實例之間的遮擋問題,我們提出了 Occlusion Aware Network(OANet),并設(shè)計了空間排序模塊(Spatial Ranking Module),該模塊能夠通過網(wǎng)絡(luò)學(xué)習(xí)得到新的排序分?jǐn)?shù),并為全景分割的實例分割提供排序依據(jù)。
網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
我們提出的端到端的全景分割網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示,該網(wǎng)絡(luò)融合 object instance segmentation 子分支與 stuff segmentation 子分支的基礎(chǔ)網(wǎng)絡(luò)特征,在一個網(wǎng)絡(luò)中同時實現(xiàn)全景分割的訓(xùn)練與預(yù)測。在訓(xùn)練過程中,對于 stuff segmentation 我們同時進行了 object 類別與 stuff 類別的監(jiān)督訓(xùn)練,實驗表明這種設(shè)計有助于 stuff 的預(yù)測。
OANet 網(wǎng)絡(luò)結(jié)構(gòu)圖
采用一種類似語義分割的方法,我們提出一個簡單但非常有效的算法,稱作 Spatial Ranking Module,能夠較好地處理遮擋問題,其網(wǎng)絡(luò)結(jié)構(gòu)如下所示:
Spatial Ranking Module 網(wǎng)絡(luò)結(jié)構(gòu)圖
我們首先將輸入的實例分割結(jié)果映射到原圖大小的張量之中,該張量的維度是實例物體類別的數(shù)量,不同類別的實例分割掩膜會映射到對應(yīng)的通道上。張量中所有像素點位置的初始化數(shù)值為零,實例分割掩膜映射到的位置其值設(shè)為 1;在得到該張量后,使用大卷積核 [16] 進行特征提取,得到空間排序得分圖;最后,我們計算出每個實例對象的空間排序得分,如下所示:
這里,Si; j; cls 表示類別為 cls 的、像素點(i; j)中的得分值,需要注意的是 Si; j; cls 已被歸一化為概率,mi; j 是掩膜像素點指示符,表示像素點(i; j)是否屬于實例,每個實例的空間排序得分由預(yù)測的掩碼區(qū)域所有像素點的排序分?jǐn)?shù)平均得到,Pobjs 表示最終得到的每個實例的排序得分,并將此得分用于全景輸出。
如下圖所示,若使用目前通用的啟發(fā)式融合算法,即僅基于實例分割的檢測框的置信度作為遮擋處理依據(jù),如圖所示,行人檢測框的置信度要明顯高于領(lǐng)帶檢測框的置信度,當(dāng)兩個實例發(fā)生重疊時,領(lǐng)帶的實例會被行人實例遮擋;當(dāng)加入空間排序得分模塊后,我們通過該模塊可以預(yù)測得到兩個實例的空間排序分?jǐn)?shù),依據(jù)空間排序分?jǐn)?shù)得到的排序會更可靠,PQ 會有更大改善。
空間排序模塊流程示意圖
實驗分析
我們對 stuff segmentation 分支的監(jiān)督信號進行了剝離實驗,如下表所示,實驗表明,同時進行 object 類別與 stuff 類別的監(jiān)督訓(xùn)練,能夠為 stuff segmentation 提供更多的上下文信息,并改進預(yù)測結(jié)果。
為了探究 object instance segmentation 子分支與 stuff segmentation 子分支的共享特征方式,我們設(shè)計了不同的共享結(jié)構(gòu)并進行實驗,如下表所示,實驗表明,共享基礎(chǔ)模型特征與 FPN 結(jié)構(gòu)的連接處特征,能夠提高全景分割指標(biāo) PQ。
為了探究我們提出的 spatial ranking module 算法的有效性,我們在不同基礎(chǔ)模型下進行了實驗,如下表所示,其中,w/ spatial ranking module 表示使用我們提出的空間排序模塊得到的結(jié)果,從實驗結(jié)果中可以看到,空間排序模塊能夠在不同的基礎(chǔ)模型下大幅提高全景分割的評測結(jié)果。
為了測試不同卷積設(shè)置對學(xué)習(xí)處理遮擋的影響,進行了如下實驗,結(jié)果表明,提高卷積的感受野可以幫助網(wǎng)絡(luò)學(xué)習(xí)獲得更多的上下文特征,并取得更好的結(jié)果。
下表是本文提出的算法與現(xiàn)有公開指標(biāo)的比較,從結(jié)果中可以看到,本文提出的算法能夠取得最優(yōu)的結(jié)果。
總結(jié)與分析
從上文的文獻分析來看,全景分割任務(wù)的不同重要問題均得到了廣泛探究,但是全景分割任務(wù)依然是有挑戰(zhàn)性、前沿的場景理解問題,目前仍存在一些問題需要進行探究:
第一,由于全景分割可通過分別預(yù)測實例分割子任務(wù)與不規(guī)則類別分割子任務(wù)、兩個子任務(wù)預(yù)測結(jié)果融合得到,整個算法流程中包含較多的細(xì)節(jié)與后處理操作,包括 segments 的過濾、啟發(fā)式融合算法、ignore 像素點的判斷等。這些細(xì)節(jié)對全景分割指標(biāo)有較大的影響,在一定程度上也阻礙了不同算法的對比與評測;
第二,全景分割評測指標(biāo)雖然能夠較好地評測全景分割中實例物體檢測準(zhǔn)確度,以及實例物體與不規(guī)則類別的分割準(zhǔn)確度,但是該評測指標(biāo)更側(cè)重每個實例,并沒有關(guān)注每個實例之間的區(qū)別。文獻 [6] 提出了對大物體有更好的評測指標(biāo) PC (Parsing Covering),使得大物體的分割效果對最終的評測指標(biāo)影響更大,在一些關(guān)注大物體的任務(wù)如肖像分割、自動駕駛中更為有效;
第三,全景分割中子任務(wù)的融合問題,目前研究依然較多地將全景分割看做是 object instance segmentation 與 stuff segmentation 兩個子任務(wù)的合集,如何從全局、統(tǒng)一的分割問題出發(fā),針對性設(shè)計符合全景分割的統(tǒng)一網(wǎng)絡(luò),具有重要的意義。
參考文獻
[1] Kirillov A, He K, Girshick R, et al. Panoptic segmentation[J]. arXiv preprint arXiv:1801.00868, 2018.
[2] Kirillov A, Girshick R, He K, et al. Panoptic Feature Pyramid Networks[J]. arXiv preprint arXiv:1901.02446, 2019.
[3] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.
[4] He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2961-2969.
[5] Lin T Y, Dollár P, Girshick R, et al. Feature pyramid networks for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 2117-2125.
[6] Yang T J, Collins M D, Zhu Y, et al. DeeperLab: Single-Shot Image Parser[J]. arXiv preprint arXiv:1902.05093, 2019.
[7] Chen L C, Papandreou G, Kokkinos I, et al. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs[J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 40(4): 834-848.
[8] Shi W, Caballero J, Huszár F, et al. Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 1874-1883.
[9] Sajjadi M S M, Vemulapalli R, Brown M. Frame-recurrent video super-resolution[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 6626-6634.
[10] Papandreou G, Zhu T, Chen L C, et al. PersonLab: Person pose estimation and instance segmentation with a bottom-up, part-based, geometric embedding model[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 269-286.
[11] Tychsen-Smith L, Petersson L. Denet: Scalable real-time object detection with directed sparse sampling[C] // Proceedings of the IEEE International Conference on Computer Vision. 2017: 428-436.
[12] Law H, Deng J. Cornernet: Detecting objects as paired keypoints [C] // Proceedings of the European Conference on Computer Vision (ECCV). 2018: 734-750.
[13] Li Y, Chen X, Zhu Z, et al. Attention-guided unified network for panoptic segmentation[J]. arXiv preprint arXiv:1812.03904, 2018.
[14] Li J, Raventos A, Bhargava A, et al. Learning to fuse things and stuff[J]. arXiv preprint arXiv:1812.01192, 2018.
[15] Xiong Y, Liao R, Zhao H, et al. UPSNet: A Unified Panoptic Segmentation Network[J]. arXiv preprint arXiv:1901.03784, 2019.
[16] Peng C, Zhang X, Yu G, et al. Large Kernel Matters--Improve Semantic Segmentation by Global Convolutional Network[C] // Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4353-4361.
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。