陳善繼,劉鵬宇,白巖冰,王 濤,袁 靜
(1.青海民族大學 物理與電子信息工程學院,青海 西寧 810007; 2.北京工業大學 信息學部,北京 100124;3.先進信息網絡北京實驗室,北京 100124; 4.計算智能與智能系統北京市重點實驗室,北京 100124)
在路面狀態監測任務中,對路面狀態的檢測方法主要有基于埋入式的路面狀態傳感器、車載路面狀態檢測車和基于視覺信息的路面狀態檢測。相對于前兩者,基于視覺信息的路面狀態檢測具有快速、準確、成本低、覆蓋面積廣等優勢。隨著計算機硬件計算能力的不斷發展,應用智能分析模型代替傳統路面檢測方法識別路面狀態、對危險路面做出判斷并發出預警是交通監管行業響應“智慧交通”發展趨勢的迫切需求。
基于視覺信息進行高速公路路面狀態檢測的技術研究仍處于起步階段,其本質是以構建圖片分類器的方式對不同的路面狀態圖片進行分類。如何基于監測設備的回傳視頻流來實現路面區域的分割、利用圖片狀態分類器對不同路面狀態進行準確分類是當前首先要解決的技術問題。同時,由于公路兩側的樹木、燈桿等干擾物常常會在路面上形成陰影,因此消除陰影對路面狀態檢測結果的影響是提高路面狀態識別準確率的前提。
本文根據交通監管部門的實際需求,結合我國《公路交通氣象觀測站網建設暫行技術要求》[1],提出了一種基于計算機視覺的高速公路路面狀態檢測方法,實現對不同狀態路面的分類。以下主要從基于學習的路面區域分割、路面陰影消除、路面狀態分類3部分闡述本文提出的路面狀態檢測算法。
可用于路面區域分割任務的圖像分割技術可以分為語義分割技術和實例分割技術。文獻[2]提出的全卷積神經網絡(Fully Convolutional Networks,FCN)與經典的卷積神經網絡(Convolutional Neural Networks,CNN)結構不同,FCN的網絡結構不采用全連接層,而是以卷積層代替全連接層來實現像素的逐點預測,且對輸入圖像的大小無限制,因此該網絡結構具有更強的泛化性能和較高的分割精度,能夠為后續各種語義分割網絡的構建提供新的思路。文獻[3]提出的U-Net網絡在醫學圖像的分割任務上取得了良好的表現。該網絡結構在編碼器和解碼器之間使用了跳躍連接的網絡構建思想,使得網絡訓練所需的訓練樣本更少,同時能夠實現更加精準的分割。文獻[4]提出了第一個無卷積模型的實例分割方法(ReSTR),其利用Transformer Encoder[5]獨立地提取視覺和語言特征,并分別將特征平行輸入到多模融合編碼器,以捕捉這兩種模態之間的細微關系,最后利用從粗到細分割的高效解碼器提升預測圖的分辨率,實現對目標物體的精確分割。文獻[6]提出了一種基于端到端輪廓的實例分割方法(E2EC)。其首先生成一個熱圖來定位實例中心,然后通過基于中心點特征回歸初始偏移量來學習初始輪廓。初始輪廓首先由一個全局變形模塊進行變形,然后演化為粗輪廓,最后變形模塊將粗輪廓變形到最終輪廓。
考慮到本文所述的路面圖像分割任務要盡量減少路面以外的無關信息,降低對后續陰影消除任務的影響,因此提取路面圖像后采用語義分割即可實現路面分割任務,無須采用實例分割進行同類間的劃分。
目前,路面陰影消除方法主要分為非生成式對抗網絡方法和生成式對抗網絡方法。非生成式對抗網絡以文獻[7]~文獻[9]為代表。文獻[7]提出了一種基于配對區域的新方法,基于數據的方法通過訓練數據來進行分類器學習,根據分類結果創建分割曲線,并利用此曲線來進行陰影區域和非陰影區域的劃分標記。文獻[8]構建了一種用于陰影去除的內容嵌入式深度網絡模型結構,此網絡結構通過3個提取特征的子網絡來進行圖像的高級語義信息、中級外觀信息和局部圖像細節信息的提取與融合,從而完成陰影遮罩的層預測,實現全自動端對端的圖像陰影去除。文獻[9]通過預測陰影圖片的曝光參數,并對預測后的圖片進行抖動,再將其輸入一個融合網絡進行學習,網絡對抖動后的圖片進行參數自動融合,得到無陰影的圖片。生成式對抗網絡以文獻[10]和文獻[11]為代表。文獻[10]提出了一種疊加條件生成對抗網絡(Stacked Conditional Generative Adversarial Network,ST-CGAN)模型,此網絡模型利用信息聯合學習的方法來實現陰影的檢測與去除。ST-CGAN包含兩個生成器:生成器G1基于輸入的陰影圖像生成相應的陰影遮罩圖;生成器G2對輸入的陰影圖像和G1生成的陰影遮罩圖進行疊加操作,實現陰影去除,輸出去除陰影后的圖像。文獻[11]提出了一種利用條件生成對抗網絡的方法進行圖像的陰影消除。該方法首先利用背景估計網絡來提取含陰影圖像的背景顏色,再將含陰影圖像和提取的背景顏色輸入一個條件生成對抗網絡中,來完成對圖像陰影的消除。
本文所述的待消除的高速公路路面陰影在混合路面狀態下,利用非生成式對抗網絡的方法極易造成陰影消除不徹底的情況,并且難以實現陰影的實時消除。而生成式對抗網絡則可以彌補以上不足,有利于本文所述路面陰影消除任務的實現。
路面狀態分類的方法主要分為傳統方法和卷積神經網絡方法。傳統方法以文獻[12]~文獻[14]為代表。文獻[12]對不同路面狀態樣本提取RGB、YUV和HIS三種色彩空間下的特征值組成特征向量,基于改進的BP(Back Propagation)神經網絡對路面狀態分類器進行訓練,統計分類準確率達到85%以上。文獻[13]提出了一種對不同路面樣本分別提取顏色、紋理特征訓練SVM(Support Vector Machine,支持向量機)分類器進行路面狀態判別的方法。文獻[14]通過提取路面圖像顏色與紋理特征,基于樸素貝葉斯模型設計了路面狀態識別分類器,由于手工提取特征的方式對路面狀態描述的局限性且其數據集規模較小,因此識別準確率不能滿足實際需求。卷積神經網絡方法以文獻[15]~文獻[17]為代表。文獻[15]基于圖神經網絡的圖分類方法,通過卷積的方式對這些圖進行多次特征變換,然后在此基礎上進行池化操作,將圖的規模縮小,多次重復這個過程,最終得到整個圖的表示,從而進行分類。文獻[16]提出了一種在EfficientNet[17]模型的深層結構中引入雙注意力機制的辦法,實現了對干燥、微濕、潮濕、積水和積雪這5種不同路面的分類。
總體而言,基于傳統方法提取路面特征訓練路面狀態分類器的方法受算法原理限制,準確率往往難以滿足實際需求。卷積神經網絡方法因全面的特征提取方式與高精度的分類性能較傳統方法性能更優。但現有方法對于復雜高速公路路況和路面分類實際需求而言,其準確性仍有待提升。
根據上述研究,本文第一步自主構建了干燥、積雪、積水、結冰4種狀態的路面狀態數據集;第二步通過利用U-Net網絡結合Attention模塊,對路面區域進行分割提取;第三步采用基于循環生成對抗網絡的路面陰影消除算法,對提取的路面區域進行陰影消除;第四步構建基于殘差結構的路面狀態分類器,實現了對干燥、積雪、積水和結冰4種不同路面的準確分類。本文的整體框架如圖1所示。

