馮向東,鄔忠萍,郝宗波
(1.成都理工大學工程技術學院 基礎教學部,四川 樂山 614000;2.成都工業學院 汽車與交通學院,四川 成都 611730;3.電子科技大學 信息與軟件工程學院,四川 成都 610054)
當前,無人機(unmanned aerial vehicle,UAV)紅外影像已成為局部地區狀況監測的重要手段[1]。其中,利用UAV紅外熱成像進行地面車輛語義分割應用前景廣闊,例如交通監測、事故分析[2]、無人駕駛車輛管理[3]、車輛類型識別與停車場管理等[4]。
一般情況下,UAV紅外圖像的車輛檢測和語義分割可分為3類:①提取如邊緣、光譜等非自動特征,并進行轉換合并[5],但僅使用低級特征無法從大量訓練樣本中學習,準確度不高;②利用機器學習方法,如支持向量機和各種類型的人工神經網絡[6],但ML算法存在飽和限制;③利用深度學習(deep learning,DL)進行特征提取[7]。
增加卷積神經網絡(convolutional neural network,CNN)層數有助于對更高層特征進行抽象,學習給定輸入和對應輸出之間的復雜關系,提高分割性能。圖像語義分割架構大多采用編碼器和解碼器結構,分別用于視覺特征生成和輸入圖像重建。不同架構差異在于卷積層數和激活函數[8]。近些年,ResNet、U-Net和SegNet是性能很好的語義分割架構。ResNet[9]架構將輸入圖像像素向量與解碼輸出相加,U-Net[10]架構在收縮塊和擴展塊之間添加了一個卷積塊,從而可以提高網絡性能。SegNet[11]架構基于VGG16網絡,通過開發上采樣層重建圖像原始尺寸,且網絡參數簡約,在內存使用和輸出精度之間實現較好平衡。針對CNN中的過擬合問題,文獻[12]利用池化層,通過對圖像中像素進行編碼,提高訓練過程中的準確度。
本文提出了基于DL架構和高斯伯努利受限玻爾茲曼機的方法,采用SegNet框架,無需后處理即可實現準確的邊界定位。將GB-RBM融入CNN中,有效提取出的光譜信息和幾何特征,準確完成UAV紅外圖像的語義分割。
本文的GB-RBM深度學習模塊架構如圖1所示,通過在提出的架構中對卷積編碼器/解碼器塊和GB-RBM模塊進行融合,在GB-RBM與編碼/解碼向量之間建立聯系,提高UAV紅外圖像語義分割準確度。

圖1 基于GB-RBM的深度學習模塊
SegNet架構拓撲基于VGG16[13]網絡,包含13個卷積層的編碼器網絡。編碼器塊包含5個子塊,每個子塊包含不同卷積層和一個池化層。解碼器塊包含5個子塊,每個子塊包括反卷積層和上采樣層。SegNet架構利用上采樣層對圖像原始尺寸進行重建,該處理對圖像尺寸進行擴展,將偶數行和列填充為圖像數據,并以零值填充奇數行和列。為了向這些零神經元賦值,必須使用插值控制。通過替換中心神經元中的高斯核,并將其與非零值相乘,計算受控插值以得到零神經元的值,并統一結果,計算每個神經元的數值。
每個人工神經網絡架構的卷積層都包含窗口權重,批歸一化層和激活函數。可基于輸入圖像(I)和窗口權重(K),將卷積架構中的神經元表示為
(I*K)i,j=∑w∑h∑cI(i+W,j+h).K(-w,-h)+b
(1)
式中:(I*K)i,j表示K的卷積,其中,I隨著窗口移動在整個圖像區域內。 ∑w表示圖像行值,∑h表示圖像列值。 ∑c表示圖像的光譜帶數量,由于本文研究的是紅外圖像,取值為1;b為偏置項,一般取常數。
池化函數包括最大池化函數,保存指定鄰近區域(通常為2×2區域內)具有最大像素值的像素位置。而在其后的上采樣中,則采取與該函數完全相反的操作,由此可以利用較少計算,替換卷積神經網絡中生成特征的位置[14]。
圖2給出了在像素鄰域上應用池化和上采樣層的過程。

