常亮, 白傑, 胡會會, 鐘宏亮
(1. 同濟(jì)大學(xué) 汽車學(xué)院,上海 200082; 2. 中國科學(xué)院 微小衛(wèi)星創(chuàng)新研究院,上海 201210)
圖像語義分割是計(jì)算機(jī)視覺領(lǐng)域中的一項(xiàng)基本研究內(nèi)容,是根據(jù)目標(biāo)鄰域特征針對每個(gè)像素進(jìn)行分類,最終得到一個(gè)具有像素級語義標(biāo)注的圖像,在各領(lǐng)域中都具有極其重要作用,如自動駕駛[1]、通道安檢、醫(yī)療健康領(lǐng)域等[2],在自動駕駛領(lǐng)域,通過圖像語義分割可幫助進(jìn)行避障和路徑規(guī)劃[3-4];在通道安檢領(lǐng)域,可準(zhǔn)確分割并識別出危險(xiǎn)物品;在醫(yī)療領(lǐng)域,可幫助醫(yī)師進(jìn)行病灶的分割和識別. 隨著深度學(xué)習(xí)技術(shù)發(fā)展及計(jì)算機(jī)硬件性能的提高,深層次大規(guī)模的神經(jīng)網(wǎng)絡(luò)在圖像語義分割方面已經(jīng)取得了很大的進(jìn)展.
一般在利用卷積神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行分類時(shí),會在卷積層的后面引入全連接層, 即將圖像的二維特征轉(zhuǎn)換為一維特征,不利于圖像語義分割,LONG等[5]提出了去除全連層的全卷積神經(jīng)網(wǎng)絡(luò)( fully convolutional networks,F(xiàn)CN),使網(wǎng)絡(luò)具有密集預(yù)測能力的同時(shí)允許任一尺寸的圖像作為輸入,后面的基于深度學(xué)習(xí)的語義分割研究幾乎都采用全卷積神經(jīng)網(wǎng)絡(luò)作為基礎(chǔ),使端到端的圖像分割網(wǎng)絡(luò)得以推廣,同時(shí)提出了使用反卷積進(jìn)行上采樣,并使用上采樣的粗糙分割特征圖與高分辨特征圖進(jìn)行跳躍連接以改善上采樣層中粗糙的像素定位,從而實(shí)現(xiàn)像素精準(zhǔn)分割. 深度學(xué)習(xí)網(wǎng)絡(luò)中的池化層增大了感受野但會因此丟棄部分位置信息,為解決此問題,人們提出了兩種不同的解決思路. U-net采用編碼-解碼結(jié)構(gòu)進(jìn)行分割網(wǎng)絡(luò)設(shè)計(jì),編碼器通過使用池化層,縮小圖像尺寸提高濾波器的感受野,而解碼器則通過上采樣恢復(fù)圖像空間維度,且在每次上采樣后在通道維度上級聯(lián)編碼器中同一尺度的特征,來幫助解碼器恢復(fù)圖像的細(xì)節(jié),在醫(yī)學(xué)圖像上得到很大的應(yīng)用[2]. CHEN等[6]提出了空洞卷積在不降低圖像分辨率的情況下提高濾波器的感受野,并且在網(wǎng)絡(luò)后使用全連接條件隨機(jī)場進(jìn)行處理,恢復(fù)圖像邊緣的信息,在一定程度上改善了分割效果. ZHAO等[7]在使用空洞卷積的基礎(chǔ)上添加了金字塔池化模塊,聚合不同區(qū)域的上下文信息,在語義分割上產(chǎn)生了更好的效果. 近幾年,注意力機(jī)制不但在NLP領(lǐng)域取得主導(dǎo)地位,而且在圖像分割領(lǐng)域也得到了極大的關(guān)注,F(xiàn)U[8]提出一個(gè)新型的集成雙路注意力機(jī)制的語義分割模型,在空洞卷積的特征提取模塊后采用兩個(gè)并行的位置注意力模塊和通道注意力模塊,進(jìn)行語義信息的聚合.
但現(xiàn)存的語義分割方法大多是在正常光照條件下的研究,缺乏低光照環(huán)境下的探索,當(dāng)光照強(qiáng)度降低時(shí),性能往往降低很多. 在自動駕駛領(lǐng)域中,會遇到各種各樣的自然條件[9],對于低光照場景下,光照不足會導(dǎo)致圖像信息丟失,造成圖像上目標(biāo)間的邊界細(xì)節(jié)丟失,沒有足夠的特征來進(jìn)行視覺處理,而簡單地使用圖像亮度增強(qiáng)方法會引入噪聲,影響圖像分割效果. KVYETNYY等[10]認(rèn)為低光照圖像是噪聲干擾的結(jié)果,使用圖像預(yù)處理的方式能夠提高目標(biāo)檢測率,提出了一個(gè)雙邊濾波和小波閾值的方式進(jìn)行去噪處理,然后再進(jìn)行圖像檢測. RASHED等[11]提出了一個(gè)基于Lidar光流計(jì)算和相機(jī)光流計(jì)算的CNN結(jié)構(gòu)用于低光照條件下運(yùn)動目標(biāo)的檢測,但此方法僅限于動態(tài)目標(biāo)的檢測,不夠全面,自動駕駛中也要避讓很多靜態(tài)障礙物. 王昊然[12]提出了一種利用遷移學(xué)習(xí)的低光照場景語義分割算法,將提取的理想場景圖像的特征,如包含有利于圖像分割的亮度和顏色信息,補(bǔ)充到低光照圖像特征中,進(jìn)而提升低光照圖像的語義分割效果. SASAGAWA等[13]提出了一種域自適應(yīng)的新方法,使用glue層和生成模型合并不同領(lǐng)域的預(yù)訓(xùn)練模型,用于低光照條件下的目標(biāo)檢測,與創(chuàng)建新的數(shù)據(jù)集相比,花費(fèi)的資源更少.
針對上述低光照條件下圖像亮度不足,信息丟失問題,本文提出了一種深度圖輔助圖像語義分割的兩路融合網(wǎng)絡(luò),兩路網(wǎng)絡(luò)分別使用深度圖和RGB圖作為輸入,并且在不同尺度的輸出層上通過自注意力機(jī)制模塊進(jìn)行特征圖融合,最后將多個(gè)尺度的輸出特征共同輸入到多尺度融合模塊,對不同尺度的特征進(jìn)行互補(bǔ)性融合,有效地提高圖像分割效果.
本文設(shè)計(jì)了一個(gè)相對獨(dú)立兩路融合網(wǎng)絡(luò)框架,分別對原始的RGB和深度圖進(jìn)行處理,并設(shè)計(jì)融合模塊整合兩路提取的特征層,充分利用不同傳感器在不同外界條件下的感知特性,提高了整個(gè)模型對低光照條件下的感知效率. 如圖1所示,MDF-ANet模型框架大致可以分為3個(gè)模塊:特征提取、特征融合和多尺度融合上采樣. 兩路特征提取子網(wǎng)絡(luò)分別使用深度圖和RGB圖作為輸入,并且在不同尺度的輸出層上通過特征融合模塊進(jìn)行融合;為了進(jìn)一步聚合高階特征,在最后一個(gè)尺度特征層后接一個(gè)空間金字塔池化模塊(spatial pyramid pooling,SPP)[7],最后將多個(gè)尺度的輸出特征共同輸入多尺度融合上采樣模塊,得到最后的分割圖.
圖1 整體網(wǎng)絡(luò)結(jié)構(gòu)示意圖
特征提取模塊主要提取圖像的紋理信息及空間信息,尤其是物體豐富的邊緣信息,對圖像分割具有很大的幫助. 但對于被動傳感器相機(jī)來說,低光照情況下,會引入很多的噪聲,不利于圖像分割;但主動傳感器激光雷達(dá)所得到的深度圖幾乎不受光照的影響,且測距誤差小. 故本文設(shè)計(jì)了一個(gè)兩路融合網(wǎng)絡(luò),一路處理相機(jī)數(shù)據(jù)RGB圖像,另一路處理激光雷達(dá)得到的深度圖像. 相機(jī)數(shù)據(jù)是一個(gè)三通道的RGB數(shù)據(jù),而雷達(dá)數(shù)據(jù)是離散的空間點(diǎn),對雷達(dá)點(diǎn)云的處理一般包括俯視圖處理、直接點(diǎn)云輸入和極坐標(biāo)處理. 俯視圖處理或是直接點(diǎn)云輸入經(jīng)過特征提取網(wǎng)絡(luò)提取的特征層和RGB特征層屬于不同視角,不能直接進(jìn)行融合處理,大多進(jìn)行目標(biāo)檢測框與框之間的后處理,不利于圖像分割,故本文中使用極坐標(biāo)處理,即空間點(diǎn)云經(jīng)過坐標(biāo)變換轉(zhuǎn)換成前視圖的深度圖,便于進(jìn)行后續(xù)的特征層融合.
本文中選用ResNet-18[14]作為RGB特征提取的基干網(wǎng)絡(luò),ResNet-18具有適當(dāng)?shù)纳疃群蜌埐罱Y(jié)構(gòu),兼具實(shí)時(shí)性和性能;因深度圖和RGB圖具有相同的特征視角,特征提取具有一定的相似性,故采用相同的特征提取網(wǎng)絡(luò),在相同特征尺度層通過特征融合模塊進(jìn)行特征融合.
不同的傳感器所含信息豐富度不同,比如RGB包含更多的色彩信息,更易于像素分類,而深度圖包含更多的距離和空間信息,更易于不同目標(biāo)之間像素分割. 且傳感器數(shù)據(jù)有效信息質(zhì)量會隨著外界條件的不同而不同,比如低光照條件下,RGB數(shù)據(jù)中包含更多的噪聲,有效信息減少,而深度圖則不受光照的影響. 傳統(tǒng)的特征層融合方式,即不同傳感器特征層簡單相加或是合并,相當(dāng)于是平等使用不同源數(shù)據(jù)特征層,不能很好地利用不同數(shù)據(jù)在不同條件下的特性,提出使用注意力機(jī)制的特征融合模塊[9],針對不同條件下,自動弱化不重要信息,加強(qiáng)有效互補(bǔ)的信息融合,特征融合模塊網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
圖2 基于注意力機(jī)制的特征融合模型
假定RGB輸入特征層為X=[x1,x2,...,xC]∈C×H×W,深度圖輸入特征層為D=[d1,d2,...,dC]∈C×H×W,O∈C×H×W為融合后特征層,計(jì)算表達(dá)式為
O=(X?ca(X))?sa(X?ca(X))+
(D?ca(D))?sa(D?ca(D))
(1)
式中:?代表向量點(diǎn)乘;ca代表通道注意力模型;sa代表空間注意力模型.X和D分別經(jīng)過各自的注意力機(jī)制模塊后獲得不同的權(quán)重值,然后與各自的特征層點(diǎn)乘加權(quán),再相加融合,能夠自動加強(qiáng)有效信息的融合.
1.2.1通道注意力機(jī)制
卷積神經(jīng)網(wǎng)絡(luò)的原理是通過采集圖像局部感受野的空間和通道信息,并根據(jù)采集的信息提取包含不同信息的表征. 比如紋理信息和形狀信息,每個(gè)卷積層包含多個(gè)濾波器,每個(gè)濾波器對輸入特征的所有通道進(jìn)行計(jì)算,學(xué)習(xí)表征不同的圖像特征,如X=[x1,x2,...,xC]∈C×H×W就是由C個(gè)濾波器進(jìn)行卷積計(jì)算過得到的C個(gè)H×W的特征圖. 每個(gè)特征圖包含的信息量不同,對圖像分割的貢獻(xiàn)程度也不同[15],應(yīng)根據(jù)不同特征層的重要程度給予不同的計(jì)算權(quán)重,使網(wǎng)絡(luò)偏向于輸入信號中信息量較大的部分,本文中使用的通道注意力機(jī)制如圖3所示.
首先將特征層經(jīng)過全局的平均值池化和最大值池化,得到每個(gè)通道特征圖的表征值,大小為C×1, 平均池化就是對特征層中每個(gè)特征圖計(jì)算均值,公式為
(2)
式中:W,H分別代表特征圖的寬和高;Im代表特征層中的第m個(gè)特征圖,m∈(1,C);Am表征第m個(gè)特征圖的平均值,A為一個(gè)大小為C×1的向量.
最大值池化就是對特征層中的每個(gè)特征圖計(jì)算最大值,公式為
Mm=max(Im)
(3)
式中:Im代表特征層中的第m個(gè)特征圖,m∈(1,C);Mm表征第m個(gè)特征圖的最大值;M是一個(gè)大小為C×1的向量.
為了進(jìn)一步學(xué)習(xí)不同特征圖的權(quán)重同時(shí)減少計(jì)算量,使最大值池化層和平均值池化層接入一個(gè)共享層,共享層由一個(gè)通道減少的1×1卷積層、ReLU層和一個(gè)通道增加至初始通道數(shù)的1×1卷積層組成,能夠使模型充分地學(xué)習(xí)不同特征圖的權(quán)重,并在一定程度上防止過擬合現(xiàn)象. 最后將兩路的特征進(jìn)行相加,得到一個(gè)C×1向量,然后輸入sigmoid函數(shù)得到不同通道的權(quán)重,限定權(quán)重為在0~1之間的浮點(diǎn)數(shù),計(jì)算過程為
ca(X)=sigmoid(φ(φ1(X))+φ(φ2(X)))
(4)
式中:φ表示共享層網(wǎng)絡(luò);φ1,φ2分別表示均值池化和最大值池化操作.
1.2.2空間注意力機(jī)制
當(dāng)看一個(gè)場景或是一副圖像時(shí),會自動聚焦于場景中的關(guān)鍵位置,對重要位置給予更多關(guān)注. 空間注意力機(jī)制就是仿照人類視覺的注意力機(jī)制[16]設(shè)計(jì)的. 其通過自動學(xué)習(xí)圖像中的不同位置特征信息并分配不同權(quán)重,突出關(guān)鍵信息,忽略不重要信息,利用有限的注意力從大幅圖像中提取出高價(jià)值信息,本文中空間注意力機(jī)制如圖4所示.
圖4 空間注意力機(jī)制
首先將特征層在通道維度上進(jìn)行平均值池化和最大值池化,得到特征圖上每個(gè)位置的表征值,大小為H×W,平均池化就是對特征圖中多個(gè)通道特征計(jì)算均值,公式為
(5)
式中:C,W,H分別代表特征層的通道數(shù)、寬和高;Ik代表特征層中的第k個(gè)特征圖,k∈(1,C);IA(i,j)表示在通道維度上進(jìn)行平均池化輸出特征圖的第i行j列的值,IA是一個(gè)大小為H×W的特征圖.
通道維度上的最大值池化就是對特征圖中多個(gè)通道特征計(jì)算最大值,公式為
IM(i,j)=max([I1(i,j),I2(i,j),…,IC(i,j)])
(6)
IM表示通道維度上最大池化的輸出特征圖,是一個(gè)大小為H×W的矩陣.
再將最大值池化和平均值池化輸出圖在通道上進(jìn)行合并,然后輸入一個(gè)7×7卷積層和sigmoid函數(shù)得到不同通道的權(quán)重,限定權(quán)重為在0~1之間的浮點(diǎn)數(shù),計(jì)算過程為
sp(X)=sigmoid(φsp([ω1(X),ω2(X)]))
(7)
式中:φsp表示卷積網(wǎng)絡(luò)層;ω1,ω2分別表示均值池化和最大值池化操作.
語義分割是對圖像中的像素進(jìn)行類別預(yù)測,小而細(xì)的物體通常在高分辨率特征層得到很好的預(yù)測,大結(jié)構(gòu)的物體通常在低分辨率特征層才能夠進(jìn)行正確的識別,因?yàn)樵诳s小圖像尺寸時(shí),網(wǎng)絡(luò)才能更好地觀測到大物體的上下文信息. 如圖5所示,本文引入一種多尺度融合上采樣模塊的方法以解決上述問題[17].
圖5 多尺度融合的上采樣模塊
首先對低分辨率特征層scale 1/32進(jìn)行雙線性插值的上采樣操作變成和其上一尺度scale 1/16同樣大小的特征層,然后與其上一尺度特征層一起進(jìn)入Attn模塊,通過注意力機(jī)制使網(wǎng)絡(luò)學(xué)習(xí)一個(gè)相鄰尺度之間的相關(guān)權(quán)重,兩個(gè)相鄰尺度的特征層分別點(diǎn)乘相應(yīng)的權(quán)重圖,再相加作為此次融合的輸出;進(jìn)一步作為此尺度下的輸出與scale 1/8的特征層合并輸入Attn模塊,進(jìn)行相同的操作. 基于注意力機(jī)制的多尺度融合上采樣模塊能夠更好地結(jié)合互補(bǔ)性的多尺度特征信息,有效地提高圖像分割性能.
Attn模塊結(jié)構(gòu)圖如圖6所示. 兩路輸入進(jìn)入模塊后,先進(jìn)行通道的級聯(lián)拼接,然后通過一個(gè)3×3的卷積網(wǎng)絡(luò)、BN、RLU,再接一個(gè)1×1卷積網(wǎng)絡(luò),能夠進(jìn)一步探索通道之間的相關(guān)性,最后通過一個(gè)sigmoid函數(shù),約束權(quán)重在0~1之間.
圖6 Attn模塊結(jié)構(gòu)
本文中實(shí)驗(yàn)框架采用Pytorch1.5、CUDA10.2、CUDNN7.6,2080Ti顯卡. 訓(xùn)練時(shí)對輸入數(shù)據(jù)進(jìn)行裁剪、隨機(jī)水平翻轉(zhuǎn)、隨機(jī)0.5~2倍的放大縮小等數(shù)據(jù)增強(qiáng)操作,采用ResNet-18作為基干網(wǎng)絡(luò),并使用ResNet-18在ImageNet上的訓(xùn)練結(jié)果作為預(yù)訓(xùn)練權(quán)重,加快模型訓(xùn)練. 本文采用語義分割領(lǐng)域常用的Cityscapes[18]數(shù)據(jù)集進(jìn)行實(shí)驗(yàn). Cityscapes[18]數(shù)據(jù)集是一個(gè)城市街道數(shù)據(jù)庫,其中包含相機(jī)RGB圖像和視差圖,通過相應(yīng)的相機(jī)參數(shù)計(jì)算得到其深度圖進(jìn)行實(shí)驗(yàn),其中包括常見的精細(xì)語義標(biāo)注的19類目標(biāo),2 795張訓(xùn)練圖像、500張驗(yàn)證圖像數(shù)據(jù)和1 525張測試圖像,圖像原始大小為2 0481 024. 本文目標(biāo)是提出一種適用于低光照圖像分割的語義分割方法,但就目前所知,還沒有純粹的包含低光照或是夜晚圖像及其相應(yīng)深度圖的數(shù)據(jù)集,因此本文把Cityscapes訓(xùn)練集和驗(yàn)證集圖像調(diào)整為256256,并通過圖像轉(zhuǎn)換的方法CycleGAN[11]及其訓(xùn)練權(quán)重[19]生成大小為256256的低光照圖像,稱為Small-dark-cityscapes數(shù)據(jù)集,包括2 795張訓(xùn)練集、500張驗(yàn)證集數(shù)據(jù).
為了驗(yàn)證本文方法的有效性,本文基于Cityscapes及Small-dark-cityscapes數(shù)據(jù)集不同實(shí)驗(yàn)設(shè)置的實(shí)驗(yàn)結(jié)果如表1所示,實(shí)驗(yàn)將Cityscapes和Small-dark-cityscapes訓(xùn)練集劃分訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù),將Cityscapes和Small-dark-cityscapes驗(yàn)證集作為測試數(shù)據(jù). RGB-day 表示只用正常光照RGB圖像作為模型輸入,如大多數(shù)現(xiàn)存文獻(xiàn)方法一樣,只考慮了白天正常光照情況下的圖像分割,可作為本實(shí)驗(yàn)的比較基準(zhǔn),在Cityscapes驗(yàn)證集上達(dá)到63.57%mIOU. MDF-ANet-no-night代表本文所提出的方法,采用白天正常光照條件下的RGB圖和深度圖作為輸入,與RGB-day做對比,達(dá)到了67.10% mIOU,體現(xiàn)了使用RGB和深度圖融合的本文方法的有效性. RGB*Depth、RGB + Depth分別代表使用特征層通道上拼接、特征層相加的融合方式進(jìn)行特征層融合,和MDF-ANet-no-night方法結(jié)果相比較,說明了本文提出的基于注意力機(jī)制融合的方法具有一定的優(yōu)勢.
表1 Cityscapes及Small-dark-cityscapes驗(yàn)證集上不同實(shí)驗(yàn)設(shè)置的實(shí)驗(yàn)結(jié)果
為了進(jìn)一步體現(xiàn)本文方法對低光照圖像的分割效果,表1中展示了不同方法對Small-dark-cityscapes驗(yàn)證集的分割效果,RGB-night 表示只使用生成的低光照的RGB進(jìn)行訓(xùn)練和驗(yàn)證,達(dá)到了41.0%mIOU的效果,說明低光照情況下,亮度不足,造成RGB數(shù)據(jù)有效信息丟失,網(wǎng)絡(luò)無法提取到足夠的有效特征進(jìn)行像素分割. RGB-day-night表示同時(shí)使用正常光照和低光照條件下的RGB數(shù)據(jù)進(jìn)行訓(xùn)練,并只在低光照圖像上進(jìn)行驗(yàn)證,達(dá)到了45.18%的mIOU,說明擴(kuò)展訓(xùn)練數(shù)據(jù)范圍,在一定程度上能夠提高模型精度. MDF-ANet表示本文方法使用正常光照和低光照條件下的RGB數(shù)據(jù)及其深度圖進(jìn)行訓(xùn)練,在Small-dark-cityscapes驗(yàn)證集達(dá)到59.80%的mIOU, 相比前兩種方法mIOU分別提高了18.8%, 14.62%,充分證明了本文方法的有效性. 為了綜合體現(xiàn)本文方法的分割性能,表1中展示了不同方法對Cityscapes+Small-dark-cityscapes驗(yàn)證集的分割結(jié)果. 在全部驗(yàn)證集上,本文方法MDF-ANet相對于RGB-day、RGB-day-night,在mIOU和精準(zhǔn)度上分別取得了明顯的提高,再一次說明了在各種不可測的外部環(huán)境下,多模態(tài)數(shù)據(jù)融合模型是進(jìn)行場景分割識別的趨勢,能夠進(jìn)行信息互補(bǔ),使模型具有較高的穩(wěn)定性.
圖7展示了本文分割算法的示例結(jié)果,每行代表一個(gè)數(shù)據(jù)樣本,從左至右依次為輸入數(shù)據(jù)RGB圖、深度圖、標(biāo)注圖像和預(yù)測結(jié)果圖. 第一行為白天數(shù)據(jù)樣本,可以看到本文算法對細(xì)長的柱形物體也能預(yù)測出來,對較小的目標(biāo)具有很好的識別度. 第二、三行為通過生成網(wǎng)絡(luò)生成的低光照圖像樣本,在RGB圖像中幾乎看不清的目標(biāo),如行人、柱子,在其深度圖中具有明顯的形態(tài)信息,可以很好地觀測出來,本文分割算法同時(shí)輸入RGB圖和深度圖,對兩種數(shù)據(jù)源特征圖進(jìn)行互補(bǔ)性融合,達(dá)到能夠在低光照條件下識別目標(biāo)的目的,具有很好的魯棒性.
圖7 本文分割算法的示例結(jié)果圖
針對低光照情況下圖像亮度不足,信息丟失,語義分割性能降低的問題,本文提出了一個(gè)新的融合RGB和深度圖的語義分割網(wǎng)絡(luò):首先,分別使用RGB和深度圖作為融合網(wǎng)絡(luò)兩路分支特征提取子網(wǎng)絡(luò)的輸入;然后,在每個(gè)輸出尺度上通過特征融合模塊進(jìn)行特征融合;最后,將特征圖通過多尺度融合上采樣模塊,進(jìn)行不同感受野的充分特征融合后得到分割結(jié)果. 在Cityscapes數(shù)據(jù)集實(shí)驗(yàn)及自己生成的低光照數(shù)據(jù)集上進(jìn)行了驗(yàn)證,相比較只使用RGB輸入的模型,性能提高了9.1%,在NVIDIA 2080Ti顯卡上達(dá)到了35 fps. 在下一步的研究中,探索更加有效的融合方式以達(dá)到縮小模型參數(shù)量的同時(shí)提高模型效果的目標(biāo).