楊煒 常曉博 劉哲 屈曉磊
(1.長安大學,西安 710061;2.北京航空航天大學,北京 100191)
主題詞:瀝青路面 積水檢測 掩膜循環(huán)卷積神經(jīng)網(wǎng)絡 實例分割
無人駕駛車輛的車載傳感器獲取路面信息,控制系統(tǒng)據(jù)此調(diào)整控制策略。研究表明,路面積水與車輪的相對位置即單側(cè)車輪遇水、雙側(cè)車輪同時或交替遇水會對車輛側(cè)向穩(wěn)定性產(chǎn)生不同影響。通過檢測路面積水分布并判斷車輪是否遇水,進一步根據(jù)檢測信息控制轉(zhuǎn)向系統(tǒng),可以防止車輛出現(xiàn)偏駛、側(cè)滑、急轉(zhuǎn)等情況。因此,路面濕滑狀態(tài)檢測是無人駕駛車輛安全行駛必須考慮的問題。
國內(nèi)外已有許多路面積水檢測方法。Ryu等提出了一種基于視覺攝像機圖像的路面狀態(tài)識別算法,首先采用極化法將路況分為干燥和潮濕,然后采用小波變換和頻率特性判別干燥和結(jié)冰狀態(tài),并試驗驗證了其可行性。Arturo Rankin等開發(fā)了一種基于彩色相機的水體檢測器,根據(jù)水體對天空反射強度特征、圖片中水體與周圍環(huán)境間飽和度、亮度變化特性分割積水區(qū)域。但是該檢測器主要用于野外空曠區(qū)域水體的檢測,沒有對瀝青路面積水檢測實際應用進行說明。Alok Sarwal等利用積水區(qū)域發(fā)生光學偏振原理檢測水體,此方法檢測效果好,但檢測過程需要3 個標定好的攝像頭,成本較高。Park等采用光學波長濾光鏡的紅外攝像頭獲得紅外圖片,并建立多元數(shù)據(jù)模型進行路況分類,根據(jù)分類結(jié)果分割路面圖像,但需要特制攝像頭,應用成本高。陳添丁等人根據(jù)水體具有高偏振度的特性,利用攝像頭和旋轉(zhuǎn)偏振鏡提取3幅偏振角不同的圖片,通過處理得到偏振相位圖,然后采用偏振信息可視化方法提取亮度信息,進行色調(diào)、飽和度、明度(HIS)空間合成,最后通過算法分割圖片積水區(qū)域。雖然該方法識別率較高,但實時性難以滿足需求。
隨著人工智能技術的興起,通過各種神經(jīng)網(wǎng)絡算法檢測路面狀態(tài)已經(jīng)成為新趨勢。針對上述研究中實時性與成本難以滿足要求的問題,本文采用掩膜循環(huán)卷積神經(jīng)網(wǎng)絡(Mask Recycle Convolutional Neural Network,Mask R-CNN)作為基準模型,并改進基準模型的損失函數(shù),基于遷移學習的方法使用自建的1 753張積水圖像訓練。訓練完成后,使用單攝像頭采集積水圖片進行測試,對積水分布區(qū)域?qū)崟r分割。
Mask R-CNN 是將典型的快速循環(huán)卷積神經(jīng)網(wǎng)絡(Faster Recycle Convolutional Neural Network,F(xiàn)aster RCNN)與分割算法全卷積網(wǎng)絡(Fully Convolutional Network,F(xiàn)CN)相結(jié)合的新算法。本文采用Mask R-CNN模型不僅可以通過邊框獲取積水大致的位置信息,還可以通過分割得到積水的具體分布位置信息。圖1 所示為Mask R-CNN的模型框架,主要由殘差網(wǎng)絡(Residual Network,ResNet)、特征金字塔網(wǎng)絡(Feature Pyramid Network,F(xiàn)PN)、區(qū)域候選網(wǎng)絡(Region Proposal Network,RPN)、感興趣區(qū)域?qū)R(Region of Interest Align,ROI Align)和FCN 組成。首先輸入圖像,利用ResNet、FPN完成圖像特征提?。‵eature Extraction);然后采用RPN判斷前景和背景,并生成候選框,通過ROI Align操作實現(xiàn)區(qū)域特征聚集;最后,一條分支通過全連接層(FC)完成分類回歸(Class Regression)和目標檢測框(Box)生成,另一分支通過FCN預測目標并生成掩膜(Mask)。
圖1 Mask R-CNN模型
2.1.1 ResNet+FPN提取特征
Mask R-CNN 采用ResNet 卷積神經(jīng)網(wǎng)絡作為主干網(wǎng)絡,經(jīng)過卷積、池化等操作提取圖像特征。小目標檢測對單純卷積網(wǎng)絡是難點,而多尺度目標檢測對小目標檢測表現(xiàn)較好,其中FPN 可以實現(xiàn)多尺度目標檢測。FPN 利用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)模型高效提取圖片中各種維度的特征,是一種加強主干網(wǎng)絡卷積特征表達的方法,其通過自底向上處理得到特征圖,同時增強底層位置信息;再通過自頂而下和橫向連接方式將特征圖融合,生成的特征之間有關聯(lián)關系,從生成的表達特征組合中可以獲得深層和淺層特征。Mask R-CNN 將ResNet 與FPN 結(jié)合作為特征提取模塊,可以很好地獲得圖像多尺度特征。
2.1.2 RPN和ROI Align獲取候選框
RPN 是一支包含分類和回歸的多任務網(wǎng)絡。RPN采用滑動窗口在FPN生成的特征圖上滑動,對特征圖上的點進行分類,特征圖上每一點對應原始圖片上某一區(qū)域,根據(jù)錨框(Anchor)機制將特征圖點映射到原始圖片,并產(chǎn)生不同的候選感興趣區(qū)域(Region of Interest,ROI)。RPN 對候選ROI 進行前景背景分類和邊框回歸(Bounding-Box regression,BB),如圖2 所示為積水的真值(Ground-Truth,GT)框和區(qū)域候選(Region Proposal,RP)框,那么即便候選框被分類器識別為積水,由于候選框和真值框的交并比(Intersection-Over-Union,IOU)并不大,所以最后的目標檢測精度也不高。采取BB方法可以對區(qū)域候選框進行微調(diào),使得候選框更接近真值框。
圖2 路面積水的真值框與區(qū)域候選框
同時,RPN為特征映射的每個點設置預定感興趣區(qū)域的數(shù)量,過濾部分候選ROI Align 操作,將剩余的ROI的原圖與特征圖的像素點對應,然后將特征圖與固定特征對應。Mask R-CNN 采用ROI Align 中的雙線性插值獲得坐標為浮點數(shù)的像素點上的圖像數(shù)值再進行池化,實現(xiàn)連續(xù)的特征聚集。ROI Align 可以很好地解決Faster R-CNN 中感興趣區(qū)域池化(Region of Interest Pooling,ROI Pooling)在提取積水區(qū)域過程中2 次量化操作(取整過程)產(chǎn)生候選區(qū)和回歸產(chǎn)生區(qū)域不匹配問題,使定位更精確,減少對掩膜操作的影響。
2.2.1 模型的損失函數(shù)
Mask R-CNN 包含了目標檢測、目標分類和目標分割3個任務,因此網(wǎng)絡定義一個多任務的損失函數(shù):
式中,、、分別為分類誤差、定位誤差和積水分割損失。
實際上,Mask R-CNN 共包含5 個損失函數(shù)。其中包括RPN和Mask R-CNN網(wǎng)絡的分類損失:
包括RPN和Mask R-CNN網(wǎng)絡的回歸損失:
只含有Mask R-CNN網(wǎng)絡的掩膜損失。掩膜分支輸出是對每個類別獨立地預測一個二值掩膜,對于預測的二值掩膜輸出,對每個像素點應用S形(Sigmoid)函數(shù),將整個掩膜損失定義為平均二值交叉熵損失。計算公式為:
2.2.2 損失函數(shù)的改進
交叉熵損失函數(shù)過度依賴于區(qū)域信息的分割,忽略了邊界的分割。為了使Mask R-CNN 網(wǎng)絡在分割過程中對分割邊界更加敏感,從而獲得精確的分割結(jié)果,在損失函數(shù)中添加了一種新的邊界加權損失函數(shù)。
如圖3 所示為拉普拉斯(Laplacian)算子邊緣檢測示意,首先標出原圖積水區(qū)域后,將積水區(qū)域二值化,再利用拉普拉斯算子進行邊緣檢測,得到積水區(qū)域邊緣。
圖3 拉普拉斯算子邊緣檢測示意
在訓練過程中,邊界加權損失函數(shù)利用拉普拉斯算子分別對標記好的積水真值二值化圖像和訓練過程中預測區(qū)域二值化圖像進行邊緣檢測,捕捉邊界信息,將檢測后的結(jié)果計算差值得到距離損失,預測的積水區(qū)域越接近實際的積水區(qū)域,則距離損失越小,反之越大。隨著訓練過程中權重不斷更新,不斷減小,使得預測分割結(jié)果與標記好的積水區(qū)域相吻合,從而加強邊界損失的權重,使分割結(jié)果更為精確。拉普拉斯算子及損失定義為:
改進后的Mask R-CNN損失函數(shù)為:
3.1.1 測試數(shù)據(jù)
本文測試使用的樣本數(shù)據(jù)是通過普通手機相機采集制作的1 753 張像素為640×640、24 位紅綠藍(Red-Green-Blue,RGB)三原色路面積水圖像,保存格式為JPG。路面積水圖像主要包括弱光、強光、有雨3種情況,樣本分別如圖4 所示。其中的1 584 張圖片作為訓練集和驗證集,169 張圖片作為測試數(shù)據(jù)。采用LabelMe 工具對樣本圖像中的積水區(qū)域進行標記,制作像素為640×640、深度為8 位、格式為PNG 的圖像。此外,采用微軟常見環(huán)境對象2014(Microsoft Common Objects in Context,CoCo2014)數(shù)據(jù)集訓 練Mask R-CNN模型的權重作為初始權重。
圖4 強光、弱光及雨中樣本示例
3.1.2 訓練和測試
對基于遷移學習的改進Mask R-CNN 模型在深度學習TensorFlow 框架下進行訓練。使用的GPU 配置為NVIDIA GeForce GTX 2060,在Windows的TensorFlow框架下,模型訓練了200輪(epoch),設置模型訓練的初始學習率為0.001,權重調(diào)節(jié)參數(shù)設置為0.000 1,動量系數(shù)為0.9。設置區(qū)域候選網(wǎng)絡(Region Proposal Network,PRN)產(chǎn)生的5 個錨點大小分別設置為32×32、64×64、128×128、256×256 和512×512。在上述訓練參數(shù)下,本文分別選擇改進MRCNN-Res101、MRCNN-Res101 和MRCNN-Res50 進行訓練。其中改進MRCNN-Res101、MRCNN-Res101 和MRCNN-Res50 分別代表以ResNet101 為特征提取網(wǎng)絡的改進Mask R-CNN 模型、以ResNet101為特征提取網(wǎng)絡的Mask R-CNN模型和以ResNet50 為特征提取網(wǎng)絡的Mask R-CNN 模型。其余對比模型U型神經(jīng)網(wǎng)絡(U-Neural Network,Unet)、反卷積神經(jīng)網(wǎng)絡(Deconvolution Network,Deconvnet)以及雙注意力神經(jīng)網(wǎng)絡(Dual Attention Network,Danet)模型在深度學習Keras 框架下進行訓練,所有模型均訓練了200輪(epoch)。
3.1.3 對比分割網(wǎng)絡模型
本文將改進Mask R-CNN 模型與常見的幾種分割網(wǎng)絡(原始Mask R-CNN、Unet、Deconvnet以及DAnet)進行比較。Unet、Deconvnet 和Danet 均為開源網(wǎng)絡。其中,Unet是一個具有23個卷積層的網(wǎng)絡,適用于小規(guī)模的數(shù)據(jù)集訓練,目前常用于醫(yī)學圖像分割,如肝臟、乳腺等。Deconvnet 是基于牛津大學視覺幾何組網(wǎng)絡(Oxford Visual Geometry Group 16,VGG16)網(wǎng)絡中卷積部分進行改進的網(wǎng)絡,由反卷積層和反池化層組成,通過連續(xù)的反池化、反卷積和線性修正單元(Rectified Linear Units,ReLu)實現(xiàn)了像素級的語義分割。DAnet在傳統(tǒng)FCN上附加了2種類型的注意力模塊,學習空間與通道維度特征,可以捕捉空間特征的相互依賴性,目前常用于場景分割。
3.1.4 評價指標
在圖像分割中,常用和雅卡爾(Jaccard)系數(shù)作為評價指標。
是查準率(Precision)與查全率(Recall)的加權調(diào)和平均值,用于綜合評價模型分類效果。其中,查準率是正確預測的正樣本在預測結(jié)果為正樣本(包含正確預測的正樣本和錯誤預測的負樣本)中所占的百分比,查全率是指正確預測的正樣本在所有正樣本(包含正確預測的正樣本和錯誤預測的正樣本)中所占的百分比。各指標計算公式為:
雅卡爾系數(shù)表征模型預測出的樣本集與真實樣本集的相似程度,用于評價圖片分割精度:
式中,為查準率;為查全率;為預測正確的正樣本數(shù)量;為預測正確的負樣本數(shù)量;為預測錯誤的負樣本數(shù)量;為預測錯誤的正樣本數(shù)量。
本文采用和作為網(wǎng)絡的評價指標,二者取值范圍均為0~1,數(shù)值越大,分類或分割效果越好。
3.2.1 改進MRCNN-Res101和MRCNN-Res101分割效果
用改進MRCNN-Res101和MRCNN-Res101對積水進行分割,結(jié)果如圖5 所示。從圖5 中可以看出,MRCNN-Res101 錯誤地將圖片右上角非積水部分識別為積水部分,改進MRCNN-Res101 的分割邊緣與積水的實際邊緣更相符。
圖5 原圖、MRCNN-Res101和改進MRCNN-Res101分割對比
3.2.2 改進MRCNN-Res101模型的分割速度
訓練完成后,調(diào)用訓練生成的權重對積水圖片進行分割,分別選取像素為512×512和320×320的積水圖片作為輸入,在Ubuntu 16.04 環(huán)境下利用NVIDIA GTX 2060 GPU 加速計算,得到分割時間。當模型的輸入圖片尺寸為640×640時,分割速度為229 ms/幀,當模型的輸入圖片尺寸為512×512時,分割速度為161 ms/幀,當輸入圖片尺寸為320×320時,分割速度為109 ms/幀。
3.2.3 不同模型在測試數(shù)據(jù)上的預測和分割
本文采用169張路面積水圖片作為測試數(shù)據(jù),分別在完成訓練的Unet、Deconvnet、DAnet、MRCNN-Res50、MRCNN-Res101和改進MRCNN-Res101模型下進行測試,得到測試數(shù)據(jù)的和雅卡爾系數(shù)如表1所示。Unet和MRCNN-Res50 模型在測試集上的和雅卡爾系數(shù)在5個模型中較小,預測和分割效果較差。Deconvnet和DAnet 模型的預測和分割效果相近,效果優(yōu)于Unet 和MRCNN-Res50。所有測試模型中,改進MRCNNRes101的預測效率和分割精度均最優(yōu),和最大分別為0.892 3 和0.814 6,相比于MRCNN-Res101 模型提高了1.5%和1.92%。說明改進MRCNN-Res101 模型對積水識別有很好的魯棒性和泛化能力。
表1 不同模型在測試數(shù)據(jù)上測試結(jié)果評價指標
3.2.4 強光、弱光和雨中狀態(tài)下的測試分割效果
本文對各模型完成預測和分割的測試圖進行分析。在測試圖片中,每種積水圖片的拍攝情況主要有弱光、強光和雨中。3種拍攝情況下各模型的和雅卡爾系數(shù)如圖6所示。從圖6可以看出,圖片的拍攝情況對于分割效果有一定影響,主要表現(xiàn)在雨中拍攝圖片的分割效果比強光和弱光狀態(tài)下差。主要因素在于雨中的拍攝的積水形狀大多數(shù)呈現(xiàn)不規(guī)則現(xiàn)象,同時,積水區(qū)域與潮濕區(qū)域間存在較薄的水膜,算法難以辨識該水膜區(qū)域。
圖6 單個積水區(qū)域與多個積水區(qū)測試圖的平均F1與J
本文在測試圖中選取3張單個積水區(qū)域在弱光、強光以及雨中的拍攝圖片作為多模型對比測試圖片。
如圖7 所示為測試圖片的真實積水區(qū)域和各模型預測分割結(jié)果,從圖7 中可以看出,Unet 和MRCNNRes50 模型對單個積水區(qū)域所有情況下測試圖都出現(xiàn)較大面積的錯誤預測和分割現(xiàn)象。Deconvnet模型對弱光和雨中測試圖的分割表現(xiàn)較好,對強光下的積水區(qū)域出現(xiàn)少分割的現(xiàn)象。DAnet 模型對弱光和雨中的分割圖片分別出現(xiàn)部分區(qū)域錯誤預測和部分區(qū)域沒有被預測的現(xiàn)象。MRCNN-Res101 出現(xiàn)分割邊緣不吻合的現(xiàn)象,改進MRCNN-Res101模型對3種情況的測試圖的分割區(qū)域與測試圖的真實積水區(qū)域基本吻合。
圖7 單個積水區(qū)域測試圖在各模型下的分割結(jié)果
圖8所示為弱光、強光以及雨中拍攝的多個積水區(qū)域的測試圖在各模型下的分割效果。其中,3張測試圖在MRCNN-Res50模型的分割效果最差,強光下的測試圖沒有檢測到積水,所以沒有進行操作;雨中分割圖中的積水區(qū)域被錯誤檢測和分割。Unet 模型基本能夠預測和分割圖片中的多個積水區(qū)域,但也存在部分非積水區(qū)域被錯誤分割。MRCNN-Res101、Deconvnet和DAnet模型能夠完成對強光和弱光下的積水區(qū)域分割,但是積水區(qū)域間的間隙沒有被正確識別,對雨中測試圖中積水區(qū)域表現(xiàn)出連續(xù)不規(guī)則現(xiàn)象,部分區(qū)域沒有被識別和分割,不能較好地分割積水區(qū)。改進MRCNN-Res101 模型在弱光情況下不能較好地分割積水邊緣,但是在強光和雨中能夠很好地分割積水邊緣。
圖8 多個積水區(qū)域測試圖在各模型下的分割結(jié)果
從總體上看,改進MRCNN-Res101 模型對圖中積水區(qū)域的預測準確性和分割精度都比較高,能夠滿足對路面積水分割的要求。同時,與其他神經(jīng)網(wǎng)絡模型相比,改進MRCNN-Res101 模型的掩膜分支可以通過掩膜輸出積水的位置。但是改進MRCNN-Res101模型對積水分割受到邊框的限制,無法完成對檢測框外的積水的分割。MRCNN-Res101、Deconvnet和DAnet模型能夠完成對積水的分割,但效果比改進MRCNN-Res101 模型差,對復雜不規(guī)則的積水分割表現(xiàn)較差。Unet模型和MRCNN-Res50 模型對積水的識別率低,因此導致分割精度也不高,顯然不適用于積水分割任務。
本文使用改進Mask R-CNN 從道路圖像中分割路面的積水區(qū)域。改進MRCNN-Res101模型的預測精度指標和分割精度指標分別為0.892 3和0.814 6,表現(xiàn)出對積水較好的分割能力,對強光、弱光以及雨中環(huán)境下積水區(qū)域的分割效果略優(yōu)于Deconvnet 和DAnet 模型,明顯優(yōu)于Unet 模型和MRCNN-Res50 模型,說明了改進MRCNN-Res101模型的泛化能力強。在進一步的研究中,將對圖像坐標轉(zhuǎn)換為空間平面坐標,得到路面積水分布位置的坐標信息,以更加真實地反映路面積水狀態(tài)。