翟 鑫,李 昕
(安徽理工大學(xué) 電氣與信息工程學(xué)院,安徽 淮南 232000)
在汽車自動駕駛領(lǐng)域中,使用深度卷積網(wǎng)絡(luò)構(gòu)建的計算機視覺(CV)技術(shù)在自動駕駛中的多種視覺感知場景中取得了可觀的進展[1]。目標感知、目標追蹤、場景理解、動態(tài)感知等技術(shù)均依靠卷積神經(jīng)網(wǎng)絡(luò)(CNN)網(wǎng)絡(luò)實現(xiàn)了可靠的實際應(yīng)用[2]。在鐵路無人駕駛領(lǐng)域中,城市軌道交通中的地鐵列車運行環(huán)境相對的封閉,使得較容易開展無人駕駛,從上世紀80年代開始無人駕駛系統(tǒng)應(yīng)用于法國、日本、馬來西亞、加拿大、新加坡等國家,國內(nèi)城市軌道交通中北京、上海、重慶、深圳均有地鐵線路應(yīng)用了無人駕駛系統(tǒng)[3]。相比于汽車與軌道交通的自動駕駛,地上鐵路的無人駕駛有其獨特性,鐵路的運行環(huán)境相對汽車具有封閉性,但是相對于軌道交通的運行環(huán)境又是開放的,鐵路機車是依據(jù)列控系統(tǒng)的信號進行運行的,隨著鐵路機車自動化水平的提高,現(xiàn)有運行系統(tǒng)配合環(huán)境感知系統(tǒng)即可實現(xiàn)無人駕駛。使用RGB圖像作為進行路軌環(huán)境計算機視覺分析感知的基礎(chǔ)數(shù)據(jù)源。MaskRCNN是目前廣泛使用的一種實例分割深度卷積網(wǎng)絡(luò)架構(gòu),但其進行圖像分割的精度不夠高,圖像邊緣不夠精確,使用經(jīng)過改進的MaskRCNN網(wǎng)絡(luò)進行鐵路圖像的像素級精確實例分割[4]。
傳統(tǒng)的圖像分類網(wǎng)絡(luò),如LeNet-5,AlexNet,VGG等是整體設(shè)計而成的,網(wǎng)絡(luò)有擴展能力不足的缺點。后繼的ResNet,DenseNet,MobileNet等是預(yù)先設(shè)計的基本網(wǎng)絡(luò)塊組成特征提取網(wǎng)絡(luò),可根據(jù)任務(wù)需求調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),以便兼顧準確率和計算量。DseNet在模塊結(jié)構(gòu)上繼承了模塊化單元塊網(wǎng)絡(luò)的思想,設(shè)計了一個新的卷積網(wǎng)絡(luò)單元Dseblock。在特征流動上綜合了ResBlock[5]和DenseBlock[6]特性,在CIFAR-10數(shù)據(jù)集上圖像分類的準確率超過了廣泛使用的ResNet網(wǎng)絡(luò)。具體的卷積網(wǎng)絡(luò)塊Dseblock結(jié)構(gòu)如圖1所示。Dseblock模塊有2個模塊結(jié)構(gòu)相同的子模塊串聯(lián)而成,由于子模塊中采用了通道下采樣,所以串聯(lián)2個為最合適的數(shù)量。子模塊中使用了拼接連接,以便最大化的傳遞特征,而在Dseblock中使用的短接連接為了提高網(wǎng)絡(luò)在訓(xùn)練中的收斂速度。
圖1中混合深度分離卷積是在普通卷積基礎(chǔ)上,首先進行逐深度卷積運算,之后進行逐點卷積運算,其在一個逐深度卷積運算中混合了多個不同大小的卷積核,以獲取更廣泛的輸入特征,提高網(wǎng)絡(luò)的運算效率。相對于常用的批量正則化(BN),濾波響應(yīng)正則化(FRN)在小批量數(shù)據(jù)上性能更優(yōu)越,因此本文中使用FRN代替了BN,以便提高DseNet的特征提取性能。SE是一種通道注意力機制,首先使用全局平均池化提取輸入的空間分布特征,之后通過一個兩層的全連接網(wǎng)絡(luò)進行變換,最后與輸入道進行逐通道的乘法運算。拼接與短接,是深度卷積網(wǎng)絡(luò)中常用的連接方式。
圖1 Dseblock結(jié)構(gòu)圖
DseNet的主要結(jié)構(gòu)由DseBlock單元塊進行線形組合構(gòu)成,組合的深度可根據(jù)任務(wù)數(shù)據(jù)集規(guī)模不同可靈活改變。DseNet網(wǎng)絡(luò)由輸入段、若干DseBlock、后處理輸出段組成,輸入段將輸入圖片進行上采樣提高維數(shù),DseBlock對輸入段的輸出信息進行逐級的特征提取,后處理段根據(jù)具體任務(wù)不同而選擇不同的結(jié)構(gòu)。DseNet網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖2所示。
圖2 DseNet架構(gòu)示意圖
MaskRCNN是目前廣泛使用的一種實例分割架構(gòu),MaskRCNN是在FasterRCNN的基礎(chǔ)上添加了一個mask分支實現(xiàn)了像素級的掩膜產(chǎn)生。
圖3所示為DseNet-MaskRCNN網(wǎng)絡(luò)架構(gòu)示意圖,在DseNet-MaskRCNN網(wǎng)絡(luò)架構(gòu)中,使用的特征提取網(wǎng)絡(luò)是DseNet構(gòu)建的特征金字塔網(wǎng)絡(luò)架構(gòu),經(jīng)過區(qū)域建議網(wǎng)絡(luò)運算后進行前背景區(qū)分及邊框回歸。最終運算出目標物的邊框損失、類別損失、掩膜損失和邊緣損失。MaskRCNN的mask分支采用的是全連接卷積網(wǎng)絡(luò)的方式,本文在此基礎(chǔ)上嘗試加入了通道注意力機制,形成了新的Mask-se頭,其結(jié)構(gòu)如圖4所示。
圖3 DseNet-MaskRCNN結(jié)構(gòu)示意圖
圖4 Mask-se頭結(jié)構(gòu)圖
Mask-se頭將來自RoIAlign的輸出作為SE塊的輸入,經(jīng)過Mask-se模塊運算后輸出網(wǎng)絡(luò)所需的掩膜。
DseNet-MaskRCNN的損失函數(shù)由三部分合并而來:
L=Lcls+Lbox+Lmask
其中Lcls表示分類誤差,Lbox表示邊界框的回歸誤差,Lmask表示掩膜的分割誤差,為了提高掩模的邊緣準確度,加強圖像的邊緣分割精度,在上式中加入了邊緣加權(quán)函數(shù)Lb,其中源和目標對象邊緣的數(shù)據(jù)采用sobel算子進行邊緣濾波得到,Lb的表達式如下:
其中?表示權(quán)重系數(shù),p表示分割邊緣B上的點,M是對真值邊緣的距離變換,y′表示預(yù)測掩模的邊緣,y表示真值掩模的邊緣。
由于網(wǎng)上無合適的公開鐵路數(shù)據(jù)集可用,因此實驗所使用的鐵路數(shù)據(jù)集由爬蟲程序從網(wǎng)絡(luò)抓取得到,實例分割鐵路軌行區(qū)需要較為清晰的路軌區(qū)域,并且障礙物應(yīng)該盡可能少,經(jīng)過人工篩選共得到2350張適用的鐵路圖片。這些圖片使用VIA工具進行像素級的鐵軌軌行區(qū)域手工標注。
經(jīng)過標注的鐵路數(shù)據(jù)集規(guī)模較小,僅以此進行的網(wǎng)絡(luò)訓(xùn)練難以使網(wǎng)絡(luò)充分收斂,不能使網(wǎng)絡(luò)在圖片的實例分割中達到較為滿意的正確率,因而在進行鐵路數(shù)據(jù)集實例分割前,首先將DseNet-MaskRCNN網(wǎng)絡(luò)在MSCOCO數(shù)據(jù)集上進行預(yù)訓(xùn)練。MSCOCO是一個大型的目標識別數(shù)據(jù)集,包含10余萬張80個類別的圖像,是目標識別領(lǐng)域較為常用的數(shù)據(jù)集。使用MSCOCO預(yù)訓(xùn)練可以使得網(wǎng)絡(luò)的各部分得到一個比較合適的初始權(quán)重,在目標數(shù)據(jù)集上訓(xùn)練時可以大大加快網(wǎng)絡(luò)的收斂速度。
為了驗證DseNet-MaskRCNN網(wǎng)絡(luò)的性能,在實驗中進行了其與MaskRCNN以及與不含掩模邊緣加權(quán)誤差的Dse網(wǎng)絡(luò),不含Mask-se頭的Dse網(wǎng)絡(luò)的對比實驗,實驗中采取0.8:0.1:0.1的比例劃分訓(xùn)練集、驗證集和測試集,初始學(xué)習(xí)率設(shè)為0.001,使用Adam梯度下降算法進行網(wǎng)絡(luò)訓(xùn)練。將上述網(wǎng)絡(luò)在自制鐵路數(shù)據(jù)集上經(jīng)過充分訓(xùn)練,所得實驗結(jié)果如表1所示,其中的評價指標AP90和AP95分別代表交并比大于90和交并比大于95時的樣本占比。
表1 實驗結(jié)果對比
表1中Mask代表MaskRCNN;Dse1代表使用不含Mask-se頭結(jié)構(gòu)與掩模邊緣加權(quán)誤差的Dse(DseNet-MaskRCNN縮寫下同)網(wǎng)絡(luò);Dse2代表使用不含掩模邊緣加權(quán)誤差損失的Dse網(wǎng)絡(luò);Dse則代表包含Mask-se頭結(jié)構(gòu)與掩模邊緣加權(quán)誤差的完整的Dse網(wǎng)絡(luò)。
從表1可知,Dse的AP90和AP95均大于MaskRCNN,在AP90指標上,Dse網(wǎng)絡(luò)達到了93.8%的正確率。其中Dse1的結(jié)果表明本文所設(shè)計的特征提取網(wǎng)絡(luò)性能良好,能夠高效的提取出目標特征,在加入了掩模邊緣加權(quán)損失和Mask-se頭后正確率得到進一步的提高。
在網(wǎng)絡(luò)的推理階段,DseNet-MaskRCNN計算每張圖像的平均運行速度為66.6ms,約15幀/秒,該速度稍快于MaskRCNN的12幀/秒。由于實驗中的程序基于python語言編寫,運行效率較低,在實際應(yīng)用中可以考慮使用c語言編寫程序代碼,進一步的提高運行速度。
DseNet-MaskRCNN的實例分割效果對比如圖5所示。
(a)MaskRCNN (b) DseNet-MaskRCNN (c) MaskRCNN (d) DseNet-MaskRCNN
圖5中(a),(c)的為MaskRCNN所檢測到的鐵路區(qū)域,在鐵路邊緣區(qū)域存在小范圍的漏檢,圖5中(b),(d)的為DseNet-MaskRCNN所檢測到的鐵路區(qū)域,該網(wǎng)絡(luò)在整個鐵路區(qū)域上取得了良好的實例分割效果。
上述結(jié)果表明在采用了新的特征提取網(wǎng)絡(luò)、Mask-se頭后,DseNet-MaskRCNN在本文采集得到的鐵路數(shù)據(jù)集上可以取得滿意的鐵路實列分割效果,從圖5中明顯可見目標邊緣處的檢測效果得到了有效的增強。
在鐵路實際行車時,由于車輛寬度超過鐵軌寬度,鐵軌兩側(cè)若干距離也屬于限制區(qū)域,這個距離和鐵路行車的速度以及車輛種類有關(guān),由于鐵軌兩側(cè)的可提取特征相對稀少,使用傳統(tǒng)的圖像處理方法劃分兩側(cè)侵限范圍更加有效??梢院啽愕母鶕?jù)鐵軌所占像素值計算出同位置的像素距離比,繼而可得到鐵路行車的侵限范圍。
實驗結(jié)果表明DseNet這種結(jié)構(gòu)簡單的網(wǎng)絡(luò)可以用于構(gòu)建高效的特征提取網(wǎng)絡(luò)模型。DseNet所采用的通道注意力機制混合深度卷積、濾波響應(yīng)正則化等卷積運算形式取得了良好的效果,在CIFAR10數(shù)據(jù)集上經(jīng)過充分訓(xùn)練后正確率達到了92.8%,而經(jīng)典的ResNet僅達到了92.6%的正確率。在路軌的檢測與識別應(yīng)用上,改進自MaskRCNN的DseNet-MaskRCNN性能可靠,能夠從測試圖片中高質(zhì)量的檢測與識別出路軌區(qū)域,檢測與識別的準確率達到了93.8%,速度達到15幀/秒略快于MaskRCNN。為后續(xù)的鐵路無人駕駛等實用化研究提供了堅實的基礎(chǔ)。但是由于能力所限,本文自制數(shù)據(jù)集規(guī)模有限,無法涵蓋所有鐵路實際環(huán)境,且該方法不能適用于光照條件不足或雨雪霧等復(fù)雜氣象環(huán)境下,后續(xù)研究中需要進行更深入的工作。