董振江+高燕+吳文熙
摘要:提出采用一種基于深度學習的識別方法,來輔助獲取訓練模型中所需要的車輛屬性標簽。該方法首先利用海報圖像構建大規模車輛屬性數據集(SYSU-ZTE-CARS),訓練基于卷積神經網絡(CNN)的識別模型,再將模型遷移到監測控制場景中進行標注測試,間接獲取屬性標簽。采用CNN+softmax分類器的結構作為基本框架,引入細粒度識別技術以進一步優化識別性能。利用5種常用車輛屬性進行測試,實驗結果表明:所提出的方案不僅在SYSU-ZTE-CARS數據集上的識別精度高,而且在監測控制場景下的標注結果也很可靠。
關鍵詞: 精細化屬性識別;CNN;深度學習;計算機視覺
智能交通[1-2]領域中牽涉到很多計算機視覺的任務,需要對海量的視頻、圖像數據進行處理、分析。在基于車輛視頻圖像的分析任務中,傳統技術不僅效率較低,耗費巨大的人力、物力、財力,而且欠缺對數據的感知表達能力,沒有充分利用數據、挖掘數據特性,以致分析精度不夠高。引入車輛屬性識別的方法,可以增強算法對目標車輛特征的理解和表達能力,大大提高分析任務的可靠性和效率。
隨著計算機視覺和機器學習技術的發展,以它們為技術基礎的新一代智能分析技術,在目標檢測、識別、檢索等任務中表現優越,能夠極大地減少人力成本,提高監測控制的效率,有巨大的應用潛力。
自2012年ImageNet[3]國際大規模視覺識別比賽以來,業界掀起了一波基于計算機視覺和深度學習的識別技術研究和應用熱潮。深度學習是一門大數據驅動的技術,我們通常認為:提供訓練的數據量越大,所訓練得到的模型性能越好;而在視頻監測控制的應用場景下,海量的視頻圖像數據會源源不斷地產生,因此將深度學習技術應用在視頻監測控制領域,恰能發揮其先天優勢以及視頻數據的作用。
基于深度學習的屬性識別技術,通常以卷積神經網絡(CNN)為基本工具。CNN模型參數的學習,目前使用最廣泛也是最穩定的方法是有監督的訓練策略。這種策略需要使用大量車輛圖片及其屬性標簽作為訓練樣本。目前面臨最大的挑戰是:在現實監測控制場景下的車輛屬性標簽很難獲取。雖然有些屬性標簽可以通過人工標注的方式獲取,如顏色、視角、車類型、品牌等,但是這種方式同時也帶來了新的問題,如:顏色易受光照影響,在極端光照環境下,人眼無法正確判別車輛顏色;品牌往往需要通過車標來確定,一旦車標模糊、被遮擋、不可見,則需要通過人眼來判別車輛品牌。
另一方面,我們注意到:在互聯網上有大量帶有屬性標簽的車輛海報圖片。為了獲取監測控制場景下的車輛屬性標簽,我們考慮了一種跨場景自動標注的技術方案。該方案中,我們先利用帶有屬性標簽的車輛海報圖片訓練屬性識別模型,再將此模型遷移到現實的監測控制場景中,自動標注出車輛屬性。
1 車輛屬性識別的相關工作
1.1 車輛屬性識別的研究
目前,對于車輛屬性的研究工作和應用都已經相當廣泛,主要集中于視角識別、顏色識別、車類型識別、品牌識別等幾個方面。
在視角識別方面,學術界主要在KITTI基準測試平臺[4]上進行。KITTI上的研究絕大部分是基于CNN的,其識別效果精度都非常高,有些優秀的工作如多尺度CNN(MSCNN)[5]、循環滾動卷積(RRC)[6]等,以及一些利用三維信息的工作,能夠在直接預測車輛偏轉角度的具體數值的任務上有可靠的性能表現。
在顏色識別方面,研究難點在于:光照影響對顏色判斷的干擾特別嚴重。目前主要的研究多是基于強判別性區域輔助的方式,具體實現手段主要包括利用關鍵點、利用局部分割等。在顏色特征表達上,主要有基于閾值分割、顏色直方圖和CNN等。
在車類型識別方面,可以分成兩大類:基于非視覺的方法和基于視覺的方法。基于非視覺的方法,業界通常采用如雷達、超聲波、紅外線等傳感器信號開展研究應用;基于視覺的方法則通過通用攝像頭采集視頻圖像數據,再通過計算機視覺技術進行識別。目前的研究主要有基于直方圖特征、低維投影特征和稀疏表示特征等傳統方法。
在品牌與子品牌識別方面,研究成果同樣也可以分為傳統方法和深度學習方法兩大類。傳統方法主要是通過傳統特征工程的手段人工設計特征,如Curvelet變換、方向梯度直方圖(HOG)特征、分層梯度直方圖(PHOG)特征、邊緣方向直方圖(EOH)特征、Gabor小波等,也有基于融合特征進行稀疏編碼的解決方案。深度學習方法,主要是基于CNN特征對屬性進行判別的,也有一些針對細粒度識別的工作,如Part-based R-CNN 模型、基于分割圖輔助的CNN模型、雙線性CNN模型等。
總體來說,基于傳統方法的車輛識別技術都有特征設計過程反復、特征表達能力魯棒性差、模型泛化能力差的缺點;而基于深度學習的車輛屬性識別技術,則具有強大的數據描述能力,且在泛化性、識別精度、穩定性上都比傳統方法更勝一籌。
1.2 CNN網絡的研究
屬性識別往往通過分類技術實現,而分類問題是作為基于CNN的視覺識別中一項最基本任務,其性能最主要體現在CNN網絡結構之上,CNN網絡的發展直接就能夠反映分類精度變化。
在大規模視覺識別挑戰(ILSVRC)2012比賽中,AlexNet的成功再次掀起了學者們對CNN的研究熱潮。CNN結構上的發展體現在兩個主要的維度上——深度和廣度。在深度上,從8層的AlexNet,到16層的VGG[7]、24層的GoogLeNet,再到152層的ResNet。在Cifar數據集上,ResNet還成功實現了極深網絡,層數達到1 001層。在2016年的ImageNet比賽中,商湯科技-香港中文大學團隊更是使用了1 200層的極深網絡。在廣度上,GoogLeNet[8]首先設計出Inception模塊,在同一層網絡里使用了更多子網絡。
研究表明:CNN的層數越深,網絡表達能力越強。文章中,我們基于ResNet系列的網絡結構開展實驗,同時考慮到任務難度,也采用了輕量級網絡,如AlexNet;兼顧精度和測試效率,我們也采用了中等深度網絡,如VGG16。
1.3 相關數據集的情況
關于車輛屬性圖片數據集,目前比較有代表性的主要有CompCars[9]、BoxCars[10]、城鎮交通運輸監測控制系統數據集(UTS)[11]。
CompCars數據集由香港中文大學所提出,是目前學術界規模最大的車輛精細化屬性數據集。數據集分為兩部分:一部分來自于各大汽車門戶網站中的圖片;另一部分來自于道路監測控制視頻截取出的圖片。第1部分收集161個汽車品牌、1 687個子品牌汽車,子品牌下還細分了汽車的生產年份,其中整車圖片有136 727張,汽車部分細節圖片有27 618張,這些圖片涵蓋車輛的5種視角、12種類型;第2部分有50 000張汽車正面的監測控制圖像,同樣標注了車類型、品牌和子品牌,除此之外,第2部分數據還標注了10種顏色。BoxCars數據集也是汽車海報圖片,標注內容和方式與CompCars相似,但其規模遠不如CompCars。UTS數據集收集的是監測控制場景下的原始圖片,是目前在該場景下標注內容最豐富、最貼近現實應用場景的圖片。UTS數據集共3 600張圖片,涵蓋了6種場景,在每種場景內包含多輛車,它的標注內容包括車輛位置、5種視角、9種顏色和6種常見車類型。
雖然UTS數據集非常貼近現實應用場景,但是由于標注量較小、屬性豐富性欠缺等原因,使得無法訓練得到泛化能力較強的屬性識別模型。然而,CompCars的屬性標簽也未與現實場景完全吻合,如CompCars并沒有覆蓋到如“貨車”“公交車”等常見車類型,其第2部分數據雖然來自于卡口監測控制場景,但視角單一。為了彌補CompCars和UTS數據集的不足,文中我們自行構建了大規模的車輛屬性數據集SYSU-ZTE-CARS。
2 基于深度學習的車輛屬性識別方案
2.1 基于CNN的基本技術框架
基于深度學習的車輛屬性識別方案,主要以CNN作為基本工具。CNN是一種參數可學習的模型,通常是利用反向傳播(BP)算法對網絡參數進行微調更新,有著數據擬合能力強,訓練簡便,支持端到端的訓練和測試的特點。在屬性識別技術方案(如圖1所示)中,CNN的作用是作為特征提取器,對輸入的圖片/視頻幀進行特征表達,得到其具有較強判別性的特征向量;再利用分類器對特征向量進行分類,以此實現對圖片/視頻幀中車輛屬性的識別。
文中所提出的方案選用了AlexNet[12]、VGG16[7]、ResNet[13]等經典CNN模型,利用有監督學習的方法,訓練了多種屬性識別網絡模型,對不同屬性的識別性能進行了測試評估和分析。
2.2 基于細粒度的識別優化方案
屬性識別,本質上是類內區分。對于類內判別性較強的屬性,如視角、顏色、車類型,直接采用“CNN+分類器”的方法已能夠獲得比較好的識別效果;但對于類內區分度不明顯的屬性,如品牌和子品牌,我們通常需要使用基于細粒度的識別技術來提高識別的精確度。文中,我們采用雙線性CNN(B-CNN)[14]的方法,使用B-CNN網絡框架(如圖2所示),增強特征向量對于細粒度分類識別的表達能力。
B-CNN延續了一般物體分類的做法,即通過CNN提取特征,然后用向量表示特征,最后用分類器分類向量。一般物體分類的做法是用全連接層將特征圖轉化為一條特征向量,作者認為這種做法導致特征向量的辨別程度不高,難以辨識相似度高的物體。在工作中,使用的是雙流CNN,它分別提取了兩個特征圖,并且將在這兩個特征圖每個位置算外積,然后用sum-pooling池化,最后再拉直成一條特征向量[14]。用這個特征向量進行細粒度的分類識別,效果有顯著提升。
假設圖I某個區域i經過兩個CNN對應的特征圖分別是矩陣A(維)和B(維),其中M和N是兩個特征圖的深度,C可以是兩位的數對,代表寬和高。
那么此時兩矩陣相乘AT×B 的結果是矩陣Pi(維),則
將Φ(I )拉直成一條向量L(維),即圖2中的雙線性特征向量。對這個特征向量做標準化處理后便可用作分類。在對細粒度屬性表達能力上,該方法所得到的特征向量比全連接層輸出的特征向量的更強。
2.3 車輛屬性識別演示系統
文中,我們研究并實現了一個車輛屬性識別演示系統,此原型系統的設計主要參考MVC框架,將界面、業務邏輯、數據三者分層,在修改業務邏輯時只需要修改控制層的部件,在修改用戶界面(UI)時,只需要對定義UI的xml文件做出修改,不需要改變控制層的代碼,降低了代碼的耦合性,增加重用性。系統的總體架構如圖3所示:最上層是UI層,中間是業務邏輯層,下面是數據資源層,而右邊則是該系統的技術支持層。
演示系統使用python+pyqt4開發,界面簡潔。系統主要功能是對輸入的圖像和視頻做車輛檢測和屬性識別處理,并輸出結果。系統的深度學習框架采用Caffe[15],Caffe是采用C++語言開發的高清晰、高可讀性、高效的深度學習框架,支持多語言接口。
3 車輛屬性識別實驗結果與分析
3.1 SYSU-ZTE-CARS數據集
我們使用有監督的訓練方法訓練屬性識別模型,該方法需要訓練樣本,即圖片及其屬性類別標簽。因此,我們參考CompCars數據集的構建方式和經驗,利用網絡爬蟲技術,從互聯網獲取了大量車輛圖片,并對所有圖片進行了屬性標注,構建了用于訓練屬性識別模型的大規模數據集SYSU-ZTE-CARS,圖4是該數據集的樣例圖片。
SYSU-ZTE-CARS數據集共有169 610張的車輛圖片,共標注了5種常用車輛屬性,其屬性標簽標注情況如表1所示。其中,屬性標簽包括正前、正后、正側、前側和后側共5種車輛視角;包括黑、白、紅、藍、黃、綠、紫、棕、灰、銀共10種顏色;包括“MPV”“SUV”“掀背車”“轎車”等15種類型,以及215種品牌和1 609種子品牌。
3.2 車輛屬性識別實驗結果
在算法的性能測試實驗中,我們初步采用單任務學習框架,在SYSU-ZTE-CARS數據集上對屬性識別算法性能進行評估,如表2所示。所謂的單任務學習框架,即對每一種屬性,分別訓練一個CNN模型,各屬性識別模型之間的參數不共享。
評測指標我們采用Top-1精度評價策略,即把模型預測結果按置信度從高到低排序,只考慮置信度最高的預測結果是否正確。
實驗結果表明:對于簡單的屬性,如視角、顏色、車類型,采用輕量級網絡(AlexNet)或中等深度網絡(VGG16),已經有比較可靠的識別精度。采用極深網絡(ResNet系列)雖然對識別精度有小幅提升,但同時也增加了模型的參數規模,增大了計算量。細粒度識別技術對于簡單屬性的識別精度提升不但幫助不大,反而增加了模型運算開銷。對于較困難的屬性,如品牌,輕量級網絡的特征判別性表達能力不足,增加網絡深度,可以明顯提高識別精度。采用細粒度識別優化后,其識別精度有小幅上升。對于困難的屬性,如子品牌,僅僅增加網絡深度并不能獲得較好的識別性能,而須要通過細粒度的識別技術來增強特征的可判別性,才能達到可靠的識別精度。
圖5是算法識別效果樣例,上面兩行分別是SYSU-ZTE-CARS數據集上的樣例圖片和算法預測的屬性標簽,下面兩行分別是在現實應用場景中的測試樣例圖片和算法預測的屬性標簽。預測標簽中,黑色字體表示正確預測,紅色字體表示預測錯誤。SYSU-ZTE-CARS上正確屬性通過構建數據集的時候標注獲得,由于現實場景中沒有預標注的屬性標簽,我們將預測結果與網上搜索結果進行比對來判斷預測的正確性。我們抽取了1 000張真實場景的圖片作為測試樣例,人工評估的結論是:這種跨場景自動標注的方法在非極端條件下的識別精確度較度,比較可靠;在極端條件下,則仍須要人工檢驗。
4 結束語
基于跨場景標注的思路,通過構建大規模車輛屬性數據集,在車輛海報圖片場景中訓練屬性識別模型,再將模型遷移到現實監測控制場景中進行自動標注,以此方式間接獲得檢測控制場景下的車輛屬性標簽。通過初步的實驗測試評估,該思路可行性較高。
參考文獻
[1] 潘秋菱, 許曉杰, 肖乾友. CNGI上的一種電信新業務:智能交通[J]. 中興通訊技術, 2005, 11(5):16-19
[2] 王滌宇, 付超賢. 交通2.0——智慧交通的關鍵[J]. 中興通訊技術, 2014, 20(4):11-15. DOI: 10.3969/j.issn.1009-6868.2014.04.003
[3] RUSSAKOVSKY O, DENG J, SU H, et al. Imagenet Large Scale Visual Recognition Challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252
[4] GEIGER A, LENZ P, URSTASUN R. Are We Ready for Autonomous Driving? The Kitti Vision Benchmark Suite[C]// 2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). USA: IEEE, 2012: 3354-3361
[5] CAI Z, FAN Q, FERIS R S, et al. A Unified Multi-Scale Deep Convolutional Neural Network for Fast Object Detection[C]//European Conference on Computer Vision. Germany: Springer International Publishing, 2016: 354-370
[6] REN J, CHEN X, LIU J, et al. Accurate Single Stage Detector Using Recurrent Rolling Convolution[EB/OL].[2017-04-27] .https://arxiv.org/abs/1704.05776
[7] SIMONYAN K, ZISSERMAN A. Very Deep Convolutional Networks for Large-Scale Image Recognition[EB/OL].[2017-04-27]. https://arxiv.org/abs/1409.1556
[8] SZEGEDY C, LIU W, JIA Y, et al. Going Deeper with Convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2015: 1-9. DOI: 10.1109/CVPR.2015.7298594
[9] YANG L, LUO P, CHANGELOY C, et al. A Large-Scale Car Dataset for Fine-Grained Categorization and Verification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. USA:IEEE, 2015: 3973-3981. DOI: 10.1109/CVPR.2015.7299023
[10] SOCHOR J, HEROUT A, HAVEL J. BoxCars: 3D Boxes as CNN Input for Improved Fine-Grained Vehicle Recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. USA:IEEE, 2016: 3006-3015. DOI: 10.1109/CVPR.2016.328
[11] ZHOU Y, LIU L, SHAO L, et al. DAVE: A Unified Framework for Fast Vehicle Detection and Annotation[C]//European Conference on Computer Vision. Germany: Springer International Publishing, 2016: 278-293
[12] KRIZHEVSKY A, SUSKEVER I, HINTON G E. Imagenet Classification with Deep Convolutional Neural Networks[C]//Advances in Neural Information Processing Systems. USA:IEEE, 2012: 1097-1105
[13] HE K, ZHANG X, REN S, et al. Deep Residual Learning for Image Recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2016: 770-778. DOI: 10.1109/CVPR.2016.90
[14] LIN T Y, ROYCHOWDHURY A, MAJI S. Bilinear CNN Models for Fine-Grained Visual Recognition[C]//Proceedings of the IEEE International Conference on Computer Vision. USA:IEEE, 2015: 1449-1457
[15] 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. USA:ACM, 2014: 675-678