文/黃躍珍 王乃洲 梁添才 金曉峰
車輛結構化主要研究基于車輛視頻、圖像數據的車輛結構化信息,如:車型、年款、車身顏色、年檢標、車牌等,的提取技術,是智慧城市大腦平臺、智慧警務平臺重要功能。在機動車輛管理、刑偵應用場景中,車型相對于機動車輛其他屬性更基礎、更直觀,也更重要。車型識別受光照、遮擋、角度等因素影響,依然面臨很大挑戰,長期以來收到國內外研究人員廣泛關注。
自從深度神經網絡AlexNet贏得2012 ILSVRC競賽以來,卷積神經網絡(CNN)廣泛用于視覺圖像分類任務中,并取得較傳統手工選取特征方法更加準確的分類效果。為追求越來越高的分類精度,CNN網絡被設計的越來越深,參數規模也越來也大,以AlexNet網絡為例,其在Imagenet-1000上訓練的網絡模型大小已達200MB,參數量已超過60M。一方面,更深的網絡通常需要更大規模的高質量數據集用于訓練,這將顯著增加人力成本;另一方面,參數規模過大會顯著影響識別系統實時性與并發性能。因而,在不影響精度的前提下,減小網絡參數規模,成為CNN網絡重要的研究方向。計算表明,CNN網絡的絕大部分參數集中在全連接層與卷積層,減小全連接層與卷積層參數成為輕量級網絡模型研究的重要方向之一。為獲得輕量級網絡模型,通常盡量避免出現全連接層,同時,研究含有較少參數的網絡模塊替代原卷積層。在AlexNet網絡中首先提出了分組卷積(group convolution)思想。分組卷積雖然減少了參數,但同時帶來計算效率低下,丟失不同組的feature map之間的關聯信息。Inceptionv2/v3提出采用1x1與3x3卷積核替代5x5卷積核,獲得了不錯的效果。之后,1x1卷積、分組卷積以及后來的深度分離卷積(Depthwise Convolution)被廣泛用于輕量級網絡設計,如:SqueezeNet, MobileNet, Shuff leNet等。SqueeseNet網絡主要由九個Fire Module組成,Fire Module作為核心組件由squeeze層與expand層組成。Squeeze層與expand層分別由1x1卷積核、1x1與3x3卷積核組成。通過1x1卷積核替代3x3卷積核可以將網絡參數縮小9倍。MobileNet-v1利用3x3Depthwise Convolution結合1x1卷積核替代3x3卷積核,極大減小了網絡參數。MobileNet-v2則很大程度上參考了ResNet的“1x1卷積+卷積+1x1卷積”的結構,所不同的是,為豐富可提取的特征,MobileNet-v2采取“先擴張,后壓縮”的策略。MobileNet-v2較v1版本,不但精度獲得很大提升,參數規模也較后者小很多。Shuff leNet網絡為減小分組卷積帶來的精度下降,提出了組間混洗學習策略,以提高通道組間信息流通,從而達到提升網絡整體學習能力的目的。
本文基于輕量級網絡MobileNet研究機動車車型識別問題?;赟queeze-and-Excitation網絡的SE模塊,提出兩種MobileNet改進策略,提高車型識別精度。最后,通過實際應用場景下的檢測實驗,證明所提出的策略的有效性。
MobileNet分類網絡是由Google針對嵌入式設備提出的一種輕量級的深度神經網絡。目前,先后已有MobileNet-v1及MobileNet-v2兩個版本,其主要模塊如圖1(a)和圖1(b)所示。在MobileNet-v1網絡中,采用Depthwise卷積(depthwise separable convolution)+1x1卷積減小傳統卷積層參數,達到減小網絡參數規模,提升網絡前向計算速度的目的。與MobileNet-v1不同,MobileNet-v2網絡提出了Inverted residual模塊,該模塊借鑒了resNet網絡的residual模塊。與后者先“壓縮”再“擴張”不同,Inverted residual模塊采用“1x1卷積(擴張)+Depthwise卷積+1x1卷積(壓縮)”策略。如圖1(b)所示,MobileNet-v2采用兩種構造模塊,當設置Stride=2時,利用shortcut連接減小隨著網絡梯度加深而出現的“梯度彌散”問題,使得MobileNe-v2網絡能夠設計的更深,因而能夠獲得更加好的訓練效果。
用“Depthwise卷積+1x1卷積”替代傳統的卷積層可以極大減小網絡參數規模及卷積運算的計算量,然而,其缺點也相當明顯:Depthwise卷積忽略了各通道上feature map的相關性,雖然后接1x1卷積進行修復,精度損失無法完全彌補。
Squeeze-and-Excitation Networks[8](SENet)是 Momenta 胡杰團隊(WMW)提出的新的網絡結構。SENet在ImageNet 2017 競賽中的Image Classif ication任務冠軍,在ImageNet數據集上將top-5 error從以前最好成績2.991%降低到2.251%。

圖1:MobileNet-v1與MobileNet-v2結構模塊
SENet的核心思想在于學習feature map權重,使得有效的feature map權重增大,無效或效果小的feature map權重減小,從而達到提高網絡訓練精度的目的。SENet提出了SE模塊,該模塊包括Squeeze模塊與Excitation模塊,如圖2所示。Squeeze模塊通過global average pooling生成feature map的C維 embedding,其中C表示feature map 通道數:

其中,uk表示第k通道的feature map。Excitation模塊通過“FC壓縮+FC拉伸+Sigmod歸一化”得到最終feature map重要性描述子s:

