葉 綠, 朱家懿, 段 婷
(浙江科技學(xué)院a.信息與電子工程學(xué)院;b.機(jī)械與能源工程學(xué)院,杭州310023)
傳統(tǒng)方法的視覺識(shí)別,如人臉識(shí)別、指紋識(shí)別等方向都有一個(gè)共同點(diǎn),即只能識(shí)別靜態(tài)目標(biāo)而對(duì)動(dòng)態(tài)目標(biāo)束手無策,這一特點(diǎn)導(dǎo)致計(jì)算機(jī)識(shí)別無法應(yīng)用在交通領(lǐng)域。無人汽車視覺識(shí)別的能力建立在對(duì)周圍環(huán)境的理解程度之上,在識(shí)別目標(biāo)物體之前首先要對(duì)其有一個(gè)基本的理解和判斷,才能實(shí)現(xiàn)高精度識(shí)別效果。語義分割作為計(jì)算機(jī)視覺中的基本任務(wù),其目的就在于能使計(jì)算機(jī)對(duì)周邊情況產(chǎn)生較深層次的理解。
大部分識(shí)別任務(wù)都會(huì)先使用語義分割算法進(jìn)行高精度場(chǎng)景分類,在得到的分割結(jié)果基礎(chǔ)上進(jìn)一步完成識(shí)別目的。從宏觀角度來講,語義分割是一種從實(shí)際環(huán)境中獲取知識(shí),從具體到抽象的過程;從微觀角度看,其本質(zhì)屬于像素級(jí)的分類任務(wù),具有極高的預(yù)測(cè)精度;從算法角度分析,卷積神經(jīng)網(wǎng)絡(luò)的出現(xiàn)使各種計(jì)算機(jī)視覺任務(wù)的表現(xiàn)都達(dá)到了質(zhì)的飛躍,其中,全卷積神經(jīng)網(wǎng)絡(luò)(FCN)[1]是一種專門為分割設(shè)計(jì)的算法結(jié)構(gòu),其端到端的訓(xùn)練方式加快了分割預(yù)測(cè)結(jié)果真正落地應(yīng)用的過程,這使得識(shí)別任務(wù)可直接建立在分割結(jié)果之上。因此,語義分割領(lǐng)域?qū)τ跓o人駕駛計(jì)算機(jī)視覺系統(tǒng)的搭建具有重要意義。
基于FCN 的思想,大量優(yōu)秀分割模型被相繼提出,因而逐漸形成了幾種常用的模型結(jié)構(gòu)。如SegNet[2]的編碼器-解碼器結(jié)構(gòu)是對(duì)稱分割模型的典型算法框架,語義信息首先通過編碼器嵌入到特征映射中,再由解碼器負(fù)責(zé)生成分割結(jié)果。但連續(xù)編碼器中的池化操作以減少空間分辨率為代價(jià),獲得圖像變換的不變性。這一操作導(dǎo)致特征圖信息大量丟失且無法恢復(fù),分割輸出結(jié)果的邊緣輪廓細(xì)致度較差。針對(duì)這一問題,Chen 等[3-5]提出的網(wǎng)絡(luò)均使用空洞卷積來避免過多的下采樣操作,其特點(diǎn)是在保證分辨率不會(huì)大幅度損失的前提下擴(kuò)大感受域范圍,這對(duì)語義分割是很有益處的。除此之外,真實(shí)場(chǎng)景中大多存在不同大小的物體目標(biāo),因此同一模型下包含多種尺度的感受域?qū)τ诰珳?zhǔn)分割多類目標(biāo)是很有必要的。因此,以ASPP[6]為代表的多尺度并行卷積模塊也被廣泛應(yīng)用于分割領(lǐng)域。
本文設(shè)計(jì)了一種應(yīng)用于駕駛視覺的算法模型,力求突破分割模型現(xiàn)有瓶頸,有效提高算法準(zhǔn)確度。具體來說,設(shè)計(jì)了多特征提取通道,配合融合思想實(shí)現(xiàn)有效信息互補(bǔ);引入注意力機(jī)制作為模型先驗(yàn)分析,對(duì)圖片中重要分類加以更大權(quán)重分配以提高算法效率。
選取367 張CamVid[7]數(shù)據(jù)集中的原始道路場(chǎng)景圖像及對(duì)應(yīng)的真實(shí)語義分割圖像構(gòu)成訓(xùn)練集。將訓(xùn)練集中的第q幅原始道路場(chǎng)景圖像記為{Iq(i,j)},對(duì)應(yīng)的真實(shí)語義分割圖像記為{Iqtrue(i,j)}。采用現(xiàn)有的獨(dú)熱編碼技術(shù)(one-hot)將訓(xùn)練集中的標(biāo)簽處理成12 幅獨(dú)熱編碼圖像,處理好的集合記為Jqtrue。其中,道路場(chǎng)景圖像為RGB彩色圖像,q為正整數(shù),1≤i≤W,1≤j≤H,W表示{Iq(i,j)}的寬度,H 表示{Iq(i,j)}的高度,如取W = 480、H = 360。Iq(i,j)表示{Iq(i,j)}中坐標(biāo)位置為(i,j)的像素點(diǎn)的像素值,Iqtrue(i,j)則表示{Iqtrue(i,j)}中坐標(biāo)位置為(i,j)的像素點(diǎn)的像素值。將處理好的數(shù)據(jù)根據(jù)預(yù)先設(shè)定好的batch-size大小,成批次輸入到網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練并保存最好權(quán)重值。所有訓(xùn)練結(jié)束后,將測(cè)試集和上述權(quán)重讀入網(wǎng)絡(luò),得到最終的評(píng)價(jià)結(jié)果和分割預(yù)測(cè)圖。總體設(shè)計(jì)思路如圖1 所示。其中,損失函數(shù)作為度量真實(shí)圖像和預(yù)測(cè)圖像差距的指標(biāo),對(duì)模型的訓(xùn)練效果有著重要影響。因此,損失函數(shù)的選擇至關(guān)重要。現(xiàn)有語義分割模型大多使用交叉熵,除此之外,Lovasz-Softmax[8]則是為了更好地?cái)M合分割特點(diǎn)而設(shè)計(jì)的一種損失函數(shù),該函數(shù)直接對(duì)語義分割的重要指標(biāo)進(jìn)行優(yōu)化,本文選擇該函數(shù)以提高訓(xùn)練效果。

