文/黃躍珍 王乃洲 梁添才 金曉峰
車輛結(jié)構(gòu)化主要研究基于車輛視頻、圖像數(shù)據(jù)的車輛結(jié)構(gòu)化信息,如:車型、年款、車身顏色、年檢標(biāo)、車牌等,的提取技術(shù),是智慧城市大腦平臺(tái)、智慧警務(wù)平臺(tái)重要功能。在機(jī)動(dòng)車輛管理、刑偵應(yīng)用場(chǎng)景中,車型相對(duì)于機(jī)動(dòng)車輛其他屬性更基礎(chǔ)、更直觀,也更重要。車型識(shí)別受光照、遮擋、角度等因素影響,依然面臨很大挑戰(zhàn),長(zhǎng)期以來(lái)收到國(guó)內(nèi)外研究人員廣泛關(guān)注。
自從深度神經(jīng)網(wǎng)絡(luò)AlexNet贏得2012 ILSVRC競(jìng)賽以來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)廣泛用于視覺(jué)圖像分類任務(wù)中,并取得較傳統(tǒng)手工選取特征方法更加準(zhǔn)確的分類效果。為追求越來(lái)越高的分類精度,CNN網(wǎng)絡(luò)被設(shè)計(jì)的越來(lái)越深,參數(shù)規(guī)模也越來(lái)也大,以AlexNet網(wǎng)絡(luò)為例,其在Imagenet-1000上訓(xùn)練的網(wǎng)絡(luò)模型大小已達(dá)200MB,參數(shù)量已超過(guò)60M。一方面,更深的網(wǎng)絡(luò)通常需要更大規(guī)模的高質(zhì)量數(shù)據(jù)集用于訓(xùn)練,這將顯著增加人力成本;另一方面,參數(shù)規(guī)模過(guò)大會(huì)顯著影響識(shí)別系統(tǒng)實(shí)時(shí)性與并發(fā)性能。因而,在不影響精度的前提下,減小網(wǎng)絡(luò)參數(shù)規(guī)模,成為CNN網(wǎng)絡(luò)重要的研究方向。計(jì)算表明,CNN網(wǎng)絡(luò)的絕大部分參數(shù)集中在全連接層與卷積層,減小全連接層與卷積層參數(shù)成為輕量級(jí)網(wǎng)絡(luò)模型研究的重要方向之一。為獲得輕量級(jí)網(wǎng)絡(luò)模型,通常盡量避免出現(xiàn)全連接層,同時(shí),研究含有較少參數(shù)的網(wǎng)絡(luò)模塊替代原卷積層。在AlexNet網(wǎng)絡(luò)中首先提出了分組卷積(group convolution)思想。分組卷積雖然減少了參數(shù),但同時(shí)帶來(lái)計(jì)算效率低下,丟失不同組的feature map之間的關(guān)聯(lián)信息。Inceptionv2/v3提出采用1x1與3x3卷積核替代5x5卷積核,獲得了不錯(cuò)的效果。之后,1x1卷積、分組卷積以及后來(lái)的深度分離卷積(Depthwise Convolution)被廣泛用于輕量級(jí)網(wǎng)絡(luò)設(shè)計(jì),如:SqueezeNet, MobileNet, Shuff leNet等。SqueeseNet網(wǎng)絡(luò)主要由九個(gè)Fire Module組成,F(xiàn)ire Module作為核心組件由squeeze層與expand層組成。Squeeze層與expand層分別由1x1卷積核、1x1與3x3卷積核組成。通過(guò)1x1卷積核替代3x3卷積核可以將網(wǎng)絡(luò)參數(shù)縮小9倍。MobileNet-v1利用3x3Depthwise Convolution結(jié)合1x1卷積核替代3x3卷積核,極大減小了網(wǎng)絡(luò)參數(shù)。MobileNet-v2則很大程度上參考了ResNet的“1x1卷積+卷積+1x1卷積”的結(jié)構(gòu),所不同的是,為豐富可提取的特征,MobileNet-v2采取“先擴(kuò)張,后壓縮”的策略。MobileNet-v2較v1版本,不但精度獲得很大提升,參數(shù)規(guī)模也較后者小很多。Shuff leNet網(wǎng)絡(luò)為減小分組卷積帶來(lái)的精度下降,提出了組間混洗學(xué)習(xí)策略,以提高通道組間信息流通,從而達(dá)到提升網(wǎng)絡(luò)整體學(xué)習(xí)能力的目的。
本文基于輕量級(jí)網(wǎng)絡(luò)MobileNet研究機(jī)動(dòng)車車型識(shí)別問(wèn)題?;赟queeze-and-Excitation網(wǎng)絡(luò)的SE模塊,提出兩種MobileNet改進(jìn)策略,提高車型識(shí)別精度。最后,通過(guò)實(shí)際應(yīng)用場(chǎng)景下的檢測(cè)實(shí)驗(yàn),證明所提出的策略的有效性。
MobileNet分類網(wǎng)絡(luò)是由Google針對(duì)嵌入式設(shè)備提出的一種輕量級(jí)的深度神經(jīng)網(wǎng)絡(luò)。目前,先后已有MobileNet-v1及MobileNet-v2兩個(gè)版本,其主要模塊如圖1(a)和圖1(b)所示。在MobileNet-v1網(wǎng)絡(luò)中,采用Depthwise卷積(depthwise separable convolution)+1x1卷積減小傳統(tǒng)卷積層參數(shù),達(dá)到減小網(wǎng)絡(luò)參數(shù)規(guī)模,提升網(wǎng)絡(luò)前向計(jì)算速度的目的。與MobileNet-v1不同,MobileNet-v2網(wǎng)絡(luò)提出了Inverted residual模塊,該模塊借鑒了resNet網(wǎng)絡(luò)的residual模塊。與后者先“壓縮”再“擴(kuò)張”不同,Inverted residual模塊采用“1x1卷積(擴(kuò)張)+Depthwise卷積+1x1卷積(壓縮)”策略。如圖1(b)所示,MobileNet-v2采用兩種構(gòu)造模塊,當(dāng)設(shè)置Stride=2時(shí),利用shortcut連接減小隨著網(wǎng)絡(luò)梯度加深而出現(xiàn)的“梯度彌散”問(wèn)題,使得MobileNe-v2網(wǎng)絡(luò)能夠設(shè)計(jì)的更深,因而能夠獲得更加好的訓(xùn)練效果。
用“Depthwise卷積+1x1卷積”替代傳統(tǒng)的卷積層可以極大減小網(wǎng)絡(luò)參數(shù)規(guī)模及卷積運(yùn)算的計(jì)算量,然而,其缺點(diǎn)也相當(dāng)明顯:Depthwise卷積忽略了各通道上feature map的相關(guān)性,雖然后接1x1卷積進(jìn)行修復(fù),精度損失無(wú)法完全彌補(bǔ)。
Squeeze-and-Excitation Networks[8](SENet)是 Momenta 胡杰團(tuán)隊(duì)(WMW)提出的新的網(wǎng)絡(luò)結(jié)構(gòu)。SENet在ImageNet 2017 競(jìng)賽中的Image Classif ication任務(wù)冠軍,在ImageNet數(shù)據(jù)集上將top-5 error從以前最好成績(jī)2.991%降低到2.251%。
圖1:MobileNet-v1與MobileNet-v2結(jié)構(gòu)模塊
SENet的核心思想在于學(xué)習(xí)feature map權(quán)重,使得有效的feature map權(quán)重增大,無(wú)效或效果小的feature map權(quán)重減小,從而達(dá)到提高網(wǎng)絡(luò)訓(xùn)練精度的目的。SENet提出了SE模塊,該模塊包括Squeeze模塊與Excitation模塊,如圖2所示。Squeeze模塊通過(guò)global average pooling生成feature map的C維 embedding,其中C表示feature map 通道數(shù):
其中,uk表示第k通道的feature map。Excitation模塊通過(guò)“FC壓縮+FC拉伸+Sigmod歸一化”得到最終feature map重要性描述子s:
SE模塊并不屬于網(wǎng)絡(luò)模型,而是獨(dú)立于具體網(wǎng)絡(luò)結(jié)構(gòu)的子模塊,因而可以嵌到其他分類或檢測(cè)模型中。本文結(jié)合MobileNet網(wǎng)絡(luò)與SE模塊,提出兩類新的分類網(wǎng)絡(luò):SEMobileNet-v1網(wǎng)絡(luò)與SE-MobileNet-v2網(wǎng)絡(luò),并用于車輛類型分類問(wèn)題當(dāng)中,具體網(wǎng)絡(luò)模塊結(jié)構(gòu)如下:
對(duì)于MobileNet-v1和v2不同的網(wǎng)路結(jié)構(gòu),我們將SE模塊放置在不同的位置,這主要考慮了SE模塊的“壓縮-恢復(fù)”特性,為保護(hù)更多的feature map重要性權(quán)重被學(xué)習(xí)出來(lái),對(duì)于Mobilenet-v2網(wǎng)絡(luò),將SE模塊放在1x1卷積“擴(kuò)張”層后面。
表1:車輛類型數(shù)據(jù)集樣本數(shù)量分布
表2:各種算法識(shí)別準(zhǔn)確率對(duì)比
圖2:SE網(wǎng)絡(luò)模塊
圖5:測(cè)試損失變化曲線
圖6:基于SE-MobileNetv2的機(jī)動(dòng)車檢測(cè)與車型識(shí)
實(shí)驗(yàn)數(shù)據(jù)來(lái)源于路邊、岔口等攝像機(jī)采集的視頻數(shù)據(jù)。將視頻數(shù)據(jù)按幀抽取,并剔除遮擋嚴(yán)重、模糊、光線昏暗、車頭朝后(由于車頭向后的數(shù)據(jù)過(guò)少,為避免其影響分類精度,將其剔除)的車輛圖片,進(jìn)行手工標(biāo)注,共獲得57338張前向車輛類型圖像,如圖4所示,其中47738張圖像作為訓(xùn)練集,其他9600圖像作為測(cè)試集,測(cè)試集與訓(xùn)練集圖像數(shù)量之比約為1:5。各類車型數(shù)量分布如表1所示。
圖3:SE-MobileNet-v1與SE-MobileNet-v2網(wǎng)絡(luò)模塊
圖4:車輛類型數(shù)據(jù)集
不同型號(hào)的攝像機(jī)采集的視頻圖像可能會(huì)導(dǎo)致像素不一致的情況,為了滿足深度卷積神經(jīng)網(wǎng)絡(luò)的輸入要求,將所有的車型圖像都?xì)w一化為 256×256 的大小。由于圖像總體數(shù)量不多,將圖片輸入網(wǎng)絡(luò)前進(jìn)行了鏡像處理,并采用crop size將圖片隨機(jī)裁剪為 224×224 像素大小,并且減去所有訓(xùn)練集圖片的平均值。
本文所有實(shí)驗(yàn)均在Ubuntu16.0.4環(huán)境下進(jìn)行,所使用的服務(wù)器安裝有4塊NVIDIA GeForce GTX 1080Ti顯卡,采用Caffe框架進(jìn)行實(shí)驗(yàn)。網(wǎng)絡(luò)的訓(xùn)練參數(shù)設(shè)置如下:采用Multistep學(xué)習(xí)策略,初始學(xué)習(xí)率為 0.001,每20個(gè)epoch,學(xué)習(xí)率縮小10倍,權(quán)重衰減為0.0005,訓(xùn)練時(shí)Batchsize為32,測(cè)試時(shí)Batchsize為16,采用均方根反向傳播(RMSProp)學(xué)習(xí)策略提高收斂速度,rms_decay設(shè)置為0.98。實(shí)驗(yàn)比較了五種網(wǎng)絡(luò)模型,分別為:MobileNet-v1,MobileNetv2,SE-Mobilenet-v1和SE-MobileNet-v2和Shuff leNet-v2基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)可參考文獻(xiàn)[4][5][7],實(shí)驗(yàn)結(jié)果如圖5及表2所示。
從圖5可以看出,MobileNet-v2與SEMobileNet-v2網(wǎng)絡(luò)在迭代4萬(wàn)次之后才開(kāi)始收斂,因此,對(duì)這兩個(gè)模型,我們?cè)O(shè)置了更大的最大迭代次數(shù)。通過(guò)表2可以看出,SE-MobileNet-v1與SE-MobileNet-v2分 別較MobileNet-v1、MobileNet-v2提 高 了0.13與0.22%。SE-MobileNet-v2甚至明顯優(yōu)于Shuff leNet-v2。
圖6是將訓(xùn)練好的SE-MobileNet-v2模型嵌入到SSD網(wǎng)絡(luò)中獲得的車型檢測(cè)結(jié)果??梢钥闯?,除了部分車輛漏檢外,對(duì)檢出的目標(biāo),車型識(shí)別精度效果較好。
本文研究了基于輕量級(jí)網(wǎng)絡(luò)MobileNet的車型識(shí)別方法。該方法可以實(shí)現(xiàn)對(duì)交通視頻監(jiān)控場(chǎng)景下9類車型(轎車、SUV、小客車、客車、貨車、小貨車、皮卡、面包車、MPV)進(jìn)行識(shí)別。結(jié)合SE模塊提出兩種MobileNet改進(jìn)型網(wǎng)絡(luò),并與傳統(tǒng)MobileNet網(wǎng)絡(luò)進(jìn)行了比較,分別獲得了0.13與0.22%Top1精度提升。最后,通過(guò)SSD車型檢測(cè)實(shí)驗(yàn)驗(yàn)證了車型識(shí)別模型的有效性。
參考文獻(xiàn)
[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.