余燁 金強(qiáng) 傅云翔 路強(qiáng)
車牌、車標(biāo)、車型等車輛特征識(shí)別是智能交通領(lǐng)域的重要研究分支,在違法犯罪車輛跟蹤[1]、交通流量統(tǒng)計(jì)[2]、收費(fèi)站自動(dòng)收費(fèi)等方面發(fā)揮著重要的作用.由于盜牌、無(wú)牌、污損車牌車輛的存在,使得車牌識(shí)別不能發(fā)揮應(yīng)有的作用.車標(biāo)所占比例過(guò)小,用于描述車標(biāo)特征的像素有限,且實(shí)際卡口監(jiān)控系統(tǒng)中的車標(biāo)定位是一個(gè)尚無(wú)成熟解決方案的難題,此外,車標(biāo)也容易被替換、污損,因此,車標(biāo)可以作為車輛識(shí)別的輔助特征,而不是唯一特征.目前,車輛唯一不易被偽裝的特征是“車型”,其發(fā)揮的作用不可小覷.車型識(shí)別為事故逃逸、套牌、假牌車輛等的發(fā)現(xiàn)和追蹤提供輔助手段,為交通管理執(zhí)法部門提供重要判斷依據(jù),因此具有巨大的研究?jī)r(jià)值和應(yīng)用前景.
對(duì)車型的理解有兩種,車輛類型和車輛型號(hào),車輛類型一般包含客車、卡車、轎車等分類,車輛型號(hào)指車輛的具體款式,例如,轎車中的大眾品牌,里面有帕薩特、途觀等型號(hào).車輛型號(hào)識(shí)別是一個(gè)典型的精細(xì)分類問(wèn)題,其研究面臨很大的挑戰(zhàn),這是因?yàn)?1)車輛型號(hào)種類繁多.當(dāng)前路面上常見(jiàn)的車輛型號(hào)達(dá)1000多種以上,種類越多意味著分類難度越大.2)部分車輛型號(hào)區(qū)分度小.同一品牌中不同子型號(hào)的車輛存在外觀差異度極小的情況,且不同品牌中兩種子型號(hào)的車輛也存在外觀極其相似的情況.差異度小意味著類間方差小,需要提取更深層次、更抽象的特征才能實(shí)現(xiàn)其分類.3)圖像受環(huán)境干擾大.實(shí)際卡口監(jiān)控系統(tǒng)中獲取的車輛圖像,由于受周圍環(huán)境、天氣、光照等影響,干擾較大,增加了車輛型號(hào)識(shí)別的難度.
傳統(tǒng)基于手工設(shè)計(jì)的特征提取方式往往由于關(guān)注點(diǎn)片面、抽象能力不足,無(wú)法提取有區(qū)分度的特征對(duì)車輛型號(hào)進(jìn)行描述.隨著Hinton等[3]提出無(wú)監(jiān)督逐層訓(xùn)練方法以來(lái),為訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)提供了思路,且隨著近年來(lái)計(jì)算機(jī)硬件的發(fā)展,運(yùn)算能力大大增加,使訓(xùn)練更深層次的神經(jīng)網(wǎng)絡(luò)成為可能,從而掀起了一股深度學(xué)習(xí)的熱潮.卷積神經(jīng)網(wǎng)絡(luò)作為一種多層前饋深度學(xué)習(xí)模型,由于其可以直接以圖像為輸入,自動(dòng)學(xué)習(xí)特征,從而避免了手工設(shè)計(jì)特征抽象能力、區(qū)分度不足的問(wèn)題,在計(jì)算機(jī)視覺(jué)、圖像處理等眾多領(lǐng)域得到了廣泛應(yīng)用,如目標(biāo)跟蹤[4]、圖像分類[5]、語(yǔ)義分割[6]和行為識(shí)別[7]等.
在車輛型號(hào)識(shí)別中,考慮到實(shí)際智能交通系統(tǒng)中獲取的監(jiān)控圖像大部分是車輛正臉的照片,且車輛正臉部分是車輛最具有區(qū)分度的區(qū)域,因此,本文以車輛正臉照片為數(shù)據(jù)源,對(duì)車輛型號(hào)進(jìn)行精細(xì)分類研究.
針對(duì)車輛正臉圖像的特點(diǎn)進(jìn)行分析,由于車輛正臉圖像特征分布不均,尤其體現(xiàn)在上下兩部分上,為避免相同卷積核操作對(duì)上下兩部分特征提取粒度不同,以造成有用特征損失的問(wèn)題,針對(duì)車輛型號(hào)的精細(xì)分類,設(shè)計(jì)了一種多分支多維度特征融合的卷積神經(jīng)網(wǎng)絡(luò)模型Fg-CarNet(Convolutional neural networks for car fine-grained classification,Fg-CarNet).Fg-CarNet具有如下特點(diǎn):1)針對(duì)車輛正臉圖像上下兩部分設(shè)計(jì)不同的子網(wǎng)絡(luò),并對(duì)上層子網(wǎng)絡(luò)單獨(dú)設(shè)置輔助損失函數(shù),使卷積神經(jīng)網(wǎng)絡(luò)能夠在車臉圖像不同區(qū)域提取不同的且具有區(qū)分度的特征.2)利用上下子網(wǎng)絡(luò)中提取的不同特征的組合,以及多尺度卷積核特征的組合,進(jìn)一步提高了卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別準(zhǔn)確率.3)網(wǎng)絡(luò)中主要使用小尺寸卷積核來(lái)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)加入全局均值池化的方法,使得網(wǎng)絡(luò)在準(zhǔn)確率提高的同時(shí)降低了網(wǎng)絡(luò)參數(shù)的數(shù)量,從而降低了網(wǎng)絡(luò)過(guò)擬合的風(fēng)險(xiǎn),提高了網(wǎng)絡(luò)的實(shí)用性.
與車輛身份相關(guān)的識(shí)別工作主要分為三類:車輛類型、車輛品牌和車輛型號(hào)(如圖1所示).三者的分類精度由粗到細(xì),隨著分類精細(xì)度的增加,分類的難度越來(lái)越大,實(shí)用性也越來(lái)越高.車輛類型識(shí)別即根據(jù)車輛的大小、形狀特征,將其歸為轎車、面包車、客車、卡車等類別,主要用于高速路口自動(dòng)收費(fèi)、違規(guī)車輛檢測(cè)等.常用的識(shí)別方法有:1)基于視頻中相鄰幾幀出現(xiàn)的車輛尺寸和線性特征,結(jié)合車道寬度,進(jìn)行車輛類型的判斷[8].2)基于車輛模型的先驗(yàn)知識(shí),通過(guò)對(duì)各種環(huán)境下、各個(gè)角度、各種類型模型的匹配和參數(shù)調(diào)整來(lái)進(jìn)行車輛類型的識(shí)別[9].3)使用特征描述子如GABOR[10]、Harris角點(diǎn)[11]和SIFT[12]等提取車輛特征(這里的車輛特征不僅包含視覺(jué)特征,也包含聲音信號(hào)特征),并使用分類器如SVM[13]進(jìn)行分類識(shí)別.4)使用卷積神經(jīng)網(wǎng)絡(luò)的方法自動(dòng)學(xué)習(xí)車輛特征,并用于車輛類型的分類[14].由于不同類型車輛類間方差較大,且類型種類較少,現(xiàn)階段對(duì)車輛類型的識(shí)別已取得了很好的效果,識(shí)別率最高可達(dá)96.1%[14].
車輛品牌識(shí)別又稱車輛制造商識(shí)別,即判斷車輛是大眾、奧迪、起亞還是豐田.由于車輛標(biāo)志是車輛品牌的唯一特征,因此目前車輛品牌主要基于車標(biāo)的類型來(lái)進(jìn)行判斷.文獻(xiàn)[15]提出使用增強(qiáng)SIFT特征對(duì)車標(biāo)進(jìn)行識(shí)別,在1200張屬于10種車輛品牌的車標(biāo)樣本庫(kù)上進(jìn)行測(cè)試,平均識(shí)別率可達(dá)91%.實(shí)際監(jiān)控系統(tǒng)中獲取的車標(biāo)圖像受光照影響較大,為改善光照對(duì)車標(biāo)識(shí)別的影響,文獻(xiàn)[16]提出了一種點(diǎn)對(duì)特征對(duì)車標(biāo)進(jìn)行識(shí)別,在對(duì)20種車標(biāo)進(jìn)行識(shí)別時(shí),最高平均識(shí)別率可達(dá)95.7%.然而,文獻(xiàn)[16]并未對(duì)車標(biāo)的定位進(jìn)行研究.事實(shí)證明,大部分車標(biāo)識(shí)別方法都對(duì)車標(biāo)定位有較高依賴,定位好壞直接影響最后的識(shí)別結(jié)果.為避免這一問(wèn)題,文獻(xiàn)[17]提出使用多示例學(xué)習(xí)方法為每種品牌車輛找到最具有區(qū)分性的特征,可以是車燈、車標(biāo)、車輛邊緣部位特征或其組合,從而進(jìn)行車輛品牌識(shí)別,在包含30種車輛品牌數(shù)據(jù)集上進(jìn)行測(cè)試,識(shí)別率可以達(dá)到94.66%.
圖1 車輛身份相關(guān)的識(shí)別工作Fig.1 Recognition related to vehicle identity
與車輛類型識(shí)別和品牌識(shí)別相比,車輛型號(hào)識(shí)別難度更大,這不僅因?yàn)檐囕v型號(hào)種類繁多,更是因?yàn)椴煌囕v型號(hào)之間差異度過(guò)小,即類間方差小,難以找到有區(qū)分性的特征.文獻(xiàn)[18]提出了一種新的級(jí)聯(lián)分類器集合方案,通過(guò)加入拒絕策略,盡量減少誤分類樣本帶來(lái)的損失,提高了車型分類的準(zhǔn)確率.文獻(xiàn)[19]將車輛按照固定的網(wǎng)格進(jìn)行劃分,并對(duì)每個(gè)網(wǎng)格提取SURF特征點(diǎn)和HOG特征后訓(xùn)練弱分類器,最后用貝葉斯平均將這些弱分類器集成實(shí)現(xiàn)對(duì)車輛的分類,在29類車型上取得了99%的準(zhǔn)確率.對(duì)于這種精細(xì)分類問(wèn)題,部分方法通過(guò)尋找目標(biāo)上具有區(qū)分度的細(xì)節(jié)部位來(lái)進(jìn)行分類[20?22].文獻(xiàn)[23]使用具有部位標(biāo)定的車輛數(shù)據(jù)集訓(xùn)練DPM 模型來(lái)定位車輛的關(guān)鍵區(qū)域,再對(duì)每個(gè)區(qū)域提取特征后實(shí)現(xiàn)對(duì)車型的精細(xì)分類.由于二維圖像所包含的信息有限,部分學(xué)者提出提取車輛的三維結(jié)構(gòu)信息來(lái)輔助車輛的精細(xì)分類[24?25],利用車輛三維模型提供的車輛視角、車體各部位位置信息等,提高車輛精細(xì)分類的準(zhǔn)確率.隨著深度卷積神經(jīng)網(wǎng)絡(luò)在圖像分類中的成功應(yīng)用[5],人們開始嘗試使用它來(lái)解決精細(xì)分類問(wèn)題.在這類方法中,通常利用標(biāo)定好的大量數(shù)據(jù)來(lái)訓(xùn)練一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)模型,基于此模型從輸入圖像中提取高度抽象且區(qū)分度高的特征,在網(wǎng)絡(luò)的全連接層中將提取的特征連接成特征向量,然后用分類器對(duì)得到的特征向量進(jìn)行分類.文獻(xiàn)[26]在公布一個(gè)大型車輛數(shù)據(jù)集的基礎(chǔ)上,針對(duì)卡口監(jiān)控系統(tǒng)中拍攝的車輛正臉圖像,使用 Alexnet[5]、Overfeat[27]和 GoogLeNet[28]等深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)模型對(duì)車輛型號(hào)的精細(xì)分類進(jìn)行了研究.文獻(xiàn)[29]提出了一種多任務(wù)訓(xùn)練網(wǎng)絡(luò)的方法,將Softmax Loss和Triplet Loss共同作為訓(xùn)練目標(biāo),在同一CNN網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,通過(guò)在損失函數(shù)中嵌入分級(jí)標(biāo)簽信息,確保不同等級(jí)的類內(nèi)方差小于類間方差,從而提高了車輛型號(hào)精細(xì)分類的準(zhǔn)確率.文獻(xiàn)[30]將車型的精細(xì)識(shí)別問(wèn)題視為一個(gè)逐步求精的過(guò)程,提出了一個(gè)由粗到精的卷積神經(jīng)網(wǎng)絡(luò)模型,通過(guò)融合整體的特征以及局部具有區(qū)分度區(qū)域的特征實(shí)現(xiàn)車輛型號(hào)的精細(xì)分類.
在利用深度卷積神經(jīng)網(wǎng)絡(luò)解決圖像分類問(wèn)題時(shí),一個(gè)好的CNN模型提取的特征對(duì)提高分類效果起到了至關(guān)重要的作用.為提高識(shí)別效果,經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型主要通過(guò)增加模型的深度和寬度來(lái)提取抽象程度更高的特征,如Alexnet、GoogLeNet和VGG-16[31]等.然而更深的網(wǎng)絡(luò)意味著需要更多的計(jì)算資源和更多的樣本來(lái)訓(xùn)練,會(huì)造成訓(xùn)練難度的增加,從而導(dǎo)致網(wǎng)絡(luò)性能下降的問(wèn)題.本文針對(duì)真實(shí)卡口場(chǎng)景下的車輛型號(hào)精細(xì)識(shí)別問(wèn)題,利用車輛正臉圖像特征分布的特點(diǎn),設(shè)計(jì)了一個(gè)適用于車輛型號(hào)精細(xì)識(shí)別的模型Fg-CarNet,在使用較少網(wǎng)絡(luò)權(quán)值的前提下,獲得了較好的車型識(shí)別效果.
卷積神經(jīng)網(wǎng)絡(luò)是為識(shí)別二維形狀而特殊設(shè)計(jì)的多層感知器[32].典型卷積神經(jīng)網(wǎng)絡(luò)的輸入層為原始圖像;隱層由卷積層和池化層組合交替排列組成,以減少網(wǎng)絡(luò)的權(quán)值數(shù)量,降低計(jì)算量;為逐步建立網(wǎng)絡(luò)空間和結(jié)構(gòu)的不變性,在卷積層后增加激活函數(shù)層以提高網(wǎng)絡(luò)的非線性抽象能力;將前面幾層操作后獲得的特征圖在全連接層進(jìn)行向量化,并將提取的特征映射為標(biāo)簽,根據(jù)標(biāo)簽進(jìn)行物體類型的判斷.
針對(duì)車輛正臉圖像特征分布的特點(diǎn),在基本卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上進(jìn)行改進(jìn),考慮到車輛圖像上下兩部分特征的差異,設(shè)計(jì)了一種適用于車輛型號(hào)精細(xì)分類的卷積神經(jīng)網(wǎng)絡(luò)模型Fg-CarNet,其模型結(jié)構(gòu)如圖2所示,圖中數(shù)字表示特征圖的數(shù)量,即卷積核的數(shù)量,N表示網(wǎng)絡(luò)最終輸出的類別數(shù).
Fg-CarNet的輸入圖像為分割出的車輛正臉圖像,沿圖像中線將其分割為上下兩部分,分別使用兩段不同的分支網(wǎng)絡(luò)UpNet和DownNet提取上下兩部分的特征,然后用特征融合網(wǎng)絡(luò)FusionNet對(duì)UpNet和DownNet中提取的特征進(jìn)行多維度融合,進(jìn)一步進(jìn)行抽象并控制最終得到的特征規(guī)模,最后利用全局均值池化代替?zhèn)鹘y(tǒng)的全連接層,利用分類器得到網(wǎng)絡(luò)的輸出.
UpNet是為了提取車輛圖像上半部分粗輪廓特征而設(shè)計(jì)的一個(gè)淺層分支網(wǎng)絡(luò).它由四個(gè)卷積層組成,每個(gè)卷積層后都緊跟著一個(gè)ReLU[5]激活函數(shù)層、一個(gè)Batch Normalize[33]層和一個(gè)最大值池化層.ReLU激活函數(shù)層進(jìn)行特征映射;Batch Normalize層對(duì)輸出的結(jié)果進(jìn)行規(guī)范化,以加速網(wǎng)絡(luò)的收斂;最大池化層則實(shí)現(xiàn)對(duì)特征的降維.本文將卷積層、激活函數(shù)層、Batch Normalize層和最大值池化層四層連在一起的結(jié)構(gòu)定義為一個(gè)網(wǎng)絡(luò)的基本單元,則UpNet由4個(gè)這樣的基本單元組成.
DownNet是針對(duì)車輛下半部分圖像設(shè)計(jì)的深層子網(wǎng)絡(luò),是UpNet結(jié)構(gòu)的擴(kuò)展,由于車輛圖像下半部分紋理特征密集,包含更多有區(qū)分度的信息,是車輛型號(hào)精細(xì)分類的關(guān)鍵特征所在,因此,DownNet在UpNet四個(gè)基本單元的卷積層后增加了一層卷積核大小為1×1的卷積層,在深層次卷積層對(duì)淺層次卷積層學(xué)習(xí)到的特征進(jìn)行整合前,對(duì)淺層次的特征進(jìn)行進(jìn)一步的抽象,提高了網(wǎng)絡(luò)的表達(dá)能力.
FusionNet首先將UpNet和DownNet第一個(gè)基本單元和最后一個(gè)基本單元提取的特征圖進(jìn)行上下組合,得到兩組完整的車輛特征圖,如圖2中上部虛框線所示.針對(duì)第一個(gè)基本單元的合并特征圖,使用一個(gè)基本單元進(jìn)行特征提取,對(duì)應(yīng)FusionNet中的第二層.此基本單元卷積核尺寸和步長(zhǎng)與UpNet中使用的卷積核尺寸和步長(zhǎng)不同,詳見(jiàn)表1.將FusionNet第二層得到的特征圖和UpNet、DownNet中第四個(gè)基本單元組合得到的特征圖疊加在一起,如圖2中下部虛框線所示,再用一個(gè)基本單元對(duì)融合的特征圖學(xué)習(xí)進(jìn)一步特征提取,并用兩個(gè)1×1卷積層進(jìn)行進(jìn)一步的特征抽象和降維,最后利用全局均值池化得到最后的分類特征.
圖2 Fg-CarNet網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.2 Network structure diagram of the Fg-CarNet
表1 Fg-CarNet模型結(jié)構(gòu)參數(shù)Table 1 Structural parameters of the Fg-CarNet
Fg-CarNet網(wǎng)絡(luò)的具體參數(shù)設(shè)置如表1所示,Convolution表示單獨(dú)的卷積層,Convolution/BN表示一個(gè)卷積層加一個(gè)BatchNormalize層,Convolution/Drop表示一個(gè)卷積層加一個(gè)Drop層,此外,每個(gè)卷積層后都有一個(gè)ReLU激活函數(shù)(表1中未明確列出).FusionNet中第一層的Concat層,輸入為UpNet中第一層與DownNet中第二層輸出特征圖,融合方式為對(duì)應(yīng)層上下組合;FusionNet中第三層的Concat層,輸入為UpNet中第四層和DownNet中第八層輸出特征圖,融合方式為對(duì)應(yīng)層上下組合;FusionNet中第四層的Concat層,其輸入為FusionNet中第二層卷積層和第三層Cancat層輸出特征圖,融合方式為特征層疊加.
實(shí)際卡口監(jiān)控系統(tǒng)中,攝像頭通常位于車輛上方,斜向下對(duì)迎面而來(lái)的車輛進(jìn)行拍攝.被拍攝到的車輛部位從下到上依次包括車臉(車大燈、車標(biāo)、霧燈、散熱器格柵和車牌)、引擎蓋、擋風(fēng)玻璃和部分車頂,形成車輛正臉圖像.車臉是車輛特征最密集,最具有區(qū)分度的部位,具有豐富的紋理、形狀特征,通常位于正臉圖像下方.車輛正臉圖像中除車臉外的其他部位也提供了豐富的輪廓、形狀和位置信息,這些特征可以作為車臉特征的一個(gè)補(bǔ)充.
將車輛正臉圖像分為上下兩部分,則上下兩部分的特征存在如下關(guān)系:
1)下半部分的車臉?biāo)奶卣鞫嗲壹?xì),區(qū)分度高,紋理特征密集,車燈、隔熱柵等形狀特征明顯.而上半部分的圖像以車輛擋風(fēng)玻璃、車頂?shù)葹橹?主要體現(xiàn)為輪廓特征,以及一些能反映細(xì)節(jié)的位置信息,紋理特征不明顯.
2)在夜晚及一些特殊環(huán)境中,車輛正臉上下兩部分所處的光環(huán)境也存在較大差異,且下半部分的車牌、散熱器格柵、大燈及車標(biāo)等通常使用特殊的材質(zhì),對(duì)光的反射也與車輛上半部分差距較大,這使得上下兩部分在成像時(shí)存在亮度差異,導(dǎo)致了上下兩部分特征的區(qū)別.
如果使用卷積神經(jīng)網(wǎng)絡(luò)模型直接對(duì)整幅車輛正臉圖像進(jìn)行訓(xùn)練,則在訓(xùn)練過(guò)程中,卷積核會(huì)偏向于提取更有區(qū)分度的車臉部分特征來(lái)降低損失函數(shù)的值,最終學(xué)習(xí)到的網(wǎng)絡(luò)權(quán)重使網(wǎng)絡(luò)中的神經(jīng)元對(duì)車輛正臉圖像的上下兩部分激活不平衡,導(dǎo)致上部分圖像的特征提取不足,甚至丟棄,整體學(xué)習(xí)到的特征區(qū)分度不足,從而降低準(zhǔn)確率.
圖3是利用車輛正臉圖像訓(xùn)練AlexNet、Goog-LeNet和本文提出的Fg-CarNet網(wǎng)絡(luò)模型后,分別用白天和夜晚的兩張圖像作為輸入,將正向傳播過(guò)程中卷積層的激活值進(jìn)行可視化的結(jié)果.為確??梢暬Y(jié)果具有對(duì)比性,這里均選擇三個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中,經(jīng)過(guò)一次特征提取和映射且輸出大小相近的層進(jìn)行可視化,分別為:Alexnet的第一個(gè)卷積層、GoogLeNet的第一個(gè)池化層和Fg-CarNet中兩個(gè)子網(wǎng)絡(luò)的第一個(gè)池化層.分別提取上述層中特征圖的前16張,分為上下兩部分進(jìn)行可視化.
圖3最左邊一列為白天和夜晚的2張輸入圖像,右邊3列分別為不同網(wǎng)絡(luò)模型提取的特征圖可視化結(jié)果,圖像中灰度值越高,越亮的部分表明神經(jīng)元的激活程度越高.從整體上看,夜間車輛圖像在神經(jīng)網(wǎng)絡(luò)中傳播時(shí),神經(jīng)元的激活度明顯低于白天的車輛圖像.從單張圖像在某個(gè)模型中提取的特征圖來(lái)看,車臉部分對(duì)應(yīng)的神經(jīng)元激活度明顯高于車正臉上半部分對(duì)應(yīng)的神經(jīng)元,這也證明了前文所述的觀點(diǎn):車正臉具有上下兩部分特征分布不均勻的特點(diǎn).從同一張圖像在不同神經(jīng)網(wǎng)絡(luò)模型中提取的特征圖可以看出,AlexNet中神經(jīng)元的激活度明顯低于另外兩種模型,特別是車正臉上半部分對(duì)應(yīng)的神經(jīng)元,大部分都處于激活度低或沒(méi)有被激活的狀態(tài);GoogLeNet中車臉部位對(duì)應(yīng)神經(jīng)元的激活度較AlexNet有明顯提高,但對(duì)于夜間車臉上半部分圖像,其神經(jīng)元的激活度依然較低;而Fg-CarNet由于是對(duì)上下兩部分分開處理的,所以車臉上半部分圖像也能提取出有效的特征,即使是在夜間,也能保證神經(jīng)元有較高的激活度.針對(duì)此類特征分布具有明顯空間結(jié)構(gòu)且各部分特征粗細(xì)粒度不同的分類問(wèn)題,一個(gè)好的特征提取器需要能夠統(tǒng)籌兼顧,將各種有用的信息聚合起來(lái)構(gòu)成最終特征.鑒于此,我們采用了分塊特征提取的策略,即針對(duì)車輛圖像的上下兩部分,分別構(gòu)建分支網(wǎng)絡(luò)UpNet和DownNet,用于對(duì)上下兩部分的特征分別進(jìn)行提取.為在特征豐富的車臉部分提取更具區(qū)分度的特征,DownNet使用了比UpNet更長(zhǎng)的網(wǎng)絡(luò).在訓(xùn)練階段,對(duì)UpNet添加了額外的輔助loss,強(qiáng)制UpNet能學(xué)到更具區(qū)分度的特征,使得網(wǎng)絡(luò)能夠從車臉上半部分圖像中提取到足夠豐富的特征.如圖3最右邊一列圖像所示,與AlexNet和GoogLeNet相比,本文提出的Fg-CarNet較好地改善了對(duì)車正臉上半部分特征提取的結(jié)果,即使是在夜間,車正臉上半部分對(duì)應(yīng)的神經(jīng)元依然有很好的激活度.值得注意的是,圖3中,AlexNet和GoogLeNet在同一車輛正面圖像上下兩部分進(jìn)行特征可視化時(shí),使用的是同樣的一組卷積核,而本文的Fg-CarNet由于設(shè)計(jì)了兩個(gè)子網(wǎng)絡(luò)分別提取車輛圖像的上下兩部分特征,所以各自用的卷積核是不同的.
圖3 三類神經(jīng)網(wǎng)絡(luò)模型中層激活值可視化圖Fig.3 Visualization of the layer activations in three neural network models
2.3.1 上下子特征融合
如前所述,為對(duì)卡口車輛正臉圖像上下兩部分分別提取不同的特征,訓(xùn)練階段Fg-CarNet學(xué)習(xí)了兩個(gè)分支網(wǎng)絡(luò)對(duì)其進(jìn)行特征提取,之后會(huì)將兩個(gè)分支提取的特征合并為一個(gè)整體作為車輛的特征.設(shè)訓(xùn)練過(guò)程中某次正向傳播UpNet得到的特征維度為N×C×Hup×W,DownNet得到的特征維度為N×C×Hdown×W,其中N表示每次訓(xùn)練的batch_size,C表示通道數(shù),即特征圖的個(gè)數(shù),Hup,Hdown表示得到的特征圖的高度,W表示得到的特征矩陣的寬度,則合并后的特征維度為N×C×(Hup+Hdown)×W,此處不僅是特征維度的增加,由于上下兩層采用了不同的卷積核提取特征,因此,此處更是一種特征的組合.如圖4所示,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)在正向傳播過(guò)程中,會(huì)將前一層卷積層產(chǎn)生結(jié)果的全部或部分作為輸入,而在Fg-CarNet中,UpNet和DownNet提取的特征之間可以有多種組合方式,設(shè)UpNet的特征圖數(shù)量為Nu,DownNet的特征圖數(shù)量為Nd,則可獲得的組合數(shù)為Nu×Nd.通過(guò)固定數(shù)量的卷積核得到多種組合的完整特征圖,提高了特征的利用率.針對(duì)車輛型號(hào)精細(xì)識(shí)別,這種組合方式可以將高激活度的車輛上半部分特征圖與車輛下半部分特征圖進(jìn)行組合,使得整個(gè)車輛特征圖上的激活值都處于較高狀態(tài).
圖4 層之間特征傳播方式示意圖Fig.4 Feature propagation between layers
2.3.2 多尺度卷積特征融合
傳統(tǒng)CNN網(wǎng)絡(luò)結(jié)構(gòu)通常在每一層設(shè)置相同尺寸的卷積核,對(duì)輸入進(jìn)行計(jì)算后得到輸出并向下一層傳遞.不同于這種結(jié)構(gòu),本文對(duì)上下兩個(gè)子網(wǎng)絡(luò)提取的特征分別進(jìn)行了低層(靠近輸入層的層)和高層(靠近輸出層的層)的融合,即在第2.3.1節(jié)上下子特征融合的基礎(chǔ)上,針對(duì)低層融合后的特征,使用一層具有較大卷積核的卷積層進(jìn)行一次特征提取和降維,并將得到的特征再次與高層融合后的特征進(jìn)行疊加,共同作為后面層的輸入.
多尺度卷積特征融合(如圖5所示)的優(yōu)點(diǎn)可以從兩方面來(lái)分析:1)Fg-CarNet網(wǎng)絡(luò)結(jié)構(gòu)使用不同尺寸的卷積核進(jìn)行特征提取,對(duì)同一輸入,一方面使用小尺寸的卷積核,逐層進(jìn)行特征提取和映射,進(jìn)行細(xì)粒度特征的提取;另一方面,使用大尺寸的卷積核,直接進(jìn)行粗粒度特征的提取,保留更多的車輛輪廓信息.粗粒度和細(xì)粒度特征的融合,從不同尺度盡可能的保留了車輛正臉圖像的特征,提高了網(wǎng)絡(luò)的特征表達(dá)能力.2)如圖5中Loss標(biāo)注線所示,在訓(xùn)練網(wǎng)絡(luò)的過(guò)程中,訓(xùn)練誤差可以從多個(gè)分支反向傳播回低層卷積層,優(yōu)化了信息的流動(dòng),可以有效避免因網(wǎng)絡(luò)過(guò)深產(chǎn)生的梯度消散,及導(dǎo)致低層卷積層得不到很好訓(xùn)練的問(wèn)題.
圖5 多尺度卷積特征融合Fig.5 Multiscale convolution feature fusion
為驗(yàn)證Fg-CarNet神經(jīng)網(wǎng)絡(luò)模型對(duì)卡口圖像中車輛精細(xì)特征提取的有效性,本文在文獻(xiàn)[26]提出的CompCars數(shù)據(jù)集上對(duì)模型提取的特征進(jìn)行了分類測(cè)試.CompCars數(shù)據(jù)集是一個(gè)大規(guī)模的車輛數(shù)據(jù)集,包含來(lái)自互聯(lián)網(wǎng)和實(shí)際卡口監(jiān)控系統(tǒng)1716種型號(hào)的208826張車輛圖像.Fg-CarNet神經(jīng)網(wǎng)絡(luò)模型主要針對(duì)卡口拍攝車輛正面圖像進(jìn)行車輛型號(hào)的精細(xì)特征提取,故使用了CompCars中的卡口監(jiān)控?cái)?shù)據(jù)集進(jìn)行測(cè)試,這部分覆蓋了夜晚、雨天和霧天等復(fù)雜環(huán)境下共281個(gè)型號(hào)的44481張車輛圖像,其部分樣例如圖6所示.本文使用其中的70%作為訓(xùn)練集,其他的30%作為測(cè)試集.
圖6 CompCars中監(jiān)控?cái)?shù)據(jù)集樣例Fig.6 Sample images of the surveillance data in CompCars
實(shí)驗(yàn)的硬件環(huán)境如下:CPU為Intel Core i7-6700K;內(nèi)存為32GB;顯卡為Nvidia GTX TITAN X;顯存為12GB.實(shí)驗(yàn)所有模型均在開源框架CAFFE[34]下實(shí)現(xiàn),CUDA版本為8.0.
在對(duì)UpNet和DownNet中基本單元提取特征進(jìn)行融合的階段,要求兩個(gè)網(wǎng)絡(luò)產(chǎn)生的特征圖相互匹配,因此Fg-CarNet采用的輸入尺寸為256×256,使其更易于控制網(wǎng)絡(luò)傳播過(guò)程中特征圖的尺寸,便于網(wǎng)絡(luò)的設(shè)計(jì).而實(shí)驗(yàn)用到的其他網(wǎng)絡(luò)皆按網(wǎng)絡(luò)原有的要求輸入為224×224.在訓(xùn)練和測(cè)試階段,各網(wǎng)絡(luò)都對(duì)輸入數(shù)據(jù)按照文獻(xiàn)[5]中方法做了除尺寸外相同的預(yù)處理,例如:在訓(xùn)練Fg-CarNet網(wǎng)絡(luò)時(shí),首先將數(shù)據(jù)集中所有樣本的大小歸一化為290×290,分別獲得圖像中心和四個(gè)拐角處共5張大小為256×256的圖像,再對(duì)獲得的圖像進(jìn)行鏡像操作,獲得其水平翻轉(zhuǎn)后的圖像,由此,基于每個(gè)樣本可以獲得10張訓(xùn)練圖像.最后,所有圖像均減去整個(gè)數(shù)據(jù)集的均值.測(cè)試階段僅通過(guò)裁剪獲得圖像中心大小為256的圖像,并減去圖像均值.實(shí)驗(yàn)所用網(wǎng)絡(luò)模型的優(yōu)化策略均為帶有動(dòng)量的分塊隨機(jī)梯度下降方法,其中動(dòng)量設(shè)置為0.9,batch-size設(shè)置為128,初始學(xué)習(xí)率設(shè)置為0.001.采用分步降低的策略,每100k次迭代降低10倍,訓(xùn)練階段共迭代300k次,故整個(gè)訓(xùn)練階段學(xué)習(xí)率降低兩次.在測(cè)試階段,本文同樣對(duì)測(cè)試樣本進(jìn)行擴(kuò)增,截取圖像中心和四個(gè)拐角處共5張大小為256×256的圖像,再對(duì)獲得的圖像進(jìn)行鏡像操作,獲得其水平翻轉(zhuǎn)后的圖像,對(duì)擴(kuò)增后的10個(gè)樣本分別求置信度后取平均作為最后的結(jié)果.
表2顯示了使用本文提出的Fg-CarNet深度卷積神經(jīng)網(wǎng)絡(luò)模型以及經(jīng)典的AlexNet,GoogLeNet和Network in network[35](NIN)深度神經(jīng)網(wǎng)絡(luò)模型在CompCars數(shù)據(jù)集上提取車輛特征,并使用樸素貝葉斯分類器、KNN分類器、邏輯回歸分類器、隨機(jī)森林分類器、SVM分類器和Softmax分類器對(duì)車輛進(jìn)行分類的結(jié)果.從表2可以看出,AlexNet和NIN網(wǎng)絡(luò)模型提取的特征在車輛精細(xì)識(shí)別方面的識(shí)別率較低,GoogLeNet提取特征的表現(xiàn)則要高很多,而本文提出的Fg-CarNet模型提取的特征,除了使用隨機(jī)森林分類器外,使用其他分類器的準(zhǔn)確率都要高于GoogLeNet,達(dá)到了98%以上.總體上看,Fg-CarNet的識(shí)別準(zhǔn)確率是最高的.從分類器效果上來(lái)分析,Softmax分類器在各網(wǎng)絡(luò)模型提取特征上的分類效果都是最好的.
表2 卷積神經(jīng)網(wǎng)絡(luò)模型在CompCars上使用不同分類器的識(shí)別率Table 2 Recognition rate of different CNN models using different classifiers on CompCars
卷積神經(jīng)網(wǎng)絡(luò)中參數(shù)的數(shù)量反映了模型的擬合能力,參數(shù)越多越容易過(guò)擬合,泛化能力也越差,此外,參數(shù)越多需要的內(nèi)存也越多,網(wǎng)絡(luò)的適用性會(huì)降低.使用CAFFE框架訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)后生成一個(gè)保存網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的文件,表3以CAFFE生成的模型參數(shù)文件大小來(lái)反映各個(gè)網(wǎng)絡(luò)的參數(shù)規(guī)模,從表3可以看出,Fg-CarNet模型的參數(shù)數(shù)量遠(yuǎn)低于其他三種模型,與AlexNet相比,參數(shù)數(shù)量下降了近40倍;與性能表現(xiàn)相近的GoogLeNet相比,參數(shù)數(shù)量減少了近6倍;與同樣采用了全局均值池化的Network in Network模型相比,參數(shù)規(guī)模也降低了1倍,然而性能卻得到了大大提升.
表3 各神經(jīng)網(wǎng)絡(luò)模型參數(shù)的大小Table 3 The size of each CNN model parameters
針對(duì)真實(shí)卡口拍攝車輛正臉圖像的精細(xì)分類,與其他針對(duì)多視角的車型分類方法有所不同,分類性能也有所差異,因此本文僅與針對(duì)卡口圖像中車輛正臉圖像進(jìn)行精細(xì)分類的相關(guān)工作進(jìn)行比較,比較結(jié)果如表4所示.由于CompCars監(jiān)控?cái)?shù)據(jù)集中,屬于各類別車型的圖像數(shù)量差距較大,最少的僅14張,而最多的可達(dá)565張,為避免會(huì)忽略樣本數(shù)量少的類別中識(shí)別率不佳的情況,采用文獻(xiàn)[30]建議的用兩種評(píng)估方式分別對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估.各自的計(jì)算公式如下:
其中,ti為每類中正確預(yù)測(cè)的樣本的數(shù)量,ni為每類樣本的數(shù)量,N為樣本的類別數(shù).
表4 相關(guān)工作的識(shí)別結(jié)果Table 4 Report results of some related works
表4中,第1~3行是采用經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)對(duì)CompCars監(jiān)控?cái)?shù)據(jù)集進(jìn)行分類的結(jié)果,從中可以看出,GoogLeNet的識(shí)別結(jié)果最好,其準(zhǔn)確率1達(dá)到了98.5%,準(zhǔn)確率2達(dá)到了97.9%.第4~6行是與文獻(xiàn)[18?19,30]中車型分類算法在CompCars監(jiān)控?cái)?shù)據(jù)集上分類性能的比較,其中,文獻(xiàn)[18?19]的實(shí)驗(yàn)結(jié)果均來(lái)自文獻(xiàn)[30].為了實(shí)驗(yàn)的公平性,文獻(xiàn)[30]在CompCars監(jiān)控?cái)?shù)據(jù)集上復(fù)現(xiàn)了文獻(xiàn)[18?19]的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,其所提方法在大規(guī)模車輛型號(hào)精細(xì)分類問(wèn)題上性能不佳.文獻(xiàn)[30]提出的方法在CompCars監(jiān)控?cái)?shù)據(jù)集上取得了較高的準(zhǔn)確率,準(zhǔn)確率1達(dá)到了98.63%,準(zhǔn)確率2達(dá)到了98.29%.本文提出的方法與文獻(xiàn)[30]方法相比,準(zhǔn)確率1更高,準(zhǔn)確率2基本持平,說(shuō)明本文方法在準(zhǔn)確率方面優(yōu)于文獻(xiàn)[30]方法.此外,本文提出的Fg-CarNet模型是一個(gè)端到端的模型,可以直接快速地實(shí)現(xiàn)車輛型號(hào)的精細(xì)分類,而且由于使用了全局均值池化,大大降低了網(wǎng)絡(luò)中參數(shù)的數(shù)量,提高了網(wǎng)絡(luò)的可使用性.
第2.2節(jié)指出,對(duì)車輛正臉圖像分成上下兩部分進(jìn)行特征提取,可以強(qiáng)制特征不明顯的上半部分區(qū)域也提取出有助于車型分類的特征,并與下半部分區(qū)域提取的特征進(jìn)行融合,以提高車輛型號(hào)精細(xì)分類的準(zhǔn)確率.為驗(yàn)證將車輛正臉圖像分成兩部分進(jìn)行特征提取對(duì)車型識(shí)別帶來(lái)的影響,本文設(shè)計(jì)了一組對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5所示.Fg-CarNet-Up和Fg-CarNet-Down分別為以卡口車輛正臉圖像的上半部分和下半部分作為輸入的網(wǎng)絡(luò).為了保證公平性,減少因?yàn)榫W(wǎng)絡(luò)深度帶來(lái)的影響,Fg-CarNet-Up和Fg-CarNet-Down分別由Fg-CarNet網(wǎng)絡(luò)中的FusionNet刪除融合部分,保留基本的特征提取部分后與UpNet和DownNet相連接后獲得.從實(shí)驗(yàn)結(jié)果可以看出,僅使用車輛的上半部分正臉圖像,準(zhǔn)確率1為93.37%,準(zhǔn)確率2為89.78%.而僅使用特征更豐富的車輛下半部分正臉圖像,準(zhǔn)確率1達(dá)到了97.38%,但其準(zhǔn)確率2較準(zhǔn)確率1下降較多,這是因?yàn)楫?dāng)用Fg-CarNet-Down進(jìn)行分類時(shí),存在樣本較少的類別其準(zhǔn)確率較低,從而導(dǎo)致了準(zhǔn)確率2的降低.整體上,Fg-CarNet-Up的準(zhǔn)確率均低于Fg-CarNet-Down的準(zhǔn)確率,這也證明了本文的觀點(diǎn),即車輛上半部分正臉圖像具有一定的區(qū)分性,但特征不及下半部分正臉圖像明顯.Fg-CarNet-Whole與Fg-CarNet-Down模型結(jié)構(gòu)相同,但Fg-CarNet-Whole是以整張車輛正臉圖像作為輸入,準(zhǔn)確率1的結(jié)果達(dá)到了98.02%,準(zhǔn)確率2的結(jié)果達(dá)到了97.84%,與單獨(dú)使用上半部分或下半部分圖像進(jìn)行車型分類相比,準(zhǔn)確率得到了明顯提高.而Fg-CarNet由于對(duì)上下兩部分單獨(dú)采用不同的子網(wǎng)絡(luò)進(jìn)行特征提取,并將各自提取的特征進(jìn)行多維度融合,增強(qiáng)了網(wǎng)絡(luò)對(duì)車輛的特征描述能力,最終準(zhǔn)確率1和準(zhǔn)確率2與上述幾種相比均有提高.
表5 分塊融合的性能比較Table 5 Performance comparison of block fusion
為進(jìn)一步分析分塊特征提取的效果,本文將GoogLeNet,AlexNet和Fg-CarNet基于Comp-Cars測(cè)試集提取的特征,使用t-SNE[36?37]方法降維到二維進(jìn)行可視化,可視化結(jié)果如圖7所示,圖中一個(gè)點(diǎn)代表一個(gè)測(cè)試樣本,同樣灰度點(diǎn)表示同一類樣本.由于通常卷積神經(jīng)網(wǎng)絡(luò)的最后一層是用于將特征映射到特定類別,因此此處我們選擇最后一層的前一層所提取特征進(jìn)行可視化.圖7(a)中,樣本點(diǎn)整體呈現(xiàn)一種聚類趨勢(shì),但重疊度較高,如圖中左下角部分,基本混雜在一起,這說(shuō)明UpNet針對(duì)車輛上半部分圖像學(xué)習(xí)到了可用于車型分類的特征,但區(qū)分程度不夠;圖7(b)中,各類樣本能夠較好地聚在一起,具有明顯的區(qū)分界限,但類間距離不夠大,這也證明了第2.2節(jié)所述,車輛正臉下半部分圖像包含更多有區(qū)分度的特征,更有利于車型分類;從圖7(c)中對(duì)AlexNet提取特征進(jìn)行可視化的結(jié)果可以看出,雖然AlexNet提取的特征整體類間差距較大,但類內(nèi)差距也很大,這并不有利于分類;圖7(d)所示是對(duì)GoogLeNet提取特征進(jìn)行可視化的結(jié)果,可以看出各類樣本點(diǎn)被很好地區(qū)分開來(lái),且同一類樣本點(diǎn)緊湊的聚集在一起,然而類間差距依然不夠大;而融合了UpNet和DownNet的Fg-CarNet提取的特征如圖7(e)所示,各類區(qū)分明顯,類間差較大,說(shuō)明Fg-CarNet提取的車輛特征能夠較好地將類與類之間區(qū)分開來(lái),同時(shí)類內(nèi)樣本聚合度較高,能夠?qū)崿F(xiàn)較好的分類效果.
在多尺度卷積特征融合階段,不同層特征的組合可能會(huì)產(chǎn)生不同的分類結(jié)果,為對(duì)不同組合下的分類性能進(jìn)行評(píng)估,分別對(duì)不同組合情況下的模型識(shí)別率進(jìn)行測(cè)試,測(cè)試結(jié)果如表6所示.其中,單元編號(hào)對(duì)應(yīng)UpNet和DownNet中四個(gè)基本單元的編號(hào).從表6可以看出,不同組合下模型的識(shí)別率區(qū)別不大,第一和第四個(gè)基本單元特征圖融合后的性能達(dá)到最優(yōu),為98.906%.模型7融合的參數(shù)最多,但分類性能并不是最優(yōu),融合了3個(gè)參數(shù)的模型4,5,6,其性能也沒(méi)有模型1的性能高,這說(shuō)明并非融合的特征越多,分類性能就越高.融合的特征越多,可能會(huì)導(dǎo)致特征冗余,且網(wǎng)絡(luò)中的模型參數(shù)也會(huì)隨之增多.
圖7 特征降維后可視化結(jié)果Fig.7 Visualization of features after dimension reduction
表6 不同基本單元特征組合下的識(shí)別結(jié)果Table 6 Recognition result based on different basic unit combinations
針對(duì)卡口圖像中車輛型號(hào)精細(xì)分類問(wèn)題進(jìn)行研究,提出了Fg-CarNet深度卷積神經(jīng)網(wǎng)絡(luò)模型,以提取有區(qū)分度的特征,提高車輛型號(hào)精細(xì)分類的準(zhǔn)確性.Fg-CarNet的主要特點(diǎn)是:1)采用分塊并行的方式,分別用UpNet和DownNet兩個(gè)分支網(wǎng)絡(luò)對(duì)車正臉圖像的上下兩部分進(jìn)行特征提取,提高特征提取的有效性;2)對(duì)提取的車正臉圖像的上下兩部分特征進(jìn)行了兩個(gè)維度的融合,提高了特征的表達(dá)能力;3)網(wǎng)絡(luò)使用小卷積核及全局均值池化代替了傳統(tǒng)的全連接網(wǎng)絡(luò)實(shí)現(xiàn)特征向結(jié)果的映射,大大地降低了模型的參數(shù)規(guī)模.實(shí)驗(yàn)結(jié)果表明,本文提出的Fg-CarNet能夠以較少的參數(shù)提取具有區(qū)分度的車輛精細(xì)特征,在分類性能上表現(xiàn)優(yōu)異,具有實(shí)用價(jià)值.此外,本文提出的分區(qū)域特征提取和多維度特征融合的方法,對(duì)其他不同區(qū)域間關(guān)聯(lián)度低物體的精細(xì)分類問(wèn)題也提供了思路.