圖1 總體設(shè)計(jì)方案
圖2 所示為網(wǎng)絡(luò)整體結(jié)構(gòu)圖。該網(wǎng)絡(luò)共包含兩條主要的特征提取路徑,即局部信息路徑(Localinformation Path)和全局信息路徑(Global-information Path)。前者是以VGG-16[9]的前3 個(gè)下采樣塊作為圖像局部特征的提取方式;后者則使用ResNet-34[10]的5個(gè)特征提取塊細(xì)化圖像信息從而得到全局特征。將得到的小尺寸特征圖通過反卷積還原并經(jīng)過注意力機(jī)制模塊(CAM)強(qiáng)化信息表達(dá),再將不同階段的特征圖輸入基礎(chǔ)融合塊(BFM)進(jìn)行特征融合。網(wǎng)絡(luò)后期借鑒ASPP和跳躍連接的思想,設(shè)計(jì)了RASPP模塊,旨在擴(kuò)大特征圖感受域的同時(shí)盡可能保留信息完整度。本模型利用多尺度輸出作為優(yōu)化方法。經(jīng)實(shí)驗(yàn)證明,多輸出能更好地監(jiān)督模型的收斂過程以提升分割效果。

圖2 網(wǎng)絡(luò)整體結(jié)構(gòu)
圖像的低級(jí)特征通常具有更多的空間細(xì)節(jié),而高級(jí)特征則包含更為豐富的上下文信息。本文將輸入圖像分為兩條路徑,分別提取不同的特征映射進(jìn)行語義分割,并命名為“局部信息路徑”和“全局信息路徑”。低層次特征包含的信息主要集中在目標(biāo)的細(xì)致輪廓,對(duì)于密集分類預(yù)測(cè)輸出是很有意義的。以往的方法通過連續(xù)的下采樣操作獲得高層次特征,從而犧牲了特征圖的空間分辨率。盡管以上方法在解碼模塊中均使用上采樣操作還原尺寸,但一些丟失的空間信息很難被恢復(fù)。為了避免上述問題,本文定義了局部信息提取路徑,使用加入預(yù)訓(xùn)練權(quán)重后的VGG-16 作為特征提取網(wǎng)絡(luò)。該路徑?jīng)]有設(shè)置過多的下采樣操作,從而保持更強(qiáng)的空間細(xì)節(jié)。除此之外,該路徑還將每個(gè)特征提取塊得到的結(jié)果進(jìn)行融合,即使用反卷積操作恢復(fù)所有小特征圖尺寸至原圖的1 / 2 大小,后相加融合。通過該方法得到的融合特征圖具有極豐富的細(xì)節(jié)特征,可作為后續(xù)模塊的補(bǔ)償信息。
從宏觀角度來看,語義分割的核心思想是為每個(gè)目標(biāo)按實(shí)際類別進(jìn)行標(biāo)注,同類事物將被賦予同一特征。語義分割任務(wù)的難點(diǎn)在于,局部信息與全局信息的豐富程度會(huì)直接影響分割效果,但兩者之間卻有著天然的互斥關(guān)系。為解決這一問題,本文設(shè)計(jì)了全局信息路徑,專門用于提取上下文信息。與局部信息路徑不同,全局信息需從深層網(wǎng)絡(luò)獲取,即多次下采樣變得十分必要。因此,本文選擇ResNet-34 作為該路徑的主網(wǎng)絡(luò),ResNet可很好解決深度CNN網(wǎng)絡(luò)中存在的問題,如梯度消失或梯度爆炸。具體來說,圖像每經(jīng)過一個(gè)特征提取塊,其尺寸均會(huì)減小1 / 2,將最后得到的最小尺寸特征圖通過雙線性差值上采樣的方法,一步還原到先前的各個(gè)尺寸并和對(duì)應(yīng)尺寸的特征圖相融合,以達(dá)到綜合全局與局部信息的目的。
特征融合是現(xiàn)階段分割模型較為常用的一種優(yōu)化方法。通常來說,模型會(huì)將不同階段產(chǎn)生的相同尺寸特征圖進(jìn)行融合,主要方式為拼接或相加,本文稱該方式為直接融合法。直接融合法雖被廣泛使用,但仍具有不足之處,例如,低級(jí)特征往往包含很多噪聲且與高級(jí)特征之間的差距較大,因而直接將兩種特征融合一般無法達(dá)到預(yù)期效果。為了解決這一問題,本文選擇將深層網(wǎng)絡(luò)中的特征圖多次還原為較大尺寸,與相對(duì)應(yīng)的淺層特征融合。高級(jí)特征所含信息較為純凈,即使經(jīng)過雙線性插值進(jìn)行尺寸擴(kuò)大也不會(huì)引入多余干擾噪聲,因而融合效果更好。本文將該融合方式命名為多特征融合法,其原理圖如圖3 所示。
以全局信息提取路徑中的多特征融合為例具體說明,經(jīng)過各提取塊后的結(jié)果將變?yōu)樵瓐D的1 / 2、1 / 4、1 /8、1 / 16 和1 / 32,將最小特征圖從1 / 32 大小向上還原至1 / 2、1 / 4、1 / 8、1 / 16,得到的上采樣結(jié)果與原始提取塊得到的同尺寸結(jié)果相加,得到更為全面的綜合特征圖。多特征融合作為一種特征融合方式,可靈活加入到各個(gè)階段以更好地綜合網(wǎng)絡(luò)信息。

