顧 燕,李 臻,楊 鋒,趙維駿,朱 波,郭一亮,呂 揚(yáng),焦國(guó)力
(北方夜視科技(南京)研究院有限公司,江蘇 南京 211102)
隨著汽車(chē)制造工業(yè)的發(fā)展,小型轎車(chē)的城市人均擁有量逐年攀升,城市主要道路上的車(chē)流量也在不斷上升。一方面由于智慧城市概念的興起和計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展,傳統(tǒng)的基于人工的交通管理與規(guī)劃正在被智能算法逐步替代[1]。另一方面,車(chē)輛的檢測(cè)識(shí)別也是實(shí)現(xiàn)無(wú)人安全駕駛的必要手段。
傳統(tǒng)的圖像車(chē)輛檢測(cè)算法通常通過(guò)經(jīng)典圖像處理方法實(shí)現(xiàn)檢測(cè)功能,這種采用人工提取圖像特征的方法,主要有背景差分法[2],幀差法[3],以及光流法[4],等車(chē)輛實(shí)時(shí)檢測(cè)方法。這類(lèi)基于人工特征提取的圖像處理算法經(jīng)典、簡(jiǎn)單,但缺點(diǎn)也比較明顯,其算法設(shè)計(jì)往往過(guò)于主觀性,檢測(cè)精度不高,穩(wěn)定性較差。
基于人工智能的深度神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測(cè)算法目前主流有兩個(gè)方向,一個(gè)方向?yàn)樵O(shè)計(jì)有緊密-稀疏(Dense-Sparse)候選結(jié)構(gòu)的二階段目標(biāo)檢測(cè)方法,如Faster R-CNN[5]、Fast R-CNN[6]等,另一個(gè)方向是緊密(Dense)無(wú)區(qū)域建議的端到端檢測(cè)算法,如YOLO系列[7]、SSD[8]等。就國(guó)際通用的算法精度評(píng)價(jià)標(biāo)準(zhǔn)AP而言,前者的計(jì)算精度遠(yuǎn)高于后者。而對(duì)Faster R-CNN的改進(jìn)已經(jīng)廣泛應(yīng)用于道路交通標(biāo)志檢測(cè)[9-10]、道路異物檢測(cè)、道路擁堵?tīng)顟B(tài)檢測(cè)、運(yùn)動(dòng)行人檢測(cè)[9]等方面,在車(chē)輛目標(biāo)檢測(cè)方面,魏子洋[11]等通過(guò)用k-means聚類(lèi)改進(jìn)錨框生成方式的方法提高了Faster R-CNN檢測(cè)車(chē)輛的精度,劉澤康[12]等通過(guò)融合目標(biāo)的邊緣信息,陳飛[13]等通過(guò)融合特征圖信息提高了Faster R-CNN的車(chē)輛檢測(cè)精度。
本文針對(duì)Faster R-CNN的特征提取層,并提出了改進(jìn)方法,避免了車(chē)輛目標(biāo)因尺度差距過(guò)大而引起的檢測(cè)精度低的問(wèn)題,改變Faster R-CNN的NMS方法增強(qiáng)網(wǎng)絡(luò)對(duì)多目標(biāo)重疊情況的魯棒性,本文首先設(shè)計(jì)了多感受野特征提取網(wǎng)絡(luò)Tri-VGG,不同感受野的特征信息通過(guò)深度融合來(lái)提升Faster R-CNN的檢測(cè)精度。其次,對(duì)RPN(Region Proposal Network)網(wǎng)絡(luò)中的非極大值抑制(NMS,Non-Maximum Suppression)方法進(jìn)行了探索,設(shè)計(jì)了一種改進(jìn)的soft-NMS算法。最后,設(shè)計(jì)了一種參數(shù)調(diào)整和訓(xùn)練策略,解決了在實(shí)驗(yàn)中的過(guò)擬合問(wèn)題。最終本文設(shè)計(jì)的檢測(cè)算法的評(píng)價(jià)準(zhǔn)確率AP達(dá)到了85.32 %,比原始的Faster R-CNN算法提高了5.86 %。
針對(duì)紅外視頻下車(chē)輛目標(biāo)像素大小差距過(guò)大的問(wèn)題,文獻(xiàn)[14]中提出不同尺度感受野卷積核對(duì)于不同尺寸的目標(biāo)有偏向性,尺度大的感受野卷積核偏向于大目標(biāo),相反,尺度小的感受野卷積核偏向于小目標(biāo),因此本文設(shè)計(jì)了一種多尺度感受野并行提取特征的方法。但直接使用多個(gè)感受野的卷積核采樣再融合的方法并不可取,因?yàn)檫@會(huì)使神經(jīng)網(wǎng)絡(luò)出現(xiàn)過(guò)擬合,不僅算法精度不會(huì)有明顯提高,而且會(huì)消耗大量的計(jì)算成本。
解決上述問(wèn)題可以采用空洞卷積(Dilated Convolution),權(quán)重因子共享原則進(jìn)行多個(gè)感受野的并行采集。空洞卷積間隔采樣原理示意如圖1所示。
圖1 空洞卷積原理示意圖Fig.1 Schematic diagram of dilated convolution principle
改進(jìn)模型的特征提取層神經(jīng)網(wǎng)絡(luò)由三路權(quán)重共享以及并行采集融合的卷積神經(jīng)網(wǎng)絡(luò)組成。特征提取層的整體流程示意如圖2所示。其中,Conv表示卷積層(Convlution Layer)。
圖2 特征提取網(wǎng)絡(luò)流程Fig.2 Process of feature extraction network
每一路神經(jīng)網(wǎng)絡(luò)的下采樣結(jié)構(gòu)由4個(gè)卷積層及其正則化和激活層以及2個(gè)最大池化層(maxpool)組成,卷積核尺寸為3×3,于是每一路的感受野為3×3,5×5,7×7。卷積層通道數(shù)依次為64、64、128、128。卷積核步長(zhǎng)(stride)為1,填充(padding)為1。此外,將每一路網(wǎng)絡(luò)的下采用結(jié)構(gòu)中的梯度凍結(jié),即權(quán)重凍結(jié),減緩神經(jīng)網(wǎng)絡(luò)的過(guò)擬合情況。
采用九層二維卷積層和三層最大池化層構(gòu)成并行特征采集器的每一個(gè)通道,這類(lèi)似于VGG16的原始結(jié)構(gòu),但是三路權(quán)重僅有一路權(quán)重用于共享,通過(guò)元素相加的形式將三路特征提取網(wǎng)絡(luò)進(jìn)行融合,生成的特征圖傳遞到RPN網(wǎng)絡(luò),還需要經(jīng)過(guò)一層正則化-激活-最大池化層處理,特征提取網(wǎng)絡(luò)的總體流程示意圖如圖2所示。
每一路特征圖的尺寸應(yīng)當(dāng)始終保持一致,本文將非空洞卷積網(wǎng)絡(luò)中的卷積層填充系數(shù)設(shè)置為1,步長(zhǎng)系數(shù)設(shè)置為1;將一路空洞卷積層的膨脹系數(shù)設(shè)置為2,則3×3大小的卷積核等效于5×5大小的感受野,卷積核填充系數(shù)為2,步長(zhǎng)系數(shù)設(shè)置為1;另一路空洞卷積層的膨脹系數(shù)為3,則3×3大小的卷積核等效于7×7大小的感受野,卷積核填充系數(shù)為3,步長(zhǎng)系數(shù)為1。
這樣設(shè)計(jì)的原因是為了使得三路網(wǎng)絡(luò)共享一組權(quán)重,實(shí)驗(yàn)中發(fā)現(xiàn),如果同時(shí)不同的權(quán)重對(duì)三路網(wǎng)絡(luò)進(jìn)行訓(xùn)練則會(huì)出現(xiàn)由參數(shù)冗余導(dǎo)致的網(wǎng)絡(luò)過(guò)擬合,會(huì)出現(xiàn)損失函數(shù)無(wú)法收斂、檢測(cè)精度無(wú)法提高、訓(xùn)練時(shí)間過(guò)渡延長(zhǎng)等問(wèn)題,于是我們采用權(quán)重共享策略來(lái)避免過(guò)擬合問(wèn)題。三路網(wǎng)絡(luò)在訓(xùn)練和預(yù)測(cè)時(shí)只使用一組共享權(quán)重,即從初始化到訓(xùn)練完成都是共享的,這種共享權(quán)重的方式可以減小計(jì)算成本從而大大提升算法速度。并行特征提取網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如圖3所示,網(wǎng)絡(luò)之間的每一層卷積層共享權(quán)重。
圖3 并行提取網(wǎng)絡(luò)示意圖Fig.3 Schematic diagram of parallel extraction network
針對(duì)紅外視頻內(nèi)車(chē)輛在視野中重疊概率較高的問(wèn)題,對(duì)Faster R-CNN邊框回歸中的NMS方法改進(jìn)進(jìn)行了探索。
Faster R-CNN在RPN網(wǎng)絡(luò)過(guò)濾生成的錨框時(shí)使用了非極大值抑制NMS(Non-Maximum Suppression)方法。其大致過(guò)程是對(duì)于重疊部分較多的檢測(cè)框進(jìn)行概率排序,只保留其中概率最高的檢測(cè)框,而將其余檢測(cè)框直接取消。但是對(duì)于道路上的車(chē)輛檢測(cè),視野中出現(xiàn)目標(biāo)重疊的情況十分常見(jiàn),因此直接將相近的檢測(cè)框取消會(huì)降低算法的檢測(cè)精度。
作為生物圈中的一員,人類(lèi)的活動(dòng)對(duì)生物圈有重要影響。為了讓學(xué)生有切身體會(huì),在本課中,教師請(qǐng)學(xué)生閱讀書(shū)本上的4個(gè)案例,要求小組討論,并發(fā)揮聯(lián)想交流啟示。
文獻(xiàn)[15]提出了一種基于IOU權(quán)重函數(shù)的Soft-NMS方法,但是這種方法的計(jì)算時(shí)間開(kāi)銷(xiāo)會(huì)隨圖片尺寸的變化呈指數(shù)級(jí)增長(zhǎng),且對(duì)于非密集圖片的檢測(cè)精度沒(méi)有明顯的提升。
基于上述問(wèn)題基于Soft-NMS進(jìn)行了改進(jìn),即對(duì)于與分?jǐn)?shù)最大的框的IOU小于Nt1的檢測(cè)框不作處理,對(duì)IOU介于Nt1和Nt2之間的檢測(cè)框作線性權(quán)重衰減,而對(duì)IOU大于Nt2的框直接取消。
2.3.1 VGG預(yù)訓(xùn)練
改進(jìn)后的Faster R-CNN在ROI Pooling層的分類(lèi)網(wǎng)絡(luò)仍采用VGG16的三個(gè)全連接層(Fully connection Layer)加一層softmax的決策網(wǎng)絡(luò)結(jié)構(gòu),而特征提取部分的前四個(gè)卷積層也與VGG16的結(jié)構(gòu)相同。于是可以先采用基于VGG16分類(lèi)網(wǎng)絡(luò)的Faster R-CNN訓(xùn)練數(shù)據(jù)集,將訓(xùn)練得到的權(quán)重分配給相應(yīng)的層,如圖4所示。
圖4 VGG16權(quán)重預(yù)訓(xùn)練策略Fig.4 Weight pre-training strategy based on VGG16
將VGG16網(wǎng)絡(luò)前四層分配給特征提取層的下采樣部分,并且為了防止參數(shù)冗余將下采樣層學(xué)習(xí)率設(shè)置為0,使其不再參與學(xué)習(xí)。將VGG最后四層分配給Faster R-CNN的分類(lèi)器,作為分類(lèi)器的預(yù)訓(xùn)練權(quán)重繼續(xù)參與學(xué)習(xí)。
2.3.2 權(quán)重衰減和dropout策略
訓(xùn)練網(wǎng)絡(luò)時(shí),為了避免可學(xué)習(xí)參數(shù)過(guò)多導(dǎo)致神經(jīng)網(wǎng)絡(luò)出現(xiàn)過(guò)擬合現(xiàn)象,本文采用L2正則化(1)抑制網(wǎng)絡(luò)中的所有權(quán)重,避免某一部分權(quán)重出現(xiàn)過(guò)高或過(guò)低的現(xiàn)象。
(1)
其中,L0為Faster R-CNN中的RPN網(wǎng)絡(luò)總損失函數(shù);n為訓(xùn)練集樣本量;λ是一個(gè)調(diào)整對(duì)權(quán)重的超參數(shù);ω為神經(jīng)網(wǎng)絡(luò)中的可學(xué)習(xí)參數(shù),即神經(jīng)網(wǎng)絡(luò)權(quán)重。
此外,本文采用dropout方法對(duì)神經(jīng)網(wǎng)絡(luò)中的最后幾層分類(lèi)層進(jìn)行訓(xùn)練。dropout是一種神經(jīng)網(wǎng)絡(luò)隨機(jī)失活的策略,在訓(xùn)練中隨機(jī)失活部分卷積核,使其權(quán)重降為0,這樣可以動(dòng)態(tài)的平衡分類(lèi)層中各卷積核的重要性,可以有效規(guī)避因網(wǎng)絡(luò)可學(xué)習(xí)參數(shù)過(guò)多導(dǎo)致的過(guò)擬合問(wèn)題。
本文的采用驗(yàn)證平臺(tái):硬件資源顯卡NVIDIA TITAN XP×2,軟件環(huán)境Ubuntu16.04LTS系統(tǒng),Pytorch1.3.1編程框架,并且采用了CUDA 10.0 GPU加速環(huán)境。
為了增強(qiáng)實(shí)驗(yàn)的說(shuō)服力,我們采用公開(kāi)的FIRL數(shù)據(jù)集。該數(shù)據(jù)集分為兩個(gè)部分,不僅提供了帶人工標(biāo)注的熱成像數(shù)據(jù)集,而且第二個(gè)部分提供了對(duì)應(yīng)的無(wú)標(biāo)注RGB彩色圖像,用于訓(xùn)練和驗(yàn)證神經(jīng)網(wǎng)絡(luò)。數(shù)據(jù)通過(guò)車(chē)載RGB相機(jī)和熱成像儀器采集獲得。FIRL數(shù)據(jù)集內(nèi)一共有5個(gè)類(lèi)別,我們對(duì)數(shù)據(jù)集處理,將其他類(lèi)別的標(biāo)注屏蔽,保留數(shù)據(jù)集轎車(chē)和其他兩類(lèi),并將其合并一類(lèi),命名為“車(chē)輛”。
FIRL數(shù)據(jù)集共有三類(lèi)輸入圖像,分別為RGB圖像、8比特紅外圖像、16比特紅外圖像,本文僅采用8比特紅外圖像作為實(shí)驗(yàn)數(shù)據(jù)集,其中訓(xùn)練集有8862張圖像;測(cè)試集有1366張圖像;不設(shè)置驗(yàn)證集。所有圖像的尺寸均為640×512×3,如圖5所示。
圖5 FIRL數(shù)據(jù)集輸入圖像Fig.5 Input image from FIRL dataset
此外,為了提升算法權(quán)重的魯棒性,在訓(xùn)練時(shí)對(duì)輸入的圖像進(jìn)行隨機(jī)翻轉(zhuǎn)、對(duì)稱(chēng)、附加高斯噪聲等圖像增強(qiáng)操作。
本文采用國(guó)際通用的評(píng)價(jià)標(biāo)準(zhǔn)“平均精確率(Average Precision,AP)”為評(píng)價(jià)標(biāo)準(zhǔn)來(lái)評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)模型檢測(cè)性能。
為了對(duì)比soft-NMS對(duì)算法檢測(cè)精度的影響,首先采用原始的Faster R-CNN對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,循環(huán)14次,batch大小為16張圖片,前四層卷積層初始學(xué)習(xí)率Rl=0,其余層初始學(xué)習(xí)率Rl=0.001,每一個(gè)循環(huán)學(xué)習(xí)率下降,比率為0.1,RPN候選框取300個(gè)/張,權(quán)重衰減常數(shù)為0.0001。然后在Faster R-CNN的RPN網(wǎng)絡(luò)采用改進(jìn)的soft-NMS的進(jìn)行訓(xùn)練,其他參數(shù)同上。
實(shí)驗(yàn)中發(fā)現(xiàn),soft-NMS的閾值Nt1取值范圍在0.3到0.5,Nt2取0.7~0.9之間時(shí)優(yōu)化效果較明顯,檢測(cè)AP如表1所示。
表1 改進(jìn)的soft-NMS不同取值對(duì)應(yīng)的APTab.1 AP values corresponding to different values of improved soft-NMS
選取改進(jìn)的soft-NMS的兩個(gè)閾值分別取Nt1=0.4,Nt2=0.9的模型作為對(duì)比,訓(xùn)練結(jié)果每10個(gè)batch打印一次,結(jié)果如圖6所示。
圖6 改進(jìn)的soft-NMS與NMS方法損失函數(shù)及AP對(duì)比Fig.6 Comparison of improved soft-NMS and NMS methods in loss function and AP
圖例SNMS和NMS分別代表基于soft-NMS和NMS的算法由損失函數(shù)曲線圖和AP曲線可以看出,是否采用改進(jìn)的soft-NMS對(duì)于損失函數(shù)的收斂影響并不顯著,但是采用soft-NMS方法可以略微增加目標(biāo)檢測(cè)的準(zhǔn)確度,改進(jìn)后的算法AP達(dá)到了82.31 %,相較于改進(jìn)之前79.46 %提高了約2.85 %。
同樣地,用基于改進(jìn)的soft-NMS方法、VGG16網(wǎng)絡(luò)作為特征提取層的Faster R-CNN作為對(duì)照設(shè)計(jì)實(shí)驗(yàn)檢驗(yàn)Tri-VGG網(wǎng)絡(luò)對(duì)算法檢測(cè)性能的影響。batch大小取16,循環(huán)14次,前四層卷積層初始學(xué)習(xí)率Rl=0,其余層初始學(xué)習(xí)率為Rl=0.001,每一個(gè)循環(huán)學(xué)習(xí)率下降,比率為0.1,RoI候選框取256個(gè)/張,權(quán)重衰減常數(shù)為0.0001。實(shí)驗(yàn)結(jié)果每10個(gè)batch打印一次,結(jié)果如圖7所示。圖例中的VGG16表示特征提取層為VGG16的網(wǎng)絡(luò),Tri-VGG1表示不采用權(quán)重共享、不采用預(yù)訓(xùn)練策略以及不采用正則化方法的Tri-VGG特征提取網(wǎng)絡(luò),Tri-VGG2表示采用權(quán)重共享及預(yù)訓(xùn)練策略、權(quán)重衰減系數(shù)為0.0001、dropout系數(shù)為0.4的Tri-VGG特征提取網(wǎng)絡(luò)。
圖7 Tri-VGG與VGG16特征提取層的Faster R-cnn損失函數(shù)及AP對(duì)比Fig.7 Comparison of Tri-VGG and VGG16 feather extraction layer in Faster R-cnn loss function and AP
由實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),未采取任何訓(xùn)練策略的Tri-VGG特征提取網(wǎng)絡(luò)的損失函數(shù)無(wú)法進(jìn)一步收斂,而算法的檢測(cè)精度卻無(wú)法提升,這是因?yàn)榇嬖趨?shù)冗余,也就是過(guò)擬合現(xiàn)象。
于是我們對(duì)該網(wǎng)絡(luò)采取了凍結(jié)預(yù)訓(xùn)練卷積層、權(quán)重共享、權(quán)重衰減、dropout等方法避免網(wǎng)絡(luò)的過(guò)擬合,在實(shí)驗(yàn)中發(fā)現(xiàn),隨著dropout系數(shù)的增長(zhǎng),網(wǎng)絡(luò)的過(guò)擬合現(xiàn)象起初會(huì)得到較好的改善,但是如果dropout系數(shù)超過(guò)0.4,網(wǎng)絡(luò)的檢測(cè)性能的不穩(wěn)定性就會(huì)較為突出,每次試驗(yàn)的結(jié)果波動(dòng)較大,于是本文采用的dropout為0.4是緩解網(wǎng)絡(luò)過(guò)擬合的前提下,較為穩(wěn)妥的選擇。由圖7可以看出,經(jīng)過(guò)預(yù)訓(xùn)練的Tri-VGG網(wǎng)絡(luò)的收斂效果也有明顯的提升,采用Tri-VGG的神經(jīng)網(wǎng)絡(luò)模型得到的AP達(dá)到了85.21 %,相較于原始的VGG神經(jīng)網(wǎng)絡(luò)模型高出了約3.01 %。
表2為幾種算法的綜合對(duì)比,實(shí)驗(yàn)結(jié)果表明,檢測(cè)精度上一階段網(wǎng)絡(luò)檢測(cè)模型稍遜于二階段網(wǎng)絡(luò)模型,而本文的模型相比RPN網(wǎng)絡(luò)采用soft-NMS的Faster R-CNN模型AP提高了3.01 %,相比原始的Faster R-CNN檢測(cè)算法AP提高了5.86 %。運(yùn)算速度上,一階段算法的運(yùn)算速度略快于二階段算法,本文的網(wǎng)絡(luò)模型檢測(cè)速度為20 f/s,在滿足檢測(cè)實(shí)時(shí)性的條件下,盡可能的提升了算法的檢測(cè)精度。算法的可視化結(jié)果如圖8所示。
表2 算法檢測(cè)精度比較Tab.2 Comparison of detection accuracy of algorithms
圖8 紅外車(chē)輛檢測(cè)算法可視化結(jié)果Fig.8 Visualization results of infrared vehicle detection algorithm
本文在Faster R-CNN網(wǎng)絡(luò)基礎(chǔ)上發(fā)展了一種權(quán)重共享的多感受野融合特征提取網(wǎng)絡(luò)Tri-VGG,并且設(shè)計(jì)了改進(jìn)的soft-NMS方法改進(jìn)了Faster R-CNN的第二次NMS過(guò)程,并且設(shè)計(jì)了訓(xùn)練策略防止網(wǎng)絡(luò)過(guò)擬合,使得改進(jìn)的多尺度特征融合的Faster R-CNN網(wǎng)絡(luò)對(duì)于擁堵路況的小型車(chē)輛的AP最高達(dá)到了86.65 %,車(chē)輛檢測(cè)AP達(dá)到了85.32 %,比采用了改進(jìn)soft-NMS的Faster R-CNN高了3.01 %,比原始的Faster R-CNN網(wǎng)絡(luò)高了5.86 %。后續(xù)的研究可從優(yōu)化Faster R-CNN的邊框回歸機(jī)制、改進(jìn)網(wǎng)絡(luò)的損失函數(shù)以及提高算法檢測(cè)速度等方向進(jìn)行。