王殿偉,何衍輝,李大湘,劉 穎,許志杰,王 晶
(1.電子信息現(xiàn)場(chǎng)勘驗(yàn)應(yīng)用技術(shù)公安部重點(diǎn)實(shí)驗(yàn)室,陜西西安710121;2.西安郵電大學(xué)通信與信息工程學(xué)院,陜西西安710121;3.哈德斯菲爾德大學(xué)計(jì)算機(jī)與工程學(xué)院,英國(guó)哈德斯菲爾德,HD1 3DH)
行人檢測(cè)是指從輸入的視頻或圖像序列中判 斷是否包含行人,并快速準(zhǔn)確地判斷出行人位置。目前各類可見(jiàn)光成像設(shè)備在光照不足、光照不均勻等條件下獲取的視頻圖像降質(zhì)嚴(yán)重,所蘊(yùn)含的許多特征被覆蓋或模糊,使得行人檢測(cè)變得非常困難[1]。而利用紅外成像設(shè)備獲取的視頻圖像基本不受光照條件的影響,能夠在完全黑暗以及不均勻光照等場(chǎng)景中獲取到清晰的視頻,為行人檢測(cè)處理提供了良好的數(shù)據(jù)來(lái)源。因此,基于紅外視頻圖像的行人檢測(cè)技術(shù)對(duì)于軍事偵察、汽車輔助駕駛系統(tǒng)與智能監(jiān)控系統(tǒng)等領(lǐng)域具有重要意義。
目前,常用的紅外行人檢測(cè)技術(shù)主要分為基于特征分類的方法和基于深度學(xué)習(xí)的方法兩大類。基于特征分類的方法依賴人工設(shè)計(jì)特征提取器,并利用提取的特征來(lái)訓(xùn)練分類器進(jìn)行行人檢測(cè),如基于梯度直方圖(histogram of oriented gradient,HOG)和支持向量機(jī)(support vector machine,SVM)的實(shí)時(shí)行人檢測(cè)系統(tǒng)[2]。通過(guò)對(duì)行人紋理特征提取,雖然進(jìn)一步提高了檢測(cè)效率,但人工設(shè)計(jì)的行人特征泛化性差,運(yùn)算復(fù)雜度高,限制了實(shí)際應(yīng)用[3]?;谏疃葘W(xué)習(xí)的方法需要預(yù)先建立一個(gè)圖像訓(xùn)練庫(kù)作為學(xué)習(xí)模型[4],并利用卷積神經(jīng)網(wǎng)絡(luò)從圖像像素中學(xué)習(xí)行人特征,通過(guò)特征訓(xùn)練得到行人檢測(cè)模型,達(dá)到行人檢測(cè)的目的,這類方法主要有深度卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)法、局域卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)法和端到端學(xué)習(xí)法等?;谏疃染矸e神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法不需要人為選擇行人特征,但這種方法針對(duì)不同場(chǎng)景檢測(cè)需要單獨(dú)訓(xùn)練模型[5]?;趨^(qū)域卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法將特征提取和分類融合進(jìn)一個(gè)分類框架,提高了訓(xùn)練模型的速度和行人檢測(cè)的準(zhǔn)確率,但是該方法由于加入了SVM的訓(xùn)練而變得繁瑣[6]?;谏疃葘W(xué)習(xí)的端到端(single shot multibox detector,SSD)算法[7]可以解決在特征提取過(guò)程種由于圖像像素過(guò)多導(dǎo)致的維度災(zāi)難問(wèn)題,但SSD對(duì)小尺寸和模糊目標(biāo)的檢測(cè)效果較差,且檢測(cè)速度較慢。端到端的學(xué)習(xí)方法(you only look once,YOLO)[8]在檢測(cè)速度上遠(yuǎn)遠(yuǎn)超過(guò) SSD算法,但是YOLO在檢測(cè)相互重疊或者相鄰很近的目標(biāo)時(shí)存在漏檢率過(guò)高的問(wèn)題,且泛化能力偏弱。
針對(duì)上述問(wèn)題,YOLO的改進(jìn)算法YOLOv2和YOLOv3[9-10]先后被提出,雖然增強(qiáng)了YOLO的泛化能力,進(jìn)一步提高了檢測(cè)速度,但是在速度和準(zhǔn)確率上綜合表現(xiàn)最好的YOLOv3也無(wú)法精準(zhǔn)定位紅外視頻圖像中的行人目標(biāo),且在檢測(cè)分辨率不同的輸入圖像時(shí),目標(biāo)識(shí)別率較低,尤其是單尺度YOLO模型在行人檢測(cè)中的魯棒性較差。因此,本文提出一種改進(jìn)的YOLOv3紅外視頻圖像行人檢測(cè)算法。根據(jù)行人呈現(xiàn)高寬比固定的特點(diǎn),通過(guò)聚類分析得到初始候選框anchor的個(gè)數(shù)及寬高比維度,然后調(diào)整網(wǎng)絡(luò)預(yù)訓(xùn)練輸入圖像分辨率,并進(jìn)行多尺度訓(xùn)練,最后將改進(jìn)的YOLOv3在CVC-09數(shù)據(jù)集上進(jìn)行測(cè)試。
YOLOv3參考SSD和ResNet網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)了分類網(wǎng)絡(luò)基礎(chǔ)模型 Darknet-53[11]。Darknet-53兼顧網(wǎng)絡(luò)復(fù)雜度與檢測(cè)準(zhǔn)確率,與常用的目標(biāo)檢測(cè)特征提取網(wǎng)絡(luò)VGG-16相比降低了模型運(yùn)算量[12]。
Darknet-53 與 Darknet-19、Resnet-101、Resnet-152的性能對(duì)比如表1所示。
表1 Darknet-53與Darknet-19、Resnet的性能對(duì)比表
由表1可以看出,Darknet-53在Top-1和Top-5中的準(zhǔn)確率分別為77.2%和93.8%,高于 Darknet-19;浮點(diǎn)運(yùn)算速度為1 457次/s,高于 Darknet-19、Resnet-101和Resnet-152;每秒可檢測(cè)78幀圖像,高于Resnet-101和Resnet-152,可以達(dá)到實(shí)時(shí)檢測(cè)。
為了使YOLOv3適用于紅外視頻圖像中的行人檢測(cè),主要進(jìn)行3個(gè)方面的改進(jìn)。
(1)對(duì)紅外圖像數(shù)據(jù)集的目標(biāo)候選框進(jìn)行維度聚類分析,選擇最優(yōu) anchor個(gè)數(shù)。YOLOv3的anchor個(gè)數(shù)和維度是由VOC 20類和COCO 80類數(shù)據(jù)集聚類得到,不適用于紅外行人檢測(cè)。在做紅外行人檢測(cè)時(shí),無(wú)論行人處于什么樣背景,姿態(tài)怎么變化,行人在圖片中的長(zhǎng)寬比始終是一個(gè)相對(duì)固定的值,呈現(xiàn)瘦高的框,因此需要對(duì)行人候選框進(jìn)行聚類分析,重新確定anchor個(gè)數(shù)和寬高維度。
(2)調(diào)整分類網(wǎng)絡(luò)預(yù)訓(xùn)練過(guò)程,使用不同分辨率的紅外圖像作為網(wǎng)絡(luò)輸入,用VOC數(shù)據(jù)集進(jìn)行模型的預(yù)訓(xùn)練。使用不同分辨率的紅外圖像作為分類數(shù)據(jù)集,可以取得比較明顯的微調(diào)效果。
(3)網(wǎng)絡(luò)迭代過(guò)程中,隨機(jī)改變輸入圖像的尺寸,進(jìn)行多尺度網(wǎng)絡(luò)訓(xùn)練,使模型對(duì)不同尺寸圖像的檢測(cè)具有魯棒性。
YOLOv3引入了anchor,anchor是一組寬高固定的初始候選框,它的個(gè)數(shù)由人工設(shè)定,其設(shè)定的好壞將影響目標(biāo)檢測(cè)的精度和速度。在訓(xùn)練網(wǎng)絡(luò)時(shí),隨著迭代次數(shù)增加,候選框的參數(shù)也在不斷調(diào)整以接近真實(shí)框。利用k均值聚類算法(k-means)[13]對(duì)目標(biāo)框作聚類分析,網(wǎng)絡(luò)會(huì)根據(jù)行人標(biāo)注目標(biāo)框的特點(diǎn),學(xué)習(xí)行人特征,找到統(tǒng)計(jì)規(guī)律,最終以k為anchor的個(gè)數(shù)。k-means聚類分析使用歐式距離,意味著較大框會(huì)比較小框產(chǎn)生更多的錯(cuò)誤,因此YOLOv3采用重疊度(intersection over union,IOU),即候選框與真實(shí)框的交集除以并集,消除了候選框所帶來(lái)的誤差。代替歐式距離的最終距離函數(shù)為
聚類目標(biāo)函數(shù)為
式中,box為候選框,truth為目標(biāo)真實(shí)框,k為anchor的個(gè)數(shù)。目標(biāo)函數(shù)變化曲線如圖1所示,隨著k值增大,目標(biāo)函數(shù)變化越來(lái)越緩慢,變化線的拐點(diǎn)可以認(rèn)為是最佳的anchor個(gè)數(shù)。當(dāng)k值大于4時(shí),曲線變得平緩,因此選擇k值為4,即anchor的個(gè)數(shù)為4。
圖1 目標(biāo)函數(shù)變化曲線
同時(shí)可得紅外行人真實(shí)框的聚類結(jié)果,如表2所示,選擇k為4時(shí)的候選框作為初始候選框。
表2 紅外行人真實(shí)聚類框
0.554,1.906 0.498,1.732 1.663,6.262 2.294,8.646 1.337,4.986 2.096,7.631 1.300,4.835 0.435,1.628 0.886,2.982 0.484,1.704 0.968,3.273 2.273,8.199 0.659,2.083 1.351,5.194
分類網(wǎng)絡(luò)預(yù)訓(xùn)練可以提高網(wǎng)絡(luò)提取特征的能力和速度,然而由于Darknet-53最后一層全連接層的限制,輸入圖像被調(diào)整為固定分辨率,與實(shí)際檢測(cè)情況有較大差距。針對(duì)輸入圖像大小固定的不足,進(jìn)行如下改進(jìn)。
(1)采用VOC 20類和COCO 80類數(shù)據(jù)集對(duì)Darknet-53網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練。
(2)使用低分辨率(320 pixel×320 pixel)的已標(biāo)注紅外圖像數(shù)據(jù)集微調(diào)Darknet-53,使網(wǎng)絡(luò)先適應(yīng)紅外圖像中的行人特征。
(3)低分辨率輸入網(wǎng)絡(luò)微調(diào)完成后,在高分辨率(512 pixel×512 pixel)的紅外圖像數(shù)據(jù)集上進(jìn)行迭代,讓網(wǎng)絡(luò)逐層調(diào)整權(quán)重以適應(yīng)高分辨率紅外圖像行人特征。
YOLOv3包含卷積層和池化層,可以在訓(xùn)練過(guò)程中隨機(jī)改變輸入圖像的尺寸,用多尺度輸入的方法訓(xùn)練檢測(cè)網(wǎng)絡(luò)模型,使模型對(duì)不同尺度的紅外圖像檢測(cè)具有魯棒性。模型池化層共有32個(gè)可訓(xùn)練參數(shù),下采樣因子為32,因此訓(xùn)練過(guò)程中隨機(jī)改變的圖像的尺寸為32的倍數(shù),最小為320 pixel×320 pixel,最大為 608 pixel×608 pixel。
多尺度檢測(cè)訓(xùn)練能讓模型適應(yīng)不同尺度的輸入圖像,相較于單一尺度檢測(cè),多尺度檢測(cè)對(duì)高分辨率輸入圖像檢測(cè)準(zhǔn)確率更高。
以開(kāi)源深度學(xué)習(xí)框架Darknet為基礎(chǔ),改進(jìn)的YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)為模型,結(jié)合維度聚類分析、網(wǎng)絡(luò)預(yù)訓(xùn)練和多尺度訓(xùn)練模型的方法,訓(xùn)練紅外圖像行人檢測(cè)器。為了加快訓(xùn)練速度和防止過(guò)擬合,網(wǎng)絡(luò)參數(shù)中的沖量常數(shù)設(shè)置為0.9,權(quán)值衰減系數(shù)為0.005,初始學(xué)習(xí)率設(shè)定為0.001,并采用多分步策略學(xué)習(xí)。
分類網(wǎng)絡(luò)預(yù)訓(xùn)練結(jié)束后,多尺度檢測(cè)訓(xùn)練需要從大量樣本中學(xué)習(xí)紅外行人特征,若樣本集不具有代表性,很難選擇出好的特征。因此,先以混合了VOC、COCO中的行人圖像和CVC-09中的紅外行人圖像數(shù)據(jù)作為第一輪訓(xùn)練集,粗調(diào)網(wǎng)絡(luò)模型。接著將CVC-09紅外圖像序列作為多尺度檢測(cè)訓(xùn)練集和測(cè)試集,精調(diào)網(wǎng)絡(luò)。
CVC-09紅外行人數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集兩部分,訓(xùn)練集包含2 200張正樣本圖像和1 002張負(fù)樣本圖像,正樣本中含有5 990人。測(cè)試集包含2 884張正樣本圖像,含5 081個(gè)行人。CVC-09拍攝的數(shù)據(jù)均為紅外圖像,且存在背景復(fù)雜、行人互相遮擋等情況,適合作為紅外行人數(shù)據(jù)集。
實(shí)驗(yàn)軟硬件配置如表3所示。
表3 軟硬件配置
圖2為網(wǎng)絡(luò)訓(xùn)練過(guò)程中損失值的收斂曲線,橫坐標(biāo)表示迭代次數(shù),最大迭代為50 000次。當(dāng)網(wǎng)絡(luò)迭代超過(guò)4萬(wàn)次時(shí),各參數(shù)變化基本穩(wěn)定,從圖2中可以看出,最后損失值下降到約0.12。從這個(gè)參數(shù)的收斂情況來(lái)看,網(wǎng)絡(luò)訓(xùn)練結(jié)果比較理想。
圖2 損失值函數(shù)曲線
4.2.1 候選框生成方案對(duì)比
對(duì)數(shù)據(jù)集中的目標(biāo)框進(jìn)行k-means聚類分析,得到最優(yōu) anchor參數(shù),與 Faster-rcnn[14]、YOLOv3 的候選框生成方案對(duì)比,結(jié)果如表4所示,改進(jìn)的YOLOv3最優(yōu)候選框數(shù)量少,減小了運(yùn)算量,并且保證了較高的平均重疊率。
表4 候選框生成方案對(duì)比表
4.2.2 分類網(wǎng)絡(luò)預(yù)訓(xùn)練方法對(duì)比
根據(jù)分類網(wǎng)絡(luò)預(yù)訓(xùn)練的3個(gè)步驟,調(diào)整不同階段預(yù)訓(xùn)練網(wǎng)絡(luò)的輸入圖像分辨率,得到分類網(wǎng)絡(luò)預(yù)訓(xùn)練方法對(duì)比結(jié)果如表5。由表5可得,多分辨率微調(diào)后的分類網(wǎng)絡(luò)相較于微調(diào)前,檢測(cè)的平均準(zhǔn)確率由60%提高到了82%,提高了網(wǎng)絡(luò)的特征提取能力。
表5 分類網(wǎng)絡(luò)預(yù)訓(xùn)練方法對(duì)比
4.2.3 多尺度網(wǎng)絡(luò)與單尺度網(wǎng)絡(luò)的性能對(duì)比
多尺度檢測(cè)訓(xùn)練所得的模型對(duì)不同尺度的輸入圖像有更強(qiáng)的適應(yīng)性,通過(guò)對(duì)不同尺寸的紅外圖像做行人檢測(cè),得到多尺度網(wǎng)絡(luò)與單一尺度網(wǎng)絡(luò)的性能對(duì)比,如表6所示,其中單尺度網(wǎng)絡(luò)是由所有輸入尺寸為416 pixel×416 pixel的紅外圖像數(shù)據(jù)集訓(xùn)練所得的模型。由表6可得,當(dāng)檢測(cè)圖像分辨率變大時(shí),兩個(gè)網(wǎng)絡(luò)的檢測(cè)準(zhǔn)確率都隨之提高,相比同一尺寸輸入圖像而言,多尺度網(wǎng)絡(luò)檢測(cè)效果更好。
表6 多尺度與單一尺度網(wǎng)絡(luò)性能對(duì)比表
4.2.4 檢測(cè)驗(yàn)證集
用改進(jìn)的YOLOv3網(wǎng)絡(luò)檢測(cè)紅外行人目標(biāo),以測(cè)試集的樣本驗(yàn)證訓(xùn)練模型的檢測(cè)效果,對(duì)比Faster-rcnn和YOLOv3算法,結(jié)果如圖3所示。由圖3可得,經(jīng)過(guò)改進(jìn)后的YOLOv3在紅外視頻圖像上的檢測(cè)準(zhǔn)確率超過(guò)90%,檢測(cè)效果有明顯提升。
圖3 各檢測(cè)方法測(cè)試結(jié)果對(duì)比
部分檢測(cè)結(jié)果如圖4所示,可以發(fā)現(xiàn),在紅外行人圖像序列中,改進(jìn)后的YOLOv3檢測(cè)器可以較為精確地定位行人目標(biāo)。
圖4 改進(jìn)的YOLOv3檢測(cè)效果
YOLOv3和改進(jìn)的YOLOv3檢測(cè)效果對(duì)比如圖5所示,可以發(fā)現(xiàn)因行人的非剛體特性,比較容易發(fā)生重疊或遮擋,而改進(jìn)后的網(wǎng)絡(luò)可以較好地將重疊部分的行人目標(biāo)檢測(cè)出來(lái)。同時(shí),在對(duì)存在較多模糊的行人圖像進(jìn)行檢測(cè)時(shí),相較于YOLOv3,改進(jìn)的YOLOv3網(wǎng)絡(luò)能夠同時(shí)檢測(cè)到更多目標(biāo),降低了漏檢率。
圖5 紅外行人檢測(cè)效果對(duì)比
通過(guò)對(duì)紅外行人目標(biāo)重新做維度聚類分析、調(diào)整網(wǎng)絡(luò)預(yù)訓(xùn)練過(guò)程、多尺度訓(xùn)練模型的方法,將改進(jìn)的YOLOv3目標(biāo)檢測(cè)算法遷移到紅外行人檢測(cè)。以CVC-09紅外行人數(shù)據(jù)集為實(shí)驗(yàn)數(shù)據(jù),對(duì)比Fasterrcnn和 YOLOv3算法,實(shí)驗(yàn)結(jié)果表明,改進(jìn)的YOLOv3算法在紅外行人檢測(cè)中的準(zhǔn)確率高達(dá)90.63%,明顯優(yōu)于Faster-rcnn和YOLOv3算法,且改進(jìn)后的網(wǎng)絡(luò)能夠同時(shí)檢測(cè)到更多目標(biāo),降低了漏檢率。