圖3 多特征融合原理圖
基礎(chǔ)融合模塊共有3 個(gè)輸入流,其結(jié)構(gòu)圖如圖4所示。Input 1 和Input 2 分別來自ResNet-34 特征提取塊的輸出和多特征融合特征圖,該融合屬于全局信息與局部信息的互補(bǔ)過程,因此選擇相加操作將兩輸入進(jìn)行融合。然后將得到的綜合特征與對(duì)應(yīng)的注意力機(jī)制模塊輸出(Input 3)進(jìn)行融合,由于上述兩種特征屬于不同類別的信息,均具有獨(dú)特優(yōu)勢(shì),因此選擇拼接方式將兩特征圖在通道維度上進(jìn)行連接以保證各自特點(diǎn)。該模型旨在通過簡單的融合方式綜合特征輸入,以在發(fā)揮作用的同時(shí)控制網(wǎng)絡(luò)整體參數(shù)。

圖4 基本融合模塊
高層次特征的每個(gè)通道都可以看作是一個(gè)特定于類的響應(yīng),不同的語義響應(yīng)相互關(guān)聯(lián)。通過挖掘通道之間的相互依賴關(guān)系,可提高特定語義的特征表示。因此,本文構(gòu)建了一個(gè)通道注意模塊來顯式地建立通道之間的依賴關(guān)系,其結(jié)構(gòu)圖如圖5 所示。在計(jì)算兩個(gè)通道關(guān)系之前,該模塊不使用卷積層嵌入特征,這樣可以保持不同通道映射之間的關(guān)系不變。此外,與其他使用全局池化或全連接的方法不同,本模塊利用所有對(duì)應(yīng)位置上的空間信息來建立通道相關(guān)性,即使用矩陣變換相乘實(shí)現(xiàn)通道加權(quán)。

