徐鵬斌 瞿安國 王坤峰 李大字
全景分割[1]是將圖像劃分為語義區(qū)域(Stuff)和對象實例(Things)的任務,是近年來新興起的一個研究方向,也是計算機視覺中一個重要的研究問題.隨著圖像處理技術(shù)的發(fā)展,數(shù)字圖像已經(jīng)成為日常生活中不可缺少的媒介,每時每刻都在產(chǎn)生圖像數(shù)據(jù).對圖像中的物體進行快速準確的分割變得愈發(fā)重要.
全景分割包含語義分割和實例分割兩大任務.語義分割是將類別標簽按圖像中物體類別分配給每個像素,即將輸入圖像中的像素分為不同的語義類別.傳統(tǒng)的語義分割方法大多基于模型驅(qū)動,模型驅(qū)動方法可分為生成式和判別式[2].生成式模型首先學習圖像的特征和標簽概率,然后計算輸入圖像特征時各個標簽的后驗概率,依據(jù)此概率對圖像進行標注.馬爾科夫隨機場(Markov random field,MRF)是一種應用廣泛的生成式模型[3],它利用先驗上下文信息和訓練得到的結(jié)果,提高分割性能.但是當圖像分辨率較大時,分割速度和精度會大幅下降.判別式模型假設圖像特征與標簽之間存在某種映射關(guān)系,然后從歷史數(shù)據(jù)中學習該映射關(guān)系的相關(guān)參數(shù)[2].典型的判別式模型包括支持向量機(Support vector machine,SVM)、條件隨機場(Conditional random field,CRF)等.SVM 因其可處理非線性且具有良好的泛化能力,在語義分割研究中得到了廣泛應用[3].CRF 不僅可以利用圖像局部上下文信息,還可學習從局部到全局的上下文信息,已經(jīng)成功應用于圖像標記[4].然而,判別式模型存在收斂速度慢、無法解決存在隱變量的情況等問題.
近年來,隨著硬件計算能力的提高,語義分割得到快速發(fā)展.隨著全卷積網(wǎng)絡(Fully convolutional network,F(xiàn)CN)的出現(xiàn)[5],深度學習推動語義分割任務快速發(fā)展,并且在自動駕駛、人臉識別等領(lǐng)域得到應用.
實例分割實質(zhì)上是目標檢測和語義分割的結(jié)合,目的是將輸入圖像中的目標檢測出來,并且對目標的每個像素分配類別標簽.實例分割能夠?qū)η熬罢Z義類別相同的不同實例進行區(qū)分,這是它與語義分割的最大區(qū)別.相比語義分割,實例分割發(fā)展較晚,因此實例分割模型主要基于深度學習技術(shù),但它也是圖像分割一個重要的組成部分.隨著深度學習的發(fā)展,實例分割相繼出現(xiàn)了SDS (Simultaneous detection and segmentation)[6]、DeepMask[7]、MultiPath network[8]等方法,分割精度和效率逐漸得到提升.
全景分割是語義分割和實例分割的綜合.全景分割任務不僅要求區(qū)分輸入圖像中的背景語義類別和前景語義類別,還要將同一類別前景語義中的不同實例分割出來,因此全景分割任務比語義分割、實例分割任務的難度更高.全景分割由Kirillov 等[1]提出,已經(jīng)得到計算機視覺學界的高度重視,涌現(xiàn)出JSIS-Net (Joint semantic and instance segmentation network)[9]、TASCNet (Things and stuff consistency network)[10]、AUNet (Attention-guided unified network)[11]等方法,顯著推動了全景分割的發(fā)展.但是在真實環(huán)境下,全景分割經(jīng)常遇到以下挑戰(zhàn):
1) 分支融合沖突
全景分割任務是語義分割與實例分割兩個任務的綜合,在網(wǎng)絡結(jié)構(gòu)方面,現(xiàn)有大部分方法將輸入圖像的特征輸送到語義分支與實例分支,然后融合兩個分支的輸出,得到全景輸出.但是在融合時會出現(xiàn)像素分配沖突,影響全景預測質(zhì)量.
2) 小物體檢測分割
數(shù)據(jù)集中的圖像會出現(xiàn)大小、距離不一的許多物體,對于大物體,諸多全景分割方法能夠?qū)ζ溥M行準確分割,而當小物體出現(xiàn)時,經(jīng)常伴隨被漏檢或者分割不準確的問題,這導致全景分割精度較低,直接增加了全景分割的難度.
3) 分割對象交疊
在圖像采集過程中,會因為季節(jié)、天氣、光照、距離等條件的變化,出現(xiàn)不同的場景,圖像中物體會出現(xiàn)遮擋交疊等情況,這使得分割方法無法準確判斷像素的歸屬,導致分割不精確.
為了克服上述挑戰(zhàn),已經(jīng)出現(xiàn)了一些全景分割方法,它們在分支融合、小物體檢測、遮擋處理方面提出了不同的應對策略,在一定程度上解決了這些問題.本文首先介紹全景分割的流程,然后重點介紹深度學習在全景分割領(lǐng)域的研究進展.
本文內(nèi)容安排如下:第1 節(jié)介紹全景分割的基本流程;第2 節(jié)對語義分割、實例分割等相關(guān)知識以及全景分割數(shù)據(jù)集進行介紹;第3 節(jié)介紹深度學習在全景分割領(lǐng)域的研究進展;第4 節(jié)討論全景分割研究面臨的挑戰(zhàn),并對今后的發(fā)展趨勢進行展望;第5 節(jié)對本文進行總結(jié).
全景分割任務的重點在于為每個像素分配一個語義標簽和實例ID,處理流程如圖1 所示,主要分為三個步驟:特征提取、語義分割和實例分割處理、子任務融合.對于一幅輸入圖像,首先提取特征.然后將提取的特征輸入語義分割與實例分割的子任務分支進行處理,產(chǎn)生語義分割與實例分割輸出.最后是子任務融合,將語義與實例分支產(chǎn)生的結(jié)果通過適當?shù)牟呗赃M行融合,產(chǎn)生最終的全景預測.迄今已有許多工作采用上述基本流程,如JSIS-Net[9]、AUNet[11]、Single network[12]、OANet[13]等.本節(jié)將從特征提取、語義分割與實例分割處理、子任務融合三個方面總結(jié)應用于全景分割的關(guān)鍵技術(shù).
特征提取的主要任務是獲得輸入圖像的特征,為后續(xù)的兩個任務提供必要信息,如圖1 所示.目前,全景分割對特征的提取全部基于深度神經(jīng)網(wǎng)絡,主要使用的骨干網(wǎng)絡包括VGGNet (Visual geometry group network)、ResNet (Residual network)等.
圖1 全景分割流程圖Fig.1 The processing flow of panoptic segmentation
VGGNet[14]具有靈活的結(jié)構(gòu)和良好的性能,在ILSVRC (ImageNet large scale visual recognition challenge)圖像分類任務的Top5 錯誤率為7.5%,受到廣泛關(guān)注.VGGNet 性能的提升主要依靠使用大量小卷積核和池化核,加深了網(wǎng)絡結(jié)構(gòu),因此提高了特征學習能力和非線性表達能力,與之前的卷積神經(jīng)網(wǎng)絡相比,對圖像的適應性也更好.
ResNet 是He 等[15]提出的深度殘差網(wǎng)絡.由于神經(jīng)網(wǎng)絡在反向傳播過程中要不斷地傳播梯度,當網(wǎng)絡層數(shù)加深時,梯度在傳播過程中會逐漸消失,導致網(wǎng)絡難以訓練.ResNet 的出現(xiàn)緩解了這個問題,它的思想是讓卷積層擬合殘差映射,而不是直接擬合所需的低層映射,因此網(wǎng)絡變得更易于優(yōu)化,同時精度也得到了提升.由于具有以上良好特性,ResNet 在全景分割任務中得到了較多應用[12,16-17].
許多特征提取網(wǎng)絡提高模型性能的策略以網(wǎng)絡加深或加寬為主,而Huang 等[18]從特征的角度出發(fā),提出DenseNet,將當前層與之前的每一層相連,通過建立不同層之間的連接關(guān)系,充分利用特征以達到更好的效果.相較于其他特征提取網(wǎng)絡,DenseNet減輕了梯度消失的問題,減少了參數(shù)數(shù)量,增強了特征信息流的傳遞.
為了滿足實時性,研究小而高效的模型至關(guān)重要,為此,Google 提出了MobileNet[19].該網(wǎng)絡提出了深度可分離卷積,將傳統(tǒng)卷積的兩個步驟分為Depth-wise 和Point-wise 卷積,大幅減少了參數(shù)量,在Point-wise 改變通道數(shù),可大幅減小計算量.但是MobileNet 精度較低.隨后,Google 又提出了MobileNet V2 和MobileNet V3 網(wǎng)絡[20-21],Mobile-Net V3 綜合了前兩個版本的優(yōu)點,改進了池化層和激活函數(shù),網(wǎng)絡準確率和計算速度進一步得到了提升.
通過骨干網(wǎng)絡提取特征后,特征可以被語義分割和實例分割任務共享,進行后續(xù)處理.如文獻[13]提出的OANet,在骨干網(wǎng)絡之上添加語義分割分支與實例分割分支:實例分割分支采用Mask R-CNN作為網(wǎng)絡架構(gòu),對骨干網(wǎng)絡特征進行RoIAlign 等操作產(chǎn)生實例分割預測;語義分割分支通過對骨干網(wǎng)絡特征進行上采樣等操作產(chǎn)生語義分割預測.文獻[10,12,22]也對骨干網(wǎng)絡提取的特征進行共享和處理,以實現(xiàn)語義和實例預測.
子任務融合步驟是將上述兩個分支的輸出結(jié)果進行處理,以產(chǎn)生最終的全景預測.研究人員已經(jīng)提出許多方法來解決這個問題,這些方法大致分為兩類:
1) 啟發(fā)式方法
啟發(fā)式方法是相對于最優(yōu)化方法提出的,它是依據(jù)有限的信息在短時間內(nèi)找到問題解決方案的一種方式,一般啟發(fā)式方法有模擬退火法[23]、遺傳算法[24]、神經(jīng)網(wǎng)絡[25]等.本文中以神經(jīng)網(wǎng)絡為主,如在文獻[11,13,26]中,融合步驟應用了啟發(fā)式方法對語義、實例分支的預測結(jié)果進行融合,形成全景分割預測.
2) 設置Panoptic head 進行子任務融合
Panoptic head 由Xiong 等[27]提出,將語義分割與實例分割的結(jié)果進行融合,產(chǎn)生全景預測,性能方面達到了一流水準.后來一些工作受此啟發(fā),也應用Panoptic head 類似方法進行分支融合,如文獻[22,28-29]等,將來自兩分支的預測、掩碼或者邏輯輸出輸入Panoptic head 進行處理,進而得到全景預測.第3 節(jié)將對此進行詳細介紹.
全景分割預測主要依賴于語義分割與實例分割預測的融合,本節(jié)從卷積神經(jīng)網(wǎng)絡、語義分割、實例分割等方面對全景分割的相關(guān)知識進行介紹.
卷積神經(jīng)網(wǎng)絡最早可以追溯至1980 年日本學者福島邦彥提出的神經(jīng)認知機(Neocognitron)模型[30].隨后LeCun[31]提出LeNet-5,將反向傳播算法引入網(wǎng)絡訓練,形成了卷積神經(jīng)網(wǎng)絡的雛形.在2012 年ImageNet 圖像識別大賽上,Krizhevsky等[32]提出AlexNet,該網(wǎng)絡具有全新的深層結(jié)構(gòu)并引入了dropout 方法,將圖像識別錯誤率從25%降至15%,獲得了當年的圖像識別冠軍.從此,深度卷積神經(jīng)網(wǎng)絡引起廣泛關(guān)注,許多學者采用深度卷積神經(jīng)網(wǎng)絡解決目標檢測、圖像分割等計算機視覺問題.近年來,卷積神經(jīng)網(wǎng)絡出現(xiàn)了諸多模型,如VGGNet、GoogLeNet、ResNet 等.
2.1.1 卷積神經(jīng)網(wǎng)絡的基本組成
卷積神經(jīng)網(wǎng)絡主要由輸入層、卷積層、池化層和全連接層組成.輸入層主要對輸入數(shù)據(jù)進行標準化處理,即歸一化.輸入數(shù)據(jù)可以是一維的,也可以是多維的.由于卷積神經(jīng)網(wǎng)絡在計算機視覺領(lǐng)域應用較多,許多工作都假設輸入為三維數(shù)據(jù),包括圖像的寬度、高度和顏色通道數(shù).
卷積層主要對輸入圖像進行特征提取,其內(nèi)部通常包含多個卷積核,即濾波器.卷積核對特定區(qū)域進行卷積運算,產(chǎn)生不同的特征映射,這個區(qū)域稱為“感受野”,其大小取決于卷積核的大小.
卷積層提取特征后,堆疊形成的輸出會被傳輸至池化層進行處理.池化層本質(zhì)上是一種下采樣操作,可以降低特征映射的分辨率,提取抽象語義.典型的池化方法有最大池化和平均池化,最大池化計算區(qū)域內(nèi)的特征最大值,平均池化計算區(qū)域內(nèi)的特征平均值.由于卷積神經(jīng)網(wǎng)絡經(jīng)常用于圖像識別,最大池化能夠更好地保留圖像邊緣信息,因此最大池化比平均池化更常用.
全連接層的主要作用是將特征圖轉(zhuǎn)化為類別輸出,全連接層可以有多層,通常在全連接層引入dropout 以防止過擬合,然后通過softmax 函數(shù)層生成圖像數(shù)據(jù)或樣本的類別概率.
2.1.2 經(jīng)典網(wǎng)絡結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡已經(jīng)出現(xiàn)了許多網(wǎng)絡結(jié)構(gòu),本小節(jié)介紹幾種典型結(jié)構(gòu).
1) LeNet-5
LeCun 等提出了LeNet-5 模型[31],在手寫數(shù)字識別領(lǐng)域得到成功應用,在MNIST 數(shù)據(jù)集上識別正確率達到99.2%.該模型共有7 層,包括卷積層、池化層和全連接層,如圖2 所示.原始圖像輸入網(wǎng)絡后,首先歸一化為32 × 32 的矩陣,然后輸入卷積層、池化層進行處理.卷積運算用于提取更高層的圖像語義特征,同時降低噪聲干擾.池化層用于降低特征圖的維數(shù),一方面可以降低運算量,另一方面可以防止過擬合.最后經(jīng)過全連接層的激活函數(shù)運算后到輸出層,輸出原始圖像所屬的類別概率.
2) AlexNet
AlexNet 是Krizhevsky 等[32]于2012 年提出的網(wǎng)絡.AlexNet 包括8 層,有5 個卷積層和3 個全連接層.AlexNet 與LeNet-5 的主要區(qū)別在于AlexNet使用了ReLU 激活函數(shù),使得網(wǎng)絡訓練時的梯度計算更加簡單,并且在一定程度上緩解了梯度消失問題.此外,為了防止過擬合,在網(wǎng)絡訓練時采用了數(shù)據(jù)增強和dropout 方法,卷積通道數(shù)比LeNet 更多,網(wǎng)絡運行更快.
3) VGGNet
VGGNet 是由Simonyan 等[14]提出的卷積神經(jīng)網(wǎng)絡,包括VGG-16 (結(jié)構(gòu)如圖3 所示)和VGG-19.VGGNet 采用3×3 的卷積核和2×2 的池化核,該設置減少了網(wǎng)絡參數(shù),有利于更好地提取特征,同時節(jié)省計算資源.VGGNet 比AlexNet 有更深的網(wǎng)絡結(jié)構(gòu),進一步提升了網(wǎng)絡性能.
圖2 LeNet-5 的網(wǎng)絡結(jié)構(gòu)[31]Fig.2 The structure of LeNet-5[31]
圖3 VGG-16 的網(wǎng)絡結(jié)構(gòu)Fig.3 The structure of VGG-16
4) GoogLeNet
GoogLeNet 是Szegedy 等[33]提出的一種卷積神經(jīng)網(wǎng)絡結(jié)構(gòu),在2014 年ImageNet 圖像識別挑戰(zhàn)賽上獲得了冠軍.GoogLeNet 有22 個卷積層,通過提出并應用Inception 模塊,GoogLeNet 網(wǎng)絡的參數(shù)更少,精度更高.AlexNet、VGGNet等結(jié)構(gòu)在增加網(wǎng)絡深度(層數(shù))時使得參數(shù)更多,更容易出現(xiàn)過擬合,同時耗費了大量計算資源.為了解決這個問題,GoogLeNet 網(wǎng)絡大量應用1×1、3×3 和5×5 的卷積核,降低了運算量,并且修正了網(wǎng)絡的非線性問題,輸出結(jié)果能夠得到顯著的提升.
5) ResNet
ResNet 由He 等[15]提出,在2015 年ImageNet 挑戰(zhàn)賽的多個任務上獲得冠軍.與之前的卷積網(wǎng)絡相比,ResNet 能夠更好地解決梯度消失和爆炸問題.如圖4 所示,ResNet 包括兩種映射:一種是恒等映射,即圖中曲線部分;另一種是殘差映射,即曲線以外的部分.假設原始映射為H(x),非線性擬合的另外一部分映射F(x)=H(x) -x為殘差部分,那么原來的映射就可以轉(zhuǎn)化為H(x)=F(x)+x.若將殘差部分推至0,則原始映射直接為x,即曲線部分,這時可以大大降低運算量,但這只是一種極端情況,實際很難達到.在ImageNet 數(shù)據(jù)集上,ResNet 比普通網(wǎng)絡的表現(xiàn)更好,將網(wǎng)絡層數(shù)加深,錯誤率逐漸下降,直到1 000 層以后,出現(xiàn)過擬合.
圖4 ResNet 網(wǎng)絡的殘差模塊[15]Fig.4 The residual module of ResNet[15]
隨著深度學習技術(shù)的快速發(fā)展,語義分割研究取得了顯著突破,出現(xiàn)了許多用于語義分割的卷積神經(jīng)網(wǎng)絡模型,如FCN、DeepLab、U-Net 等.
2.2.1 語義分割的基本組成
語義分割處理的基本流程包含三部分:輸入、分割處理和輸出,如圖5 所示.
圖5 語義分割處理流程Fig.5 The processing flow of semantic segmentation
首先,圖像在輸入層經(jīng)過歸一化等操作,將像素設置到固定值.其次,將處理后的圖像輸入CNN語義分割模型,在其中,卷積層提取圖像特征,池化層降低特征維數(shù),許多模型還采用批規(guī)范化和ReLU激活函數(shù),在加快模型運行速度的同時,緩解了過擬合問題.最后,網(wǎng)絡通過softmax 層計算所有類別的概率,將類別標簽分配給對應的像素,輸出圖像像素所屬的語義類別.
2.2.2 語義分割的典型方法
1) FCN
全卷積網(wǎng)絡 (Fully convolutional network,F(xiàn)CN)是Shelhamer 等[5]提出的一種重要的語義分割模型.傳統(tǒng)CNN 在卷積層后使用全連接層和softmax 進行分類和分配標簽,而FCN 可以接受任意尺寸的輸入圖像,通過將網(wǎng)絡中的全連接層替換為卷積層,在最后一個卷積層的輸出進行上采樣,F(xiàn)CN 得到像素語義類別的密集預測.由于使用雙線性插值進行上采樣導致分割結(jié)果不夠精細,因此將抽象表達能力強的深層特征與分辨率高的低層特征進行跳躍連接(Skip connection),提高語義分割的精細度.
2) DeepLab
Chen 等[34]提出了DeepLab 語義分割網(wǎng)絡.該網(wǎng)絡以VGG-16 為基礎,將VGG-16 的全連接層轉(zhuǎn)換為卷積層,在圖像的原始分辨率上產(chǎn)生非常稀疏的計算分數(shù),為了得到更密集的計算分數(shù),DeepLab 采用空洞卷積對特征圖采樣,擴大感受野,并縮小步長.空洞卷積能夠解決CNN 反復池化和下采樣帶來的分辨率下降問題.在此基礎上又提出了DeepLab V2[35],它以ResNet 和VGG-16 為基礎,采用ASPP (Atrous spatial pooling pyramid)對網(wǎng)絡進行修正,以增強多尺度特征.DeepLab V3[36]以級聯(lián)的方式采用空洞卷積構(gòu)建語義分割模塊,ASPP 部分以并行的方式連接,使得網(wǎng)絡更深,并且可以合并多個上下文.
3) U-Net
U-Net[37]是FCN 的一種變體,最初用于醫(yī)學圖像分割,由于分割效果良好而用于語義分割.U-Net是一個U 形的語義分割網(wǎng)絡,采用編碼器-解碼器結(jié)構(gòu),簡單高效.編碼器部分對輸入圖像進行特征提取,由卷積和下采樣操作組成,卷積核尺寸為3×3,步長為1.由于沒有零填充(Zero padding),特征映射不斷收縮,尺寸減小.解碼器部分將特征尺寸恢復至原始圖像大小,主要由上采樣和跳躍連接組成,上采樣增加特征維度,最后使用1×1 卷積將特征向量轉(zhuǎn)換為類別標簽.擴張路徑將特征與空間信息融合,產(chǎn)生精準的分割.但是,U-Net 運行速度較慢,由于塊的交疊,部分運算多余.
4) PSPNet
PSPNet 由Zhao 等[38]提出,網(wǎng)絡利用全局特征信息來獲得更好的分割結(jié)果.在該網(wǎng)絡中,Res-Net 骨干網(wǎng)絡提取特征形成特征圖后,金字塔池化模塊對特征圖進行不同尺度的池化,池化后的尺寸為:1×1、2×2、3×3、6×6.最后PSPNet 對池化得到的結(jié)果進行上采樣,并與另一分支的特征圖結(jié)合,通過卷積層輸出分割結(jié)果.該網(wǎng)絡應用的金字塔池化模塊匯聚了不同區(qū)域的上下文信息,能夠更好地理解圖像,提高獲取全局信息的能力.PSPNet 在2016 年ImageNet 場景解析挑戰(zhàn)賽以及PASCAL VOC 2012 和Cityscapes 數(shù)據(jù)集上均表現(xiàn)良好.
隨著深度學習技術(shù)的快速發(fā)展,也出現(xiàn)了許多基于卷積神經(jīng)網(wǎng)絡的實例分割模型.本小節(jié)介紹實例分割的典型模型.
2.3.1 實例分割的基本流程
實例分割模型一般由三部分組成:圖像輸入、實例分割處理、分割結(jié)果輸出.圖像輸入后,模型一般使用VGGNet、ResNet 等骨干網(wǎng)絡提取圖像特征,然后通過實例分割模型進行處理.模型中可以先通過目標檢測判定目標實例的位置和類別,然后在所選定區(qū)域位置進行分割,或者先執(zhí)行語義分割任務,再區(qū)分不同的實例,最后輸出實例分割結(jié)果.
2.3.2 實例分割的典型方法
1) DeepMask
DeepMask[7]網(wǎng)絡采用VGGNet 對輸入圖像提取特征,生成分割提議,提取的特征為兩個分支所共享,第1 個分支對選中的物體預測一個分割掩碼,第2 個分支對輸入的Patch 預測一個目標得分.該網(wǎng)絡在PASCAL VOC 2007 和MS COCO 數(shù)據(jù)集上進行了驗證,分割精度良好.
2) Mask R-CNN
Mask R-CNN 由He 等[39]提出,是在Faster RCNN[40]基礎上擴展而來的一種全新的實例分割模型.Mask R-CNN 屬于兩階段方法,第1 階段使用RPN (Region proposal network)來產(chǎn)生ROI (Region of interest)候選區(qū)域.第2 階段模型對每個ROI 的類別、邊界框偏移和二值化掩碼進行預測.掩碼由新增加的第3 個分支進行預測,這是Mask R-CNN 與其他方法的不同點.此外,Mask R-CNN提出了ROIAlign,在下采樣時對像素進行對準,使得分割的實例位置更加準確.
3) PANet
PANet 是Liu 等[41]提出的一種兩階段實例分割模型.為了縮短信息通路,該模型利用低層精確的定位信息提升特征金字塔,創(chuàng)建了自底向上的路徑增強.為了恢復候選區(qū)域和所有特征層之間被破壞的信息通路,Liu 等[41]開發(fā)了自適應特征池化,用來匯聚每個候選區(qū)域所有特征層的特征.此外,模型用全連接層來增強掩碼預測,由于具有全卷積網(wǎng)絡的互補特性,模型獲得了每個候選區(qū)域的不同視圖.由于這些改進,PANet 在MS COCO 2017 實例分割任務上排名第一.
4) Mask SSD
Mask SSD 是Zhang 等[42]提出的一種單階段實例分割模型.Mask R-CNN 需要經(jīng)過兩階段處理,先通過RPN 獲得候選區(qū)域,后進行目標檢測和實例分割,因此計算效率比較低.Mask SSD 在單階段檢測器SSD 的基礎上,增加一個實例分割模塊,包括多個卷積層和一個反卷積層,預測每個檢測對象的前景掩碼.并且網(wǎng)絡對特征表示和目標預測進行了優(yōu)化,使得Mask SSD 具有與Mask R-CNN 相近的檢測分割精度,同時將計算速度提高了約50%.
為了促進全景分割的研究進展,大規(guī)模的開源數(shù)據(jù)集必不可少.目前,全景分割常用數(shù)據(jù)集有PASCAL VOC、MS COCO、Cityscapes、ADE20k 等.本小節(jié)從圖像數(shù)、類別數(shù)、樣本數(shù)等方面介紹幾種常用數(shù)據(jù)集.
1) PASCAL VOC 數(shù)據(jù)集[43]
PASCAL VOC 在2005~ 2012 年每年發(fā)布關(guān)于圖像分類、目標檢測、圖像分割等任務的子數(shù)據(jù)集,并舉行世界級的計算機視覺大賽.PASCAL VOC數(shù)據(jù)集最初有4 類,最后穩(wěn)定在21 類,對于分割任務,這些類別有汽車、房屋、動物、飛機、自行車、船、公共汽車、小汽車、摩托車、火車等,測試圖像從早期的1 578 幅最后穩(wěn)定在11 540 幅.PASCAL VOC數(shù)據(jù)集包括訓練集和測試集,對于實際比賽有一個獨立的測試集.2012 年以后PASCAL VOC 大賽停辦,但是數(shù)據(jù)集開源,可以下載使用.
2) MS COCO 數(shù)據(jù)集[44]
MS COCO 是另一個圖像識別分割數(shù)據(jù)集,它總共有91 個物體類別,32.8 萬幅圖像,超過8 萬幅圖像用于訓練,4 萬多幅圖像用于驗證,8 萬多幅圖像用于測試,擁有250 萬個標注實例.MS COCO數(shù)據(jù)集的每一類物體的圖像數(shù)量多,標注精細,數(shù)據(jù)場景多樣性高,是目前比較流行的數(shù)據(jù)集.
3) Cityscapes 數(shù)據(jù)集[45]
Cityscapes 數(shù)據(jù)集是一個城市街道場景的數(shù)據(jù)集,擁有精細標注的5 000 幅城市駕駛場景圖像,其中2 975 幅用于訓練,500 幅用于驗證,1 525 幅用于測試,還有20 000 幅粗標注的圖像,一般使用精細標注的那部分數(shù)據(jù).該數(shù)據(jù)集包含來自50 個城市街道場景中記錄的圖像,是一個流行的街道場景數(shù)據(jù)集.
4) ADE20K 數(shù)據(jù)集[46]
ADE20K 是一個新的場景理解數(shù)據(jù)集,總共有2 萬多幅圖像,其中訓練集有20 210 幅圖像,驗證集有2 000 幅圖像,測試集有3 352 幅圖像,以開放字典標簽集密集注釋.ADE20K 包含151 個物體類別,如汽車、天空、街道、窗戶、草坪、海面、咖啡桌等,每幅圖像可能包含多個不同類型的物體,物體尺度變化大,因此檢測難度高.
5) Mapillary Vistas 數(shù)據(jù)集[47]
Mapillary Vistas 是目前世界上最多樣化的全景分割數(shù)據(jù)集之一,它包含的圖像像素分割精確,并且實例被特別標注.Mapillary Vistas 包含28 個Stuff 類別和37 個Things 類別的圖像,共有圖像25 000 幅,18 000 幅用于訓練,2 000 幅用于驗證,5 000 幅用于測試,圖像分辨率大,地理位置范圍廣泛,十分具有挑戰(zhàn)性.
不同于之前的綜述文章[2,48-49],本節(jié)從卷積神經(jīng)網(wǎng)絡開始對全景分割相關(guān)基礎知識進行了簡潔、全面的介紹,綜述了語義分割、實例分割經(jīng)典模型并進行了討論,最后概括了全景分割任務現(xiàn)有數(shù)據(jù)集,有助于讀者對全景分割相關(guān)任務的理解.
自全景分割研究方向提出以來,深度學習以其強大的性能,一直是全景分割研究的關(guān)鍵.目前很多全景分割模型,如UPSNet、AUNet、TASCNet,都是基于卷積神經(jīng)網(wǎng)絡實現(xiàn)的.
根據(jù)實例分割分支采用的策略,全景分割方法可以分為單階段方法和兩階段方法,它們各有優(yōu)劣.本節(jié)從單階段和兩階段的角度,分別介紹深度學習在全景分割中的應用進展.
模型若沒有區(qū)域提議步驟,可以將這類模型稱為單階段模型.單階段模型計算速度快,能夠滿足智能終端和邊緣設備實時響應的需求,但是精度比兩階段模型稍低,許多研究人員致力于在滿足實時響應的前提下提高模型精度.本小節(jié)對單階段方法進行綜述.
BlitzNet[50]是最先探索全景分割的方法之一,它將目標檢測和語義分割任務聯(lián)合起來共同執(zhí)行,具有全景分割的雛形,且沒有區(qū)域提議這一步驟,因此將其歸為單階段全景分割方法,如圖6 所示.Blitz-Net 基本流程如下:首先用ResNet-50 生成高層特征圖;依照SSD[51]目標檢測方法,迭代降低特征圖的分辨率以執(zhí)行邊界框的多范圍搜索,防止有用信息丟失;接下來用反卷積層對特征圖進行放大,以預測精確的分割圖;最后用單個卷積層實現(xiàn)預測.整個網(wǎng)絡以級聯(lián)方式連接,采用跳躍連接機制,將縮小尺度和擴大尺度的特征圖結(jié)合,通過權(quán)值共享來進行多尺度檢測和分割,減少了計算量,同時表明目標檢測和語義分割在準確性上能夠相互促進.
圖6 BlitzNet 網(wǎng)絡的基本結(jié)構(gòu)[50]Fig.6 The structure of BlitzNet[50]
DeeperLab 是另一種單階段全景分割模型[52],如圖7 所示.語義圖和實例圖通過單向的全卷積網(wǎng)絡產(chǎn)生預測掩碼,然后將預測掩碼進行融合,得到全景分割預測.模型主要采用了深度可分離卷積,使用具有兩層預測頭的共享解碼器輸出,擴大內(nèi)核大小,同時采用硬數(shù)據(jù)挖掘的策略,目的是減小計算量,減少高分辨率輸入的內(nèi)存占用,提升網(wǎng)絡運行速度.在融合策略方面,對于語義分割預測的Stuff類像素分配一個實例標簽,其他像素的實例標簽由實例分割決定,語義標簽由語義分割中投票數(shù)多的標簽決定,通過改進文獻[1]的啟發(fā)式方法,進一步提升網(wǎng)絡性能.
圖7 DeeperLab 全景分割結(jié)構(gòu)[52]Fig.7 The structure of DeeperLab panoptic segmentation[52]
Eppel 等[53]提出Generator evaluator-selector網(wǎng)絡進行全景分割.該網(wǎng)絡包含兩個獨立的部分:一部分是生成器網(wǎng)絡,主要用于提議與圖像中的目標對象和不同區(qū)域相對應的各種分段(Segment);另一部分是評估器網(wǎng)絡,它選擇要合并到分割圖中的最佳分段.網(wǎng)絡使用了單指針(Single pointer)分割網(wǎng)絡[54],產(chǎn)生僅限于覆蓋未分割圖像區(qū)域的給定ROI 的分段,然后使用評估器網(wǎng)絡對這些分段排序,選擇得分最高并且互相一致的分段,減少像素分配沖突的問題.然后使用精細化網(wǎng)絡對選定的分段拋光,使用分類網(wǎng)絡對這些分段進行分類.最后將處理好的分段填補到分割圖中,形成全景預測.由于網(wǎng)絡對于分段的處理較多,耗費計算量大,不易達到實時性要求.
De Geus 等[22]提出了FPSNet,由于無需計算成本極高的實例掩碼預測和融合啟發(fā)算法,而是通過將全景分割任務轉(zhuǎn)換為自定義的像素級密集分類任務來實現(xiàn),極大提高了模型的計算速度,同時能實現(xiàn)相似或者更好的分割性能.FPSNet 架構(gòu)與一般全景分割網(wǎng)絡相似,為了減少計算損耗,取消了實例分割預測以及后處理步驟,通過引入全景頭實現(xiàn)融合目的.全景頭將可以進行密集分割的特征圖和表示Things 類實例的掩碼作為輸入,最終實現(xiàn)三個目的:1)對Stuff 類實例進行語義分割;2)對于Things 類實例,將注意力掩碼轉(zhuǎn)換為完整的像素級實例掩碼;3)在單個特征圖中輸出Things 和Stuff 類別預測,在其上進行像素級分類.當有來自普通目標檢測器的邊界框物體檢測以及應用密集圖像的單一特征映射時,邊界框產(chǎn)生注意力掩碼,表示圖像中Things 類實例的位置,并確定實例的輸出順序,緩解圖像中出現(xiàn)的實例遮擋問題.
為了最佳利用物體位置信息,Chen 等[55]提出了SpatialFlow 模型,這是第一個將物體空間信息納入考慮范圍的模型,該模型在骨干網(wǎng)絡上設計了Things、Stuff、回歸和分類子網(wǎng)絡,通過將回歸子網(wǎng)絡的信息輸送給其他三個分支來增加網(wǎng)絡對物體位置細節(jié)的提取,提升網(wǎng)絡對輸入圖像的理解能力,達到空間位置敏感的目的.這種方法的引入大幅提升了SpatialFlow 在MS COCO 數(shù)據(jù)集的表現(xiàn),PQ (Panoptic quality)值達到了47.3%.
Weber 等[28]提出了Single-shot 全景分割模型,該模型架構(gòu)與文獻[52]的架構(gòu)相似,不同之處在于Single-shot 模型的實例中心預測只有一個分支,輸出邊界框中心,通過對像素添加預測偏移和計算L2 距離來消除遮擋問題,擴展與另外兩個分支的融合.Weber 等[28]提出了一個新的全景頭來輸出連貫的全景預測,基本流程如下:網(wǎng)絡將語義邏輯輸出分為Things 和Stuff 兩類,Stuff 類復制到實例感知邏輯輸出中,Things 類以檢測分支結(jié)果代替.然后利用檢測分支預測中的類別作為索引,選擇Things 中相應邏輯輸出,并基于邊界框進行裁剪,經(jīng)濾除堆疊操作后形成新的邏輯輸出.最后,為了使argmax操作選擇正確的實例,提出最近中心策略,利用邊界框中心預測消除遮擋,選擇正確實例以形成全景預測.由于網(wǎng)絡融合步驟較復雜,計算量大,不易達到實時速度.
為了使模型達到實時速度并且保證分割精度,Hou 等[56]提出了密集檢測的實時全景分割模型,該模型利用密集檢測和一個全局自注意力機制,確保達到目標.在骨干網(wǎng)絡上增加多個共享全景頭部進行密集檢測,全景頭部內(nèi)含語義塔和位置塔,位置塔輸出邊界框坐標和中心,語義塔輸出邊界框分類信息,防止圖像信息丟失.然后,引入新的無參掩碼構(gòu)建方法,通過NMS (Non-maximum suppression)選擇具有最高置信分數(shù)的查詢邊界框,構(gòu)建全局掩碼概率映射,以密集框和查詢框的自注意力近似這個概率映射,用閾值限制形成實例掩碼集,大幅降低計算復雜度,同時由于不需對預測進行后處理,實現(xiàn)了顯著的硬件加速.
Cheng 等[57]在DeeperLab 的基礎上,提出了一種簡單、強大、快速的自底向上的全景分割方法.如圖8 所示,Panoptic-DeepLab 語義分支采用Dual-ASPP 結(jié)構(gòu),設計與DeepLab 相同,實例分支采用Dual-decoder 結(jié)構(gòu),與類別無關(guān),增加網(wǎng)絡的泛化能力.在此基礎上,添加實例中心回歸,預測實例中心以及從每個像素到其對應中心的偏移量,提升檢測準確度.然后,該模型通過將像素分配到其最近的預測中心來實現(xiàn)簡單的分組操作,緩解像素的分配沖突問題.
相對于之前的全景分割模型,Bonde 等[58]提出了無邊界框全景分割模型BBFNet,網(wǎng)絡架構(gòu)有較大創(chuàng)新.如圖9 所示,BBFNet 結(jié)構(gòu)上取消了實例模塊,直接以語義模塊提供Things 和Stuff 兩類特征,降低了計算成本.語義模塊使用可變形卷積塊[59]的中間特征,經(jīng)卷積處理形成語義預測.然后使用傳統(tǒng)的霍夫投票[60]、分水嶺[61]方法處理語義分割預測,其中分水嶺處理模塊的特征與輸入圖像直接得到的特征進行連接,形成了分水嶺預測,分水嶺特征經(jīng)變形卷積塊處理,中間特征進入三重損失網(wǎng)絡,三重損失網(wǎng)絡能夠細化、合并檢測到的物體實例,并檢測新的物體,因此使用三重損失函數(shù)可將屬于同一實例的像素聚到一起,將不屬于同一實例的像素分開,緩解像素分配沖突的問題,使分割結(jié)果更準確.
圖8 Panoptic-DeepLab 模型結(jié)構(gòu)[57]Fig.8 The structure of Panoptic-DeepLab model[57]
圖9 BBFNet 模型結(jié)構(gòu)[58]Fig.9 The structure of BBFNet model[58]
為了解決實例分支耗費計算時間以及獨立處理分支導致預測不一致等問題,Chang 等[62]提出了EPSNet 模型.對于整幅圖像,EPSNet 采用并行網(wǎng)絡產(chǎn)生原型掩碼,并為語義和實例分割預測一組系數(shù),通過將原型與分支中的預測系數(shù)線性組合,生成實例和語義段.原型由實例和語義分支共享,節(jié)省了產(chǎn)生大尺寸掩碼的時間.此外,Chang 等[62]提出了一種新的融合模塊,稱為跨層注意力融合模塊,該模塊將特征金字塔網(wǎng)絡的F3、F4 和F5 層作為源特征層,在其上應用注意力模塊以捕獲特征圖任意兩個位置的空間相關(guān)性,提高了共享特征的質(zhì)量,并生成預測輸送至語義、實例兩分支,進一步增強了網(wǎng)絡對低層豐富特征的應用.在MS COCO 數(shù)據(jù)集該網(wǎng)絡以更快的推理速度獲得了競爭性能.
Wang 等[63]提出了PCV (Pixel consensus voting)模型,如圖10 所示.PCV 的核心是基于廣義霍夫變換的實例分割框架,它能對包含實例質(zhì)心的可能區(qū)域像素進行離散的概率投票,投票分支針對每個像素預測該像素是否為實例掩碼的一部分,如果是,則計算實例掩碼質(zhì)心的相對位置,降低像素分配沖突.語義分支采用FCN 網(wǎng)絡.PCV 的一項關(guān)鍵創(chuàng)新是將來自投票分支的預測聚集成投票熱圖的空洞卷積機制,有助于實現(xiàn)有效的投票聚合和反投影,熱圖局部最大值是檢測候選對象,在每個峰區(qū)域,對查詢過濾器進行卷積,在所有其他峰上反投影支持該特定峰的像素,以增加對圖像細節(jié)的提取.這些像素形成與類別無關(guān)的實例分割掩碼.最后,使用簡單的貪婪策略合并實例和語義分割掩碼,產(chǎn)生完整的全景分割輸出.相比一些高度工程化的全景分割模型,該模型計算簡單,在MS COCO數(shù)據(jù)集獲得了良好表現(xiàn).
圖10 PCV 模型結(jié)構(gòu)[63]Fig.10 The structure of PCV model[63]
Wang 等[64]在Panoptic-DeepLab 的基礎上提出了應用于全景分割的獨立軸對稱機制.如圖11所示,其核心是沿高度軸和寬度軸將二維注意力機制分解為兩個一維注意力機制,恢復獨立注意力模型中的大感受野,消除了注意力只在一個局部區(qū)域的限制,降低計算復雜度,并添加了相對位置編碼,形成位置敏感自注意力.然后,在圖像的寬度軸上定義一個軸向注意層作為簡單的一維位置敏感自注意,并對高度軸使用類似的定義,形成軸向注意,目的是提升注意力在建模依賴于位置的交互時的能力.網(wǎng)絡提取輸出步長為16 的特征圖,采用雙重卷積解碼器進行全景分割,采用與Panoptic-DeepLab 完全相同的預測頭部,產(chǎn)生語義分割和類別無關(guān)的實例分割,保證預測速度達到實時性的要求.最后通過簡單的多數(shù)表決[52]合并形成最終的全景分割預測.
圖11 軸注意力模型結(jié)構(gòu)[64]Fig.11 The structure of axial-attention model[64]
表1 列舉了一些典型的單階段全景分割方法在開源數(shù)據(jù)集上實驗結(jié)果的性能比較.
兩階段方法有區(qū)域提議步驟,相對于單階段方法,分割精度更高,但是推理速度受到較大影響,難以達到實時性要求.兩階段方法由于高精度、高魯棒性的特點而備受關(guān)注.本小節(jié)總結(jié)兩階段的全景分割方法.
Li 等[16]提出了一種弱監(jiān)督全景分割方法,結(jié)構(gòu)采用動態(tài)實例化網(wǎng)絡[65],該網(wǎng)絡包含一個語義子網(wǎng)絡和一個實例子網(wǎng)絡.實例子網(wǎng)絡將語義子網(wǎng)絡和目標檢測器的輸出作為輸入,在目標檢測器提示下,語義分割輸出轉(zhuǎn)變?yōu)閷嵗指钶敵觯纬勺罱K預測.語義分割模型使用弱監(jiān)督方法和圖像先驗知識來估計真值,然后采用GrabCut[66]和MCG (Multiscale combinatorial grouping)[67],從邊界框注釋中獲得前景掩碼,當兩者表示一致時,像素才能分配給由邊界框表示的對象類,解決分配沖突問題.網(wǎng)絡使用圖像級注釋,利用訓練的多類別分類器根據(jù)圖像級標簽提取弱定位線索,形成的定位熱度圖中空間最小的優(yōu)先級最高,防止小目標遺漏.但由于圖像中實例數(shù)量難以預測,該網(wǎng)絡不適用于具有多個Stuff類的圖像.
De Geus 等[9]提出Single JSIS-Net 網(wǎng)絡產(chǎn)生全景預測.該網(wǎng)絡使用共享特征提取器為實例和語義分支提供特征,語義分支使用金字塔池化模塊產(chǎn)生特征映射,實例分支基于Mask R-CNN 設計,產(chǎn)生相應輸出,最終通過啟發(fā)式融合產(chǎn)生全景預測.在融合步驟,對于實例掩碼交疊,本文采用逐實例概率映射消除;對于Things 類別實例沖突,首先將語義預測中的Things 類移除,代之以最相似的Stuff 類,之后將低于4 096 像素的Stuff 類移除,以得分最高的Stuff 類填充,解決融合沖突.由于用最相似類別進行填充,像素分配存在較大誤差.實驗結(jié)果表明,該網(wǎng)絡的PQ 值僅有27.2%,性能較差,不能實現(xiàn)準確分割.
UPSNet[27]網(wǎng)絡架構(gòu)采用與JSIS-Net 網(wǎng)絡相似的做法,區(qū)別在融合步驟UPSNet 提出全景分割頭,對兩個分支的輸出進行融合.在全景分割頭,語義分割邏輯輸出分為Things 和Stuff 兩類,通過雙線性插值以及邊框外語義分割掩碼補零,裁剪形成了新的實例分割掩碼,然后以Stuff 類掩碼和實例掩碼之和表示當前掩碼,用softmax 預測實例類別.網(wǎng)絡中另外設置了一個未知類別預測通道,以防止出現(xiàn)類別誤判的情況,影響最終的分割質(zhì)量,最終將語義分割邏輯輸出預測、當前實例掩碼預測以及未知類別預測按序填入相應張量形成全景預測.但是,由于深層特征分辨率較低,并且缺乏對淺層信息的有效利用,UPSNet 對圖像中小目標分割指標不高.
表1 現(xiàn)有單階段方法性能比較Table 1 Performance comparison of existing single-stage methods
為了解決語義和實例分支分割結(jié)果不一致的問題,Li 等[10]提出了TASCNet,如圖12 所示.TASCNet 是一個端到端的全景分割模型,基本架構(gòu)與UPSNet 類似,不同之處是TASCNet 兩分支中間加入了TASC (Things and stuff consistency)模塊,該模塊在訓練過程中保持兩個子任務Things類別實例輸出分布對齊,促使語義和實例分割頭部的輸出之間實現(xiàn)分離最小化,減少有用信息的丟失,同時實現(xiàn)掩碼引導的融合,降低全景預測前景目標像素對不齊導致的小目標分割指標低的問題.在MS COCO 數(shù)據(jù)集上,TASCNet 獲得了良好的分割效果.
Li 等[11]根據(jù)前景和背景之間的關(guān)系提出統(tǒng)一的AUNet.該網(wǎng)絡包含前景和背景分支,背景分支中加入了兩個注意源(RPN 和前景分段掩碼),分別提供對象級別和像素級別的注意,對應的注意力模塊分別為PAM (Proposal attention module)和MAM (Mask attention module).前景分支借助RPN 輸出的ROI 產(chǎn)生前景掩碼邊界框和類別標簽,背景分支通過PAM 將RPN 中的信息提示與共享的特征結(jié)合,產(chǎn)生的掩碼作用于背景分支,使得分割任務更多集中于局部物體,分割更準確.MAM將前景Things 和背景Stuff 之間的邊界用前景分割掩碼細化,在注意力操作中集中更多注意力于Stuff 區(qū)域,以獲得更好的背景分割預測.與其他將重點放在前景的方法相比,該方法能夠更好地處理背景內(nèi)容,在分割指標PQ 和AP (Average precision)值上有了較大提升.
圖12 TASCNet 模型結(jié)構(gòu)[10]Fig.12 The structure of TASCNet model[10]
Kirillov 等[26]在Mask R-CNN 的基礎上提出了一種全景金字塔網(wǎng)絡,該網(wǎng)絡將特征金字塔網(wǎng)絡(Feature pyramid network,F(xiàn)PN)作為全景分割的特征來源,將語義分割和實例分割任務統(tǒng)一到單個網(wǎng)絡中.FPN 能夠產(chǎn)生分辨率高、表達能力強的多尺度特征,將其引入全景分割解決了其他骨干網(wǎng)絡提供特征少、分割不準確的問題.在MS COCO 數(shù)據(jù)集上,全景金字塔網(wǎng)絡取得了良好的精度,成為全景分割任務的一個基準方法.
De Geus 等[12]提出Single network 來解決全景分割任務,整個網(wǎng)絡由骨干網(wǎng)絡、語義分割分支和實例分割分支組成.為了提升網(wǎng)絡性能,將語義分支與實例分支連接,通過對RPN 產(chǎn)生的區(qū)域提議增加邊界框,擴大實例分支產(chǎn)生的邊界框,將語義分支產(chǎn)生的Things 類預測輸入實例分支,減少有用信息丟失,實現(xiàn)對顯式信息的利用.此外,語義分支softmax 層前產(chǎn)生的預測與骨干網(wǎng)絡提取的特征歸一化后級聯(lián),輸入實例分支,應用卷積處理后輸入RPN 網(wǎng)絡,實現(xiàn)對隱式信息的利用.在融合策略方面,優(yōu)先考慮實例分類得分較高的類別填充爭議部分,解決交疊問題.與TASCNet相比,該網(wǎng)絡能更快地處理輸入圖像,但是由于深度特征丟失了物體的位置細節(jié)信息,造成定位性能差,PQ 指標性能較低.
為了解決啟發(fā)式算法不能很好地融合實例的問題,Liu 等[13]提出一種以端到端遮擋感知方式解決全景分割任務的模型OANet,其架構(gòu)類似于UPSNet 模型.在融合策略上,提出空間排序模塊對兩分支預測進行融合,流程如下:將實例分支預測映射至輸入圖像大小,設置初始張量為0,映射值為1,然后應用擴張的大核卷積獲得排序分數(shù)映射,最后利用像素級交叉熵優(yōu)化獲得排序分數(shù)映射.優(yōu)化后的排序分數(shù)映射經(jīng)過計算,得到每個實例的分數(shù),進而確定實例先后次序進行融合.相比之前的模型,該模型融合策略更加可靠,模型解決實例交疊的能力得到提升,在MS COCO 數(shù)據(jù)集上獲得了良好的分割效果.
Lazarow 等[68]為了解決具有檢測置信度的實例與自然遮擋關(guān)系不相關(guān)的問題,提出用于全景分割的學習實例遮擋網(wǎng)絡,即在分支部分模擬兩個實例掩碼如何以二進制關(guān)系交疊,進而解決遮擋問題.網(wǎng)絡架構(gòu)如圖13 所示,該模型在Things 分支掩碼頭部添加了遮擋頭,它根據(jù)兩個掩碼交疊部分與未交疊部分的比率和確定的閾值大小之比,來決定是否消除遮擋,若比率大于閾值,則根據(jù)二進制遮擋關(guān)系決定交疊部分像素屬于哪個實例,這樣融合過程就繞過了對置信度的依賴,從而可以查詢兩個具有明顯交集的實例中哪個實例獲得的比率更高,位于另一個實例的上方或下方,以便融合過程與實例的初始順序無關(guān).在MS COCO 數(shù)據(jù)集上,該方法的PQ 值較其他方法有了顯著提高,但是不能在端到端訓練中有效消除實例間遮擋.
圖13 學習實例遮擋網(wǎng)絡結(jié)構(gòu)[68]Fig.13 The structure of learning instance occlusion for panoptic segmentation[68]
圖14 SOGNet 模型結(jié)構(gòu)[29]Fig.14 The structure of SOGNet model[29]
類似于OCFusion,SOGNet[29]也致力于實例交疊問題的研究,將交疊問題轉(zhuǎn)化為場景交疊圖,提升模型分割性能,其結(jié)構(gòu)如圖14 所示.受場景圖解析任務中關(guān)系分類的啟發(fā),SOGNet 將交疊問題表述為帶有方向邊的簡化場景圖,其中實例與實例之間有三種關(guān)系類型:無交疊、作為主體覆蓋、作為對象覆蓋.作者利用對象的類別、幾何形狀和外觀信息對場景交疊圖執(zhí)行邊緣特征嵌入,并提出交疊解決模塊,該模塊以遮擋關(guān)系矩陣顯式編碼實例間的遮擋關(guān)系,以可區(qū)分的方式解決任何一對實例之間的遮擋區(qū)域,去除遮擋區(qū)域后的掩碼邏輯輸出隨后用于全景頭每個具有全景注釋的實例,以便進行分類,形成全景預測.該策略在解決目標重疊時像素分配沖突的問題上比以往的方法更好,在MS COCO數(shù)據(jù)集上獲得了較好的分割結(jié)果,對于小物體分割也有更好的表現(xiàn).
PanDA[69]從數(shù)據(jù)集方面做出改進,以提升全景分割模型的性能.PanDA 是一種用于全景分割數(shù)據(jù)集的像素空間數(shù)據(jù)擴充方法,它首先將真值分為前景段和背景段,其中包含未標記和背景類別實例的背景段以噪聲圖案填充,生成和原圖大小相同的新圖,然后將前景段覆蓋于新的背景段上.對于前景段,使用dropout、resize 等操作控制每個實例的不同方面,對實例創(chuàng)建新的上下文信息,同時根據(jù)片段面積大小進行排序,解決目標遮擋問題.PanDA 可以利用原始數(shù)據(jù)集中圖像合成新的數(shù)據(jù)集,計算量小且不需訓練,在一流模型各種指標上獲得比原始版本高1.2%~ 6.9%的相對增益.
Jayasumana 等[17]提出Bipartite CRF (BCRF)模型,其架構(gòu)如圖15 所示.本文首先將CRF引入全景分割,提出帶二分隨機變量的CRF 公式,捕獲語義和實例標簽之間的相互作用.對于輸入的語義和實例分支預測,BCRF 模塊將語義分支預測變?yōu)榕c初始分類器一致,同時提高語義標注的平滑性;對于實例分支,同樣鼓勵全景分割與實例分割概率一致.此外,通過懲罰將不同的實例標簽分配給相似的像素,讓實例標簽在整個圖像上更加一致,緩解像素分配沖突問題.為了讓模型性能更強,Jayasumana 等[17]還引入了CRF 中的交叉勢能,即任意像素的語義標簽必須與該像素的實例標簽兼容.若實例分類的初始結(jié)果與語義分類的結(jié)果不一致,則其中一個應根據(jù)CRF 中其他項的相互作用進行糾正.通過這些設置,BCRF 模塊最終得到了較好的全景預測,在PASCAL VOC 和MS COCO數(shù)據(jù)集上取得了良好的表現(xiàn).
Li 等[70]提出了全景分割的統(tǒng)一訓練和推理網(wǎng)絡,縮小了全景分割的訓練和推理流程之間的差距.該網(wǎng)絡包含骨干網(wǎng)絡、語義分割子模塊、目標檢測子模塊和全景子模塊四部分,整個流程的核心是全景分割子模塊動勢頭(Dynamic potential head)和密集實例親和頭(Dense instance affinity head),動勢頭是表示通道動態(tài)數(shù)量的全景實例的無參數(shù)步驟模塊,對分割和定位線索進行集合.密集實例親和頭是參數(shù)化、高效且數(shù)據(jù)驅(qū)動的模塊,該模塊預測并利用像素屬于Things 和Stuff 的可能性,清理和糾正粗略的特征線索,以準確地描繪全景邊界.此外,為了直接優(yōu)化用于全景分割預測的全局目標,本文提出了全景匹配損失函數(shù),該函數(shù)以及全景頭的可區(qū)分性,使網(wǎng)絡能夠以端到端的方式學習.根據(jù)預測的親和力強度連接和聚集整個圖像上的全景圖,提出的參數(shù)化全景頭能夠修復來自前一階段的不精確預測,提升模型的分割性能,且能夠靈活工作,在MS COCO 數(shù)據(jù)集上,該網(wǎng)絡分割指標PQ值達到了43.4%.
圖15 BCRF 網(wǎng)絡結(jié)構(gòu)[17]Fig.15 The structure of BCRF network[17]
Behley 等[71]提出一種基于LiDAR (Light detection and ranging)點云的全景分割基準,將研究從二維空間擴展到三維空間,為全景分割研究提供了新的方向.該基準依托KITTI數(shù)據(jù)集[72]進行實驗,KITTI 是自動駕駛場景的計算機視覺算法評測數(shù)據(jù)集,常用于評測立體圖像、光流、3D 目標檢測等.其基本流程如下:首先,對KITTI數(shù)據(jù)集進行標注,采用半自動化過程,使用不同策略生成時間上一致的實例標注.對于靜態(tài)物體,通過使用SLAM系統(tǒng)執(zhí)行姿態(tài)校正,然后通過考慮段的位置來簡單地執(zhí)行數(shù)據(jù)關(guān)聯(lián);對于動態(tài)物體,同時考慮物體和傳感器的運動.在網(wǎng)絡設置方面,語義分支采用了KPConv[73]和RangeNet++[74]網(wǎng)絡,目標檢測器采用Point-Pillars[75],訓練時分別用KPConv 和Point-Pillars、RangeNet++和Point-Pillars 兩種組合,其中Point-Pillars 使用定向邊界框消除遮擋,然后組合語義分割的預測,并將每個邊界框的實例ID 分配給其中的每個像素點,生成全景預測.在KITTI數(shù)據(jù)集上,第1 種組合的分割性能明顯超過第2 種組合,但由于深層特征圖的分辨率較低,導致兩組網(wǎng)絡分割指標較低.
EfficientPS 是2020 年提出的全景分割方法[76],其架構(gòu)如圖16 所示.該方法包括新的共享骨干網(wǎng)絡、移動反向瓶頸單元、雙向FPN,以及實例和語義分割頭.不同于以前直接利用FPN 產(chǎn)生特征的方法,雙向FPN 在原FPN 的基礎上添加了一個反向分支,能夠高效地利用多尺度特征.另外,還提出了一種具有可分離卷積的語義頭,在上下文特征和精細特征關(guān)聯(lián)融合之前獨立地聚合特征,使得語義更精細,在目標邊界產(chǎn)生更好的細化邊界.對于實例頭,基于Mask R-CNN 并通過可分離卷積和iABN(inplace activated batch normalization)同步層進行擴展.為了徹底利用兩個頭部的邏輯輸出,還提出了一種無參數(shù)全景融合模塊,基于每個像素的頭部預測適應性,有選擇地衰減或放大融合的邏輯輸出分數(shù)來自適應融合實例.在Cityscapes 和Mapillary Vistas 數(shù)據(jù)集上,該網(wǎng)絡達到當時最好的分割指標.
為了更好地利用語義分支和實例分支之間的互補性,Chen 等[77]提出了BANet,該網(wǎng)絡包括骨干網(wǎng)絡、S2I (Semantic-to-instance)模塊、I2S (Instance-to-semantic)模塊和遮擋處理模塊,如圖17所示.當語義分割頭通過FPN 產(chǎn)生語義特征,RPN網(wǎng)絡產(chǎn)生實例候選后,S2I 模塊利用RoIAlign 裁剪的實例語義特征和選定的FPN 特征,其目的是用實例特征代替粗粒度的置信度分數(shù)映射來提高語義特征的區(qū)分能力,然后聚合所裁剪的特征提供上下文信息,提升實例分割性能.為了使I2S 模塊有效處理實例頭產(chǎn)生的特征,提出了RoIInlay 運算符,該運算符能夠恢復裁剪后實例特征的結(jié)構(gòu),以便將其與語義特征聚合以進行語義分割,I2S 模塊接收來自語義部分和實例頭的特征,在SIM (Structure injection module)和OCM (Object context module)中聚合處理,以實例頭特征提升語義分割預測效果.遮擋處理模塊以實例外觀為參考,通過計算像素與實例的相似度,將像素分配給最相似的實例來解決遮擋問題.該網(wǎng)絡充分利用語義、實例分支的互補性,獲得良好的分割效果,但是實例特征在傳輸過程中被I2S 模塊重復處理,極大影響了網(wǎng)絡計算效率.
圖16 EfficientPS 模型結(jié)構(gòu)[76]Fig.16 The structure of EfficientPS model[76]
圖17 BANet 模型結(jié)構(gòu)[77]Fig.17 The structure of BANet model[77]
全景跟蹤是Hurtado 等[78]提出的基于全景分割的新研究方向,用于幫助智能機器人提高對動態(tài)場景的理解能力.Hurtado 等提出了Panoptic-TrackNet,模型結(jié)構(gòu)如圖18 所示,在Efficient-PS 的基礎上增加了實例跟蹤頭和 MOPT(Multiobject panoptic tracking)融合模塊以解決跟蹤任務.實例跟蹤頭能夠跨越連續(xù)幀跟蹤對象實例,根據(jù)任意幀預測的嵌入向量與先前對象實例的嵌入向量之間的歐氏距離來計算關(guān)聯(lián)相似度,然后采用Hungarian 算法將多個實例關(guān)聯(lián)起來,同時在特定時間窗關(guān)聯(lián)與其最接近的IDs,當分類置信分數(shù)高的實例與舊的IDs 不關(guān)聯(lián)時創(chuàng)建新的IDs 與其關(guān)聯(lián).MOPT 融合模塊跟蹤IDs 與相應的段匹配,根據(jù)設定閾值選擇置信分數(shù)高的段,完成排序及恢復分辨率;通過保留較高分數(shù)的段,緩解遮擋問題;將上一步產(chǎn)生的掩碼與篩選得到的語義分支掩碼融合,注入預先準備的空canvas 中,形成全景跟蹤輸出.
表2 列舉了一些典型的兩階段全景分割方法在開源數(shù)據(jù)集上實驗結(jié)果的性能比較.
目前全景分割任務的模型設計方法全部基于深度學習技術(shù)設計,由于深度學習具有諸多優(yōu)點,未來若干年基于深度學習的全景分割研究仍將是主流.雖然深度學習在全景分割領(lǐng)域獲得了成功,但是由于以下一些因素的影響,全景分割的發(fā)展仍然十分受限.
1) 深度學習理論還不完善[79].深度學習技術(shù)學習能力強,遷移性好,因此得到了廣泛關(guān)注與應用.但是,很多工作的創(chuàng)新點都是依靠以往的經(jīng)驗和直覺提出,缺乏嚴格的理論指導.為了大幅提升全景分割模型的性能,使其能夠應用于自動駕駛、機器人導航等領(lǐng)域,需要從模型可解釋性、泛化能力、數(shù)據(jù)和知識聯(lián)合驅(qū)動等方面進一步完善深度學習基礎理論,為改進模型結(jié)構(gòu)、提升模型性能提供科學的理論指導.
圖18 PanopticTrackNet 模型結(jié)構(gòu)[78]Fig.18 The structure of PanopticTrackNet model[78]
表2 現(xiàn)有兩階段方法性能對比Table 2 Performance comparison of existing two-stage methods
2) 面向全景分割的數(shù)據(jù)集規(guī)模較小,訓練樣本數(shù)量較少.目前應用于全景分割任務的數(shù)據(jù)集僅有PASCAL VOC、MS COCO、Cityscapes 等少數(shù)幾種,并且這些數(shù)據(jù)集只提供了少數(shù)標注類型,如Cityscapes 總共有34 種類型,PASCAL VOC 僅有20 種.數(shù)據(jù)集及標注類型的缺乏,導致訓練出的模型可靠性一般,泛化能力差.目前許多全景分割模型都基于MS COCO 和Cityscapes 數(shù)據(jù)集進行預訓練,根據(jù)具體任務再進行微調(diào)來滿足要求.如果有大規(guī)模數(shù)據(jù)集供模型訓練使用,全景分割模型的性能指標會得到進一步提升.
3) 圖像中目標重疊時,像素分配沖突問題很難有效解決.由于全景分割任務要求圖像中所有實例分割結(jié)果不能有重疊現(xiàn)象出現(xiàn),所以在子任務融合模塊如何有效處理實例分割分支產(chǎn)生的重疊是首先要解決的問題,即對于一個處于交疊部分的Things類像素,會有來自實例分支的多個實例ID標簽,這時該像素如何分配至正確的實例是一個關(guān)鍵問題.目前提出的UPSNet、JSISNet 等模型大多采用啟發(fā)式方法進行融合,一定程度上能夠緩解這個問題,但是無法有效解決,因此影響全景分割結(jié)果的性能.
4) 全景分割模型的設計方法效率不高.目前無論是單階段方法還是兩階段方法,幾乎都遵循骨干網(wǎng)絡提取特征,然后通過子任務處理和融合來產(chǎn)生全景分割預測的范式.雖然對其中的某些環(huán)節(jié)進行改進能夠提升全景分割性能,但是模型設計方法比較單一,限制了進一步創(chuàng)新的思路,無法有效提升分割性能.
對于上述局限性,有一些初步的解決思路.一種思路是改進完善數(shù)據(jù)集.Panagiotis 等[80]在Cityscapes 和PASCAL VOC 數(shù)據(jù)集的基礎上,提出了Cityscapes-Panoptic-Parts 和PASCAL-Panoptic-Parts 兩個數(shù)據(jù)集,采用人工或者人機協(xié)作的方式對圖像創(chuàng)建語義、實例、部分三種級別的標注,兼容全景分割,標注豐富詳細,擴展了全景分割數(shù)據(jù)集的數(shù)量和規(guī)模.Liu 等[69]提出像素空間數(shù)據(jù)擴充方法,可以在原數(shù)據(jù)集的基礎上,將圖像分成前景和背景,通過對前景和背景進行處理,排序合成新的全景數(shù)據(jù)集,能夠在一定程度上提升分割性能.
另一種思路是將傳統(tǒng)算法創(chuàng)新應用于全景分割任務中,如目前部分工作將霍夫算法[60]應用于全景分割.文獻[58]提出的模型中,當預測輸出語義分割模塊后,借助語義分割包含的Stuff 和Things類預測,該模型利用霍夫投票、分水嶺等傳統(tǒng)圖像分割算法分割融合產(chǎn)生全景預測.在文獻[63]中,提出的PCV 模型核心是基于廣義霍夫變換的實例分割框架,該框架通過投票過濾器確定像素的歸屬,然后將產(chǎn)生的實例分割掩碼和語義分割掩碼通過貪心算法合并,產(chǎn)生全景分割預測.
第三種思路是從弱監(jiān)督學習的角度出發(fā),解決像素分配問題.文獻[16]以弱監(jiān)督方式訓練全景分割網(wǎng)絡,對于圖像中所有像素,在沒有可靠標簽的情況下,利用弱監(jiān)督與圖像先驗知識使圖像中像素的一個子集逼近真值,即對確定的像素分配標簽,不確定的標記為“忽略”區(qū)域,以此逼近.然后使用子集中像素的估計標簽訓練網(wǎng)絡.該方法解決了圖像中目標像素的分配沖突問題,在輸出的全景預測中以空白方式顯示交疊區(qū)域,為解決像素分配沖突提供了一個方向.
上述方法在一定程度上使全景分割性能得到提升,但是在推理速度和分割精度上的表現(xiàn)還難以令人滿意.文獻[57]提出的Panoptic-DeepLab 模型雖然顯著提升了推理速度,但是分割精度不盡人意.因此如何兼顧速度與精度,提出有效的全景分割模型還有待研究.此外,深度學習理論還應繼續(xù)完善,如何改進模型結(jié)構(gòu),創(chuàng)建新的優(yōu)化方法以減少計算復雜度,得到精度和效率并重的模型,這些還需要深入研究.
全景分割任務在計算機視覺領(lǐng)域具有重要的研究意義和應用價值,其研究進展可以直接推動自動駕駛、機器人等領(lǐng)域的發(fā)展.深度學習作為目前的主流技術(shù),在全景分割任務中得到廣泛應用.本文綜述了深度學習在全景分割中的研究進展,介紹了全景分割數(shù)據(jù)集和相關(guān)背景知識,重點介紹了基于深度學習技術(shù)的全景分割模型,總結(jié)了深度學習在全景分割任務中的最新進展,分析了全景分割現(xiàn)有方法存在的問題,并提出了一些解決思路.
在今后的工作中,首先需要從深度學習理論和方法入手,進一步完善深度學習理論,提升全景分割的性能指標.此外,在擴展數(shù)據(jù)集、結(jié)合傳統(tǒng)算法與深度學習算法方面,也應該進行重點研究.這些工作有助于使得全景分割技術(shù)研究和應用更加成熟.