圖2 DCNN中的子塊編碼器/解碼器結構
玻爾茲曼機是特殊類型的馬爾科夫隨機場,該網絡以二進制系統中的可見單元和隱藏單元為基礎。在該先驗模型中,受限玻爾茲曼機(restricted Boltzmann machine,RBM)是切斷可見單元和隱藏單元連接的一種玻爾茲曼機,GB-RBM[15]由一個高斯可見單元層和一個二進制隱藏單元層組成。其中,每個單元均與其它層的其它單元相連接,但連接并不是隱藏的。GB-RBM的能量函數定義為
E(v,h|θ)=∑nvi=1(vi-bi)2/2σ2i-∑nvi=1∑nhj=1wijhj(vi/σ2i)-∑nhj=1cjhj
(2)
式中:vi為可見單元,數量為nv;hj為隱藏單元,數量為nh。θ包含連接到可見單元和隱藏單元的wij權重。σi表示高斯可見單元vi的相關標準偏差。bi和cj分別表示第i個可見單元和隱藏單元的偏置。該網絡中,向可見單元和隱藏單元分配一個概率值,即獲得玻爾茲曼分布
P(v,h|θ)=(1/Z(θ))exp{-E(v,h|θ)}
(3)
式中:Z為歸一化常數,定義為
Z=∑v∑hexp{-E(v,h|θ)}
(4)
受限玻爾茲曼學習模型分配至可見單元的概率定義為
P(vi=v|h)=N(v|bi+∑jwijhj,σ2i)
(5)
式中:(.|μ,σ2i) 表示均值為μ、方差為σ2i的高斯函數。同理,還可以計算出隱藏單元的概率。由于隱藏層彼此不連接,其計算不受可見單元條件的影響
P(hj=1|v)=sigmoid(cj+∑iwij(vi/σ2i))
(6)
式中:sigmoid表示S型函數,該實函數有界且可微,對于所有實數均可定義,且包含正導數。最后,為了將較低能量用于訓練集合,將較高能量用于其它集合,將誤差建模如下
argmin={∑mk=1-log(vk;θ)+βKL(ρ‖k)}
(7)
式中:ρ為稀疏參數,k為訓練樣本k中激活的隱藏單元均值,β為誤差函數權重,KL(ρ‖k) 表示ρ和k之間的相對熵,計算為
KL(ρ‖k)=ρlog(ρ/k)+(1-ρ)log(1-ρ/1-k)
(8)
之所以使用玻爾茲曼分布函數,是因為該網絡為二分結構。圖3給出了從UAV熱紅外圖像中,基于可見和隱藏單元,利用GB-RBM提取車輛的形狀先驗模型。本文在深度卷積神經網絡的編碼器-解碼器結構中利用玻爾茲曼機,實現高準確度的UAV熱紅外圖像的車輛提取程序,并對地面車輛進行靈活的語義分割。

圖3 利用GB-RBM創建形狀先驗模型
提出的方法融合了卷積編碼器/解碼器塊和GB-RBM模塊。其中,未使用單個CNN模型作為單波段圖像的特征生成器,而是在GB-RBM與編碼/解碼向量之間建立聯系,由此利用了GB-RBM從熱力學數據到車輛分割的能量函數特性。這些能量函數會對熱成像視頻序列幀的特征提取產生直接影響。由此,通過將CNN方法與GB-RBM模塊相融合,在解碼器塊中生成熱力學數據的實時映射,從而對語義分割產生正向影響。
本文使用尺寸為w×h的單波段圖像集合,并在深度卷積神經網絡結構中使用了GB-RBM。得益于子塊輸出與玻爾茲曼機生成的特征具有相容性,可以將每個卷積神經網絡子塊的輸出與從玻爾茲曼機得到的特征相加,并將結果插入到下一個子塊中。由此基于最優特征,并利用從玻爾茲曼機得到的特征,在光譜信息之外,改善車輛的幾何特征,提高訓練過程的性能。為了合并GB-RBM和神經網絡的結果,使用卷積過濾器和批歸一化(batch normalization,BN)層。在所提架構中,編碼器塊包括大小為3×3、隨機加權的卷積層。每個卷積層之后是一個激活函數,修正線性單元(rectified linear unit,ReLU)。假定輸入圖像特征向量為x,由于編碼器子塊中生成的特征為指定值,則通過卷積層通道可得到F(x)。另一方面,將x單獨作為受限玻爾茲曼機的輸入,可創建特征x′。最后,將每個子塊的結果彼此相加,F(x)+x′, 從而得到更強力的特征。生成這些特征的主要目的是將光譜數據和幾何數據結合在一起。
表1和表2給出了所提架構的具體配置。其中編碼器塊分為5個子塊,前兩個子塊均為3層,并在第2層加入了GB-RBM模塊。后3個子塊均為4層,并在第3層中加入了GB-RBM模塊。解碼器塊分為5個子塊,前3個子塊均為4層,并在第2層中加入了GB-RBM模塊。第4個子塊為3層,在第2層加入了GB-RBM模塊。第5個子塊為4層,在第2層加入了GB-RBM模塊,且最后一層為Sigmoid層。

表1 編碼器的配置

表2 解碼器的配置
UAV熱紅外成像有3個重要特征:①高空間分辨率;②高時間分辨率;③可拍攝受遮擋的對象。因此,UAV紅外熱成像技術被應用到各種不同領域中。本文實驗所用硬件配置了Intel Core i5 CPU和GeForce GTX 1080,運行Window 7操作系統。為改善地面紅外圖像,在MATLAB中利用標注工具處理圖像,從圖像中提取并保存紅外車輛邊界。此外,為糾正本文網絡的權重,使用隨機梯度下降(stochastic gradient descent,SGD)算法以改善算法收斂率。
利用2個公開UAV紅外圖像數據集以及一個自建場景變化數據集,對本文模型進行性能評估,并與3個先進深度學習模型相比較,這些模型包括Res-U-Net[9]、CRAUNet[10]和SegNet[11]。
實驗使用了兩個UAV紅外公開數據集,分別為Vivid[16]和NPU[17]基準數據集。此外,本文使用Fluke TiS55熱成像儀與DJI-MATRICE 300 RTK UAV,采集了熱紅外圖像組成場景變化數據集。具體數據集情況見表3,其中DS#1為Vivid數據集,DS#2為NPU數據集,DS#3為自建的場景變化數據集。