圖5 注意力機(jī)制模塊結(jié)構(gòu)圖
復(fù)雜場(chǎng)景的分割任務(wù)面臨諸多挑戰(zhàn),如分辨率不足、感受域單一等。因此,在一種模塊中綜合多種功能是現(xiàn)階段分割模型的主要設(shè)計(jì)思路。本文將ASPP和跳躍連接相結(jié)合,設(shè)計(jì)了RASPP 模塊,如圖6(a)所示。該模塊進(jìn)一步優(yōu)化網(wǎng)絡(luò)前部分得到的綜合特征,通過設(shè)置不同尺寸的空洞卷積實(shí)現(xiàn)對(duì)不同大小目標(biāo)的精確分割。該模塊共包含一個(gè)輸入流和兩個(gè)輸出流,其中一條輸出流作多尺度監(jiān)督;另一條則作為下一個(gè)殘差優(yōu)化塊的輸入。殘差優(yōu)化塊如圖6(b)所示,目的是能更好地產(chǎn)生輸出預(yù)測(cè)結(jié)果。

圖6 多尺度優(yōu)化模塊結(jié)構(gòu)圖
本文使用Camvid數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析,該數(shù)據(jù)集共包含11 個(gè)類別,701 幅圖像,大小為360 × 480。在數(shù)據(jù)預(yù)處理階段將圖像大小調(diào)整為352 × 480 以便進(jìn)行多次下采樣,具體參數(shù)設(shè)置如下:訓(xùn)練集數(shù)量367張,驗(yàn)證集數(shù)量101 張,測(cè)試集數(shù)量233 張,學(xué)習(xí)率10-3,優(yōu)化器SGD + momentum 0.9,mini-batch 2,epochs 200。
具體實(shí)驗(yàn)階段使用Pycharm 作為IDE,深度學(xué)習(xí)框架選擇Pytorch1.1.0,主要語言為Python。使用GPU加速訓(xùn)練網(wǎng)絡(luò),所使用的設(shè)備為NvidiaGXT 1080且只選用一塊GPU加速程序。語義分割任務(wù)中存在3個(gè)評(píng)價(jià)指標(biāo)用于衡量網(wǎng)絡(luò)性能,分別為像素精度(CA)、平均像素精度(GA)以及平均交并比(MIoU),指標(biāo)結(jié)果值越大,表示算法分割效果越好。
根據(jù)上述指標(biāo),將本文網(wǎng)絡(luò)與同一數(shù)據(jù)集中的其他現(xiàn)有模型進(jìn)行比較,包括Segnet、Deeplb-LFOV、DFN[11]、ENet[12]、LinkNet[13]、ESPNet[14]、ReSeg[15]、TernausNet[16]以及DFANet。表1 列出了CamVid數(shù)據(jù)集所包含的11 個(gè)類別及每個(gè)類對(duì)應(yīng)的分割準(zhǔn)確率。由此可見,本模型在各細(xì)節(jié)類上的預(yù)測(cè)效果大多優(yōu)于其他對(duì)比模型。除此之外,表2 列出了3 個(gè)主要指標(biāo)的結(jié)果,證明了本方法得到的分割結(jié)果值均優(yōu)于其他對(duì)比網(wǎng)絡(luò)。

