黎哲明, 蔡鴻明, 姜麗紅
(上海交通大學 軟件學院, 上海 200240)
基于卷積神經(jīng)網(wǎng)絡的車輛品牌和型號識別
黎哲明, 蔡鴻明, 姜麗紅
(上海交通大學 軟件學院, 上海 200240)
車輛品牌和型號的識別屬于細粒度分類領域的一類問題, 與只針對不同物體的圖像識別相比, 待分類的車輛品牌和型號之間差異較小, 分類較困難.卷積神經(jīng)網(wǎng)絡在靜態(tài)圖像上具有強大的特征發(fā)現(xiàn)能力, 近年來在圖像分類問題中成果顯著.結合卷積神經(jīng)網(wǎng)絡和開源的大量標注數(shù)據(jù)集設計出了完整的車型識別模型, 引入?yún)^(qū)域分割從而提高了識別的準確率, 同時根據(jù)移動互聯(lián)網(wǎng)的特性設計了交互方式.通過試驗驗證, 該方法可以有效地解決查詢圖片識別具體車輛品牌及型號的問題.
車型識別; 細粒度分類; 卷積神經(jīng)網(wǎng)絡; 區(qū)域分割; 圖像處理
車型識別有著廣泛的應用前景, 如,在智能交通領域能夠利用車型識別對道路交通情況進行統(tǒng)計, 在汽車銷售領域可幫助潛在購車用戶更好地了解感興趣的車輛信息.車型識別的范圍較廣, 不僅僅局限于數(shù)字和字母,而且由于無法對固定的區(qū)域進行特征提取, 因此面臨著較大的挑戰(zhàn).
在車輛圖片識別領域研究中, 車輛所屬交通工具的分類(bus、truck、van、small car)問題的解決已取得了比較理想的成果.文獻[1] 利用圖像的SIFT(scale invariant feature transform)特征并結合支持向量機訓練出分類器, 有效完成車輛所屬交通工具的分類.文獻[2] 提出一種2階段分類方法: 第1階段采用支持向量機、K近鄰、隨機森林和多層感知機4種分類器接收Gabor和PHOG(pyramid histogram of oriented gradients)特征進行分類, 這一階段的輸出可作為第2階段的輸入, 通過旋轉森林對未區(qū)分的結果進行進一步分類處理.與上述研究相比, 精確分類具體車輛品牌和型號(car make and model recognition)更具有挑戰(zhàn)性.待分類的類別之間差別細微, 屬于細粒度分類問題(fine-grained classification), 其對圖像特征的提取及分類有著更高的精度要求.與車型識別類似的研究中, 文獻[3-4]提出了結合卷積神經(jīng)網(wǎng)絡與大量的訓練數(shù)據(jù),分別實現(xiàn)對狗和花類圖片的品種分類的方法.目前, 針對精確分類車輛品牌和型號的研究中, 文獻[5-6]分別對車輛前后視圖的特定區(qū)域進行特征提取, 之后與標注庫中的圖片匹配得到分類結果; 文獻[7]提出了一種首先提取圖像的全局形狀特征以獲得與標注圖像集的相似度, 再結合選定的局部直方圖特征相似度并計算相似度加權和, 以此改進分類效果的方法.
由以上研究現(xiàn)狀可知, 車型識別的研究主要存在以下兩個問題: (1) 對于能夠滿足任意角度查詢圖片的條件下, 識別的粒度還停留在交通工具上的分類; (2) 能夠精確到具體車輛品牌和型號的分類往往需要限定查詢圖片的拍攝角度, 只能從特定拍攝角度, 如前視圖或后視圖的圖像中完成車輛識別及分類過程.因此, 如何實現(xiàn)對不同角度的圖片都能完成車型識別是一項極具挑戰(zhàn)的任務.
針對上述兩個問題, 本文提出了一種基于卷積神經(jīng)網(wǎng)絡(CNN)的車型識別方法, 借助深度神經(jīng)網(wǎng)絡強大的特征提取能力, 取代傳統(tǒng)人工選擇的SIFT等特征及分類器訓練, 完成對細節(jié)特征的發(fā)現(xiàn), 以實現(xiàn)對不同角度查詢圖片的車型識別.同時, 結合當前更為普遍的移動互聯(lián)網(wǎng)模式, 采用手機客戶端和云服務器的模式進行系統(tǒng)設計.本文工作包括以下3點: (1) 利用卷積神經(jīng)網(wǎng)絡完成大量車型標注圖像集的特征提取及分類器訓練, 實現(xiàn)對各種不同角度的車輛圖片進行車型分類的目標; (2) 通過區(qū)域識別等方法完成車輛區(qū)域和背景區(qū)域的切割, 去除背景噪聲達到提高識別精度的目標; (3) 針對移動互聯(lián)網(wǎng)的特性通過圖像壓縮等技術減小客戶端與服務器的圖像傳輸成本, 提高響應速度.
移動用戶的規(guī)模隨著互聯(lián)網(wǎng)的發(fā)展而高速增長, 移動互聯(lián)網(wǎng)服務變得更加便捷和快速.但不論是基于特征選擇還是卷積神經(jīng)網(wǎng)絡的車輛圖片識別問題均屬于計算密集型工作, 而移動設備自身的計算和存儲能力有限, 且電池續(xù)航能力較差, 難以完成整個圖像處理和識別分類的過程.
因此, 為了解決移動設備便捷性與計算能力不足之間的矛盾, 采用移動客戶端和云端服務相結合的模式.云環(huán)境下移動端車型識別處理框架如圖1所示, 主要由應用層和服務層兩部分組成.應用層將查詢圖片傳輸?shù)椒諏? 為了降低圖片傳輸?shù)牡却龝r間, 應用層將在盡可能不丟失圖像信息的基礎上采用圖像壓縮技術減小查詢圖片的大小.服務層在收到查詢圖片后進行的操作包括圖像預處理、車輛區(qū)域切割提取、模型分類3個部分, 其中,車輛區(qū)域切割是為了將圖像中的車輛區(qū)域與背景區(qū)域分離, 減少背景像素帶來的噪聲干擾.
圖1 云環(huán)境下移動端車型識別處理框架圖Fig.1 Mobile car make and model recognition processing framework in cloud environment
2.1圖像采集及傳輸
應用層面向使用移動設備的用戶, 通過將直接拍攝車輛或者來源于互聯(lián)網(wǎng)的圖片作為查詢圖片提交給服務層處理.
為了減小圖片的傳輸成本, 在應用層需要對查詢圖片進行壓縮, 但又需要盡可能保證壓縮后的圖片質(zhì)量不被破壞以達到理想的識別效果.為了兼顧兩者, 本文采用谷歌在2017年開發(fā)的Guetzli壓縮工具, 該工具可通過對圖片全局量化表進行微調(diào), 對DCT(discrete cosine transform)系數(shù)的高頻部分實現(xiàn)有選擇的丟棄.試驗證明, 該工具能在不損失圖片質(zhì)量的情況下達到最高35%的壓縮率, 可有效完成圖片壓縮.車輛圖片采用Guetzli壓縮前后的圖片如圖2所示, 壓縮前圖片的大小為488 KiB, 壓縮后可減小到320 KiB.
(a) 壓縮前
(b) 壓縮后
2.2圖像預處理
由于拍攝角度和光線等因素可能會造成拍攝的圖片質(zhì)量不高, 因此服務層在接收到來自應用層的查詢圖片后需要對圖像做一些預處理, 主要的操作包括圖像去噪和圖像增強兩部分,這兩種操作均采用小波變換的方式實現(xiàn). 首先對圖像進行小波變換, 得到圖像的不同頻率分量的小波變換系數(shù).其次, 對高頻系數(shù)進行適當?shù)脑鰪娞幚? 再進行小波逆變換, 達到圖像的細節(jié)或邊緣增強的目的. 由于噪聲大多屬于高頻信息, 當進行小波變換之后, 噪聲信息大多集中在高頻子塊之中, 對這一部分系數(shù)進行抑制, 可達到一定的噪聲去除效果.
2.3車輛區(qū)域分割
無論是車輛的訓練圖片還是查詢圖片, 往往都包含著需要識別的車輛區(qū)域及其背景區(qū)域.對于車型識別, 所有背景區(qū)域都應該作為噪聲去除.車輛區(qū)域分割要解決的主要問題是確定車輛在圖片中的位置信息.
在傳統(tǒng)方法的實現(xiàn)中, 區(qū)域分割的解決基本都遵循“設計手工特征(hand-crafted feature)+分類器”的思路.該過程包含區(qū)域搜索的步驟, 類似于計算機用一個小的矩形窗口不斷在圖像上滑動和縮放, 然后采用分類器預測當前滑動窗口所在區(qū)域是否存在感興趣的對象.但是, 手工選擇的特定特征(如SIFT等)往往不能充分體現(xiàn)圖片的特征, 達不到理想的效果.隨著卷積神經(jīng)網(wǎng)絡在圖像分類上的應用, 研究發(fā)現(xiàn)將其與區(qū)域劃分結合后,卷積神經(jīng)網(wǎng)絡能夠更有效地解決區(qū)域分割這一問題.rCNN(regions with CNN)即是一個基于上述思想而提出的區(qū)域分割算法[8], 流程包括以下4個步驟:
(1) 1張圖像生成1 000~2 000個候選區(qū)域;
(2) 對每個候選區(qū)域, 使用卷積神經(jīng)網(wǎng)絡進行特征提取;
(3) 提取的特征送入每一類的SVM(support vector machine)分類器, 判別是否屬于該類;
(4) 使用回歸器精細修正候選框位置.
其中, 候選區(qū)域的生成采用選擇性搜索方法[9], 該算法可在圖片中選出多個區(qū)域, 這些區(qū)域將作為物體識別的候選區(qū)域.對圖像進行區(qū)域提取后, 將每個區(qū)域作為輸入, 利用卷積神經(jīng)網(wǎng)絡進行特征提取.采用開源框架Caffe[10]進行神經(jīng)網(wǎng)絡的訓練, 以ILSVRC圖像數(shù)據(jù)作為訓練集.神經(jīng)網(wǎng)絡的設計共分為8層: 前5層為卷積層,其后 2層為全連接層, 最后1層為標簽層.在神經(jīng)網(wǎng)絡的訓練過程中, 為了適配網(wǎng)絡, 將輸入圖像向下取樣為227像素× 227像素的大小, 將圖像按比例縮放至短邊為227像素, 然后截取長邊中間227像素的部分.
由于選擇搜索算法對于每一張圖片都將產(chǎn)生大量的建議區(qū)域, 數(shù)量過多且互相重疊, 有許多冗余的區(qū)域, 因此在進行物體識別后, 采用貪心的非極大抑制算法對區(qū)域進行篩選, 具體算法如下:
Require:所有預測區(qū)域集合RS所有預測類別列表C={C1,C2…Cn}每個區(qū)域的預測類別列表及相應分數(shù)Ensure:保留的區(qū)域集合RS1Loop:對于每一個預測的類Ci1.RSi={}2.將RS按Ci的預測分數(shù)從高到低排序3.將最高的區(qū)域加入RS中4.計算其他區(qū)域與RSi中區(qū)域面積的交集并集之比IoU5.如果IoU均小于一定閾值,加入到RSi中End:RS1=RS1∪RS2∪...∪RSn
在本文中, 將閾值設為0.5, 實現(xiàn)對預測分數(shù)非最大的區(qū)域進行抑制, 從而避免區(qū)域的重復標注.貪心的非極大抑制算法獲得的車輛區(qū)域分割結果如圖3所示, 其中圖3(a)為采用選擇性搜索生成的候選區(qū)域.隨后對這些候選區(qū)域通過卷積神經(jīng)網(wǎng)絡進行特征提取,并利用SVM進行分類, 其中結果大于0.5的區(qū)域認為是車輛區(qū)域.最后通過非極大抑制算法完成區(qū)域的合并, 得到如圖3(b)所示的輸出結果.
(a) 選擇性搜索方法
(b) 貪心的非極大抑制算法圖3 采用貪心的非極大抑制算法獲得的車輛區(qū)域分割結果Fig.3 Products of region segmentation using greedy non-maximum suppression algorithm
2.4基于卷積神經(jīng)網(wǎng)絡的車型分類器實現(xiàn)
在完成對車輛區(qū)域和背景區(qū)域的分割之后, 將分割出的車輛區(qū)域作為輸入進行分類器的訓練.
本文結合卷積神經(jīng)網(wǎng)絡和斯坦福大學提供的標注車輛圖片庫[11]中的16 185張圖片和196種車輛類別進行試驗, 用于解決車輛圖片的細粒度分類問題.采用的神經(jīng)網(wǎng)絡模型結構為AlexNet[12]的修改版, 一共包括8層: 5層卷積層和3層全連接層, 最后一層全連接層為輸出分類層.第1層卷積層采用96個大小為11 × 11和步長為4 ×4的卷積核, 得到的輸出再經(jīng)過池化操作后得到大小為27 × 27 × 96的輸出隱層, 同時也作為第2層卷積層的輸入.之后的操作與上述相似, 各卷積層的卷積核大小分別為5 ×5、3 × 3、3 × 3和3 × 3, 過濾器數(shù)量依次為256、384、384和256, 步長均為1 × 1.其中, 第3和第4層卷積層將卷積后的結果直接作為下一層輸入, 而第2和第5層在卷積后還需要再進行池化操作.池化層均采用大小為3 × 3和步長為2 × 2的max pooling(特征最大匯總), 每次計算可以減少一半的神經(jīng)元, 起到減少計算量以及有效控制過擬合的作用.同時根據(jù)訓練集的樣本類別個數(shù),將最后全連接層的輸出大小修正為196.
模型采用ReLu函數(shù)代替?zhèn)鹘y(tǒng)的Logistics函數(shù)作為激活函數(shù), 使得前向傳播和利用偏導計算反向梯度都變得更容易, 避免了指數(shù)和除法之類的復雜操作.同時, 拋棄輸出為0的隱層神經(jīng)元, 以此增加網(wǎng)絡的稀疏性, 也在一定程度上達到緩解過擬合的作用.采用減法歸一化對卷積特征進行歸一化操作. 減法歸一化是針對一個卷積特征而言, 反映了一個卷積特征中某個位置與鄰域位置的關系.減法歸一化的具體操作是將目標位置與鄰域位置進行加權和相減, 鄰域位置的權值大小與鄰域位置距離目標位置的長度有關.
在訓練之前, 首先采用貪心的非極大抑制算法將所有的標注樣本進行車輛區(qū)域與背景區(qū)域的分割, 并將車輛區(qū)域剪裁成224像素 × 224像素的大小以符合網(wǎng)絡輸入.數(shù)據(jù)集按照9∶1的方式分割為訓練集和測試集. 卷積神經(jīng)網(wǎng)絡結構如圖4所示, 訓練集訓練完成后利用測試集評估結構的好壞.
圖4 卷積神經(jīng)網(wǎng)絡結構Fig.4 Framework of CNN
2.5服務結果生成
通過訓練完成的車型分類器得到了具體車型后, 可結合網(wǎng)絡中的開放數(shù)據(jù)獲得如車速、排量等基本信息.除此之外, 也可以采用主題模型LDA(latent dirichlet allocation)等方法對汽車論壇中的用戶評論數(shù)據(jù)進行挖掘, 總結出關鍵字后提供給應用層用戶, 使其獲得更多的相關信息.
3.1系統(tǒng)實現(xiàn)
基于卷積神經(jīng)網(wǎng)絡的車型識別系統(tǒng)實現(xiàn)界面如圖5所示, 分別包含安卓移動客戶端的實現(xiàn)界面和后臺識別服務界面.
3.2試驗環(huán)境
利用深度網(wǎng)絡開源訓練框架Caffe, 在Intel Corei7、GTX540環(huán)境下進行訓練, 數(shù)據(jù)集采用斯坦福開源車輛數(shù)據(jù)集.
3.3試驗結果對比與討論
本文試驗方法與針對車輛后視圖[4]、前視圖[13]的車型分類或是任意角度的交通類型分類[14]的識別結果對比如表1所示.
(a) 安卓移動客戶端實現(xiàn)界面
(b) 后臺識別服務界面
項目本文系統(tǒng)文獻[4]文獻[13]文獻[14]準確率/%92899197適用對象任意角度車輛后視圖車輛前視圖任意角度方法rCNN區(qū)域分割+卷積神經(jīng)網(wǎng)絡特征提取和分類人工特征提取、匹配人工特征提取、匹配卷積神經(jīng)網(wǎng)絡或人工特征提取+SVM分類器識別粒度車輛品牌、型號車輛品牌、型號車輛品牌、型號車輛交通類型存在問題訓練時間較長需要預先選定特征、受選擇的特征影響較大需要預先選定特征、受選擇的特征影響較大,測試集合較小識別粒度較大,只能精確到bus、truck等交通類型
由表1可以看出, 本文系統(tǒng)在車輛交通類型的識別上取得了非常好的效果, 可以保證較高準確率的同時還不用對查詢圖像的拍攝角度作出限制.但在細粒度分類應用于具體車輛品牌和型號的研究中, 往往只能在某個特定角度的查詢圖片中取得不錯的結果, 該現(xiàn)象的主要原因為缺少大量多角度的標注樣本及人工選擇的特征泛化能力較弱.
本文結合卷積神經(jīng)網(wǎng)絡、區(qū)域分割技術和公開的大量標注數(shù)據(jù)集, 解決了對任意拍攝角度的車輛圖片在品牌和型號上的細粒度分類問題, 其準確率與傳統(tǒng)單視圖識別相當甚至更好.
由于缺乏足量的標注樣本和強大的車輛特征, 實現(xiàn)對任意角度的圖片精確到車輛品牌和型號的識別是一個尚未被充分研究的問題.本文采用卷積神經(jīng)網(wǎng)絡模型, 憑借其在靜態(tài)圖片上展現(xiàn)出的強大的特征提取能力, 同時結合SVM分類器的訓練, 在車輛類別分類問題的解決上取得了較優(yōu)的成果.利用rCNN預先分割出車輛區(qū)域, 減少背景區(qū)域對分類帶來的噪聲影響, 提高了車型識別的準確率.
下一步工作將研究不同壓縮算法和預處理算法對圖像效果造成的影響; 嘗試使用更快速的rCNN模型提升區(qū)域分割環(huán)節(jié)的處理速度; 考慮不同網(wǎng)絡模型結構對分類準確率的提高和影響.
[1] JANG D M, TURK M. Car-Rec: A real time car recognition system[C]//Applications of Computer Vision (WACV), 2011 IEEE Workshop on. IEEE. 2011: 599-605.
[2] ZHANG B. RELIABLE classification of vehicle types based on cascade classifier ensembles[J]. IEEE Transactions on Intelligent Transportation Systems, 2013, 14(1): 322-332.
[3] LIU J, KANAZAWA A, JACOBS D, et al. Dog breed classification using part localization[C]// European Conference on Computer Vision. Springer Berlin Heidelberg. 2012: 172-185.
[4] NILSBACK M E, ZISSERMAN A. Automated flower classification over a large number of classes[C]//Computer Vision, Graphics & Image Processing, 2008. ICVGIP’08. Sixth Indian Conference on. IEEE. 2008: 722-729.
[5] SANTOS D, CORREIA P L. Car recognition based on back lights and rear view features[C]//Image Analysis for Multimedia Interactive Services 2009. WIAMIS'09. 10th Workshop on. IEEE. 2009: 137-140.
[6] PETROVIC V S, COOTES T F. Analysis of features for rigid structure vehicle type recognition[C]//British Machine Vision Conference. 2004: 587-596.
[7] ABDELMASEEH M, BADRELDIN I, ABDELKADER M F, et al. Car make and model recognition combining global and local cues[C]//Pattern Recognition (ICPR), 2012 21st International Conference on. IEEE. 2012: 910-913.
[8] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014: 580-587.
[9] UIJLINGS J R R, SANDE KEAV D, GEVERS T, et al. Selective search for object recognition[J]. International Journal of Computer Vision, 2013, 104(2): 154-171.
[10] JIA Y, SHELHAMER E, DONAHUE J, et al. Caffe: Convolutional architecture for fast feature embedding[C]//Proceedings of the 22nd ACM International Conference on Multimedia. ACM. 2014: 675-678.
[11] KRAUSE J, STARK M, Deng J, et al. 3d object representations for fine-grained categorization[C]//Proceedings of the IEEE International Conference on Computer Vision Workshops. 2013: 554-561.
[12] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference Neural Information Processing Systems. 2012: 1097-1105.
[13] 姚欽文. 基于卷積神經(jīng)網(wǎng)絡的車臉識別研究[D].杭州: 浙江大學計算機學院, 2016.
[14] HUTTUNEN H, YANCHESHMEH F S, CHEN K. Car type recognition with deep neural networks[C]//Intelligent Vehicles Symposium (IV). IEEE. 2016: 1115-1120.
(責任編輯:楊靜)
CarMakeandModelRecognitionBasedonConvolutionalNeuralNetwork
LIZheming,CAIHongming,JIANGLihong
(School of Software, Shanghai Jiao Tong University, Shanghai 200240, China)
The recognition of car make and model is a kind of problem of fine-grained classification area. It’s hard to classify them due to the subtle difference among classes compared to other common image recognition problems. While powerful feature-found ability of convolutional neural network(CNN) on static image has made remarkable achievements in the image classification problem. Therefore, a complete model based on CNN is designed by combining the large open source data sets, region segmentation is applied to raise the accurate while the interaction is designed according to the characteristics of mobile internet. Experiment shows that this method can effectively solve the problem.
car make and model recognition; fine-grained classification; convolutional neural network; region segmentation; image processing
TP 391
A
1671-0444 (2017)04-0472-06
2017-04-28
國家自然科學基金資助項目(61373030,71171132)
黎哲明(1992—),男,福建龍巖人,碩士研究生,研究方向為信息可視化. E-mail: lizheming@sjtu.edu.cn
蔡鴻明(聯(lián)系人),男,教授,E-mail: hmcai@sjtu.edu.cn