圖1 高速公路路面狀態檢測算法整體框架
鑒于注意力機制在目標分類、語義理解等領域展現出了優異的性能,因此,科學地利用注意力機制的優勢并與語義分割網絡相結合為提升高速公路路面區域的分割精度提供了很好的思路。
對路面區域做普通的卷積運算是將空間、通道特征混合在一起的提取路面特征的方式,這樣提取的特征相對混亂,引入注意力機制能夠關注于某個維度進而在提取路面區域的特征時更有針對性。本文引用文獻[18]提出的具有雙通道殘差結構的卷積塊注意力機制模塊(Convolutional Block Attention Module,CBAM),構建了如圖2所示的殘差雙注意力機制模塊。

圖2 殘差雙注意力機制模塊
殘差雙注意力機制模塊首先將輸入的特征圖在通道注意力機制中分別進行一個空間的全局平均池化和最大池化,將結果分別送入一個共享的兩層神經網絡。將得到的2個特征相加后經過Sigmoid激活函數得到通道注意力機制的權重系數,將權重系數與原始輸入的特征相乘即可得到縮放后的新特征。然后在空間注意力機制中,將特征圖依次進行最大池化與平均池化,把結果拼接后進行卷積運算,經過Sigmoid激活函數得到空間注意力機制的權重系數,將權重系數與輸入的特征相乘即可得到經過CBAM后的特征。接著在通道注意力機制中依據特征圖中每個通道的貢獻進行特征重組,在空間注意力機制中依據特征圖中不同像素位置的貢獻進行特征重組,結合殘差模塊的設計思想將輸出的結果與輸入的特征圖進行連接。并且殘差雙注意力機制模塊的注意力機制可對空間、通道的特征進行更有針對性的表達,同時其內置的殘差機制可以對路面的特征重復利用,具備更加關注目標區域的特點。最后將語義分割網絡中在路面區域分割任務中表現最好的U-Net網絡與殘差雙注意力機制模塊融合,形成本文提出的U-Net結合Attention模塊的算法,該算法整體的網絡結構如圖3所示。

