鄺先驗 李洪偉 楊柳
摘? 要: 針對城市道路交通視頻中兩輪車檢測經(jīng)常遇到的誤檢、漏檢頻繁,小尺度兩輪車檢測效果不佳等問題,設計了一種基于改進的Faster R?CNN算法的兩輪車視頻檢測模型。模型修改了錨點的參數(shù),并構建了一種多尺度特征融合的區(qū)域建議網(wǎng)絡(RPN)結構,使得模型對小尺度目標更加敏感。針對兩輪車數(shù)據(jù)集匱乏,采用遷移學習的方法進行學習并獲得兩輪車檢測的最終模型。實驗結果表明,改進后的算法可以有效解決交通視頻中小尺度兩輪車的檢測問題,在兩輪車數(shù)據(jù)集上獲得了98.94%的精確率。
關鍵詞: 兩輪車視頻檢測; 兩輪車檢測模型; 改進Faster R?CNN算法; RPN網(wǎng)絡; 參數(shù)修改; 多尺度特征融合
中圖分類號: TN911.73?34; TP391.41? ? ? ? ? ? ? ? 文獻標識碼: A? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)09?0129?06
Two?wheeled vehicle video detection based on improved Faster R?CNN algorithm
KUANG Xianyan, LI Hongwei, YANG Liu
(College of Electrical Engineering and Automation, Jiangxi University of Science and Technology, Ganzhou 341000, China)
Abstract: For the frequent false and missing detection of two?wheeled vehicles in urban road traffic videos and the poor detection effect of small?scale two?wheeled vehicles, a two?wheeled vehicle video detection model is designed based on the improved Faster R?CNN algorithm. By the proposed model, the parameters of anchors are modified and structure of a multi?scale feature fusion RPN (region proposals network) is constructed, which makes the model more sensitive to small?scale targets. In view of the scarcity of data sets of the two?wheeled vehicles, the method of migration learning is used to learn and obtain the final model of two?wheeled vehicle detection. The experimental results show that the improved algorithm can effectively solve the problem of small?scale two?wheeled vehicle detection in traffic videos, and its accuracy reaches 98.94% on the data sets of two?wheeled vehicles.
Keywords: two?wheeled vehicle video detection; two?wheeled vehicle detection model; improved Faster R?CNN algorithm; RPN network; parameter modification; multi?scale feature fusion
0? 引? 言
車輛檢測技術是智能交通系統(tǒng)的重要組成部分,其對我國城市的發(fā)展有很大的促進作用。兩輪車在交通流中越來越普及,又因其行駛路線比較靈活,易引起交通事故,所以對兩輪車的檢測變得非常重要。文獻[1]通過最小距離分類器(KNN)設計了一種自動檢測摩托車駕駛員是否佩戴頭盔的系統(tǒng)。文獻[2]通過提取摩托車的外形尺寸特征對摩托車進行識別。文獻[3]通過檢測摩托車駕駛員的頭盔來識別摩托車,此方法在駕駛員沒有配戴頭盔時檢測效果較差。文獻[4]通過車輪區(qū)域的特征來區(qū)分摩托車與自行車。文獻[5]采用壓電傳感器檢測車輪的數(shù)量來識別摩托車,壓電傳感器容易受潮發(fā)生故障,故該方法對環(huán)境要求較高。文獻[6]采用GMM和BMM組合前景提取方法對交通流中的兩輪車進行檢測與識別。由于傳統(tǒng)算法提取的特征比較單一,受環(huán)境影響較大,導致對兩輪車的識別效果不佳。近年來,深度學習也被應用到智能交通系統(tǒng)中。文獻[7?11]通過卷積神經(jīng)網(wǎng)絡模型對車輛進行識別,并取得了不錯的效果。但當目標檢測物尺度較小或存在部分遮擋時,現(xiàn)有的方法存在頻繁的誤檢、漏檢現(xiàn)象,檢測性能不高。而在實際的交通視頻中,兩輪車的尺度相對較小,針對這一問題,本文構建了一種基于改進的Faster R?CNN算法的兩輪車視頻檢測模型,該模型對anchor框參數(shù)進行了修改,并對RPN(Region Proposals Network)網(wǎng)絡進行了改進,構建了一種多尺度特征融合的RPN結構,從而提高模型對交通視頻中小尺度兩輪車的檢測。
1? 兩輪車檢測模型設計
Faster R?CNN[12]是目標檢測算法中精度較高的算法,本文選用Faster R?CNN算法來檢測混合車流中的兩輪車,設計的兩輪車檢測方案如圖1所示。其中,特征提取網(wǎng)絡指的是VGG16網(wǎng)絡結構,用來提取兩輪車的特征。從真實交通場景中制作兩輪車數(shù)據(jù)集,輸入到VGG16的卷積層中進行兩輪車特征的提取并生成特征圖,將生成的特征圖送入到RPN網(wǎng)絡,生成候選區(qū)域,再將提取的候選區(qū)域特征送入到ROI Pooling層,處理成固定大小的特征向量,最后送入全連接層,實現(xiàn)分類和邊框的回歸。
1.1? 特征提取網(wǎng)絡VGG16
VGG16[13]網(wǎng)絡相比LeNet和ZF?Net[14]網(wǎng)絡更深,可以提取兩輪車更豐富的特征。本文選取VGG16網(wǎng)絡與Faster R?CNN模型相結合。本文用到的VGG16部分結構如表1所示。
本文將VGG16結構中輸出大小一致的卷積層歸為一類,共分為五類,如表1第一列所示。每一類含有x卷積層,如Conv4_x/3,表示第四類含有3個卷積層。整個特征提取網(wǎng)絡使用的均為3×3大小的卷積核。
1.2? RPN網(wǎng)絡及其改進
1.2.1? RPN網(wǎng)絡
RPN網(wǎng)絡[15]和檢測網(wǎng)絡共享VGG16提取到的特征,使模型更加簡化,提高了目標檢測的速度,其結構如圖2所示。VGG16提取的特征圖輸入到RPN網(wǎng)絡,先經(jīng)過一個3×3的滑動窗口在特征圖上滑動,每次滑動都可以得到一個512維的特征向量,將這個512維的特征向量送入到兩個全連接層,通過[2k]個1×1的卷積核將512維的特征向量映射到分類層,判別候選區(qū)域是前景還是背景。通過[4k]個1×1的卷積核將512維的特征向量映射到位置回歸層,用來輸出對候選區(qū)域坐標位置的回歸。
圖2中的anchor(錨點)位于3×3滑動窗口的中心處,每個滑動窗口可同時生成[k]個預測框,每個預測框都是固定大小且和錨點唯一確定。卷積特征圖經(jīng)過3×3大小的卷積核,卷積之后的每一個像素點映射回原圖對應的坐標位置,以此坐標為中心生成[k]個不同大小的候選框,原始的RPN網(wǎng)絡中[k]=9。anchor的正負樣本規(guī)定如下:
1) 候選框與真實的標注框(Ground Truth,GT框)交集最大的記為正樣本(確保每個真實的標注框至少對應一個正樣本);
2) 候選框與真實標注框的交集與并集之比(IoU)大于0.7的候選框記為正樣本,小于0.3的記為負樣本,介于兩者之間的舍棄。
RPN網(wǎng)絡總的損失函數(shù)定義如下:
[Lpi,ti=1NclsiLclspi,p*i+λ1Nregip*iLregti,t*i] (1)
位置回歸損失函數(shù)定義如下:
[Lregti,t*i=Rti-t*i] (2)
式中[R]表示具有魯棒性的損失函數(shù),其定義式如下:
[Rx=0.5x2,? ? x<1x-0.5,? ? 其他] (3)
1.2.2? RPN網(wǎng)絡的改進
RPN網(wǎng)絡中錨框的設置直接影響候選框的生成,是一個很重要的參數(shù)。原始的RPN網(wǎng)絡是針對PASCAL VOC 2007數(shù)據(jù)集設置的,此數(shù)據(jù)集包含24 640個物體,物體大小不同,形狀各異,具有普適性,故設置錨框時,尺度設置為128,256,512,為了適應不同形狀的物體,設置了三種尺度比,分別為1[∶]1,1[∶]2,2[∶]1,共生成9種不同的錨框。
每一個滑動窗口可以產(chǎn)生9個不同規(guī)格的候選框,并通過非極大值抑制算法移除多余的候選框。但原始RPN網(wǎng)絡設置的錨點參數(shù)無法召回尺寸較小的檢測物。圖3為人工在本文兩輪車數(shù)據(jù)集上標注的GT框面積分布直方圖,可以看出,交通視頻中兩輪車的尺寸相對偏小,GT框平均面積約為[3 865≈62×62],四分位數(shù)分別為[Q1=2 108≈45×45],[Q2=4 180≈65×65],[Q3=7 296≈][85×85],這些參數(shù)離原始RPN網(wǎng)絡設置的最小尺度128×128相差較大,所以,原始RPN網(wǎng)絡生成的錨框?qū)Ρ疚牡膬奢嗆嚁?shù)據(jù)集沒有針對性,適應性較差。
四分位數(shù)間距不受兩端個別極大值或極小值的影響,對數(shù)據(jù)的擾動具有一定的魯棒性,同時,也可以在一定程度上避免因人工標注帶來的誤差影響。因此,為了提高模型對小尺度兩輪車的檢測性能,針對本文的兩輪車數(shù)據(jù)集,將anchor框的尺度修改為45/65/85。
圖4為GT框長寬比分布直方圖。從圖4可以看出,GT框的長寬尺度比主要集中在0.5和0.8附近,故將原始RPN網(wǎng)絡中的比例改為1[∶]2和1[∶]1.25,可生成6種不同的候選框,總共生成的候選框個數(shù)為:
[Qanchor=Lconv5?Wconv5?6] (4)
式中:[Lconv5]和[Wconv5]分別為VGG16第5個卷積層輸出特征圖的長和寬。
對于一幅分辨率為1 000×600的圖片,原始RPN網(wǎng)絡生成大約20[k]個候選框,而本文方法共生成約14[k]個候選框,減少了約6[k]。
由于生成了更少數(shù)量且對交通道路中兩輪車更有針對性的候選框,模型的性能得到了顯著提高。
在實際交通視頻中,由于攝像機是固定的,兩輪車在行駛的過程中,車輛與攝像機的距離不同,其在視頻圖像中的尺度也不同,距離攝像機較近的車尺度較大,較遠的則更小。針對交通視頻中兩輪車存在多尺度問題,認為原始的RPN網(wǎng)絡只用一個3×3的卷積核對特征圖進行卷積,感受野太過局限,并不能滿足需求。不同范圍的感受野可以獲得不同尺度的兩輪車,故構建一種多尺度特征融合的RPN結構,如圖5所示。當VGG16網(wǎng)絡提取的特征圖輸送到該RPN網(wǎng)絡時,會有三個分支:第一個分支采用一個1×1的卷積核對特征圖進行卷積;第二個分支采用一個3×3的卷積核對特征圖進行卷積;第三個分支采用將兩個3×3的卷積核串聯(lián)在一起的方式對特征圖進行卷積,其感受野相當于一個5×5的卷積核效果,但兩個串聯(lián)在一起的3×3卷積核可以提升網(wǎng)絡深度,在一定程度上可以提升網(wǎng)絡性能,同時,還可以減少參數(shù)量。
實驗證明,改進后的RPN結構可以增強模型對兩輪車多尺度的魯棒性,使模型對小目標更加敏感,提高了模型對兩輪車的檢測性能。
1.3? 遷移學習
本文兩輪車數(shù)據(jù)集較小,為了避免模型出現(xiàn)收斂困難、精度低、過擬合等問題,采用遷移學習的方法進行學習。遷移學習是用已學的領域知識去解決與其不同但相關的領域問題,可以很好地解決相關領域中數(shù)據(jù)集匱乏的學習問題。遷移學習可以讓模型看到不同類型的數(shù)據(jù),使模型學習到更出色的底層規(guī)則,獲得更高性能的模型。
本文采用模型遷移和微調(diào)的方法進行學習,使得只需少量的兩輪車數(shù)據(jù)集就可獲得很好的識別效果。遷移學習過程如圖6所示。
本文構建的模型首先在ImageNet數(shù)據(jù)集上進行預訓練,獲得初始模型,然后利用兩輪車數(shù)據(jù)集對初始模型進行微調(diào)。由于采集的兩輪車數(shù)據(jù)集背景復雜多樣,光照強度也有很大的差異,而且兩輪車尺度相對偏小,ImageNet數(shù)據(jù)集中的物體則更加清晰,尺度相對較大,所以兩種數(shù)據(jù)集相似度一般,因此,本文將初始模型的參數(shù)遷移到本文數(shù)據(jù)集后重新進行學習。
2? 實驗研究
2.1? 實驗環(huán)境
本文所采用的實驗環(huán)境如下:計算機系統(tǒng)為Ubuntu 16.04;處理器為Inter i7?7700;內(nèi)存為16 GB;顯卡為Nvidia GeForce GTX1080Ti;編程語言為Python;深度學習框架為tensorflow。
2.2? 實驗數(shù)據(jù)
本文數(shù)據(jù)集是在含有兩輪車的混合交通流路段進行采集的,整個數(shù)據(jù)集共含有2 520幅圖片,均為城市交通路段的真實場景。隨機選取其中的80%作為訓練集,剩余的20%作為測試集。每幅圖片中均包含1~10輛兩輪車,尺度也各不相同。該數(shù)據(jù)集具有不同的背景和光照,還有目標檢測物被遮擋的情況,種類復雜多樣,具有代表性。
2.3? 模型訓練
整個網(wǎng)絡訓練過程參數(shù)設置如表2所示。
訓練的loss曲線如圖7所示。其中,①和③對比可以得出,含遷移學習的本文算法收斂速度更快,所以遷移學習加快了模型的收斂速度;①和②對比可以看出,改進后的本文算法在訓練一開始損失函數(shù)就比原始的Faster R?CNN算法值低,且收斂速度更快,并在迭代16 000次后趨于穩(wěn)定,這是由于本文改進后的RPN網(wǎng)絡可以通過不同感受野的特征圖,定位到不同尺度的兩輪車,且錨框的尺度和長寬比是針對兩輪車數(shù)據(jù)集設置的,因此在訓練階段,候選框回歸時可以更迅速地將候選區(qū)域調(diào)整到與GT框更相近的位置,所以改進后的Faster R?CNN算法能夠獲得更小的loss值,并加快模型的收斂。
2.4? 實驗檢測及結果分析
為了驗證本文算法的優(yōu)越性,在本文數(shù)據(jù)集上分別采用改進前和改進后的Faster R?CNN算法對交通視頻中的兩輪車進行檢測。
圖8為在某一交通視頻中兩輪車檢測效果圖,對最終置信度大于80%的檢測框用標簽標出。圖8b)為改進前Faster R?CNN算法檢測效果圖,尺度較小的兩輪車存在頻繁的漏檢、誤檢現(xiàn)象,可見原始的Faster R?CNN算法對小尺度的兩輪車不敏感,對交通視頻中兩輪車的檢測并不適用。觀察圖8a)可以看出,改進后的算法可以很精確地檢測出不同尺度的兩輪車位置,尺度較小的目標也被精確的檢測出,對小目標的檢測較為敏感,漏檢現(xiàn)象得到了明顯的改善,且置信度也相對較高。
圖9為本文算法在六種交通場景下的檢測效果圖??梢钥闯觯趦奢嗆嚥煌男旭偨嵌?、不同的光照強度、不同的交通路段以及部分被遮擋的情況下,改進后的算法均可以很精確地檢測出不同尺度的兩輪車位置,尺度較小的目標也被精確的檢測出。夜間情況下,本文算法也可以有效地檢測出道路上的兩輪車,但輸出的置信度會有所下降。由此得出,改進后的Faster R?CNN算法模型對不同的交通場景具有很強的適應性。
為了評估本文算法對交通視頻中兩輪車檢測的有效性,采用精度([P])和召回率([R])[16]對算法進行衡量。精度[P]和召回率[R]可按式(5)和式(6)計算:
[P=NTP(NTP+NFP)] (5)
[R=NTP(NTP+NFN)] (6)
式中:[NTP]為正檢數(shù),表示兩輪車中被正確檢測出來的數(shù)量;[NFP]為誤檢數(shù),表示把非兩輪車檢測為兩輪車的數(shù)量;[NFN]為漏檢數(shù),表示兩輪車中沒有被檢測出的兩輪車數(shù)量。
不同方法檢測結果如表3所示。實際兩輪車數(shù)共1 516輛,其中,有25輛被漏檢,原因是這25輛兩輪車在行駛過程中與其他車輛出現(xiàn)大幅度粘連或被嚴重遮擋的現(xiàn)象,這一問題的解決方案將在下一步深入研究。誤檢數(shù)有16輛,其中,有2個行人和2輛小型汽車被檢測為兩輪車;12輛三輪車被識別為兩輪車,這12輛三輪車都沒有安裝車棚,且距離攝像機位置較遠,從外形看上去與兩輪車很相似,很容易被誤檢為兩輪車。表3將改進前與改進后的Faster R?CNN算法做了對比,結果表明,改進后的Faster R?CNN算法檢測精度提高了1.38%,召回率提高了6.13%,具有明顯的優(yōu)勢。
總體上,本文算法在不同的交通背景、不同光照、兩輪車不同的行駛角度以及部分遮擋的條件下,具有較強的魯棒性,對小尺度目標更加敏感,能夠精確地檢測出交通道路上的兩輪車,漏檢率和誤檢率較低,對不同交通場景下兩輪車的檢測具有明顯的優(yōu)勢。本文算法的召回率為98.35%,檢測精度為98.94%,取得了較為滿意的結果。
2.5? 特征圖的可視化
最后本文通過訓練好的模型對單幅圖片進行特征圖可視化,部分特征圖如圖10所示。通過觀察發(fā)現(xiàn),特征圖各不相同,這是由于不同的卷積核提取的特征也不同。第一行為Conv1_1層輸出的特征圖,通過肉眼可以清晰地看到物體的輪廓,物體邊緣較為明顯,并知道這些物體是什么;第二行是Conv5_3層輸出的特征圖,看上去很模糊,已經(jīng)無法通過肉眼去理解這些特征的含義,這主要是因為淺層的卷積層提取到的是一些比較低級的特征,而深層的卷積層提取到的是相對比較高級的語義特征;第三行是RPN分類層輸出的特征圖,其每一幅特征圖亮度較高的激活部分與第一行特征圖中兩輪車的位置一一對應。
由此得出,改進后的RPN網(wǎng)絡可以很精確地定位出交通道路上兩輪車的位置,圖片其余的部分被判定為背景,進一步驗證了改進后的本文算法對城市道路上兩輪車的檢測具有一定的應用價值。
3? 結? 語
本文針對交通視頻中小尺度兩輪車檢測存在的誤檢、漏檢,檢測效果不佳等問題,構建了一種基于改進的Faster R?CNN算法的兩輪車檢測模型,使得模型對小尺度目標更加敏感。
通過實驗證明,本文算法有助于提高對交通視頻中兩輪車檢測的精準性和魯棒性,對小尺度目標、光照強度、部分遮擋等方面具有較強的適應性??傮w而言,本文算法在對交通流中兩輪車的檢測上取得了較為滿意的效果。下一步將圍繞兩輪車在大幅度粘連或遮擋較嚴重的條件下的檢測問題做進一步的深入研究,以期取得更好的檢測效果。
參考文獻
[1] WARANUSAST R, BUNDON N, TIMTONG V, et al. Machine vision techniques for motorcycle safety helmet detection [C]// 2013 28th International Conference on Image and Vision Computing. Wellington, New Zealand: IEEE, 2013: 35?40.
[2] CHIU C C, KU M Y, CHEN H T. Motorcycle detection and tracking system with occlusion segmentation [C]// Eighth International Workshop on Image Analysis for Multimedia Interactive Services. Santorini: IEEE, 2007: 32?33.
[3] KU M Y, HONG S H, CHIU C C, et al. Visual motorcycle detection and tracking algorithms [J]. WSEAS transactions on electronics, 2008, 5(4): 121?131.
[4] MESSELODI S, MODENA C M, CATTONI G. Vision?based bicycle/motorcycle classification [J]. Pattern recognition letters, 2007, 28(13): 1719?1726.
[5] RAJAB S A, OTHMAN A S, REFAI H H. Novel vehicle and motorcycle classification using single element piezoelectric sensor [C]// 2012 15th International IEEE Conference on Intelligent Transportation Systems. Anchorage, AK: IEEE, 2012: 496?501.
[6] 鄺先驗,王成坤,許倫輝.基于組合前景提取的混合交通兩輪車視頻檢測[J].交通運輸系統(tǒng)工程與信息,2014,14(5):49?54.
[7] 甘凱今,蔡曉東,楊超,等.融合整體與局部特征的車輛型號識別方法[J].現(xiàn)代電子技術,2017,40(7):134?130.
[8] SHI L, WANG Y M, CAO Y J, et al. Vehicle type recognition based on deep convolution neural network [C]// Third International Conference of Pioneering Computer Scientists, Engineers and Educators. Changsha, China: Springer, 2017: 492?502.
[9] WANG K C, PRANATA Y D, WANG J C. Automatic vehicle classification using center strengthened convolutional neural network [C]// 2017 Asia?pacific Signal and Information Proces?sing Association Annual Summit and Conference (APSIPA ASC). Kuala Lumpur, Malaysia: IEEE, 2017: 1075?1078.
[10] ZHUO L, JIANG L Y, ZHU Z Q, et al. Vehicle classification for large?scale traffic surveillance videos using convolutional neural networks [J]. Machine vision & applications, 2017, 28(7): 793?802.
[11] VISHNU C, SINGH D, MOHAN C K, et al. Detection of motorcyclists without helmet in videos using convolutional neural network [C]// 2017 International Joint Conference on Neural Networks. Anchorage, AK, USA: IEEE, 2017: 3036?3041.
[12] 程海燕,翟永杰,陳瑞.基于Faster R?CNN的航拍圖像中絕緣子識別[J].現(xiàn)代電子技術,2019,42(2):98?102.
[13] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large?scale image recognition [EB/OL]. [2016?10?23]. http://www.docin.com/p?1763953557.html.
[14] ZEILER M D, FERGUS R. Visualizing and understanding convolutional networks [C]// European Conference on Computer Vision. Zurich, Switzerland: Springer, 2014: 818?833.
[15] REN S, HE K, GIRSHICK R, et al. Faster R?CNN: towards real?time object detection with region proposal networks [J]. IEEE transactions on pattern analysis & machine intelligence, 2017, 39(6): 1137?1149.
[16] BYEON Y H, KWAK K C. A performance comparison of pedestrian detection using faster RCNN and ACF [C]// 2017 6th IIAI International Congress on Advanced Applied Informatics (IIAI?AAI). Hamamatsu, Japan: IEEE, 2017: 858?863.