曹爽亮,楊亞莉,陳浩,楊書偉
摘? 要:一直以來,如何準(zhǔn)確便捷地監(jiān)測能見度都是減少交通事故工作關(guān)注的重點(diǎn)所在,而傳統(tǒng)的使用能見度儀檢測能見度存在造價(jià)高、范圍小等缺陷。隨著深度學(xué)習(xí)研究的不斷發(fā)展,使用深度學(xué)習(xí)估算能見度也變成現(xiàn)實(shí)。本文建立了一種VGGnet 16卷積神經(jīng)網(wǎng)絡(luò)模型,經(jīng)過Dropout(丟棄層)和數(shù)據(jù)增強(qiáng)優(yōu)化后,使用監(jiān)控圖像及其對應(yīng)的能見度值對其進(jìn)行訓(xùn)練。結(jié)果表明,優(yōu)化后的模型能有效提升訓(xùn)練精度,在小數(shù)據(jù)集上也能實(shí)現(xiàn)非常好的能見度估算效果。
關(guān)鍵詞:能見度;深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);丟棄層;數(shù)據(jù)增強(qiáng)
中圖分類號:TP391.4? ? ?文獻(xiàn)標(biāo)識碼:A
Visibility Estimation based on Convolutional Neural Network
CAO Shuangliang, YANG Yali, CHEN Hao, YANG Shuwei
(School of Mechanical and Automotive Engineering, Shanghai University of Engineering Science, Shanghai 201620, China)
caoshuangliang2020@163.com; carolyn71@163.com; pschenhao@163.com; 18016334293@163.com
Abstract: Accurate and convenient visibility monitoring has always been the focus of reducing traffic accidents. Traditional visibility meter has the effect of high cost and small range. With the continuous development of deep learning research, deep learning is used to estimate visibility in reality. This paper proposes to establish a VGGnet 16 convolutional neural network model. After Dropout (discard layer) and data enhancement optimization, monitoring image and its corresponding visibility value are used to train it. The results show that the optimized model can effectively improve training accuracy, and it can also achieve very good visibility estimation effect on small data sets.
Keywords: visibility; deep learning; convolutional neural network; discarding layer; data enhancement
1? ?引言(Introduction)
能見度是氣象觀測的重要因素之一,它對高速公路安全行車、機(jī)場飛機(jī)起飛等都有著重要影響。惡劣天氣導(dǎo)致能見度低會引發(fā)許多交通事故[1-2]。因此,對能見度進(jìn)行實(shí)時(shí)監(jiān)測十分重要。激光能見度儀是用于檢測能見度的常用工具[3],但由于其造價(jià)高、團(tuán)霧檢測精度低、探測范圍小等問題,難以大范圍推廣。因此,如何高效便捷地檢測能見度已經(jīng)成為一個(gè)值得關(guān)注的問題[4-5]。
隨著機(jī)器視覺與人工智能的不斷發(fā)展,使用計(jì)算機(jī)配合監(jiān)控?cái)z像頭來監(jiān)測能見度成為一種十分有效的解決方案。許多學(xué)者也就這一方面展開了研究,王京麗等[6]提出了基于數(shù)字?jǐn)z像觀測能見度的基本原理和軟件流程。在此基礎(chǔ)上,數(shù)位學(xué)者提出了一種基于亮度對比度和暗原色先驗(yàn)原理的道路圖像能見度檢測方法[7-9]。但是,這些研究只應(yīng)用了傳統(tǒng)的圖像處理方法。
國內(nèi)外許多學(xué)者將機(jī)器學(xué)習(xí)和深度學(xué)習(xí)運(yùn)用到能見度監(jiān)測中。劉南輝[10]提出了一種基于數(shù)字圖像處理和支持向量機(jī)(SVM)相結(jié)合的道路能見度檢測算法,對圖像提取特征值后,導(dǎo)入SVM中進(jìn)行分類訓(xùn)練,建立能見度檢測模型。DUDDU等[11]開發(fā)了一種前饋反向傳播神經(jīng)網(wǎng)絡(luò)(BPNN)模型來監(jiān)測能見度。DEAR等[12]應(yīng)用人工神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了能見度的預(yù)測。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一類包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)的代表算法之一[13-14],在圖像處理領(lǐng)域應(yīng)用廣泛。圣文順等[15]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到病理圖像的識別中。陳杰等[16]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到掌紋識別中。李春利等[17]使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行人臉識別研究。ABIRAMI等[18]實(shí)現(xiàn)了使用卷積神經(jīng)網(wǎng)絡(luò)對圖像中的人臉進(jìn)行年齡和性別的估算。
本文使用卷積神經(jīng)網(wǎng)絡(luò),將道路監(jiān)控圖像作為輸入,自動提取特征后嵌入神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,再將能見度值標(biāo)簽作為輸出,訓(xùn)練網(wǎng)絡(luò)得到能見度估算模型。實(shí)驗(yàn)結(jié)果表明,本文所設(shè)計(jì)的網(wǎng)絡(luò)模型準(zhǔn)確率達(dá)到92.7%。
2? ?數(shù)據(jù)集(Data set)
本文采用的數(shù)據(jù)集來自一段時(shí)長為7.5 小時(shí)的機(jī)場監(jiān)控視頻,以及通過能見度儀測出的此時(shí)間段內(nèi)的能見度值。能見度儀每隔15 秒記錄一次當(dāng)前的能見度值,共計(jì)1,800 個(gè)能見度值數(shù)據(jù)。為從監(jiān)控視頻中提取出與能見度值一一對應(yīng)的圖片,本文使用Python編程語言搭配OpenCV模塊,從監(jiān)控視頻中每隔375 幀(視頻幀數(shù)為每秒25 幀)提取一張圖片,共計(jì)1,800 張監(jiān)控圖片。部分監(jiān)控圖片與能見度值如圖1所示。
截取的監(jiān)控圖片的分辨率為1280×720,為防止圖片數(shù)據(jù)過大導(dǎo)致出現(xiàn)內(nèi)存不足的情況以及為加快模型訓(xùn)練速度,將圖像的分辨率降為卷積網(wǎng)絡(luò)適用的正方形,本文使用的分辨率為224×224。由于能見度數(shù)據(jù)范圍過大且各不相同,因此需要按照取值范圍給能見度數(shù)據(jù)打上標(biāo)簽,本文將能見度數(shù)據(jù)分為11 類,具體分類標(biāo)準(zhǔn)如表1所示。
最后從監(jiān)控圖片及能見度標(biāo)簽數(shù)據(jù)中選取70%作為訓(xùn)練集,10%作為驗(yàn)證集,剩下的20%作為測試集,輸入卷積神經(jīng)網(wǎng)絡(luò)。為保證各類數(shù)據(jù)的平衡性,本文采用手動分層的方法獲取這三個(gè)數(shù)據(jù)集。
3? 卷積神經(jīng)網(wǎng)絡(luò)原理(Principles of convolutional neural networks)
卷積神經(jīng)網(wǎng)絡(luò)最早是由Hubel與Wiesel通過對貓的視覺皮層電生理研究試驗(yàn)而發(fā)現(xiàn)的。卷積神經(jīng)網(wǎng)絡(luò)由輸入層、卷積層、池化層、全連接層組合而成,相比于淺層網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)具有更深層的結(jié)構(gòu),不同卷積神經(jīng)網(wǎng)絡(luò)的卷積層、池化層、全連接層的個(gè)數(shù)不盡相同。如圖2所示為卷積神經(jīng)網(wǎng)絡(luò)的一般結(jié)構(gòu)。
在卷積神經(jīng)網(wǎng)絡(luò)中,輸入層的任務(wù)是讀取圖像信息,其神經(jīng)元的個(gè)數(shù)取決于圖像的維度。為提高卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)行效率和學(xué)習(xí)表現(xiàn),輸入的圖像特征需要進(jìn)行標(biāo)準(zhǔn)化處理。
卷積層的作用是用于提取圖像特征,其工作原理是使用卷積核與輸入圖像的特征向量進(jìn)行卷積操作,再通過激勵(lì)函數(shù)的變換得到新的特征圖。卷積層具有局部感知和權(quán)值共享的特點(diǎn),其中,局部感知是指每個(gè)神經(jīng)元只與上一層的部分神經(jīng)元相連,只感知局部圖像,最后在更高層將感受不同局部的神經(jīng)元綜合起來,得到全局信息。這樣做的好處是可以減少連接的數(shù)目,即訓(xùn)練的權(quán)值參數(shù);權(quán)值共享是指將在局部區(qū)域?qū)W到的信息應(yīng)用到圖像的其他地方去,這樣也可以大大減少訓(xùn)練所需的參數(shù)。
池化層的作用是對輸入的特征圖進(jìn)行壓縮處理,從而簡化網(wǎng)絡(luò)計(jì)算復(fù)雜度和壓縮特征,獲取主要特征。常用的池化操作有最大池化(Max Pooling)和平均池化(Average Pooling),其中最大池化是指取池化窗口內(nèi)的最大特征值作為新的特征值,平均池化是指取池化窗口內(nèi)平均特征值作為新的特征值。池化層可以在保留有效信息的基礎(chǔ)上減少數(shù)據(jù)量,加快訓(xùn)練速度。
全連接層在卷積神經(jīng)網(wǎng)絡(luò)中的作用相當(dāng)于一個(gè)分類器。全連接層中的每個(gè)神經(jīng)元與前一層的每個(gè)神經(jīng)元進(jìn)行全連接,對輸入的信息進(jìn)行整合,最后傳遞給Softmax函數(shù)進(jìn)行分類。
4? ?網(wǎng)絡(luò)模型構(gòu)建(Network model construction)
本文選取的卷積神經(jīng)網(wǎng)絡(luò)為VGGnet 16模型,是由牛津大學(xué)計(jì)算機(jī)視覺幾何組以及Google DeepMind公司研究院一同研發(fā)的深度卷積網(wǎng)絡(luò)模型。該模型整體可分為8 段,前5 段為卷積網(wǎng)絡(luò)。其中第一段網(wǎng)絡(luò)中包含2 個(gè)卷積層和1 個(gè)最大池化層:兩個(gè)卷積層的卷積核大小均為3×3,卷積核數(shù)量為64,步長為1;最大池化層的大小為2×2,步長為2。第二段卷積網(wǎng)絡(luò)除卷積核個(gè)數(shù)為128之外,其余與第一段網(wǎng)絡(luò)相同。第三段卷積網(wǎng)絡(luò)有3 個(gè)卷積層,卷積核大小不變,但卷積層輸出通道數(shù)變?yōu)?56,步長為1。第四段卷積網(wǎng)絡(luò)與第三層卷積網(wǎng)絡(luò)類似,但輸出通道增加到512。最后一段卷積網(wǎng)絡(luò)與第四層卷積網(wǎng)絡(luò)相同,且通道數(shù)維持在512。后三段為全連接層,其中第一、二個(gè)全連接層均有4,096 個(gè)單元,第三個(gè)全連接層有1,000 個(gè)單元。最后使用Softmax函數(shù)進(jìn)行全分類。模型結(jié)構(gòu)圖如圖3所示。
本文使用MATLAB搭建VGGnet模型,激活函數(shù)選用ReLU,以防止梯度消失;池化層選用Average Pooling;迭代設(shè)為50 輪,每輪8 次,共計(jì)400 次;學(xué)習(xí)率設(shè)為0.01。
5? ?訓(xùn)練結(jié)果(Training result)
將數(shù)據(jù)集輸入構(gòu)建完成的模型之后,運(yùn)行模型開始訓(xùn)練,結(jié)果如圖4所示。
從圖4中可以看出,模型的驗(yàn)證精度從60%開始逐漸穩(wěn)步上升,最終穩(wěn)定在82.32%,不是十分理想,這可能是由于數(shù)據(jù)集過小導(dǎo)致的,因此需要對模型進(jìn)行進(jìn)一步優(yōu)化。
6? ?模型優(yōu)化(Model optimization)
由于數(shù)據(jù)集數(shù)量較少,訓(xùn)練過程可能會出現(xiàn)提取特征相對薄弱和訓(xùn)練過擬合的現(xiàn)象。為防止這種現(xiàn)象的出現(xiàn),需要對模型進(jìn)行進(jìn)一步優(yōu)化。本文應(yīng)用了兩個(gè)重要的深度學(xué)習(xí)技術(shù):Dropout(丟棄層)和數(shù)據(jù)增強(qiáng)(Data Augmentation)。Dropout是由Srivastava等[19]提出的一種廣泛應(yīng)用于深度學(xué)習(xí)的正則化技術(shù),具體思路為:在迭代過程中隨機(jī)關(guān)閉一部分神經(jīng)元,隨著迭代次數(shù)不斷增加,由于每個(gè)神經(jīng)元都可能隨時(shí)被關(guān)閉,因此神經(jīng)元對相互之間的激活將會變得不敏感。數(shù)據(jù)增強(qiáng)可以從有限的數(shù)據(jù)中生成數(shù)量更多的等價(jià)數(shù)據(jù),具體思路為通過數(shù)次隨機(jī)轉(zhuǎn)換生成可信的圖像,以增加樣本數(shù)量,在這種情況下,模型中不會看到兩張一模一樣的圖片,這能讓模型學(xué)到更多的圖像特征。
對經(jīng)過優(yōu)化的模型再次進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果如圖5所示。
從圖5中可以看出,優(yōu)化后的模型驗(yàn)證精度達(dá)了92.68%,這表明本文使用的優(yōu)化后的VGGnet 16卷積神經(jīng)網(wǎng)絡(luò)模型能準(zhǔn)確地從圖像中估算出能見度,完成通過監(jiān)控?cái)z像頭實(shí)時(shí)監(jiān)測能見度的任務(wù)。
7? ?結(jié)論(Conclusion)
本文通過建立VGGnet 16模型,并使用Dropout和數(shù)據(jù)增強(qiáng)兩種深度學(xué)習(xí)技術(shù)對模型進(jìn)行優(yōu)化,將模型應(yīng)用到基于監(jiān)控圖像的能見度估算中,最終可以得出以下結(jié)論:
(1)經(jīng)過Dropout和數(shù)據(jù)增強(qiáng)優(yōu)化后的模型能更有效地應(yīng)用于小數(shù)據(jù)集的訓(xùn)練。
(2)本文建立的模型能有效應(yīng)用于基于監(jiān)控視頻的能見度估算中,且精度達(dá)到92.68%。
除了本文所應(yīng)用的VGGnet 16模型,未來還可以使用其他算法來建立能見度估算模型進(jìn)行對比,以得出最佳模型。
參考文獻(xiàn)(References)
[1] 傅剛,李曉嵐,魏娜.大氣能見度研究[J].中國海洋大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,39(05):855-862.
[2] 楊杰顏,郭浩鑫.湛江市一次持續(xù)性大霧天氣過程的特征分析[J].廣東氣象,2016,38(06):55-58,66.
[3] 楊召瓊,陳慧嫻,付哲,等.能見度人工觀測與能見度儀遙測資料的差異[J].廣東氣象,2008,30(S2):11-12.
[4] 梁敏妍,林卓宏,黃曉東,等.江門地區(qū)初春大霧的預(yù)報(bào)預(yù)警業(yè)務(wù)系統(tǒng)[J].廣東氣象,2009,31(03):13-15.
[5] 劉桂興,周炳輝,龐志梅,等.實(shí)現(xiàn)“大應(yīng)急”的遂溪縣氣象防災(zāi)減災(zāi)體系構(gòu)建[J].廣東氣象,2016,38(06):67-69.
[6] 王京麗,劉旭林,雷鳴,等.數(shù)字?jǐn)z像能見度系統(tǒng)及其比對實(shí)驗(yàn)[J].電子學(xué)報(bào),2014,42(11):2298-2302.
[7] 郜婧婧,田華,吳昊,等.基于亮度對比度和暗原色先驗(yàn)原理的白天道路圖像能見度檢測方法[J].氣象科技,2019,47(03):386-396.
[8] 邱新法,葉棟水,曾燕,等.基于視頻的霧天能見度實(shí)時(shí)監(jiān)測方法研究[J].安全與環(huán)境學(xué)報(bào),2018,18(04):1413-1418.
[9] 鄭輝,花毓幸,吳毅楠.基于圖形興趣窗格的能見度監(jiān)測模擬[C]//中國氣象學(xué)會.第33屆中國氣象學(xué)會年會 S10城市、降水與霧霾——第五屆城市氣象論壇.西安:中國氣象學(xué)會,2016:819-827.
[10] 劉南輝.基于能見度檢測的道路限速監(jiān)拍系統(tǒng)[D].福州:福州大學(xué),2017.
[11] DUDDU V R, PULUGURTHA S S, MANE A S, et al. Back-propagation neural network model to predict visibility at a road link-level[J]. Transportation Research Interdisciplinary Perspectives, 2020, 8:1-9.
[12] DEAR F, LELLYETT S. Application of artificial neural network forecasts to predict fog at canberra international airport[J]. Weather and Forecasting, 2007, 22(2):372-381.
[13] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[14] CUN Y L, BOSER B, DENKER J S, et al. Handwritten digit recognition with a back-propagation network[J]. Advances in Neural Information Processing Systems, 1990, 2(2):396-404.
[15] 圣文順,孫艷文.卷積神經(jīng)網(wǎng)絡(luò)在圖像識別中的應(yīng)用[J].軟件工程,2019,22(02):13-16.
[16] 陳杰,張雷,張睿,等.基于卷積神經(jīng)網(wǎng)絡(luò)的掌紋識別[J].軟件工程,2019,22(10):7-11.
[17] 李春利,柳振東,惠康華.基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識別研究[J].軟件導(dǎo)刊,2017,16(05):186-188.
[18] ABIRAMI B, SUBASHINI T S, Mahavaishnavi V. Gender and age prediction from real time facial images using CNN[J]. Materials Today: Proceedings, 2020,33(7):4708-4712.
[19] SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al. Dropout: A simple way to prevent neural networks from overfitting[J]. The Journal of Machine Learning Research, 2014, 15(1):1929-1958.
作者簡介:
曹爽亮(1997-),男,碩士生.研究領(lǐng)域:汽車零部件損傷與輕量化研究.
楊亞莉(1982-),女,碩士,副教授.研究領(lǐng)域:汽車零部件損傷與輕量化研究.本文通訊作者.
陳? 浩(1980-),男,博士,教授.研究領(lǐng)域:汽車零部件損傷與輕量化研究.
楊書偉(1991-),男,碩士生.研究領(lǐng)域:汽車零部件損傷與輕量化研究.