圖3 U-Net網絡結合Attention模塊的圖像分割提取算法結構圖
隨著生成對抗網絡的不斷發展,為了對生成樣本的內容進行更加有目的性的約束,不斷有學者提出生成效果更真實的網絡結構CycleGAN[19],相比原始的生成對抗網絡,這種巧妙的網絡結構設計在多項圖像生成任務上都取得了令人滿意的效果。
本文基于循環生成對抗網絡所構建的陰影消除網絡結構包含A、B兩個子網絡模塊,首先將含有陰影的路面圖片經過模塊A處理,生成消除陰影覆蓋的路面圖片,將此圖片經由模塊B處理,生成含有指定位置的路面陰影圖片,使得兩部分結構形成閉環回路,整體架構如圖4所示。

圖4 網絡整體架構圖
整個模型由兩個生成對抗網絡構成,其中模塊A實現從含有陰影覆蓋的路面圖片到無陰影路面圖片的轉換,它由生成器Gs、生成器Gf和判別器Df構成,其模型結構如圖5(a)所示;模塊B實現從無陰影的路面圖片到有陰影路面圖片的轉換,它由生成器Gs、生成器Gf和判別器Ds構成,其模型結構如圖5(b)所示。

圖5 模塊結構圖
由陰影—無陰影—陰影方向的正向循環和無陰影—陰影—無陰影方向的反向循環組合構成了模型的整個訓練過程。在正向循環中一張含有陰影的路面圖片Is與標記出陰影區域的二值化圖M一起經過生成器Gf得到一張重建的無陰影路面圖片Ifg,再與同樣的陰影標記圖片M一起經過生成器Gs得到重建的路面陰影圖片Isg。在反向循環中一張無陰影的正常路面圖片If與標記出陰影區域的二值化圖M一起經過生成器Gs得到一張重建的含指定陰影區域的路面圖片Isg,再與同樣的陰影標記圖片M一起經過生成器Gf得到重建的去除掉陰影的路面圖片Ifg。本文通過循環一致性約束Is與Isg、If與Ifg盡量接近來間接使得原始圖片與生成器生成的圖片風格保持一致。這樣,就基于非成對陰影路面數據實現了網絡中部分內容損失的計算,該項損失函數稱為循環一致性損失(路面數據經由正向循環和反向循環后與輸入的初始值相比產生的損失值)。循環一致性損失可以對路面無陰影圖片重建質量產生良好的約束作用。
傳統卷積網絡為了不斷提升網絡的分類精度,不斷增加卷積層中的濾波器數目提升輸出通道數、不斷加深網絡的層數,網絡擬合能力越來越強,但網絡訓練誤差卻也伴隨著通道的加深而變大。實際上,以增加輸出通道數、堆疊網絡層深度為手段去提升分類精度是無法起到實質作用的,相反,隨著網絡深度的加深會在梯度的反向傳播中引起梯度復乘,導致梯度越來越小,直至消失,最后,網絡的訓練誤差也就越來越大。
殘差結構以前饋神經網絡為基礎,增加一個跳躍式的連接從而繞過原始結構中的一部分。CNN中殘差模塊的引入改變了網絡整體的學習內容,使以往學習一個完整的網絡輸出的情況改為學習網絡輸入與輸出之間的殘差。使用殘差函數將兩條路徑向整合再交由激活函數做非線性處理,最后形成一個完整的殘差網絡模塊。由于殘差結構是輸出減去輸入,因此要求輸出與輸入部分的維度相同。殘差網絡中定義輸入端引出支線將上一層網絡的輸出連接到下層網絡中的連接方式為跳躍連接[20]。在一個殘差網絡模塊中,為了增加網絡的非線性表達能力會使得這種跳躍結構跳躍兩層甚至更多層,借此擬合更加復雜的輸出函數。本文構建的路面狀態分類器所用的殘差結構如圖6所示,由兩個輸出通道數一致的3×3卷積網絡堆疊而成。

