趙 霞,白 雨,倪穎婷,陳 萌,郭 松,楊明川,陳 鳳
(1.同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 200092; 2. 上海宇航系統(tǒng)工程研究所,上海 201109;3. 上海航天技術(shù)研究院,上海 201109)
語義分割是將數(shù)字圖像分成多個(gè)集合(像素集)的過程,在分割圖中具有相同標(biāo)簽的像素具有類似的特征。更確切地說,語義分割是為便于圖像分析而為圖像中的每個(gè)像素分配標(biāo)簽的過程[1-2]。語義分割是空間機(jī)器人、自動(dòng)駕駛、醫(yī)學(xué)圖像處理等視覺分析技術(shù)的基礎(chǔ)。這里主要分析空間機(jī)器人的應(yīng)用需求。
地球外層空間是世界各國競(jìng)相爭(zhēng)奪的領(lǐng)域,各國相繼發(fā)射了大量航天器。由于設(shè)計(jì)、制造等因素及空間環(huán)境的影響,航天器在軌運(yùn)行過程中,各種故障及意外時(shí)有發(fā)生。以航天器維護(hù)維修、生命延長及太空垃圾清除等為目的的在軌服務(wù)技術(shù)十分重要。未來的空間探索任務(wù),對(duì)太空組裝、星表基地建設(shè)等空間操作任務(wù)有著迫切的需求??臻g機(jī)器人操作是在軌作業(yè)及空間任務(wù)的主要形式,圖1為空間機(jī)器人的工作示意圖。空間機(jī)器人試圖抓捕目標(biāo)衛(wèi)星,并分離螺栓孔和對(duì)接環(huán),即空間機(jī)器人必須能找到其機(jī)器視野中哪些是螺栓孔、對(duì)接環(huán),并進(jìn)行準(zhǔn)確定位,其中的識(shí)別和定位就要利用語義分割技術(shù)??梢哉f,語義分割技術(shù)是未來航天器實(shí)現(xiàn)全自動(dòng)在軌服務(wù)的先決條件,對(duì)于高效率、高精度、成功執(zhí)行各種空間任務(wù),具有戰(zhàn)略意義。
圖1 服務(wù)衛(wèi)星工作示意圖Fig.1 Schematic diagram of service satellite operation
在深度學(xué)習(xí)之前,語義分割領(lǐng)域主要采用Normalized Cut[3]、Grab Cut[4]、紋理基元森林(Texton Forest)[5]或是隨機(jī)森林(Random Forest)[6]等傳統(tǒng)方法,分割精度較低。
2012年,Hinton研究組使用AlexNet網(wǎng)絡(luò)在imagenet圖像分類競(jìng)賽上以84.6%的top-5準(zhǔn)確率取得了冠軍[7]。而傳統(tǒng)分類技術(shù)僅取得了73.8%的準(zhǔn)確率,使得以卷積神經(jīng)網(wǎng)絡(luò)為代表的深度學(xué)習(xí)得到了廣泛的關(guān)注。憑借對(duì)復(fù)雜特征強(qiáng)大的學(xué)習(xí)及提取能力,深度學(xué)習(xí)被廣泛用于圖像分類、目標(biāo)識(shí)別、人臉識(shí)別、語音識(shí)別等任務(wù),并取得了突破性的進(jìn)展。
雖然卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)被應(yīng)用于圖像分類領(lǐng)域,但受到全連接層與池化層的限制,語義分割領(lǐng)域仍以傳統(tǒng)方法為主。2014年,加州大學(xué)伯克利分校的LONG等提出的全卷積網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN)[8],將傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neutral network,CNN)末端的全連接層替換為卷積層,不再將神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果限制為一維數(shù)組,正式將卷積神經(jīng)網(wǎng)絡(luò)引入語義分割領(lǐng)域。同時(shí)FCN不限制輸入圖像的尺寸,分割速度較傳統(tǒng)方法有很大提升。迄今為止,語義分割領(lǐng)域幾乎所有的先進(jìn)方法都是由FCN擴(kuò)展得到。
鑒于語義分割技術(shù)的重要意義與深度學(xué)習(xí)強(qiáng)大的學(xué)習(xí)能力,近年來新的語義分割方法不斷出現(xiàn)和發(fā)展。實(shí)踐證明,卷積神經(jīng)網(wǎng)絡(luò)較傳統(tǒng)方法更適合于圖像特征的學(xué)習(xí)與表達(dá)[9-10]。文獻(xiàn)[11-12]也對(duì)圖像分割算法進(jìn)行了綜述,文獻(xiàn)[11]將圖像分割分為基于圖論的方法、基于像素聚類的方法和語義分割方法, 尤其對(duì)利用深度網(wǎng)絡(luò)技術(shù)的語義分割方法的基本思想、優(yōu)缺點(diǎn)進(jìn)行了分析、對(duì)比和總結(jié)。文獻(xiàn)[12]將圖像語義分割分為基于區(qū)域分類的方法和基于像素分類的方法,又把基于像素分類的方法進(jìn)一步細(xì)分為全監(jiān)督學(xué)習(xí)和弱監(jiān)督學(xué)習(xí)。本文只針對(duì)基于深度學(xué)習(xí)的語義分割方法,將其分為“基于編碼器-解碼器結(jié)構(gòu)的算法”(如U-Net[13])和“基于整合上下文信息算法”(如DeepLab[14-16])。
深度學(xué)習(xí)在語義分割領(lǐng)域獲得巨大成功地離不開大規(guī)模圖像數(shù)據(jù)集的支持。豐富的數(shù)據(jù)集使大規(guī)模特征運(yùn)算成為可能,同時(shí)也有效緩解了卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練中的過擬合現(xiàn)象。
表1列出了語義分割領(lǐng)域最受歡迎的幾大數(shù)據(jù)集及其輸出類別數(shù)量,訓(xùn)練、驗(yàn)證及測(cè)試集數(shù)量。
表1 語義分割常用數(shù)據(jù)集
PASCAL視覺物體分類2012數(shù)據(jù)集(PASCAL-VOC 2012)[17]為一個(gè)標(biāo)注過的圖像數(shù)據(jù)集,可用于五個(gè)不同的競(jìng)賽:分類、檢測(cè)、分割、動(dòng)作分類、人物布局,其中分割競(jìng)賽的目標(biāo)是預(yù)測(cè)圖像的每個(gè)像素在21個(gè)類別(20類物體+背景)中所屬的類別。該數(shù)據(jù)集經(jīng)過增強(qiáng),使得訓(xùn)練集圖片數(shù)量達(dá)到10 582張[18]。目前該P(yáng)ASCAL-VOC 2012增強(qiáng)數(shù)據(jù)集是最受歡迎的語義分割數(shù)據(jù)集。
PASCAL 部分?jǐn)?shù)據(jù)集(PASCAL-PART)[19]是對(duì)PASCAL-VOC 2010數(shù)據(jù)集的擴(kuò)展,其中20類物體的每個(gè)部分都被標(biāo)注。例如:飛機(jī)被分為機(jī)身、引擎、左機(jī)翼、右機(jī)翼、機(jī)尾、起落架等。該數(shù)據(jù)集包含了PASCAL VOC 2010的全部10 103張訓(xùn)練、驗(yàn)證圖像以及9 637張測(cè)試圖像。
PASCAL 語義數(shù)據(jù)集(PASCAL-CONTEXT)[20]也是對(duì)PASCAL-VOC 2010數(shù)據(jù)集的擴(kuò)展,不同于PASCAL部分?jǐn)?shù)據(jù)集,該數(shù)據(jù)集將原本的PASCAL語義分割任務(wù)拓展到整個(gè)場(chǎng)景中,并且將標(biāo)簽數(shù)量提高到59種。該數(shù)據(jù)集也包含了PASCAL VOC 2010的全部訓(xùn)練、驗(yàn)證以及測(cè)試圖像。
微軟常見物體環(huán)境數(shù)據(jù)集(Microsoft COCO)[21]是微軟團(tuán)隊(duì)提供的圖像識(shí)別、分割、標(biāo)注數(shù)據(jù)集,包含了80個(gè)類別,提供了82 783張訓(xùn)練圖片、40 504張驗(yàn)證圖片以及40 775張測(cè)試圖片。該數(shù)據(jù)集的測(cè)試集分為4個(gè)子集:test-dev子集用于驗(yàn)證及調(diào)試;test-standard子集是默認(rèn)的測(cè)試集;test-challenge是競(jìng)賽專用子集,用于評(píng)估提交的模型;test-reserve子集用于避免競(jìng)賽中使用測(cè)試數(shù)據(jù)進(jìn)行訓(xùn)練的問題。由于規(guī)模巨大,Microsoft COCO數(shù)據(jù)集目前也很常用。
城市街景數(shù)據(jù)集(CITYSCAPES)[22]包含一系列由50個(gè)城市的街景視頻序列圖片,其提供了3 475張高品質(zhì)的像素級(jí)標(biāo)注圖像以及20 000張的粗略標(biāo)注圖像。該數(shù)據(jù)集標(biāo)注物體達(dá)到19類,包括道路、人行道、建筑、墻、柵欄、電線桿、交通燈、交通指示牌、植物、地面、天空、人、騎行者、轎車、卡車、公共汽車、火車、摩托車與自行車。城市街景數(shù)據(jù)集用于城市街景理解視覺算法的兩大性能評(píng)估: 像素級(jí)語義標(biāo)注和實(shí)例級(jí)語義標(biāo)注。該數(shù)據(jù)集被廣泛應(yīng)用于無人駕駛算法性能的評(píng)估。
ADE20k數(shù)據(jù)集[23]包含了超過2萬張以場(chǎng)景為中心的圖像,并對(duì)對(duì)象和對(duì)象的部分進(jìn)行了超過150類標(biāo)簽的標(biāo)注。具體包括了天空、道路、草地等無法進(jìn)行部件分割的物體以及人、汽車、床等可以再進(jìn)行部件分割的物體。該訓(xùn)練集包含2萬余張圖像,驗(yàn)證集包含2 000多張圖像,測(cè)試集圖像未被公開。
現(xiàn)有語義分割方法主要是將卷積神經(jīng)網(wǎng)絡(luò)作為語義分割的基礎(chǔ)網(wǎng)絡(luò),如VGG16、ResNet等預(yù)訓(xùn)練基網(wǎng)絡(luò)。這些優(yōu)秀的基礎(chǔ)網(wǎng)絡(luò)可對(duì)復(fù)雜信息建模,學(xué)習(xí)更有區(qū)分力的特征,更好地分類,提高預(yù)測(cè)準(zhǔn)確率。以下介紹幾種常用的卷積神經(jīng)網(wǎng)絡(luò)。
AlexNet[7]是取得2012年大規(guī)模視覺識(shí)別競(jìng)賽(ILSVRC-2012)冠軍的網(wǎng)絡(luò),它的top-5錯(cuò)誤率比上一年的冠軍下降了10個(gè)百分點(diǎn),而且遠(yuǎn)遠(yuǎn)超過當(dāng)年的第二名。其使用ReLU做激活函數(shù),而且網(wǎng)絡(luò)針對(duì)多GPU訓(xùn)練進(jìn)行了優(yōu)化設(shè)計(jì),從此開始了深度學(xué)習(xí)的黃金時(shí)代。
VGG-Net[24]是由牛津大學(xué)Visual Geometry Group提出的卷積神經(jīng)網(wǎng)絡(luò)模型,獲得了2013年大規(guī)模視覺識(shí)別競(jìng)賽(ILSVRC-2014)的亞軍。VGG-Net卷積層與全連接層的層數(shù)達(dá)到16層,因此也被稱為VGG-16,其結(jié)構(gòu)如圖2所示。與AlexNet相比,VGG-Net用大量小感受野的卷積層替代了少量大感受野的卷積層,減少了參數(shù)數(shù)量,增強(qiáng)了模型的非線性,同時(shí)也使得模型更易訓(xùn)練。
GoogLeNet[25]是由SZEGEDY等提出的在2014年大規(guī)模視覺識(shí)別競(jìng)賽(ILSVRC-2014)中以 93.3% 的top-5準(zhǔn)確率奪冠的卷積神經(jīng)網(wǎng)絡(luò)模型。該模型通過在結(jié)構(gòu)中嵌入Inception來聚合多種不同感受野上的特征,以提升分割精度。Inception可以看作是一個(gè)小網(wǎng)絡(luò)。如圖3所示,該模塊的核心部分由1個(gè)1×1的卷積層、1個(gè)3×3的卷積層、1個(gè)5×5的卷積層以及1個(gè)池化層組成,在多個(gè)尺度上進(jìn)行卷積再進(jìn)行聚合。同時(shí),3×3卷積層與5×5卷積層前加入的1×1的卷積層對(duì)輸入進(jìn)行降維,起到減少特征數(shù)、降低計(jì)算復(fù)雜度的作用,使GoogLeNet在存儲(chǔ)空間及耗時(shí)等方面均較VGG-16取得了進(jìn)步。
圖2 VGG-Net結(jié)構(gòu)圖Fig.2 VGG-Net architecture
圖3 GoogLeNet中的Inception模塊Fig.3 Inception module in GoogLeNet
微軟提出的ResNet[26]以96.4%的top-5準(zhǔn)確率取得了2015年大規(guī)模視覺識(shí)別競(jìng)賽(ILSVRC-2015)的冠軍。ResNet網(wǎng)絡(luò)的深度達(dá)到了152層,并引入了殘差單元(如圖4所示)。殘差模塊通過identity skip connection解決了訓(xùn)練更深層網(wǎng)絡(luò)時(shí)出現(xiàn)的性能退化問題。同時(shí),identity skip connection也解決了梯度消失的問題。
圖4 ResNet中的殘差單元Fig.4 Residual unit in ResNet
2017年大規(guī)模視覺識(shí)別競(jìng)賽(ILSVRC-2017)由自動(dòng)駕駛創(chuàng)業(yè)公司Momenta提出的SENet[27](Squeeze-and-Excitation Networks)以97.749% 的top-5準(zhǔn)確率奪冠。為提升網(wǎng)絡(luò)性能,SENet考慮了特征通道之間的關(guān)系。該模型主要通過Squeeze(由圖5中Global pooling實(shí)現(xiàn))、Excitation操作(由圖5中FC-FC-Sigmoid實(shí)現(xiàn))自動(dòng)獲取每個(gè)特征通道的重要程度,然后依照其重要程度完成在通道維度上對(duì)原始特征的重標(biāo)定。通過向現(xiàn)有網(wǎng)絡(luò)中嵌入SE模塊可以得到不同的SENet,圖5展示了在Inception模塊和ResNet中嵌入SE模塊得到的SE-Inception模型和SE-ResNet模型。
圖5 SE-Inception模型(左)與SE-ResNet模型(右)Fig.5 SE-Inception module (left) and SE-ResNet module (right)
全卷積網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN)解決了卷積神經(jīng)網(wǎng)絡(luò)中全連接層對(duì)語義分割的限制,因?yàn)槿B接層輸出是1維的,而圖像分割要求2維平面每個(gè)像素的分類。同時(shí),解決了輸入圖形尺寸受限的問題,全卷積網(wǎng)絡(luò)不限制輸入圖像的尺寸,可生成任意大小的圖像分割圖。
除了全連接層,池化層也是限制卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于語義分割的另一個(gè)因素。CNN靠池化層擴(kuò)大感受野,以丟棄位置信息為代價(jià)聚合上下文信息。但是語義分割又要求將輸出特征圖恢復(fù)到原圖大小,因此需要恢復(fù)位置信息。在FCN中,通過上采樣恢復(fù)圖像尺寸的方法克服這一局限,在保留像素級(jí)別預(yù)測(cè)結(jié)果的同時(shí),得到了與原圖大小相同的特征圖[28],但上采樣并不能將丟失的信息全部無損地找回來。為了更好地解決這一問題,自FCN之后出現(xiàn)的許多基于深度學(xué)習(xí)的語義分割算法,這些算法可以大致被分為基于編碼器-解碼器算法和基于整合上下文信息算法兩大類。
該算法的基本思路是通過由一系列卷積-池化操作組成的編碼器結(jié)構(gòu),提取圖像的主要特征信息,再通過上采樣-轉(zhuǎn)置卷積組成的解碼器結(jié)構(gòu),逐步恢復(fù)圖像的空間維度。采用該算法的網(wǎng)絡(luò)通常選用一種卷積神經(jīng)網(wǎng)絡(luò),如VGG-Net,然后將其全連接層替換為解碼器結(jié)構(gòu)。
BADRINARAYANAT等于2015年提出用于道路、車輛分割的SegNet模型[29]就是基于編碼器-解碼器算法的代表。如圖6所示,該網(wǎng)絡(luò)首先通過卷積層和池化層進(jìn)行運(yùn)算。不同于一般網(wǎng)絡(luò)的池化層,SegNet中的池化層不僅記錄最大值,還記錄池化層最大值在原圖中的空間位置。這就使得采用上采樣方法恢復(fù)圖像尺寸時(shí),能夠?qū)⑾嚓P(guān)值精準(zhǔn)地映射到對(duì)應(yīng)的位置,提高了恢復(fù)圖像的精度。在解碼時(shí),使用反卷積對(duì)未被選擇到池化層的像素的位置值進(jìn)行填充。當(dāng)被填充到與原圖尺寸相同時(shí),特征映射被輸入到softmax分類器中得到最終的分割結(jié)果。SegNet記錄了空間位置,使得其在上采樣對(duì)圖像進(jìn)行恢復(fù)時(shí),能夠進(jìn)行準(zhǔn)確的恢復(fù),然而,SegNet對(duì)于物體邊界的分割精度仍然有待提高。
圖6 SegNet結(jié)構(gòu)圖Fig.6 SegNet architecture
弗萊堡大學(xué)的OLAF R等于2015年提出的U-Net[13],向編碼器到解碼器之間引入快捷連接(shortcut connections),以增強(qiáng)解碼器恢復(fù)局部細(xì)節(jié)的能力,其對(duì)生物醫(yī)學(xué)圖像的分割取得了很好效果。如圖7所示,U-Net網(wǎng)絡(luò)由一個(gè)收縮路徑(圖7左側(cè))和一個(gè)擴(kuò)張路徑(圖7右側(cè))組成。其中,收縮路徑遵循典型的卷積網(wǎng)絡(luò)結(jié)構(gòu);擴(kuò)張路徑的每一步都包含對(duì)特征圖進(jìn)行上采樣(upsample),同時(shí)級(jí)聯(lián)收縮路徑中同尺度的特征圖信息,因此豐富了細(xì)節(jié)信息。
LIN等于2016年基于ResNet提出一種新的編碼器-解碼器架構(gòu)RefineNet[30]。編碼器是ResNet-101模塊,解碼器為RefineNet block組成的,每一個(gè)block結(jié)構(gòu),如圖8所示,包含了殘差卷積單元(Residual convolution unit)、多尺度融合(Multi-resolution fusion)、鏈?zhǔn)綒埐畛鼗?Chained residual pooling)三部分,其連接/融合了編碼器的高分辨率特征和先前RefineNet塊中的低分辨率特征。RefineNet網(wǎng)絡(luò)如圖9所示,左側(cè)將ResNet的預(yù)訓(xùn)練模型按特征圖分辨率分為4個(gè)block,然后將這4個(gè)block通過4個(gè)可以融合不同分辨率特征圖的RefineNet block 進(jìn)行融合,得到融合后的特征圖。RefineNet在2017年P(guān)ASCAL-VOC分割競(jìng)賽上實(shí)現(xiàn)了83.4%的準(zhǔn)確率。
圖7 U-Net結(jié)構(gòu)圖Fig.7 U-Net architecture
圖8 RefineNet block結(jié)構(gòu)圖Fig.8 RefineNet block architecture
圖9 RefineNet結(jié)構(gòu)Fig.9 RefineNet architecture
基于整合上下文信息算法的基本思路是整合不同尺度的特征以及在局部信息與全局信息之間尋求最優(yōu)平衡。語義分割需要整合不同尺度的特征,也需要平衡局部信息與全局信息。一方面,局部信息對(duì)于提高像素級(jí)別的分類正確率很重要;另一方面,全局信息對(duì)于解決局部模糊性問題來說很關(guān)鍵。目前基于整合上下文信息的算法已經(jīng)衍生出許多方法,例如:條件隨機(jī)場(chǎng)[31]、帶孔卷積[32]以及多尺度預(yù)測(cè)等。
(1)條件隨機(jī)場(chǎng)
條件隨機(jī)場(chǎng)(conditional random field,CRF)通常作為后處理的步驟單獨(dú)執(zhí)行。條件隨機(jī)場(chǎng)在產(chǎn)生像素級(jí)標(biāo)簽時(shí)考慮了底層圖像信息(如像素間關(guān)系),這對(duì)優(yōu)化分割結(jié)果的局部細(xì)節(jié)非常重要。
CHEN等于2015年提出的DeepLab v1模型[14]使用了全連接的CRF模型作為其獨(dú)立的后端處理步驟,對(duì)分割結(jié)果進(jìn)行優(yōu)化。該模型將每個(gè)像素建模為區(qū)域中的一個(gè)節(jié)點(diǎn),無論相距多遠(yuǎn),兩個(gè)像素間的關(guān)系都會(huì)影響到像素標(biāo)簽的分類結(jié)果。這恢復(fù)了因CNN空間轉(zhuǎn)化不變性導(dǎo)致的局部細(xì)節(jié)缺失。盡管全連接模型有非常大的計(jì)算量,但DeepLab v1模型采用了近似算法,大大降低了計(jì)算成本。圖10展示了基于CRF后端處理對(duì)特征圖產(chǎn)生的影響。為更好地提升CRF的處理效果, ZHENG等將CRF集成到模型內(nèi)構(gòu)成end2end訓(xùn)練[33],KOKKINOS將額外的信息(如圖像邊緣信息)合并到CRF內(nèi)[34]。
圖10 不同迭代次數(shù)的CRF下的輸出Fig.10 Outputs under different interaions of CRF
(2)帶孔卷積
帶孔卷積又稱空洞卷積,最早是由HOLSCHNEIDER等提出的一種用于信號(hào)處理的技術(shù)[32]。在卷積神經(jīng)網(wǎng)絡(luò)中,帶孔卷積可以在不引入額外參數(shù)的情況下成倍增大感受野,因此,卷積神經(jīng)網(wǎng)絡(luò)不必采取大規(guī)模的池化操作以擴(kuò)大感受野,避免了池化操作帶來的細(xì)粒度信息丟失。帶孔卷積通常與多尺度預(yù)測(cè)結(jié)合使用。
但是帶孔卷積存在“gridding issue”現(xiàn)象,即帶孔卷積在卷積核兩個(gè)采樣像素之間插入0值,如果擴(kuò)張率過大,卷積會(huì)過于稀疏,捕獲信息能力差,因?yàn)閷?duì)輸入的采樣將變得很稀疏;且不利于模型學(xué)習(xí)——因?yàn)橐恍┚植啃畔G失了,而長距離上的一些信息可能并不相關(guān)。如圖11(a)所示,通過3個(gè)3×3、擴(kuò)張率為r=2的卷積核作用,對(duì)于中間像素點(diǎn)(紅色塊),其感受野為13×13,但是有貢獻(xiàn)的像素點(diǎn)(藍(lán)色塊)只有49個(gè),丟失了局部信息,信息利用率低。對(duì)此, WANG等人提出了混合帶孔卷積架構(gòu)(hybrid dilation convolution,HDC)[35]: 使用一組不同擴(kuò)張率卷積串接構(gòu)成一個(gè)block,即一個(gè)block由N個(gè)size為K×K的帶孔卷積組成,其對(duì)應(yīng)的擴(kuò)張率為[r1,…,ri,..,rn]。HDC的目標(biāo)是讓最后的感受野全覆蓋整個(gè)區(qū)域(沒有任何空洞或丟失邊緣),在擴(kuò)大感受野的同時(shí)減輕“gridding issue”現(xiàn)象。如圖11(b), 3個(gè)擴(kuò)張率分別為1、2、3的3×3卷積核組成一組,在保持感受野大小不變的情況下提高信息利用率(圖11(b)中藍(lán)色標(biāo)注區(qū)域大小和(a)相同,均為13×13,但貢獻(xiàn)的像素點(diǎn)遠(yuǎn)遠(yuǎn)大于49)。
圖11 Gridding issue示意圖Fig.11 Illustration of the gridding issue
(3)多尺度預(yù)測(cè)
多尺度預(yù)測(cè)也是整合上下文信息的一種方法。在CNN網(wǎng)絡(luò)中,特定尺寸的濾波器會(huì)檢測(cè)特定尺寸的特征。多尺度預(yù)測(cè)的主要思想是增加多分辨率的感受野,通過融合不同尺度的特征更加有效地學(xué)習(xí)目標(biāo)的特征信息,從而進(jìn)一步提高目標(biāo)的分割精度。
具有代表性多尺度預(yù)測(cè)算法是Deeplab v2[15]在Deeplab v1的基礎(chǔ)之上提出的帶孔卷積的空間金字塔池化(atrous spatial pyramid pooling,ASPP)。如圖12所示。為了對(duì)中央的橙色像素進(jìn)行分類,ASPP采用不同擴(kuò)張率卷積核的帶孔卷積提取不同尺度的特征,最后將不同尺度的特征進(jìn)行融合,提高預(yù)測(cè)的準(zhǔn)確率;EIGEN等提出了multi-scale convolutional architecture[36]。
圖13所示的架構(gòu)連接了三個(gè)不同scale的網(wǎng)絡(luò),并將原圖作為其輸入。scale1網(wǎng)絡(luò)為粗特征提取網(wǎng)絡(luò),其輸出與原圖進(jìn)行拼接后作為細(xì)特征提取網(wǎng)絡(luò)scale2的輸入,提高了分割的精度。scale2網(wǎng)絡(luò)的輸出與原圖拼接后同樣作為scale3網(wǎng)絡(luò)的輸入,進(jìn)一步提升輸出精度; ZHAO等于2016年提出了PSPNet[37]。它是在ResNet[26]基礎(chǔ)上進(jìn)一步改進(jìn),引入了空間金字塔池化,如圖14所示。對(duì)于輸入圖像,首先通過ResNet網(wǎng)絡(luò)提取圖像特征(feature map)將得到的feature map輸出到一個(gè)全局pool層,再通過一個(gè)Pyramid Pooling Module獲得多個(gè)sub-region的特征表示,之后對(duì)不同維度的特征圖進(jìn)行上采樣并拼接,得到特征表示向量,從而獲得圖像的局部和全局特征;最后將得到的特征表示向量輸入一個(gè)卷積層,得到最后的預(yù)測(cè)結(jié)果。由于不同層級(jí)的特征表達(dá)的差異性,使用簡(jiǎn)單的疊加與連接操作進(jìn)行特征融合,在分割精度提升方面的作用較小[38],因此,如何進(jìn)行多尺度特征融合也是一個(gè)很有意義的研究方向。
圖12 DeepLab中的ASPPFig.12 ASPP in DeepLab
圖13 EIGEN等提出的一種多尺度預(yù)測(cè)CNNFig.13 Multi-scale CNN architecture proposed by EIGEN et al.
圖14 PSPNet結(jié)構(gòu)圖Fig.14 PSPNet architecture
表2為本文提到的幾種語義分割算法的比較。
表2 語義分割算法比較
本文對(duì)基于深度學(xué)習(xí)的語義分割的常用網(wǎng)絡(luò)、數(shù)據(jù)集、語義分割算法進(jìn)行了綜述。這里將語義分割算法分為兩大類:編碼器-解碼器算法、整合上下文信息算法。但目前出現(xiàn)了很多新的方法,對(duì)這兩種算法進(jìn)行了各種方式的融合,如編碼器-解碼器架構(gòu)中融入不同層級(jí)的特征,進(jìn)行多尺度預(yù)測(cè)等。雖然語義分割的精度不斷提升,該領(lǐng)域仍存在一些局限性:(1)現(xiàn)有語義分割方法大多是針對(duì)物體整體進(jìn)行分割,通常具有較大的感受野。而很多應(yīng)用場(chǎng)景需要對(duì)物體的零部件進(jìn)行分割,稱為部件分割,部件分割更關(guān)注局部細(xì)節(jié),以獲得更精確的分割邊界。以在軌服務(wù)為例,要識(shí)別并定位航天器的局部部件,如螺栓孔、三角架等,直接使用已有的語義分割網(wǎng)絡(luò)進(jìn)行部件分割,效果不理想?,F(xiàn)有的部件分割算法多數(shù)是針對(duì)人體進(jìn)行設(shè)計(jì)的,在語義分割網(wǎng)絡(luò)的基礎(chǔ)上,借助人體姿勢(shì)信息[39]或部件檢測(cè)框[40]提升分割精度,網(wǎng)絡(luò)框架復(fù)雜,遷移性差。(2)實(shí)時(shí)分割。現(xiàn)有方法在不斷提升分割精度的同時(shí),增大了模型的復(fù)雜度。如何降低模型的復(fù)雜度,將語義分割技術(shù)應(yīng)用到對(duì)實(shí)時(shí)性有很高要求的任務(wù)中去,是未來的發(fā)展方向。(3)參數(shù)選取。選擇合適的參數(shù)對(duì)于提高分割精度具有重要的作用,然而現(xiàn)有的方法只是依靠人工經(jīng)驗(yàn)尋求較優(yōu)參數(shù),如何針對(duì)現(xiàn)有數(shù)據(jù)庫的特點(diǎn),自動(dòng)優(yōu)化網(wǎng)絡(luò)參數(shù),減少人為干預(yù),也是未來的一個(gè)發(fā)展趨勢(shì)。