符鋅砂 曾彥杰 馬麗 胡弘毅 胡嘉誠(chéng) 唐峰
(1.華南理工大學(xué) 土木與交通學(xué)院,廣東 廣州 510640;2.廣東省交通運(yùn)輸規(guī)劃研究中心,廣東 廣州 510101; 3.鄂爾多斯應(yīng)用技術(shù)學(xué)院 數(shù)學(xué)與計(jì)算機(jī)工程系,內(nèi)蒙古 鄂爾多斯 017000; 4.中交第四航務(wù)工程勘察設(shè)計(jì)院有限公司,廣東 廣州 510000)
基于監(jiān)控視頻的公路環(huán)境感知技術(shù)是智慧交通領(lǐng)域的研究熱點(diǎn),同時(shí)也是實(shí)現(xiàn)車路協(xié)同的重要手段。其中,基于人工智能算法實(shí)現(xiàn)對(duì)雨、霧等不良天氣的實(shí)時(shí)準(zhǔn)確識(shí)別,有利于相關(guān)管理部門作出相應(yīng)的應(yīng)急決策方案,提高交通管制效率并將行車安全隱患降到最低,保證交通行駛的安全。因此,基于監(jiān)控視頻實(shí)現(xiàn)道路環(huán)境天氣狀況的實(shí)時(shí)準(zhǔn)確識(shí)別,具有非常重要的意義。
早期的研究多是基于手工特征建立模型,實(shí)現(xiàn)天氣的識(shí)別。Song等[1]通過(guò)提取目標(biāo)圖像的亮度及其灰度共生矩陣的能量、對(duì)比度、熵等特征,分析其統(tǒng)計(jì)規(guī)律,以此進(jìn)行天氣識(shí)別。Chen等[2]首先對(duì)圖像天空區(qū)域進(jìn)行語(yǔ)義分割,然后通過(guò)多核學(xué)習(xí)策略對(duì)相關(guān)特征進(jìn)行加權(quán)組合,最后采用SVM分類器完成天氣識(shí)別。Lu等[3]從人類觀察天氣的直覺(jué)出發(fā),將圖像中陰影、反射亮度、明暗對(duì)比度、霧霾等視覺(jué)信息進(jìn)行特征提取,并采用加權(quán)投票的協(xié)同學(xué)習(xí)機(jī)制對(duì)天氣進(jìn)行識(shí)別。文獻(xiàn)[4]中通過(guò)對(duì)海量天氣傳感器數(shù)據(jù)進(jìn)行挖掘分析,建立了天氣識(shí)別與預(yù)測(cè)模型。類似地,楊小兵等[5]提出了基于“能見度前期振蕩”和“大氣溫度回溫波動(dòng)”特性的濃霧短臨預(yù)測(cè)模型。然而上述方法的特征表征能力均有限,導(dǎo)致模型的魯棒性不佳。
近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)成為了計(jì)算機(jī)視覺(jué)領(lǐng)域最為流行的模型,特別是在圖像分類[6]、目標(biāo)檢測(cè)[7]、人臉識(shí)別[8]等方面有著廣泛的應(yīng)用。卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)在于其通過(guò)多層線性與非線性映射,從數(shù)據(jù)中自動(dòng)學(xué)習(xí)表征能力更強(qiáng)的特征,彌補(bǔ)了傳統(tǒng)手工特征的表征能力有限的劣勢(shì)。隨著卷積神經(jīng)網(wǎng)絡(luò)的不斷發(fā)展,其被應(yīng)用于天氣識(shí)別任務(wù)。Guerra等[9]比較了VGG[10]、ResNet等[11]卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)雨、雪等天氣類型的識(shí)別精度。Lin等[12]將天氣圖像分割成若干個(gè)區(qū)域,提取各區(qū)域的CNN特征以進(jìn)行天氣識(shí)別。Zhao等[13]采用循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)天氣進(jìn)行多標(biāo)簽分類。施雨舟[14]提出了一種基于邊緣退化的卷積神經(jīng)網(wǎng)絡(luò)算法進(jìn)行天氣識(shí)別。此外,王興等[15]以雷達(dá)回波圖像和表征回波移動(dòng)路徑的光流圖像作為輸入,提出一種基于深度神經(jīng)網(wǎng)絡(luò)的強(qiáng)對(duì)流天氣智能識(shí)別模型。與傳統(tǒng)方法相比,基于卷積神經(jīng)網(wǎng)絡(luò)的天氣識(shí)別算法有效提升了識(shí)別精度,但由于其參數(shù)量大,計(jì)算復(fù)雜度較高,同時(shí)對(duì)計(jì)算資源的要求高,而實(shí)際的工程應(yīng)用中對(duì)模型的存儲(chǔ)空間和計(jì)算速度均會(huì)提出相應(yīng)的限制,導(dǎo)致上述深度卷積神經(jīng)網(wǎng)絡(luò)模型在邊緣端難以很好部署。
針對(duì)這一問(wèn)題,本文對(duì)目前主流的輕量化深度模型MobileNet[16- 18]進(jìn)行了研究,旨在滿足模型精度要求的基礎(chǔ)上盡量達(dá)到輕量化,使其更好地部署到邊緣端完成基于監(jiān)控視頻的天氣識(shí)別任務(wù)。
考慮到缺乏公路監(jiān)控場(chǎng)景下的天氣識(shí)別數(shù)據(jù)集,本文首先從數(shù)據(jù)出發(fā),收集并標(biāo)注了一個(gè)基于高速公路監(jiān)控圖像的天氣識(shí)別數(shù)據(jù)集。此后,針對(duì)該數(shù)據(jù)集,本文從模型的識(shí)別精度與計(jì)算效率的角度出發(fā),選取了多種卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比,包括較為經(jīng)典的VGG模型以及輕量化的SqueezeNet[19]和MobileNet系列模型。由實(shí)驗(yàn)結(jié)果可知,相較于VGG和SqueezeNet,MobileNet系列模型在識(shí)別精度以及計(jì)算效率等方面綜合表現(xiàn)更優(yōu)。同時(shí),通過(guò)類別響應(yīng)分析和特征分布可視化也定性地驗(yàn)證了其在天氣識(shí)別任務(wù)上的可行性。
近年來(lái),VGG等深度網(wǎng)絡(luò)被普遍應(yīng)用于各種場(chǎng)景,并取得了非常出色的效果。然而,當(dāng)算法需要被部署到邊緣端時(shí),VGG、ResNet等大而復(fù)雜的模型卻難以被應(yīng)用。因?yàn)槟P蛥?shù)過(guò)于龐大,對(duì)硬件算力和存儲(chǔ)要求較高,直接導(dǎo)致計(jì)算成本的大幅增加。因此,本文針對(duì)監(jiān)控視頻天氣識(shí)別任務(wù)研究輕量化的模型,旨在保證模型精度的前提下降低模型大小,同時(shí)提升模型速度。
作為輕量化深度網(wǎng)絡(luò)的代表作MobileNet,其得益于將標(biāo)準(zhǔn)卷積換成了深度可分離卷積(Depthwise Separable Convolution),并引入注意力機(jī)制模塊(SE)[20],該模型被廣泛部署于邊緣設(shè)備完成各類型任務(wù)。本文就這兩大模塊的細(xì)節(jié)進(jìn)行介紹。
深度可分離卷積最早來(lái)源于可分離卷積[21],此后由Sifre等[22]將可分離卷積拓展為深度可分離卷積。所謂深度可分離卷積,即將標(biāo)準(zhǔn)卷積操作拆分為一個(gè)深度卷積和一個(gè)逐點(diǎn)卷積,其與標(biāo)準(zhǔn)卷積對(duì)比如下:
標(biāo)準(zhǔn)卷積操作如圖1所示,例如輸入一個(gè)20×20×3的特征層,經(jīng)過(guò)7×7×3的卷積核卷積得到一個(gè)14×14×1的特征層,如果此時(shí)有256組上述卷積核,將會(huì)得到一個(gè)14×14×256的輸出特征圖。其參數(shù)量為7×7×3×256,內(nèi)積運(yùn)算量為7×7×3×256×14×14。
圖1 標(biāo)準(zhǔn)卷積過(guò)程
而深度可分離卷積包含兩個(gè)過(guò)程,第1步是深度卷積,其過(guò)程如圖2所示。
圖2 深度可分離卷積中的深度卷積過(guò)程
不同于標(biāo)準(zhǔn)卷積操作,深度卷積將卷積核拆分成單通道形式,在不改變輸入特征層的深度的情況下,對(duì)每一通道進(jìn)行卷積操作,得到和輸入特征圖通道數(shù)一致的輸出特征層。例如輸入一個(gè)20×20×3的特征層,經(jīng)7×7×1×3的卷積核卷積得到一個(gè)14×14×3的特征層,輸入和輸出的深度都是3。其參數(shù)量為7×7×3,內(nèi)積運(yùn)算量為7×7×3×14×14。
第2步是逐點(diǎn)卷積,逐點(diǎn)卷積即1×1卷積,其過(guò)程如圖3所示。
圖3 深度可分離卷積中的逐點(diǎn)卷積過(guò)程
經(jīng)過(guò)深度卷積得到了一個(gè)14×14×3的特征層,在逐點(diǎn)卷積中采用256個(gè)1×1×3的卷積核對(duì)上述輸出特征層進(jìn)行卷積操作。這樣,經(jīng)逐點(diǎn)卷積后輸出的特征層和標(biāo)準(zhǔn)卷積的維度一致,都是14×14×256。其參數(shù)量為3×256,內(nèi)積運(yùn)算量為3×256×14×14。
表1 深度可分離卷積與標(biāo)準(zhǔn)卷積對(duì)比
此外,MobileNet的最新版本MobileNetV3引入了注意力模塊(Squeeze-and-Excitation Networks)。由于特征層不同通道的特征響應(yīng)類型不同,其對(duì)最終識(shí)別結(jié)果的影響也不同,而注意力模塊的作用是把重要的特征響應(yīng)增強(qiáng),不重要的特征響應(yīng)減弱,從而讓提取的特征指向性更強(qiáng)。
如圖4所示,U是維度為C×H×W的特征層,也是注意力模塊的輸入。注意力模塊的實(shí)現(xiàn)細(xì)節(jié)包含Squeeze和Excitation兩個(gè)部分。在Squeeze部分,對(duì)U的各個(gè)通道的所有特征值取平均值,見式(1),得到維度為1×1×C的特征向量,對(duì)應(yīng)圖中的模塊Fsq(·)。
(1)
式中:zc指特征向量中第c個(gè)通道的特征值;uc(i,j)表示特征層第i行第j列的特征值;W、H分別是特征層的寬度、高度。
圖4 注意力模塊
在Excitation部分,維度為1×1×C的特征向量連接兩個(gè)全連接層(FcLayers),旨在利用通道間的相關(guān)性來(lái)訓(xùn)練出符合通道增強(qiáng)、減弱規(guī)律的權(quán)重向量,再由Sigmoid函數(shù)將各維度的取值映射到(0,1)的范圍,并將其與原輸入特征層U相乘,對(duì)應(yīng)圖中的模塊Fscale(·),實(shí)現(xiàn)特征層各通道的注意力機(jī)制。
MobileNetV3的兩個(gè)版本MobileNetV3-L和MobileNetV3-S均引入上述深度可分離卷積和注意力模塊,網(wǎng)絡(luò)結(jié)構(gòu)分別如表2、表3所示。
表2和表3中,conv2d為標(biāo)準(zhǔn)卷積,bneck為包含深度可分離卷積的模塊,pool為池化層,NBN表示未加批標(biāo)準(zhǔn)化層,SE為注意力模塊,HS和RE分別代表h-swish函數(shù)和ReLU函數(shù)。
本文下一節(jié)實(shí)驗(yàn)分析部分,將MobileNet系列模型與其他經(jīng)典深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對(duì)比,驗(yàn)證其對(duì)天氣識(shí)別任務(wù)的性能。
本次實(shí)驗(yàn)搜集了多條高速公路100個(gè)高清卡口共5550幅圖片作為實(shí)驗(yàn)的數(shù)據(jù)集。該天氣數(shù)據(jù)集共包含4個(gè)類型,分別為晴天、霧天、雨天和鏡頭水滴。按照7:1:2的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。表4是各天氣類別樣本的統(tǒng)計(jì)情況,圖5 是部分樣本實(shí)例。
表2 MobileNetV3-L網(wǎng)絡(luò)結(jié)構(gòu)
表3 MobileNetV3-S網(wǎng)絡(luò)結(jié)構(gòu)
表4 天氣數(shù)據(jù)集中各類型樣本數(shù)量
圖5 天氣數(shù)據(jù)集部分實(shí)例
本實(shí)驗(yàn)的機(jī)器配置如下:一張NVIDIA GTX- 3070的圖形處理器(GPU)和一張Intel Core i7- 6700的中央處理器(CPU),并基于深度學(xué)習(xí)框架Pytorch搭建VGG- 16、SequeezeNet、MobileNet系列等多個(gè)算法模型。針對(duì)上述數(shù)據(jù)集,在訓(xùn)練階段利用大型數(shù)據(jù)集ImageNet[6]的預(yù)訓(xùn)練模型初始化模型參數(shù),采用隨機(jī)梯度下降的優(yōu)化方式,學(xué)習(xí)率設(shè)置為0.000 1,每批次數(shù)量為32,動(dòng)量為0.9,訓(xùn)練得到用于實(shí)現(xiàn)天氣識(shí)別的模型,測(cè)試結(jié)果見表5。
本節(jié)將MobileNetV3的兩個(gè)版本和MobileNetV2、輕量化模型SqueezeNet以及經(jīng)典的VGG16模型進(jìn)行對(duì)比,具體結(jié)果如表5所示。
表5 各模型的實(shí)驗(yàn)結(jié)果對(duì)比
就模型參數(shù)量來(lái)說(shuō),MobileNet系列的3個(gè)模型的參數(shù)量均只有10 MB左右,SqueezeNet模型更是只有不到5 MB,屬于可部署于邊緣端的輕量化模型(參數(shù)量小于30 MB),而經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)模型VGG16的大小達(dá)到1 000 MB,不屬于輕量化模型的范疇。
從識(shí)別精度上看,5個(gè)模型對(duì)于晴天的識(shí)別精度均達(dá)到95%,對(duì)于霧天樣本的識(shí)別精度也在90%左右,對(duì)于雨天和鏡頭雨滴的情況,識(shí)別精度稍有下降,除SqueezeNet以外,識(shí)別也達(dá)到85%以上。就綜合精度而言,MobileNetV3- L的精度略高于MobileNetV2和MobileNetV3- S,比SqueezeNet更是高了10個(gè)百分點(diǎn),這也符合卷積神經(jīng)網(wǎng)絡(luò)一般性的結(jié)論:相對(duì)來(lái)說(shuō),結(jié)構(gòu)更深,參數(shù)量更多的模型,特征表征能力更強(qiáng),識(shí)別精度更優(yōu)。同時(shí),模型參數(shù)量越少,其計(jì)算速度更快。上述四個(gè)輕量化模型的識(shí)別速度均大于每秒30幀,滿足實(shí)時(shí)性的要求。
綜上所述,MobileNet系列中的3個(gè)模型在識(shí)別精度、速度以及模型參數(shù)量等指標(biāo)上,達(dá)到較為均衡程度,可滿足對(duì)公路監(jiān)控視頻進(jìn)行天氣識(shí)別的工程需求。
上一節(jié)中將識(shí)別精度、識(shí)別速度以及模型參數(shù)量作為評(píng)價(jià)指標(biāo),將各模型進(jìn)行對(duì)比。在本節(jié)中,將對(duì)模型提取的特征的語(yǔ)義判別性進(jìn)行分析。
天氣識(shí)別任務(wù)一般會(huì)包含部分顯著區(qū)域,例如霧天圖像中的霧氣,鏡頭雨滴圖像中的雨滴等。而對(duì)于模型提取的特征,如果對(duì)應(yīng)顯著區(qū)域的特征響應(yīng)格外強(qiáng)烈,可以說(shuō)明該模型提取的特征的語(yǔ)義判別性較強(qiáng),進(jìn)而定性地說(shuō)明模型的有效性。
為分析上述輕量化模型提取的特征的語(yǔ)義判別性,文中利用文獻(xiàn)[23]的方法,將模型提取的特征和其對(duì)應(yīng)的類別信息進(jìn)行可視化,并生成熱力圖。具體來(lái)說(shuō),對(duì)于輸入圖片,用fx(x,y)表示第k個(gè)特征層上坐標(biāo)(x,y)處的激活值,表示特征k對(duì)應(yīng)類別c的權(quán)重參數(shù),其由全局池化層(GAP)得到。相應(yīng)的類別響應(yīng)特征圖則是將各權(quán)重參數(shù)與其對(duì)應(yīng)的k個(gè)特征層進(jìn)行加權(quán)總和,即
(2)
式(2)中,Mc(x,y)表示點(diǎn)(x,y)對(duì)類別c的特征響應(yīng)程度,將生成的Mc(x,y)放大到原圖尺寸,即可得到對(duì)應(yīng)于某個(gè)類別c的特征響應(yīng)熱力圖。
文中選取MobileNetV3-L和SqueezeNet這兩模型關(guān)于鏡頭雨滴和霧天的特征響應(yīng)熱力圖,如圖6所示。熱力圖越暖表示該區(qū)域?qū)ψR(shí)別該類別的貢獻(xiàn)度越高。
對(duì)比圖6中MobileNetV3-L和SqueezeNet模型的類別響應(yīng)熱力圖可發(fā)現(xiàn),關(guān)于鏡頭雨滴這一類型的特征響應(yīng),MobileNetV3-L的類別響應(yīng)區(qū)域能準(zhǔn)確地定位到圖像上的所有雨滴部分,而SqueezeNet的類別響應(yīng)區(qū)域除了包含雨滴部分以外,還存在部分噪聲響應(yīng)。同樣,在霧天的響應(yīng)上,MobileNetV3-L類別響應(yīng)區(qū)域主要集中在天空部分,比SqueezeNet的響應(yīng)更符合邏輯。由此可得,MobileNetV3-L模型對(duì)于雨滴及濃霧的響應(yīng)比SqueezeNet模型更準(zhǔn)確,其特征的語(yǔ)義判別性更強(qiáng)。
一般而言,好的模型提取的特征在分布上往往具備類間可分性和類內(nèi)可聚性。本節(jié)利用t-SNE[24]對(duì)模型提取的特征進(jìn)行可視化,將高維特征映射至二維空間,通過(guò)分析各類別特征分布的類間可分性和類內(nèi)可聚性,定性地說(shuō)明模型的性能。MobileNetV3-L,MobileNetV3-S,MobileNetV2及SqueezeNet這4個(gè)模型的特征分布圖如圖7所示。
首先對(duì)MobileNet同一系列進(jìn)行比較。MobileNetV3-L與MobileNetV3-S有相似的結(jié)構(gòu),不同在于MobileNetV3-L的深度比MobileNetV3-S深,模型參數(shù)更多。根據(jù)圖7可以觀察到MobileNetV3-L各類別均有明顯的類中心,同類別特征聚集性較為明顯;同時(shí),不同類別之間有較大間隔,具有很強(qiáng)的類間可分性。相較而言,MobileNetV3-S和MobileNetV2模型,其同一類別特征點(diǎn)間距離方差過(guò)大,尤其是鏡頭雨滴與雨天類型的特征之間的可分性較差,甚至無(wú)法解纏,這無(wú)疑增加了分類難度。另外,SqueezeNet的雨天及鏡頭雨滴的特征類中心也不明顯,表明其類內(nèi)可聚性不佳。這點(diǎn)在該模型的識(shí)別精度上也得到體現(xiàn)。
(a) SqueezeNet對(duì)霧天的響應(yīng)熱力圖
(b) MobileNetV3-L對(duì)霧天的響應(yīng)熱力圖
(c) SqueezeNet對(duì)鏡頭雨滴的響應(yīng)熱力圖
(d) MobileNetV3-L對(duì)鏡頭雨滴的響應(yīng)熱力圖
圖7 特征分布可視化
基于以上觀察,結(jié)合表5的識(shí)別精度,可以得到以下結(jié)論:相似的結(jié)構(gòu)下,深度更深的模型提取到的特征在分布上呈現(xiàn)更強(qiáng)的類間可分性和類內(nèi)可聚性,進(jìn)而具備更好的分類性能。因此,在算力允許的情況下,適當(dāng)增加輕量化模型的深度,對(duì)提升模型分類精度有幫助。
本文收集并標(biāo)注了全新的基于公路監(jiān)控圖像的天氣識(shí)別數(shù)據(jù)集,同時(shí)搭建并訓(xùn)練包含主流輕量化神經(jīng)網(wǎng)絡(luò)模型在內(nèi)的多個(gè)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明MobileNet系列模型在識(shí)別精度、速度以及模型參數(shù)量等指標(biāo)上,達(dá)到較為均衡的程度,可滿足對(duì)公路監(jiān)控視頻進(jìn)行天氣識(shí)別的工程需求。同時(shí),通過(guò)對(duì)特定類別的特征響應(yīng)以及特征分布進(jìn)行可視化,從語(yǔ)義判別性、類間可分性以及類內(nèi)可聚性的角度進(jìn)行分析,進(jìn)一步驗(yàn)證了上述結(jié)論。同時(shí),也驗(yàn)證了在算力允許的情況下,適當(dāng)增加輕量化模型的深度,對(duì)提升模型分類精度有幫助這一結(jié)論,對(duì)后續(xù)進(jìn)行輕量化模型的優(yōu)化工作有指導(dǎo)性影響。
此外,受深度可分離卷積模塊的啟發(fā),在今后的研究中將從降低參數(shù)量與計(jì)算量的角度進(jìn)一步深入模型輕量化這一研究主題,使深度學(xué)習(xí)模型能更好的在邊緣端得以應(yīng)用。同時(shí),為使識(shí)別的天氣類型更為全面,將增加風(fēng)沙、降雪等類型,進(jìn)一步完善公路監(jiān)控場(chǎng)景天氣識(shí)別研究工作。