圖6 殘差結構
由殘差神經網絡構成的路面狀態分類器,識別不同路面狀態的輸出類別由其最后的全連接層來完成。全連接層處于網絡整體的尾部,與人工神經網絡中的全連接方式相似,這樣可以使得參數量和總體的計算量相比人工神經網絡中的神經元減少了許多。全連接層中的神經元與其前一層的全部神經元相連,全連接層中的神經元不同于卷積層中神經元權值相互共享的機制,相互間權值不等。在殘差結構尾部接入全連接層時會采用點積的方式進行權值轉換并將前面殘差結構輸出的多維向量矩陣轉化為單列向量,向量的維度即待分類的路面4種狀態。通過引入Softmax算法將特征圖像向量轉化為不同類別的概率數值向量。Softmax算法計算的結果為4種路面狀態中的最大概率值所對應的類別,也即該路面經過分類器所得分類結果。其計算過程為
(1)
式中:P(y=i|x|)為輸入的待檢測路面x在分類器中判定屬于第i類路面狀態的概率;k=4,為本文待檢測的4種路面狀態。最后構建的用于訓練路面狀態數據集進行不同狀態識別的分類器結構如表1所示。

表1 分類器結構
由于目前并沒有統一公開的應用于不同路面狀態識別研究的路面數據集,針對文獻[1]中所要求的路面狀態中的干燥、積雪、積水和結冰4種狀態,構建了一套包含上述4種狀態的路面狀態數據集,樣本圖分別對應圖7(a)干燥路面、圖7(b)積雪路面、圖7(c)積水路面、圖7(d)結冰路面。參考高清視頻技術在高速公路監控系統中的應用探討標準[21]中監控圖像1080P的像素點尺寸,通過在不同路面狀態下的高速交通監控視頻,采取截圖劃分路面小塊及手持相機等方式采集4種路面狀態樣本共1 876幅、大小為不同路面狀態下的120像素×120像素的路面區域小塊,包含不同天氣情況和不同角度下的干燥、積雪、積水和結冰4種路面。為克服各類別間數據不均衡、容易發生過擬合的問題,利用數據增強技術對原始數據集進行擴增。本實驗采取水平翻轉、垂直翻轉、固定角度旋轉、平移和隨機高斯噪聲處理5種方式對不同類別的路面狀態數據進行了不定向的數據增強處理,增強后的數據集的數據量為原數據集的2倍。經過數據增強后的數據集構成如表2所示。

表2 增強后的路面數據集

圖7 4種路面狀態樣本
本實驗在Ubuntu18.04操作系統下以PyCharm為操作平臺,基于PyTorch深度學習框架,結合OpenCV2.4.9進行,編程語言為Python3.6.6。
4.2.1 路面分割結果與分析
本文通過采用U-Net結合Attention模塊的圖像分割提取算法進行路面的分割,可以準確地將高速公路路面分割出來,遠遠優于傳統的語義分割算法。對高速公路監控視頻靜態背景進行路面區域分割,結果如圖8所示,其中圖8(a)、圖8(c)分別為單一路面狀態、混合路面狀態的待分割原圖,圖8(b)、圖8(d)依次為應用本文所述方法對其進行分割的結果。

圖8 基于本文所提方法的路面分割結果
本文采用像素準確率(Pixel Accuracy,PA)、平均交并比(Mean Intersection over Union,MIoU)作為模型的評價方法和準則,計算公式如式(2)和式(3)所示。利用這兩個準則對本文構建的基于注意力機制的語義分割網絡以及其他語義分割網絡的分割效果算法進行評價,分割效果對比如表3所示。

表3 語義分割網絡效果對比
(2)
(3)
在PPA中定義有k+1個類(包括一個空類),pij表示本屬于類i但被預測為類j的像素數量,pji表示本屬于類j但被預測為類i的像素數量,pii表示真正的類i的像素數量。
MIoU為語義分割的標準度量,主要以真實值與預測值兩類集合的交集與并集之比作為衡量數據。對每一類預測的結果的預測值和真實值進行交集和并集計算,再計算交集和并集的比值即交并比,最后根據類別數求交并比的平均值。將數據集分別通過FCN、原始U-Net和U-Net結合Attention共3種語義分割網絡經上述評價方式進行計算,最后PA與MIoU的統計結果如表3所示。
對實驗結果進行分析可知,在U-Net語義分割網絡的基礎上設計加入的殘差注意力機制對實驗結果有一定的積極作用,與原始U-Net語義分割網絡分割效果相比,PA和MIoU均有所提升,可以實現從高速公路監控視頻靜態背景中對路面區域的分割,證明了本文所述方法在高速公路路面狀態檢測任務中具有實際意義。
4.2.2 路面陰影消除結果與分析
對比應用深度學習進行陰影消除的方法,本文采用均方根誤差(Root Mean Squared Error,RMSE)來對消除陰影后的路面進行評價,其定義為
(4)
式中:SMSE為均方誤差(Mean Squared Error,MSE),計算式為
(5)
式中:I(i,j)與k(i,j)分別為標準圖像的像素點與待評價的陰影消除圖像的像素點;mn為圖像的像素點總和。RMSE值越小,消除陰影的效果越好。
將本文構建的陰影消除模型作用于公開數據集(主要包括SRD[22]、ISTD[23]),并與其他陰影消除算法進行對比,通過上述評價方式進行計算,統計結果如表4所示。

