金亞楠 嚴(yán)碧波
摘要:針對傳統(tǒng)的道路交通監(jiān)控系統(tǒng)對目標(biāo)的識別準(zhǔn)確率較差、模型魯棒性較弱且不具備實時性等問題,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的道路交通目標(biāo)檢測方法。和傳統(tǒng)的道路監(jiān)控檢測系統(tǒng)相比,卷積神經(jīng)網(wǎng)絡(luò)的模型更加適合處理大規(guī)模的數(shù)據(jù)。在卷積神經(jīng)網(wǎng)絡(luò)的分層特征提取下,既可以獲得圖像的低級語義,也可以獲得圖像的高級語義,經(jīng)過對不同層級的樣本特征分析,可以綜合性地對目標(biāo)進(jìn)行識別分類,進(jìn)一步提高模型的分類性能。驗證結(jié)果表明該方法不但在準(zhǔn)確率方面遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的識別系統(tǒng),而且在硬件條件允許的情況下具有實時性。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);SSD模型;遷移學(xué)習(xí);目標(biāo)檢測
中圖分類號:TP18? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)20-0211-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
Abstract: To address the problems that the traditional road traffic monitoring system has poor target recognition accuracy, weak model robustness and no real-time performance, a road traffic target recognition method based on convolutional neural networks is proposed. Compared with the traditional road monitoring and recognition system, the convolutional neural network model is more suitable for processing large-scale data. Under the hierarchical feature extraction of convolutional neural networks, both the low-level and the high-level semantics of the image can be obtained. After analyzing the sample features of different levels, the target can be comprehensively identified and classified, and the models classification performanc can be further improved as well. Experiments show that this method is not only superior to the traditional identification system in terms of accuracy, but also has real-time performance when the hardware conditions permit.
Key words: convolutional neural networks; SSD model; migration learning; target detection
隨著人們生活水平的不斷提高,國內(nèi)的汽車保有量近幾年快速攀升,導(dǎo)致道路交通擁堵,交通事故頻發(fā)等問題層出不窮,交通管理部門所面臨的壓力越來越大。通過道路監(jiān)控系統(tǒng)進(jìn)行目標(biāo)檢測成了智能交通領(lǐng)域的一個重要研究課題,可以為交通監(jiān)管和違章識別告警等方面提供有力的技術(shù)支持。
傳統(tǒng)的道路監(jiān)控系統(tǒng)主要采用以下幾種非深度學(xué)習(xí)的目標(biāo)檢測方法:特征匹配法[1],光流法[2],幀差法[3]和背景建模法[4]等,但由于在實際的道路環(huán)境下,監(jiān)控畫面的角度、光照和背景等多方面的原因都會給傳統(tǒng)的識別系統(tǒng)帶來很大的挑戰(zhàn)。傳統(tǒng)的目標(biāo)識別系統(tǒng)對復(fù)雜環(huán)境的目標(biāo)捕捉和識別率較低,模型的魯棒性也很差。
近幾年,利用深度學(xué)習(xí)方法,借助卷積神經(jīng)網(wǎng)絡(luò)等進(jìn)行目標(biāo)檢測的研究工作有明顯上升[5]。卷積神經(jīng)網(wǎng)絡(luò)使圖像可以直接作為網(wǎng)絡(luò)的數(shù)據(jù)輸入,避免了傳統(tǒng)識別算法中復(fù)雜的特征提取過程,圖像特征也更加充分得到應(yīng)用。與傳統(tǒng)方法相比,卷積神經(jīng)網(wǎng)絡(luò)可以將更多的數(shù)據(jù)特征拿來訓(xùn)練模型,進(jìn)而有效降低外界條件對模型性能的影響,使模型具有更好的識別準(zhǔn)確率和魯棒性,更適合道路交通目標(biāo)的檢測識別要求。
1 SSD模型
由于對交通目標(biāo)的檢測需要具有實時性,這就不僅要求深度學(xué)習(xí)模型具有較高的識別精度和魯棒性,而且還要求對目標(biāo)的檢測速度要足夠快。根據(jù)對目前較為流行的目標(biāo)檢測模型Faster R-CNN[6]、YOLO[7]、SSD[8]等進(jìn)行對比(見表2),最終選擇性能更為優(yōu)越的端到端檢測的單發(fā)多框檢測器(Single Shot Multibox Detector,SSD)模型作為道路交通目標(biāo)檢測系統(tǒng)的訓(xùn)練模型。
1.1模型功能介紹
SSD模型在VGG16[9]的基礎(chǔ)上設(shè)計了6個特征提取模塊,來對不同層級的語義特征進(jìn)行提取和分類識別預(yù)測,同時在同一層級的特征圖上選擇長寬比不同的預(yù)測框,來提高目標(biāo)檢測精度。為了避免過多的負(fù)樣本邊界框影響模型訓(xùn)練的準(zhǔn)確率,網(wǎng)絡(luò)在非最大抑制策略的基礎(chǔ)上,使用Hard Negative Mining策略,根據(jù)邊界框的置信損失進(jìn)行排序,只訓(xùn)練較高損失度的負(fù)樣本子集,保證正負(fù)樣本的比例為1:3,這樣既減少了樣本計算量又避免了負(fù)樣本過多造成的模型訓(xùn)練精確度的影響。
該模型的算法結(jié)合了YOLO和Faster R-CNN的優(yōu)勢,以對目標(biāo)特征進(jìn)行分層提取和預(yù)測作為主體思路進(jìn)而實現(xiàn)回歸和分類。根據(jù)圖像的語義分析,在低層次的特征圖中語義分割質(zhì)量更高,包含較多的特征細(xì)節(jié),適合對小尺度目標(biāo)的進(jìn)行特征提取;在高層次的特征圖中語義分割更為抽象化,更為適合大尺度目標(biāo)。該模型的結(jié)構(gòu)在單一的回歸網(wǎng)絡(luò)的基礎(chǔ)上,針對不同的特征層級進(jìn)行多尺度目標(biāo)特征提取和預(yù)測分類,進(jìn)而實現(xiàn)目標(biāo)分類識別。SSD模型是采用端到端的訓(xùn)練方法,把檢測和分類一體化,它既綜合了YOLO模型端到端快速檢測的優(yōu)勢,又保留了Faster R-CNN模型對小目標(biāo)的檢測精度等特點。
1.2模型的損失函數(shù)
神經(jīng)網(wǎng)絡(luò)的模型的效果以及優(yōu)化的目標(biāo)都是通過損失函數(shù)來定義的,SSD模型的損失函數(shù)是模型訓(xùn)練和驗證時的重要衡量指標(biāo)之一,損失函數(shù)是可以根據(jù)數(shù)據(jù)要求進(jìn)行自定義的。根據(jù)訓(xùn)練時的目標(biāo)匹配策略,該模型總體的目標(biāo)損失函數(shù)是定位損失(loc)和置信度損失(conf)的加權(quán)和:
其中參數(shù)N是匹配的默認(rèn)邊界框的數(shù)量,如果N為0,則將損失函數(shù)設(shè)為0。定位損失是預(yù)測框(
2 構(gòu)建數(shù)據(jù)集
道路監(jiān)控系統(tǒng)要求基于交通監(jiān)控設(shè)備對交通目標(biāo)進(jìn)行實時的目標(biāo)檢測,識別道路上的機(jī)動車、非機(jī)動車和行人,因此我們需要構(gòu)建一個具有一定數(shù)量的不同目標(biāo)的數(shù)據(jù)集來實現(xiàn)對深度學(xué)習(xí)模型的訓(xùn)練、驗證和測試。數(shù)據(jù)來源分為兩個部分,一部分來自MIT的車輛數(shù)據(jù)集,另一部分由道路監(jiān)控采集而來,樣本的采集兼顧了不同的背景、不同光照條件等,通過左右翻轉(zhuǎn)和調(diào)整飽和度等方式實現(xiàn)數(shù)據(jù)增廣,保證樣本數(shù)據(jù)的多樣性和全面性。
構(gòu)建的數(shù)據(jù)集共包含4648張圖片,其中包含的檢測目標(biāo)分別為機(jī)動車、非機(jī)動車和行人,采用lableImg標(biāo)注工具對收集的目標(biāo)數(shù)據(jù)進(jìn)行標(biāo)注,制作成為PASCAL VOC 2007格式。根據(jù)要求將數(shù)據(jù)集按照4 :1的比例分為訓(xùn)練驗證集和測試集,再按照1 :1的比例將訓(xùn)練驗證集分為訓(xùn)練集和驗證集。數(shù)據(jù)集制作完成之后采用數(shù)據(jù)分析的形式對PASCAL VOC數(shù)據(jù)集的XML文件進(jìn)行數(shù)據(jù)分析,統(tǒng)計訓(xùn)練集、驗證集和測試集中各個目標(biāo)樣本的真實標(biāo)注框的數(shù)量和所在圖片的數(shù)量,作為SSD模型訓(xùn)練和驗證時的參數(shù)。數(shù)據(jù)集統(tǒng)計數(shù)據(jù)如下表所示:
3 對模型進(jìn)行遷移學(xué)習(xí)
所謂遷移學(xué)習(xí),就是將一個已經(jīng)訓(xùn)練相當(dāng)成熟的模型通過簡單的結(jié)構(gòu)調(diào)整使其適應(yīng)新的問題,在新的數(shù)據(jù)集上,可以直接利用這個訓(xùn)練好的模型來提取特征,然后再將新組合的特征向量作為輸入來訓(xùn)練調(diào)整后的模型參數(shù),以此來實現(xiàn)新的分類問題[10]。遷移學(xué)習(xí)的優(yōu)點在于所需要的訓(xùn)練時間和訓(xùn)練樣本都要遠(yuǎn)遠(yuǎn)小于重新訓(xùn)練完整模型,而且可以達(dá)到令人滿意的實驗效果。
由于實驗數(shù)據(jù)和實驗條件的限制,我們將在現(xiàn)有的SSD模型的基礎(chǔ)上,保留SSD原有模型的權(quán)重參數(shù),根據(jù)實驗的分類要求對模型相關(guān)超參數(shù)進(jìn)行更改,這些超參數(shù)主要有類別、學(xué)習(xí)率、學(xué)習(xí)率衰減因子、代次、迭代最大步數(shù)等(具體參數(shù)見下文4.2實驗參數(shù)設(shè)置),進(jìn)而對模型個別層的參數(shù)進(jìn)行微調(diào),使模型能夠很好地滿足對道路交通目標(biāo)中機(jī)動車、非機(jī)動車和行人的識別要求。
4 模型的測試及相關(guān)數(shù)據(jù)
4.1 實驗環(huán)境
本文實驗環(huán)境是操作系統(tǒng) Windows 10 64位 ( DirectX 12 ),處理器型號為英特爾 Core i7-8750H @ 2.20GHz 六核,顯卡型號為Nvidia GeForce GTX 1060,顯存為6G,內(nèi)存為16G。所選擇的深度學(xué)習(xí)框架為Tensorflow。
4.2 實驗參數(shù)設(shè)置
該實驗是在采集制作的PASCAL VOC 2007格式的數(shù)據(jù)集上進(jìn)行,實驗所采用的模型為VGG16-SSD模型,采用的最優(yōu)化算法為Adam,經(jīng)過不斷對各個參數(shù)的調(diào)試對比,最終選擇模型效果較好的超參數(shù)組合。經(jīng)過對模型的不斷調(diào)試,確定各個超參數(shù)設(shè)置如下:批次大小為24,權(quán)重衰減為0.005,學(xué)習(xí)率初始值為0.01,學(xué)習(xí)率衰減因子為0.98,學(xué)習(xí)率衰減頻率為8 epochs,最大迭代步數(shù)50000,GPU占用量0.7。
4.3 實驗數(shù)據(jù)對比分析
深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型有一系列的評價標(biāo)準(zhǔn),其中在模型訓(xùn)練時較為重要的評價指標(biāo)主要是模型總體損失函數(shù),而在測試階段模型性能評價指標(biāo)主要有平均準(zhǔn)確率及平均準(zhǔn)確率均值等。平均準(zhǔn)確率(Average precision,AP)是評價深度學(xué)習(xí)檢測模型準(zhǔn)確性最直觀的標(biāo)準(zhǔn),平均準(zhǔn)確率均值(mean AP,mAP)是各個類別 AP 的平均值,mAP 越高表示模型在全部類別中檢測的綜合性能越高。下表是各類算法在測試數(shù)據(jù)集上的性能評價指標(biāo)對比:
4.4 模型的測試效果展示
在實驗的過程中為了方便表示不同分類目標(biāo),選擇了用數(shù)字代表分類的方法;其中數(shù)字1代表機(jī)動車,數(shù)字2代表行人,數(shù)字3代表非機(jī)動車。以下四幅圖片是訓(xùn)練的模型檢測效果展示:
由以上測試結(jié)果可知,該模型的性能優(yōu)于先前的算法,對道路交通目標(biāo)有更高的檢測準(zhǔn)確率和更低的誤檢率,而且滿足系統(tǒng)所要求的實時性和模型魯棒性,但圖6的檢測結(jié)果同時也表明該模型還存在一定的缺點,如目標(biāo)漏檢等,經(jīng)過分析,可能是數(shù)據(jù)集還不夠充分,有待進(jìn)一步改進(jìn)。
5 結(jié)束語
目標(biāo)檢測是深度學(xué)習(xí)熱門的研究方向之一,應(yīng)用前景非常廣泛。通過實驗對比,深度學(xué)習(xí)模型SSD在道路目標(biāo)檢測上取得了較為不錯的測試效果。但與此同時也發(fā)現(xiàn)了該模型算法存在的不足,在基于視頻目標(biāo)檢測時,幀與幀的圖像之間在時序和內(nèi)容上存在上下文關(guān)系,而該模型并未對此加以利用來優(yōu)化模型準(zhǔn)確率和誤檢率。根據(jù)跟蹤算法和循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在時序問題上所展現(xiàn)的優(yōu)勢,我們可以考慮以此為研究方向?qū)υ撃P瓦M(jìn)行更進(jìn)一步的改進(jìn)和優(yōu)化。
參考文獻(xiàn):
[1] 李雙雙,趙高鵬,王建宇.基于特征融合和尺度自適應(yīng)的干擾感知目標(biāo)跟蹤[J].光學(xué)學(xué)報,2017,37(5):15-20.
[2]? BARRON J L, FLEET D J, BEAUCHEMIN S S. Performance of optical flow techniques[M]. Kluwer Academic Publishers, 1994, 12(1):43-77.
[3]? ALI A T, DAGLESS E L. Alternative practical methods for moving object detection[C].International Conference on Image Processing and ITS Applications, 1992:77-80.
[4]? HARITAOGLU I, HWRWOOD D, DAVIS L S. W4: real-time surveillance of people and their activities[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2000,22(8):809-830.
[5] 章毓晉.中國圖像工程:2017[J].中國圖象圖形學(xué)報,2018,23(5):617-628.
[6]? REN S, He K, GIRSHICK R, et al.? Faster R-CNN: towards real-time object detection with region proposal networks[C].? International Conference on Neural Information Processing Systems, 2015:91-99.
[7] REDMON J, DIVVALA S, GIRSHICK R, et al.? You Only Look Once: Unified, Real-Time? Object Detection[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2016:779-788.
[8] LIU W, ANGUELOY D, ERHAN D, et al. SSD: Single Shot Multi Box Detector[J].Computer Vision-ECCV2016, 2016:21-37.
[9] SIMONYAN K, ZISSERMAN A. Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer Science, 2014.
[10] 鄭澤宇,梁博文,顧思宇.Tensorflow 實戰(zhàn)Google深度學(xué)習(xí)框架[M].2版.北京:電子工業(yè)出版社,2018:161.
【通聯(lián)編輯:唐一東】