表3 數據集介紹
實驗使用精度(Precision)、召回率(Recall)和F1得分(F1-Score)指標評估車輛分割的識別性能。為提高分割性能評估的通用性,使用馬修斯相關系數(Matthews correlation coefficient,MCC)和Jaccard相似性指標(Jaccard similarity index,JSI)[18]式中:TP為目標類別中的目標像素;FP為非目標類別中的目標像素;FN為目標類別中的非目標像素;TN為非目標類別中的非目標像素。精度和召回率越接近1,表示分割性能越好,即成功分割出車輛相關的所有部分。JSI衡量分割結果中得到的TP數量與地面真實之間的相似度,并懲罰結果中的FP,其數值越接近1,表示結果越接近地面真實。MCC取值范圍為[-1,1],其中,-1表示完全錯誤的二元分類器,1表示完全正確的二元分類器。
Precision=TP/(TP+FP) (9)
Recall=TP/(TP+FN)
(10)
F1-Score=2×Recall×PrecisionRecall+Precision
(11)
MCC=((TP×TN)-(FP×FN))/
(TP+FP)(TP+FN)(TN+FP)(TN+FN)
(12)
JSI=TP/(TP+FN+FP)
(13)
在兩個公開數據集上,所有深度學習架構在150次迭代后的訓練準確度和評價曲線如圖4所示。其中,CRAUNet利用殘差結構在特征提取過程中保留更多原始圖像特征信息,并利用通道注意力模塊增強有效特征并抑制無效特征,取得次優性能,其后為SegNet,該架構在效率和性能之間實現了較好平衡,且考慮到了場景上下文信息的理解,但對目標幾何特征的提取不夠精確。Res-U-Net基于深度殘差網絡,并結合引導濾波器改善分類結果,但在目標邊界分割時未考慮局部信息丟失問題,不適用于處理較小目標,因此在比較方法中性能最差。與其它先進方法相比,本文架構在SegNet中融合了GB-RBM模塊,有效結合了光譜數據和幾何信息,因此收斂圖表現出了更好的準確度和穩健性。

圖4 各方法的準確度比較
圖5~圖6給出了在2個不同數據集上,對于16個連續視頻幀,本文方法的語義分割結果。在選擇樣本時,考慮了不同車輛方向、車輛大小和車輛輻射能量的差異。其中,目標車輛的輪廓線表示本文所提方法的分割結果。從中可發現,所提方法在各種場景下均能夠準確完成紅外圖像中的車輛分割,且不會受到場景或車輛密度的影響。

圖5 DS#1數據集的語義分割結果

圖6 DS#2數據集的語義分割結果
圖7給出了在DS#3數據集上,對于從數據集提取出的連續4幀圖像樣本,使用本文方法(第二行)、Res-U-Net(第三行)、SegNet(第四行)、CRAUNet(第五行)的分割示例,其中,第一行是真實情況,使用Matlab中圖像標注工具(Image Labeler)人工注釋得到。可以看出,所提方法提取出的樣本輪廓與真實情況最為接近。其它方法的邊角輪廓存在明顯的失真情況,或者漏分割的情況。這說明了所提方法利用編碼器-解碼器結構,將卷積方法與GB-RBM模塊相融合,實現了紅外數據的準確映射,其語義分割更加準確。

圖7 DS#3數據集上不同方法的語義分割結果比較
在DS#3數據集的4幀樣本上,各方法的評估指標量化結果見表4。選擇的4幀樣本之間存在較大的場景變化差異,由此可分析不同方法在場景變化較大情況下的分割性能。從中可發現,本文方法的各指標均取得了最好性能,這證明了在深度架構中融入GB-RBM能夠有效提高車輛語義分割的準確度。

表4 各方法在4幀樣本數據上的結果
表5給出了不同方法在測試數據集上的量化結果。所提方法的平均精度為0.98,平均處理時間分為17.32 s,整體性能優于其它比較方法。處理時間的快速性主要是因為編碼器-解碼器結構屬于SegNet架構,其特點是內存使用少網絡參數更為簡約,較為適用于圖像語義分割。

表5 各方法在測試數據集上的結果
本文提出了結合SegNet深度學習框架和GB-RBM的UAV紅外圖像實時語義分割方法,在GB-RBM與編碼/解碼向量之間構建聯系,利用GB-RBM在編碼階段提取形狀先驗模型,并在解碼階段生成熱力學數據的實時映射,并通過融合架構充分利用提取出的光譜和幾何特征。實驗結果表明,所提方法在訓練時準確度高,收斂速度快,且在測試時能夠準確完成不同方向、目標尺寸和場景下的車輛語義分割,整體準確度和處理速度均優于其它先進方法。未來考慮將本文方法應用到其它數據源和不同應用中。