表4 不同陰影消除算法對比
本文提出的陰影消除算法對比傳統的陰影消除算法有明顯的優勢,圖像質量上綜合表現更佳,同時對比基于生成對抗網絡消除陰影的其他陰影消除模型,將本文生成的模型應用于公開的數據集,從統計結果中可知本文基于循環生成對抗網絡實現的陰影消除方法可以對路面陰影進行有效消除。不同狀態路面下的實驗結果如圖9所示。
4.2.3 分類器結果與分析
在進行訓練參數設置時,設定每批數據量大小為4,學習率為0.001,迭代次數默認為100次,在訓練過程中加入了Early Stop機制,使得驗證損失在連續迭代5次后都沒有減小時就停止訓練。在進行網絡層權重凍結時,將除最后的用于輸出一層以外所有層的參數都進行凍結 (即設置參數不可更新),然后再逐步向前一層解凍,對每次訓練結果中的最佳準確率進行保存,參照訓練集和測試集的分類準確率作為評估指標,同時將這種部分參數凍結的訓練方法應用于不同的卷積神經網絡分類模型對分類效果同步進行評估。單類的準確率P和總體準確率Pmacro的計算式為
(6)
(7)
式中:TP(True Positive,真正)為被模型正確分類的正樣本;FP(False Positive,假正)被模型錯誤分類的負樣本;n為4種路面狀態數目。在訓練過程中,每迭代1次訓練樣本會檢測1次準確率,并根據準確率的變化趨勢決定是否進行下次迭代。最終利用新模型在驗證集中檢測準確率。對比實驗分為兩組,第一組對當前學者針對路面狀態分類問題所用的方法與本文方法進行對比,檢測結果如表5所示;第二組對本文搭建的殘差神經網絡與基于不同的卷積神經網絡結構分別進行不同層數的權重凍結,保留最佳準確率的參數進行訓練效果對比,主要與分類檢測任務中最流行且效果較好的Inception 3、Vgg19和Vgg16這3個網絡進行檢測效果的對比,檢測結果如表6所示。可見本文基于殘差網絡結構訓練的路面狀態分類器分類準確率最高,模型體量最小,并能將最優的參數模型進行保存。

表5 相關論文所提方法分類準確率

表6 不同卷積神經網絡分類準確率
采用本文所訓練的路面狀態分類器對甘肅省某高速公路路段、吉林省某高速公路路段下的不同路面狀態進行識別,在經由視頻背景提取、路面區域分割后,依據模型訓練集中的像素尺寸(120像素×120像素)對路面進行劃分,首先對所劃分不同路面狀態的小塊數目進行分類別統計,然后加載模型進行分類,以式(6)所定義的準確率對測試視頻小塊下的分類結果進行計算,結果如表7所示。

表7 路面狀態分類結果
注:甘肅省某高速路段監控視頻,共21段視頻,每段視頻平均時長6 min,分別包含了不同地點的高速公路路面(夏季積水、干燥為主);吉林省某高速路段監控視頻,共35段,每段視頻平均時長4 min,分別包含不同地點的高速公路路面(冬季積雪、冰面為主)。
本文提出的路面區域分割算法將融合空間注意力機制與通道注意力機制的Attention模塊與U-Net網絡相結合,增強了應用語義分割模型對路面區域進行分割的準確性。陰影消除方法在路面陰影檢測的基礎上,將檢測到的陰影二值圖與待消除陰影的路面一起輸入預先訓練好的陰影消除模型,對路面中被陰影覆蓋的區域進行重建與恢復。路面狀態分類器基于殘差結構組建,對所構建的數據集進行訓練以得到最優的分類模型,證明了基于殘差結構訓練所得路面狀態分類器相比其他分類方法而言,分類效果更佳,并使用多種數據集和實際高速公路監控視頻予以驗證。