表1 各類別分割結(jié)果

表2 主要指標(biāo)結(jié)果
本文涉及的其他比較算法均在同等條件下復(fù)現(xiàn),嚴(yán)格依照文中給出的參數(shù)設(shè)置進(jìn)行搭建,并未對(duì)其內(nèi)部結(jié)構(gòu)進(jìn)行修改。以SegNet為例,本文復(fù)現(xiàn)其結(jié)果時(shí)使用SGD 作為優(yōu)化器,學(xué)習(xí)率設(shè)為10-3,動(dòng)量為0.9,Dropout設(shè)為0.5,batch-size 則為5。在相同參數(shù)設(shè)置的情況下使用NvidiaGXT 1080 加速訓(xùn)練,得到的結(jié)果與本文算法可直接做對(duì)比,不需要額外計(jì)算。正如SegNet原文所給出的11 個(gè)類別分類,本文同樣將每個(gè)類別的預(yù)測(cè)準(zhǔn)確率輸出,作為對(duì)比結(jié)果的一部分。
如圖7 所示為各網(wǎng)絡(luò)分割預(yù)測(cè)圖。其中,圖7(a)為CamVid測(cè)試集中的原始道路圖像;(b)為測(cè)試集中的標(biāo)簽圖,該圖像作為其他模型的基準(zhǔn)對(duì)比圖,可直觀地證明某一模型分割結(jié)果的好壞;(c)、(d)分別為SegNet 和TernausNet 兩種先驗(yàn)網(wǎng)絡(luò)的分割結(jié)果;(e)則表示本方法的預(yù)測(cè)圖。SegNet 和TernausNet 的結(jié)果圖同樣使用上述方法由本人自行復(fù)現(xiàn)輸出,該預(yù)測(cè)圖與原文中給出的最終結(jié)果幾乎相同,并未產(chǎn)生巨大差距。在訓(xùn)練階段保存的最優(yōu)權(quán)重導(dǎo)入搭建好的模型中,輸入測(cè)試數(shù)據(jù)集得到預(yù)測(cè)矩陣,后使用PIL圖像處理庫,將得到的矩陣數(shù)據(jù)轉(zhuǎn)化為圖片形式,按張保存。圖中第1 行可證明本模型對(duì)小目標(biāo)的分割效果,如圖中黃框標(biāo)記出的路燈,先驗(yàn)網(wǎng)絡(luò)并未將其分割出來,而本算法可將大致輪廓輸出。圖中第2 行可證明本模型對(duì)常見目標(biāo)的分割效果,黃框中的目標(biāo)在本算法的計(jì)算下得到了更為平滑明確的分割結(jié)果。

圖7 各網(wǎng)絡(luò)預(yù)測(cè)結(jié)果圖
本文以無人駕駛視覺系統(tǒng)為應(yīng)用場(chǎng)景,設(shè)計(jì)了一種基于深度學(xué)習(xí)的語義分割模型。該模型設(shè)計(jì)了兩條特征提取路徑以有效細(xì)化圖像各部分信息,通過多特征融合實(shí)現(xiàn)信息互補(bǔ),并引入其他優(yōu)化模塊進(jìn)一步完善網(wǎng)絡(luò)效果。該網(wǎng)絡(luò)通過大量數(shù)據(jù)訓(xùn)練,在與其他先驗(yàn)網(wǎng)絡(luò)的對(duì)比下可較好地提高道路場(chǎng)景圖像的分割準(zhǔn)確率,有望對(duì)無人駕駛的新技術(shù)發(fā)展做出貢獻(xiàn)。