項 煜 ,叢德銘 ,張 洋 ,袁 飛
(1. 長安大學公路學院,陜西 西安 710064;2. 西南交通大學信息學院,四川 成都 611756;3. 河南省交通運輸廳,河南 鄭州 450016;4. 河南省高速公路聯(lián)網監(jiān)控收費通信服務公司,河南 鄭州 450000)
我國近年來霧霾嚴重,由于霧霾天所引起的交通事故已經占到了交通事故總數(shù)的25%以上[1]. 由于氣象部門尚未能夠對霧霾天氣進行細粒度的預報,導致在大霧天氣時,一些路段的車輛大量出行從而引發(fā)重大交通事故[2-3]. 目前關于霧天檢測的研究大部分還是停留在基于傳統(tǒng)特征提取的方法. 但是由于傳統(tǒng)特征由于需要人為設計,其模型遷移能力不強,難以適應全國的高速公路的霧天檢測. 隨著近年來深度學習的發(fā)展,深度學習在分類、檢測等任務上取得了巨大的成功. 因此,本文中提出了一種基于深度學習的雙路深度網絡融合檢測算法,不僅克服傳統(tǒng)特征的遷移能力不強的情況,而且能夠獲得高精度的檢測結果. 該方法首先利用了霧天的視覺特征. 由于霧天會導致視覺上的可視距離縮短,提取霧天的視覺深度圖能夠有效反映霧天可視情況,也是判斷霧天關鍵特征. 其次,根據(jù)霧天成像的原理,提取霧天的暗通道圖像,暗通道圖像是對光照透射率的互補圖像,暗通道值越小的位置則是光線透射率的越高的位置. 獲得兩種特征圖之后,利用深度殘差網絡的強大建模能力,對兩種特征進行建模分類,之后送到融合分類部分進行融合檢測.
霧天檢測已經被廣泛研究,Bronte等[4]通過計算邊緣密度結合道路消失點,以此來檢測霧的有無;Pavlic等[5]通過濾波提取全局的圖像描述子來檢測霧,Tan[6]、Hautiere等[7]、Busch 等[8]還分別研究了檢測環(huán)境光強弱、不同對比度相結合、小波變換的方法評估圖像的能見度. Schechner等[9]提出了使用由偏振濾光器的旋轉產生的具有不同偏振度的相同場景的兩個或更多個圖像以計算場景深度的方法. 文獻[10-12]中提出的方法估計場景深度,然后通過比較在不同天氣條件下捕獲的兩個圖像. Robert等[13-15]把待檢測的圖像和已知能見度的氣象圖像進行對比分析能見度,以此來實現(xiàn)對霧天的檢測. Baumer等[16]通過數(shù)碼全景攝像機獲取的時間序列圖像,通過可以檢測到的最遠的事物來實現(xiàn)對霧天的檢測.
深度學習是機器學習算法中的一個新興技術.現(xiàn)在已經被廣泛運用于圖像分類[17]、人臉識別[18]、目標檢測[19]和動作識別[20]等領域. 早期的 CNN (convolutional neural network)缺乏大數(shù)據(jù),硬件性能差,不能處理復雜問題. 隨著技術的發(fā)展,許多新的CNN結構被提出. ImageNet競賽中,Krizhevsky等[21]訓練的深度卷積神經網絡AlexNet,借助了GPU的強大計算能力、深層的CNN網絡、隨機梯度下降(SGD)和Dropout等優(yōu)化技巧,結構簡單并且性能較高. 2013年的ZFNet把錯誤率降到了11.2%[22].Szegedy等[23]設計的卷積神經網絡GoogleNet擁有22層的結構. He等[24]設計了一個多達152層的ResNet架構,它擁有更深層的深度神經網絡和更低的復雜度,更易于訓練,錯誤率也降到了3.6%. Huang等[25]設計的DenseNet的每一層都直接與前面層相連,實現(xiàn)特征的重復利用,同時降低了冗余性.
深度學習網絡在圖像識別領域具有很好的效果,目前關于霧天檢測的算法大多使用傳統(tǒng)方法,少有研究者使用深度學習的方法進行霧天的檢測. 但在去霧領域有用到深度學習相關的方法,Cai等[26]設計了DehazeNet用于圖像去霧,網絡結構由4個連續(xù)操作(特征提取、多尺度映射、局部極值和非線性回歸)組成. Ren等[27]通過學習有霧圖像與其相應的透射圖之間的映射,提出了一種用于單圖像去霧的多尺度深度神經網絡. 從去霧方法中受到啟發(fā),本文將采用特征提取與深度學習相結合的方法來實現(xiàn)霧天檢測.
雙路神經網絡融合模型主要分為兩路,一路學習暗通道特征,一路學習深度圖特征,見圖1. 每一路網絡分別進行深度網絡建模,兩路最后經過softmax后進行融合分類,本實驗采用平均法. 以下依次對這幾個部分進行詳細介紹
暗通道先驗理論是一種圖像去霧算法[28],這個算法性能較強,在去霧方面表現(xiàn)出良好的效果,具有很高的魯棒性,被廣泛應用于圖像增強和圖像去霧.通過觀察在去霧過程中提取的暗通道圖片,發(fā)現(xiàn)無霧圖像的暗通道特征圖像在暗元素區(qū)域有更低的像素值,因此本文嘗試將其用在高速公路監(jiān)控視頻上的霧天檢測中.
暗通道的概念是在統(tǒng)計、分析了大量的外景無霧圖像后而定義的,就是說在大多數(shù)不覆蓋天空的局部區(qū)域中,通常有些像素會在至少一種顏色(R、G、B)通道中具有非常低的強度值. 該區(qū)域的光強度最小值很小,幾乎趨近于0,因此被稱為暗像素[28].對于圖像J,定義對于任何的一個輸入的圖像,其暗通道 Jdark可以用式(1)表示.
圖1 霧天檢測雙路神經網絡融合模型Fig.1 Two-stream neural network fusion model for fog detection
式中:c為三基色的顏色通道; Jc(y) 為圖像的像素在y位置的c通道像素值; ? (x) 為以x像素點為核心的區(qū)域.
暗通道先驗的理論指出:
造成暗通道的暗元素首先是來自圖像中光照產生的陰影,例如樹木、建筑物和汽車的陰影;第二,暗元素素可以來自富有色彩的物體,如花、葉、汽車、建筑物、路標或行人;第三,暗元素可以來自黑色物體,如車輛輪胎、路標和樹干. 根據(jù)暗通道先驗,霧天圖像形成模型的數(shù)學描述如式(3).
式中:I為特征圖像;J為實際場景圖像;A為大氣光強;x為圖像里的像素點;t為大氣透射度,即場景中物體所反射的光線并沒有發(fā)生任何散射,而是直接就傳輸?shù)搅藬z像機中的比例值.
進一步假設局部區(qū)域 ? (x) 中的傳輸是恒定的.將區(qū)域的透射率表示為 t? ( x) . 在霧影成像式(3)中對局部區(qū)域進行最小運算,得到式中: Ic(y) 和 Jc(y) 分別為特征圖像和實際場景圖像在y位置的c通道像素值; Ac為c通道的大氣光強.
請注意,最小操作是在3個顏色通道上獨立執(zhí)行的. 這個等式相當于:
然后,在式(5)中的3個顏色通道中進行最小運算并獲得
根據(jù)前述的暗通道先驗理論有
由于 Ac始終是正的,可以推導出
實驗中通過調用暗通道部分公式來提取圖像的暗通道特征. 通過實驗,提取了高速公路圖像的暗通道圖像,如圖2所示.
圖2 暗通道示例Fig.2 Dark channel examples
首先,將完整的卷積體系結構引入到深度預測中,并賦予新穎的上采樣塊,從而實現(xiàn)更高分辨率的密集輸出映射,同時需要更少的參數(shù)和訓練數(shù)據(jù). 文獻[29]提出一個完整的卷積架構,架構還包括殘差學習,以模擬單目圖像和深度圖之間的模糊映射. 為了提高輸出分辨率,提出了一種新穎的方式來有效地學習網絡中的特征映射上采樣. 最后為了優(yōu)化,引入了反向Huber損失,由深度圖中通常存在的值分布驅動. 該模型由單一架構組成,經過端對端的訓練,不依賴后處理技術,如CRF (conditional random field algorithm)或其他細化步驟. 因此,可以在圖像或視頻上實時運行. 使用文獻[29]中的模型(ResNet-UpProj)加載轉換參數(shù),提取深度圖特征,提取的高速公路監(jiān)控視頻圖像的深度圖如圖3所示.
圖3 深度圖示例Fig.3 Depth map examples
深度卷積神經網絡在發(fā)展上主要趨勢為更深更大規(guī)模結構的神經網絡,往往會取得更好的性能. 因此,深層次的神經網絡層出不窮. 遺憾的是,由于層次的加深,利用反向傳播算法優(yōu)化的神經網絡往往難以將深層次的梯度傳到到淺層,出現(xiàn)梯度消失的情況,使得淺層的網絡參數(shù)難以得到合理的調整以擬合特定的數(shù)據(jù)分布.
對于該問題,深度殘差網絡(圖4)在多層之間使用了跳過連接(Skip-connection)的結構,使得梯度可以根據(jù)優(yōu)化權重的情況選擇性地跳過某些層次,順利傳播到淺層以調整權重. 因此,在本論文中,利用ResNet-50的深度殘差網絡來對已經提取的暗通道和深度圖進行建模.
圖4 深度殘差網絡Fig.4 Deep residual network
雙路網絡的輸出結果最后要輸入到融合分類部分進行分數(shù)融合. 整個模型從暗通道圖和深度圖輸入到整個結果輸出為一個端到端(end-to-end)的模型. 在本文中采用的是均值融合方法,使用softmax進行激活歸一化,使用交叉熵函數(shù)作為損失函數(shù). 因此,目標函數(shù)L描述如下:
式中:y為圖像x所對應的真實標簽.
表示損失函數(shù);w為雙路模型中所有的權重; λ1為控制該正則項在目標函數(shù)中的權重;其softmax公式描述如下:
式中:i為類別數(shù),本實驗中K = 2為二分類;Di(x)為暗通道提取函數(shù); ?D為暗通道圖像網絡建模;Pi(x) 為 深度圖提取函數(shù); ?P為深度圖圖像網絡建模.
為了驗證本文提出算法的有效性,搜集了河南、廣東、山西3個省份的651路視頻監(jiān)控圖像,時間跨度從2015年11月—2017年7月,全面覆蓋了各種天氣、季節(jié)、光照等條下的監(jiān)控視頻,能夠充分反映國內高速公路的霧天情況. 從中抽取了21 000張具有代表性的高速公路圖像作為霧天檢測數(shù)據(jù)集(express way fog detection dataset,EWFD). 與此同時,為了增強模型的魯棒性,從Google 圖片搜索中利用關鍵詞檢索的方式,搜索爬取了8 000張霧天和無霧的風景圖像,作為輔助數(shù)據(jù)集. 把數(shù)據(jù)集按照7∶2∶1的比例分別劃分為訓練集、測試集和驗證集.為了客觀評價算法的效果,采用了精確度作為基本的評價標準對結果進行全面分析.
部分特征樣本如圖5所示.
針對樣本的暗通道特征圖如圖5(a)、(b)、(e)、(f)所示. 光照射在物體上,會存在反射和吸收. 例如紅色的物體便是吸收了紅光,反射其他光,那么該物體在其他的顏色通道中就有很低的值. 如圖5(f)所示,當光照沒有受到霧氣的影響時,暗通道特征顯示正常,物體的暗通道值接近0;如圖5(e)所示,光照由于受到霧氣的影響,光線無法完全被反射或吸收,在有霧的區(qū)域圖像偏白,暗通道值接近1.
圖5 特征樣本圖Fig.5 Sample feature map
針對樣本的深度圖特征如圖5(c)、(d)、(g)、(h)所示. 通過估計場景深度,比較圖像深度值的方法來判斷霧的有無,為了直觀的表現(xiàn)有霧圖像與無霧圖像的區(qū)別,將深度值以坐標形式顯示. 如圖5(h)所示,針對無霧圖像,估計的深度值為3.5;如圖5(g)所示,針對有霧圖像,估計的深度值僅有1.7.
在本論文中,基于Caffe構建[30]提出的雙路神經網絡融合模型. 該模型使用ResNet50 作為模型的骨干網絡(backbone network),利用交叉熵損失函數(shù)(cross-entropy loss)計算網絡損失用以調整網絡. 利用網上搜集的輔助數(shù)據(jù)集作為預先訓練的數(shù)據(jù),對骨干網絡進行預先訓練,訓練參數(shù)設置參見Alexnet.后利用預先訓練的模型對雙路神經網絡融合模型進行初始化,后再使用EWFD數(shù)據(jù)集聯(lián)合訓練優(yōu)化.
所有實驗均基于單路Intel I7處理器及4路NVIDIA TitanXp的計算工作站進行. 使用隨機梯度下降算法(stochastic gradient descent,SGD)來優(yōu)化整個網絡. 網絡訓練中的批大?。╞atch size)設置為128,初始學習率(LR)設置為 0.1,沖量(momentum)設置為10-4. 整個訓練回合(epoch)數(shù)設置為60,學習率每20個回合進行十倍衰減.
(1) 暗通道建模分析
為了探索暗通道特征對霧天檢測準確程度的影響,對暗通道單獨建模分析. 為了實驗的公平性,該實驗也使用ResNet50作為建模網絡. 實驗結果如表1所示(表中黑體數(shù)據(jù)為采用本文算法的實驗結果). 從實驗結果中可以看出,RGB圖片直接分類取得了較高的準確度,達到了82%. 而與暗通道相比,暗通道取得了超過10%的提高. RGB圖片中的霧天的視覺特征在神經網絡中并不能很好地建模,這是由于數(shù)據(jù)集中圖片具有背景多而復雜、不容易識別的情況,而暗通道可以準確將霧天的特征反映出來,再通過ResNet50的建模,可以獲得很好的實驗結果.
表1 雙路神經網絡融合對比實驗Tab.1 Experiments on two-stream neural network fusion
(2) 深度圖建模分析
為了更好地了解深度圖對于整個模型的貢獻,單獨對深度圖的分類結果進行了分析. 由表1可以看到,深度圖的分類結果達到了87.2%,可以明顯看出,深度圖的效果是高于RGB圖像的,但比暗通道特征差. 這是由于深度圖特征是直接利用通用模型訓練的模型來提取的. 由于原模型訓練中缺少高速公路這一類場景,導致抽取的深度圖效果并不是很好.
為了更好地檢驗本文中提出的雙路神經網絡融合模型的有效性,與現(xiàn)有最好的分類檢測模型進行了對比實驗,其中包括AlexNet、VGGNet-16、ResNet-50、ResNet101等4個取得巨大成功的分類檢測模型,實驗結果如表2所示. 從表2可以看到,Alex-Net和VGGNet的準確率均在80%以下,特別是AlexNet僅取得76.3%的準確率,這是由于AlexNet其本身網絡結構偏小,難以捕捉到復雜多變的霧天情況;VGGNet的情況與之類似,雖然層數(shù)增加到16層,其提高是有限的;殘差網絡的表現(xiàn)略好,Res-Net-50層達到了82.3%,但是ResNet-101卻只有不到1%的提高. 這一實驗說明,單靠網絡規(guī)模的增大是難以全面準確估計霧天的情況的. 而由于本文中提出的雙路神經網絡融合模型結合了暗通道和深度圖這兩種具有很強表達能力的視覺特征,再加上ResNet-50的建模能力,取得了93.7%的準確率(見表2中黑體數(shù)據(jù)).
表2 現(xiàn)有方法對比實驗Tab.2 Comparing with existing method
本文研究了高速公路的監(jiān)控視頻霧天檢測算法. 針對霧天檢測提出了基于深度圖的特征提取和基于暗通道的特征提取的雙路神經網絡融合模型.
(1) 提出的基于雙路神經網絡融合模型的高速公路霧天檢測算法框架,融合了多種特征進行聯(lián)合分類;
(2) 首次利用了暗通道特征和深度圖特征作為霧天檢測的輸入特征;
(3) 實驗結果顯示,本文提出的霧天檢測算法框架達到了最好的水平,能夠在實際高速公路管理與運營中應用.
該模型在實驗數(shù)據(jù)集上取得了理想的效果,給高速公路應用打下來良好的基礎. 在將來的工作中,我們將會推進高速公路的信息化、智能化管理,將研究成果推廣應用于高速公路實際運營.