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