SE模塊并不屬于網絡模型,而是獨立于具體網絡結構的子模塊,因而可以嵌到其他分類或檢測模型中。本文結合MobileNet網絡與SE模塊,提出兩類新的分類網絡:SEMobileNet-v1網絡與SE-MobileNet-v2網絡,并用于車輛類型分類問題當中,具體網絡模塊結構如下:
對于MobileNet-v1和v2不同的網路結構,我們將SE模塊放置在不同的位置,這主要考慮了SE模塊的“壓縮-恢復”特性,為保護更多的feature map重要性權重被學習出來,對于Mobilenet-v2網絡,將SE模塊放在1x1卷積“擴張”層后面。

表1:車輛類型數據集樣本數量分布

表2:各種算法識別準確率對比

圖2:SE網絡模塊

圖5:測試損失變化曲線

圖6:基于SE-MobileNetv2的機動車檢測與車型識
實驗數據來源于路邊、岔口等攝像機采集的視頻數據。將視頻數據按幀抽取,并剔除遮擋嚴重、模糊、光線昏暗、車頭朝后(由于車頭向后的數據過少,為避免其影響分類精度,將其剔除)的車輛圖片,進行手工標注,共獲得57338張前向車輛類型圖像,如圖4所示,其中47738張圖像作為訓練集,其他9600圖像作為測試集,測試集與訓練集圖像數量之比約為1:5。各類車型數量分布如表1所示。

圖3:SE-MobileNet-v1與SE-MobileNet-v2網絡模塊

圖4:車輛類型數據集
不同型號的攝像機采集的視頻圖像可能會導致像素不一致的情況,為了滿足深度卷積神經網絡的輸入要求,將所有的車型圖像都歸一化為 256×256 的大小。由于圖像總體數量不多,將圖片輸入網絡前進行了鏡像處理,并采用crop size將圖片隨機裁剪為 224×224 像素大小,并且減去所有訓練集圖片的平均值。
本文所有實驗均在Ubuntu16.0.4環境下進行,所使用的服務器安裝有4塊NVIDIA GeForce GTX 1080Ti顯卡,采用Caffe框架進行實驗。網絡的訓練參數設置如下:采用Multistep學習策略,初始學習率為 0.001,每20個epoch,學習率縮小10倍,權重衰減為0.0005,訓練時Batchsize為32,測試時Batchsize為16,采用均方根反向傳播(RMSProp)學習策略提高收斂速度,rms_decay設置為0.98。實驗比較了五種網絡模型,分別為:MobileNet-v1,MobileNetv2,SE-Mobilenet-v1和SE-MobileNet-v2和Shuff leNet-v2基礎網絡結構可參考文獻[4][5][7],實驗結果如圖5及表2所示。
從圖5可以看出,MobileNet-v2與SEMobileNet-v2網絡在迭代4萬次之后才開始收斂,因此,對這兩個模型,我們設置了更大的最大迭代次數。通過表2可以看出,SE-MobileNet-v1與SE-MobileNet-v2分 別較MobileNet-v1、MobileNet-v2提 高 了0.13與0.22%。SE-MobileNet-v2甚至明顯優于Shuff leNet-v2。
圖6是將訓練好的SE-MobileNet-v2模型嵌入到SSD網絡中獲得的車型檢測結果。可以看出,除了部分車輛漏檢外,對檢出的目標,車型識別精度效果較好。
本文研究了基于輕量級網絡MobileNet的車型識別方法。該方法可以實現對交通視頻監控場景下9類車型(轎車、SUV、小客車、客車、貨車、小貨車、皮卡、面包車、MPV)進行識別。結合SE模塊提出兩種MobileNet改進型網絡,并與傳統MobileNet網絡進行了比較,分別獲得了0.13與0.22%Top1精度提升。最后,通過SSD車型檢測實驗驗證了車型識別模型的有效性。
參考文獻
[1]Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks International Conference on Neural Information Processing Systems[C].Curran Associates Inc.2012:1097-1105.
[2]Szegedy C,Vanhoucke V,Ioffe S,et al.Rethinking the inception architecture for computer vision 2016 IEEE Conference on Computer Vision and Pattern Recognition,USA,2016[C].Las Vegas,2016.
[3]Landola F N,Han Song,Moskewicz M W,et al.SqueezeNet:AlexNet-level accuracy with 50x fewer parameters and <0.5MB modelsize.2016:https://arxiv.org/abs/1602.07360.
[4]Howard A G,Zhu Menglong,Chen Bo,et al.MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications.2017:http://arxiv.org/abs/1704.04861.
[5]Sandler M,Howard A,Zhu Menglong,et al.MobileNetV2:Inverted Residuals and Linear Bottlenecks.2018:http://arxiv.org/abs/1801.04381.
[6]Zhang Xiangyu,Zhou Xinyu,Lin Mengxiao,et al.ShuffleNet:An Extremely Efficient Convolutional Neural Network for Mobile Devices.2017:https://arxiv.org/abs/1707.01083.
[7]Ma Ningning,Zhang Xiangyu,Zheng Haitao,et al.ShuffleNet V2:Practical Guidelines for Efficient CNN Architecture Design.2018:https://arxiv.org/abs/1807.11164.
[8]Hu Jie,Shen Li,Sun Gang.Squeezeand-Excitation Networks.2018:https://arxiv.org/abs/1709.01507
[9]Jia Yangqing,Shelhamer E,Donahue J,et al.Caffe:convolutional architecture for fast feature embedding.2018:https://arxiv.org/abs/1408.5093.
[10]Liu W,Anguelov D,Erhan D,etal.SSD:single shot multibox detector.2018:https://arxiv.org/abs/1512.02325.