李曉勇,劉寬宗,周祥華,李紅玉,譚貴蓉,熊胤帆
(1瀘州市氣象局 四川 瀘州 646599)
(2成都潤聯(lián)科技開發(fā)有限公司 四川 成都 610000)
現(xiàn)代道路交通中,城市交通會因為惡劣天氣條件而產(chǎn)生諸多影響,例如大雪、大霧天氣或其他極端氣候條件會導致駕駛人員視物能力變差、道路濕滑和交通堵塞。如果情況嚴重,還有引發(fā)交通事故的風險,通過與交通監(jiān)控系統(tǒng)相配合,實時監(jiān)測當?shù)靥鞖猓勺畲蟪潭壬辖档鸵驉毫託夂驅φ=煌ㄏ到y(tǒng)運轉的影響,減少惡劣氣候下出行流量,提高交通安全性,由此可以表明,實時天氣預測對社會各方面有著重要意義[1-2]。而傳統(tǒng)氣象檢測方式大多通過氣象衛(wèi)星和地面觀測站建立氣象模型實現(xiàn)天氣預測,雖然在大范圍的天氣趨勢監(jiān)測方面準確率較高,但對小區(qū)域的實時天氣預報的準確率也不是很理想,而通過在城市內(nèi)大規(guī)模進行視覺圖像采集,并應用輕量級卷積神經(jīng)網(wǎng)絡識別技術進行精準識別,可有效提升天氣監(jiān)測的準確度,相對于傳統(tǒng)方法而言,可合理縮減實驗步驟,節(jié)省技術時間[3-4]。
圖像移動、大小和DenseNet對DenseNet分類識別沒有影響。seNet在自然圖像識別任務中表現(xiàn)出色,尤其是在復雜環(huán)境中特異性較高。實現(xiàn)過程如下。
DenseNet CVPR會議于2017年召開,是一種新型的輕量級卷積神經(jīng)網(wǎng)絡模型,該網(wǎng)絡結構為密集連接型。在網(wǎng)絡中,任意兩層之間都可以形成直接連接,每一層網(wǎng)絡的輸入都可以像以前一樣使用所有的輸出層,并通過學習圖的特征來設定該層,將會同時作為后續(xù)所有層的輸入。
設第L層的變換函數(shù)作為H-L,輸出為Y-L,可采用如下公式進行DenseNet每一層的變換:Y-L=H-L([Y-0,Y-1……Y-[L-1])。
DenseNet與其他網(wǎng)絡的主要差異在于:(1)網(wǎng)絡中的h層可以直接與前一層連接,實現(xiàn)重復利用的特點。(2)網(wǎng)絡的每一層設計都非常狹窄,每一層只需要學習少量的特征圖,以減少冗余。
同時,DenseNet還有如下優(yōu)勢:(1)節(jié)省參數(shù):在ImageNet數(shù)據(jù)集的實驗中獲得了相同的識別率,DenseNet參數(shù)個數(shù)是ResNet的一半。模型越小,帶寬越小,可以大大減少開銷。(2)節(jié)省計算:與其他神經(jīng)網(wǎng)絡模型相比,DenseNet的計算量大大減少,只有約一半的其他神經(jīng)網(wǎng)絡模型。
本研究未獲得大型氣象數(shù)據(jù)集,利用互聯(lián)網(wǎng)獲得的小尺度圖像,對同一地點、不同時段拍攝的不同氣象圖像進行采集,可分為4種類型:晴天、陰天、雨、雪,所有圖像分辨率設置為224×224。由于數(shù)據(jù)集數(shù)量較少,本研究將訓練集中在60%的圖像上,以所有圖像作為驗證集,通過多次迭代得到訓練模型。
為保障實驗準確性,本研究使用TensorFlow后端的Keras deep learning pants作為開源代碼,在Anaconda voucher下使用Python 3.6進行編程。實驗采用了709層Densenet模型。這個結構,使用全局池層來代替整個連接層,設計學習率為0.001。采用輕衰減防止過擬合,設定衰減為0.0001。
在代碼中調(diào)用繪圖模塊時,訓練結果的準確率和丟失率由圖表示,見圖1、圖2。本實驗大約有20次訓練迭代,在第10次迭代后,準確率逐漸穩(wěn)定并呈現(xiàn)緩慢增長趨勢。

圖1 訓練和驗證準確率

圖2 訓練和驗證損失值
通過測試,可以獲得數(shù)據(jù)集中每個圖像的天氣識別結果。該方法的識別率在陰天和晴天高于雪天和雨天。通過圖像分析發(fā)現(xiàn),雨雪天錯誤率高的原因是圖像數(shù)量少,降雨過程產(chǎn)生的水霧對圖像質量也有一定影響。
通過對氣候和環(huán)境的實時監(jiān)測,結合交通路段的信息,可以有效減少惡劣氣候下的出行量和對道路交通的負面影響,提高惡劣氣候下的出行效率[5-6]。因此實時預測天氣狀況,對城市交通、航空管制、公路調(diào)度等多方面具有重要影響意義[7]。
傳統(tǒng)氣象檢測中,該預報主要通過地面觀測站結合氣象衛(wèi)星建立的大氣模型進行,該方法雖然能夠實現(xiàn)大規(guī)模的天氣趨勢預報,但對小范圍的實時天氣預報缺乏準確性,通常需要在固定范圍內(nèi)布置大量傳感器,在一定程度上提高了預測精度,但部署和維護傳感器的成本高,實現(xiàn)難度大[8-9]。視覺圖像采集具有成本低、效率高的優(yōu)點。如果能將城市中大量的交通攝像頭和網(wǎng)絡攝像頭有機地結合起來,通過機器學習對攝像頭實時采集到的戶外圖像進行處理,那么識別的范圍將會更廣[10-11]。有研究表示,圖中他的空間直方圖的特征可以幫助判斷驅動系統(tǒng)是拍攝晴天還是雨天[12],也有研究對氣象現(xiàn)象圖像的差異性影響相關分析,通過提取圖像的功率對比度、坡度、噪聲特征等訓練,構建決策樹,并在葉節(jié)點構建SVM分類器,實現(xiàn)戶外圖像識別氣象現(xiàn)象[13-14]。這些方法只能通過拍攝照片來識別具體場景,而且需要更精細、更復雜的訓練過程,無法滿足現(xiàn)有氣象信息的實時性要求[15]。
隨著輕量級卷積神經(jīng)網(wǎng)絡的不斷發(fā)展,它在圖像分類中具有明顯的操作優(yōu)勢,本研究在基于圖片的天氣分類中充分應用卷積神經(jīng)網(wǎng)絡,通過對同一地點和不同時刻的4種天氣圖片進行訓練取得了良好的效果,該方法節(jié)省了人工從圖像中提取各種氣象特征的步驟,大大減少了識別時間。具體操作如下:為保證測試的準確性,本研究使用TensorFlow后端的Keras deep learning pants作為開源代碼,Anaconda voucher編程中采用Python 3.6。實驗中使用了總共709層Densenet模型,使用global pooling層代替了該結構中的full connection層。設計學習率為0.001,采用權重衰減防止過擬合,設定衰減為0.0001,代碼中調(diào)用繪圖模塊。測試結果表明,訓練結果的準確率和丟失率可以用圖來表示。本實驗大約有20次訓練迭代,在第10次迭代后,準確率逐漸穩(wěn)定并呈現(xiàn)緩慢增長趨勢。
由此可見,在氣象現(xiàn)象識別中,應用輕量級卷積神經(jīng)網(wǎng)絡技術可取得滿意的預期效果,可為后續(xù)的相關研究提供一定理論依據(jù),但是由于本研究中的研究樣本較少,而只有在大量樣本中應用卷積神經(jīng)網(wǎng)絡才能充分驗證其識別率的準確度,在后續(xù)的工作中,可以從以下兩個方面提出相應的改進:(1)擴大數(shù)據(jù)集的規(guī)模,將相關攝像機設置在固定的位置范圍內(nèi),定時拍照,手工標注每張照片的氣象現(xiàn)象;(2)利用多種神經(jīng)網(wǎng)絡識別天氣,可以融合多種結果,獲得更準確的結果。
綜上所述,實驗結果表明,該技術在識別圖像天氣中達到了滿意的預期效果,相較于傳統(tǒng)方法而言,縮減了實驗步驟,縮短了技術時間。