陳德實(shí)
(廣東省高速公路有限公司京珠北分公司,廣東 韶關(guān) 512735)
雨天、霧天、雪天及路面積雪、結(jié)冰等自然天氣現(xiàn)象導(dǎo)致的能見(jiàn)度低、路面濕滑等造成車輛行駛困難,易造成嚴(yán)重的交通事故;同時(shí)天氣變化多端,同一時(shí)間高速公路不同路段天氣狀況不同,尤其是一些極端天氣會(huì)對(duì)高速公路運(yùn)行造成影響,因此需要實(shí)時(shí)監(jiān)測(cè)不同路段的天氣狀況,對(duì)惡劣天氣做出及時(shí)響應(yīng)[1-4],實(shí)時(shí)管控高速公路運(yùn)行狀態(tài),確保高速公路運(yùn)行安全。
目前,傳統(tǒng)的天氣識(shí)別主要依靠傳感器或人類自己的視覺(jué)來(lái)完成。傳感器的前期安裝和后期維護(hù)需要耗費(fèi)大量的人力、物力和財(cái)力,而且天氣狀況的識(shí)別精度和實(shí)時(shí)性會(huì)受到周圍環(huán)境的影響,導(dǎo)致天氣識(shí)別出現(xiàn)誤差。相對(duì)而言,天氣圖像的獲得比較容易,因此,基于天氣圖像的天氣識(shí)別方法逐漸盛行起來(lái)。Lu[5]等通過(guò)提取圖像的天空、陰影、映射和薄霧特征,實(shí)現(xiàn)了晴天和多云的天氣分類;Roser[6]等和Yan[7]等通過(guò)計(jì)算天氣圖像不同區(qū)域的亮度、飽和度和色彩等,利用支持向量機(jī)實(shí)現(xiàn)了車載視覺(jué)系統(tǒng)的晴天和雨天的識(shí)別;馬嘯[8]等和孟凡軍[9]等在傳統(tǒng)K均值聚類的基礎(chǔ)上,通過(guò)提取圖像飽和度分量作為識(shí)別霧霾天氣的特征,從而實(shí)現(xiàn)了霧霾天氣的識(shí)別;于浩[10]等通過(guò)提取圖像的色相、飽和度和亮度等特征,采用貝葉斯分類,實(shí)現(xiàn)對(duì)雨天和霧天的識(shí)別。
上述方法手動(dòng)進(jìn)行特征的提取,只能進(jìn)行兩種或三種天氣類型的識(shí)別,泛化性不高,準(zhǔn)確率也較低。高速公路監(jiān)控圖像只關(guān)注道路特征,天空特征不明顯。針對(duì)這些問(wèn)題,本文采用集成學(xué)習(xí)策略,通過(guò)高速公路監(jiān)控圖像對(duì)霧天、雪天、雨天、陰天和晴天等五類天氣進(jìn)行識(shí)別,及時(shí)對(duì)惡劣條件下的路面情況進(jìn)行預(yù)警。
集成學(xué)習(xí)[14]可以使用多個(gè)模型進(jìn)行組合,從而得到一個(gè)更好的模型,還可以根據(jù)遇到的具體問(wèn)題研究者自己設(shè)計(jì)不同的組合方案來(lái)獲得更優(yōu)的模型,這是集成學(xué)習(xí)作為一種組合優(yōu)化方法的優(yōu)勢(shì)。
集成學(xué)習(xí)算法之間的主要區(qū)別在于以下5個(gè)方面[15]:不同的集成學(xué)習(xí)算法選擇不同的基礎(chǔ)分類器作為構(gòu)建塊;集成學(xué)習(xí)算法可以采用不同的訓(xùn)練方式;集成學(xué)習(xí)算法使用不同的集成方法將多個(gè)分類器的預(yù)測(cè)結(jié)果進(jìn)行綜合;集成學(xué)習(xí)算法通過(guò)增加分類器之間的差異性來(lái)獲得更好的集成效果;不同的集成學(xué)習(xí)算法可以采用不同的預(yù)測(cè)策略來(lái)生成最終的預(yù)測(cè)結(jié)果。在選擇合適的集成學(xué)習(xí)算法時(shí),需要考慮具體問(wèn)題的特點(diǎn)、數(shù)據(jù)集的特征以及算法的性能和適用性,以及對(duì)于所需性能的需求。
收集涵蓋不同天氣條件下的高速公路氣象數(shù)據(jù)集,包括各種天氣條件下的攝像頭圖像、氣象傳感器數(shù)據(jù)等。預(yù)處理步驟包括數(shù)據(jù)清洗、數(shù)據(jù)標(biāo)注和圖像增強(qiáng)等。從華南、華東和東北各一個(gè)省的路面攝像頭截取視頻幀,共截取 104 621張圖片,其中訓(xùn)練集:陰天20 565張、霧天16 145張、雨天20 829張、雪天18 836張、晴天19 006張;測(cè)試集:陰天1 918張、霧天1 743張、雨天1 118張、雪天1 639張、晴天2 552張。部分高速公路氣象圖片如圖1所示。
圖1 部分高速公路天氣圖像
圖像識(shí)別的精確度不僅與算法本身相關(guān),還依賴于訓(xùn)練樣本。數(shù)據(jù)增強(qiáng)被用于模型訓(xùn)練過(guò)程中,常用的數(shù)據(jù)增強(qiáng)方法包括隨即縮放裁剪、圖像拉伸、旋轉(zhuǎn)、水平翻轉(zhuǎn)等。針對(duì)天氣圖像的特點(diǎn),本文采用圖像隨即縮放裁剪進(jìn)行圖像增強(qiáng),如圖2所示。
圖2 圖像增強(qiáng)
本文采用經(jīng)典識(shí)別網(wǎng)絡(luò)DenseNet121進(jìn)行五類天氣的識(shí)別。使用DenseNet121作為基礎(chǔ)分類器,在訓(xùn)練集上進(jìn)行訓(xùn)練,基于訓(xùn)練集的隨機(jī)子樣本進(jìn)行多次訓(xùn)練,每次使用不同的參數(shù)初始化或數(shù)據(jù)采樣,得到多個(gè)不同的DenseNet121模型。針對(duì)容易混淆的陰、晴兩類天氣進(jìn)行識(shí)別,在ResNet-18基礎(chǔ)上加上度量學(xué)習(xí)MS-Loss,提高識(shí)別的準(zhǔn)確率。通過(guò)多次實(shí)驗(yàn)確認(rèn)三種模型權(quán)重,達(dá)到提高識(shí)別準(zhǔn)確率的目的。
1.3.1 DenseNet121網(wǎng)絡(luò)
DenseNet121網(wǎng)絡(luò)在前向反饋模式中,每一層都連接它之后的層,所以DenseNet121每一層的輸入包括當(dāng)前層之前的其他所有層的輸入,加強(qiáng)了特征在層之間的傳播和特征復(fù)用。DenseNet121的主體結(jié)構(gòu)是dense block,其結(jié)構(gòu)如圖3所示。
圖3 DenseNet121網(wǎng)絡(luò)結(jié)構(gòu)示例
使用DenseNet121訓(xùn)練后的測(cè)試結(jié)果混淆矩陣見(jiàn)表1,整體識(shí)別準(zhǔn)確率為85.8%,其中晴天和陰天兩種類別容易識(shí)別錯(cuò)誤。
表1 DenseNet121測(cè)試結(jié)果混淆矩陣
1.3.2 ResNet-18
針對(duì)晴天、陰天容易識(shí)別錯(cuò)誤的問(wèn)題,本文采用ResNet識(shí)別網(wǎng)絡(luò)模型進(jìn)行晴天和陰天二分類識(shí)別。ResNet主要包含5種深度的網(wǎng)絡(luò)結(jié)構(gòu),大致可以分為兩類:第一種是BasicBlock,主要用于ResNet-18、ResNet-34這些淺層網(wǎng)絡(luò)上;第二種是Bottleneck,主要用在ResNet-50、101和152甚至更深層的網(wǎng)絡(luò)結(jié)構(gòu)。本文采用ResNet-18結(jié)構(gòu)網(wǎng)絡(luò),主要包含4層,其結(jié)構(gòu)如圖4所示。
圖4 ResNet-18結(jié)構(gòu)
采用ResNet-18進(jìn)行晴、陰二分類訓(xùn)練后的測(cè)試結(jié)果混淆矩陣見(jiàn)表2,整體識(shí)別準(zhǔn)確率為88.0%,晴天和陰天兩種類別的識(shí)別準(zhǔn)確率得到提高。
表2 模型2測(cè)試結(jié)果混淆矩陣
1.3.3 度量學(xué)習(xí)MS-Loss
度量學(xué)習(xí)是對(duì)模型卷積層學(xué)到的特征向量,在其特征空間內(nèi)拉大類間間距,縮小類內(nèi)間距。計(jì)算方式如式(1)所示:
(1)
式中:Sik為樣本對(duì)的余弦相似性;λ為相似度;α、β為超參數(shù)。
如圖5所示,對(duì)于一個(gè)batch里ResNet-18輸出的特征向量,計(jì)算樣本對(duì)的自身間的相似度、自身與正樣本對(duì)的相似差異性、自身與負(fù)樣本對(duì)的相似差異性等三種相似度。流程為:
圖5 MS-Loss計(jì)算過(guò)程
(1)樣本篩選,選擇樣本對(duì)的自身間的相似度較大的樣本。
(2)樣本加權(quán),將自身與正樣本對(duì)的相似差異性和自身與負(fù)樣本對(duì)的相似差異性對(duì)樣本加權(quán)。
從表3可見(jiàn),ResNet-18加入采用度量學(xué)習(xí)計(jì)算后,整體的天氣識(shí)別準(zhǔn)確率提高至88.2%。由此可見(jiàn),采用度量學(xué)習(xí)可提高天氣識(shí)別的準(zhǔn)確率。
表3 ResNet18+MS-Loss測(cè)試結(jié)果混淆矩陣
1.3.4 集成學(xué)習(xí)
集成學(xué)習(xí)常見(jiàn)的結(jié)合策略包括平均法、投票法及學(xué)習(xí)法等,其中較常用的為加權(quán)投票法。
加權(quán)投票法[16]首先估計(jì)出個(gè)體學(xué)習(xí)器的誤差,然后使權(quán)重大小和誤差大小成反比,最終T個(gè)個(gè)體學(xué)習(xí)器加權(quán)投票的結(jié)果如式(2)所示。
(2)
從以上三種模型的測(cè)試結(jié)果可以看出,單一模型只關(guān)注于一種特征,使用單一模型對(duì)高速公路天氣進(jìn)行識(shí)別達(dá)不到要求,所以采用集成學(xué)習(xí)對(duì)天氣進(jìn)行識(shí)別。本文采用的集成學(xué)習(xí)策略為:
模型1:對(duì)完整的五分類訓(xùn)練集采用densenet121模型[11]進(jìn)行訓(xùn)練,得到85.8%五分類準(zhǔn)確率。
模型2:對(duì)訓(xùn)練集取晴、陰二分類,并對(duì)訓(xùn)練集進(jìn)行抽幀篩選處理,用ResNet-18[12]進(jìn)行訓(xùn)練,得到88.0%二分類準(zhǔn)確率。
模型3:對(duì)五分類訓(xùn)練集進(jìn)行抽幀篩選處理,用ResNet-18+MS-Loss[13]進(jìn)行訓(xùn)練,得到88.2%五分類準(zhǔn)確率。
模型1輸出概率向量a,模型2(晴、陰二分類模型)輸出概率向量b,模型3輸出概率向量c。模型1發(fā)揮模型2的晴、陰二分類的優(yōu)勢(shì),并與模型3進(jìn)行決策融合,較好地改善了晴、陰二分類的準(zhǔn)確率。概率加權(quán)平均計(jì)算公式如式(3)所示。
p=γ·a+(1-γ)·c
(3)
集成學(xué)習(xí)策略測(cè)試結(jié)果見(jiàn)表4,識(shí)別準(zhǔn)確率達(dá)到91.0%。從表1~表4的測(cè)試混淆矩陣可以看出,集成學(xué)習(xí)方法較好地改善了晴、陰二分類的識(shí)別準(zhǔn)確率。
表4 集成學(xué)習(xí)測(cè)試結(jié)果混淆矩陣
考慮到天氣寒冷時(shí)會(huì)出現(xiàn)雖然天氣是晴朗的,但是路面會(huì)存在積雪、積水或結(jié)冰的現(xiàn)象,需要對(duì)路面情況進(jìn)行判斷。
語(yǔ)義分割網(wǎng)絡(luò)通常包括編碼器和解碼器兩部分。編碼器常用一個(gè)預(yù)先訓(xùn)練的分類網(wǎng)絡(luò),如mobilenet、resnet等,然后使用解碼器對(duì)編碼器學(xué)習(xí)到的低分辨率的圖像特征語(yǔ)義投影到高分辨率的像素空間上,得到像素級(jí)的分類。
文獻(xiàn)[17]提出了第一種語(yǔ)義分割結(jié)構(gòu)—全卷積神經(jīng)網(wǎng)絡(luò)(FCN),也是第一次將深度學(xué)習(xí)應(yīng)用到語(yǔ)義分割上,但存在精度較低、對(duì)細(xì)節(jié)不敏感及忽略空間的一致性等缺點(diǎn)。文獻(xiàn)[18]提出了SegNet網(wǎng)絡(luò),在解碼器中加入了最大池化指數(shù),以提高分割分辨率。文獻(xiàn)[19]提出了DeepLab網(wǎng)絡(luò),將空洞卷積加入了分割網(wǎng)絡(luò)中,提出了在空間維度上實(shí)現(xiàn)金字塔型的空洞池化及全連接條件隨機(jī)場(chǎng)。文獻(xiàn)[12]提出了DeepLabv3+網(wǎng)絡(luò),為了擴(kuò)展DeepLabv3,結(jié)合空間金字塔池化結(jié)構(gòu)和編碼解碼器結(jié)構(gòu)設(shè)計(jì)一個(gè)簡(jiǎn)單而有效的解碼器模塊,以細(xì)化分割結(jié)果,且詳細(xì)研究了Xception模型,并將深度可分離卷積添加進(jìn)解碼器模塊,提升了編碼解碼的性能,在不影響推理速度的基礎(chǔ)上較大地提高了分割的準(zhǔn)確度。本文采用DeepLabv3+網(wǎng)絡(luò)對(duì)路面進(jìn)行分割,從而識(shí)別出路面積水、積雪等區(qū)域。
由于從高速公路監(jiān)控視頻中很難判斷是否結(jié)冰,本文采用語(yǔ)義分割算法對(duì)路面進(jìn)行積水和積雪的分割識(shí)別。首先識(shí)別出路面,再對(duì)路面進(jìn)行積雪和積水的檢測(cè),結(jié)合天氣預(yù)報(bào)或溫度傳感器判斷路面是否結(jié)冰。識(shí)別流程如圖6所示。
圖6 天氣識(shí)別整體流程
天氣識(shí)別的步驟:
(1)使用五分類天氣識(shí)別模型對(duì)輸入圖像進(jìn)行特征提取,識(shí)別出圖片中的天氣類別,輸出陰天、晴天、霧天、雨天及雪天的概率。
(2)若陰天、晴天的概率在前2位,則使用陰、晴二分類模型進(jìn)行分類,提高陰、晴識(shí)別的準(zhǔn)確率。
(3)根據(jù)步驟2得到的天氣識(shí)別結(jié)果,若為雨天或雪天則對(duì)圖片進(jìn)行路面分割,得到路面區(qū)域,并通過(guò)特征提取判斷路面是否積雪或積水。
(4)當(dāng)路面區(qū)域檢測(cè)出白色雪狀時(shí)判斷路面積雪,當(dāng)路面區(qū)域出現(xiàn)反光且車輛行駛濺起水花時(shí)判斷路面積水。通過(guò)溫度傳感器或天氣預(yù)報(bào)得到當(dāng)前溫度,若溫度低于閾值,則判斷為路面結(jié)冰,否則為路面積水。
(5)輸出圖片天氣識(shí)別結(jié)果及路面狀態(tài)檢測(cè)結(jié)果。
將基于集成學(xué)習(xí)策略的天氣識(shí)別模型接入高速公路視頻事件識(shí)別系統(tǒng)中,系統(tǒng)每隔5min進(jìn)行天氣識(shí)別,圖7為視頻事件識(shí)別系統(tǒng)。系統(tǒng)接入韶關(guān)路段的監(jiān)控視頻,統(tǒng)計(jì)了12月至1月的天氣識(shí)別準(zhǔn)確率達(dá)到了90%,實(shí)現(xiàn)了大雨、大霧等惡劣天氣的及時(shí)告警。
圖7 視頻事件識(shí)別系統(tǒng)
本文采用集成學(xué)習(xí)策略,通過(guò)集成多個(gè)分類器的預(yù)測(cè)結(jié)果,可以降低由單個(gè)分類器引起的誤差,提高氣象識(shí)別的準(zhǔn)確性。不同的分類器可能會(huì)捕捉到不同的特征和模式,從而提供更準(zhǔn)確的預(yù)測(cè)結(jié)果。在氣象識(shí)別工作中,不同天氣條件的樣本可能存在類別不平衡。集成學(xué)習(xí)可以通過(guò)綜合多個(gè)分類器的結(jié)果,達(dá)到更好的類別平衡,防止模型對(duì)少數(shù)類別的過(guò)擬合。
針對(duì)高速公路較難分辨的晴天和陰天,將DenseNet121、ResNet-18、ResNet-18+MS-Losss三個(gè)模型進(jìn)行融合,有效地提高了晴天、陰天的識(shí)別準(zhǔn)確率。同時(shí),通過(guò)語(yǔ)義分割方法在天氣晴朗或陰天時(shí)也能準(zhǔn)確識(shí)別天氣,并檢測(cè)出路面積水、積雪或結(jié)冰,為高速公路安全運(yùn)營(yíng)提供良好的保障。