張鵬飛,藍維旱,高 峰,王迎旭
(1.中通服咨詢設計研究院有限公司,江蘇 南京 210019;2.廣東交通職業(yè)技術學院,廣東 廣州 510630)
隨著智能車輛、智能機器人和智慧交通等領域的不斷發(fā)展,交通場景下的行人圖像目標檢測逐漸成為這些領域的關鍵任務之一。但由于行人姿勢、服裝、背景和天氣的不同導致人的外觀差異較大,且圖像中行人尺度不一,使得行人檢測仍是一個具有挑戰(zhàn)的開放性研究問題[1,2]。
目前,國內外許多學者已經對復雜背景下的小目標行人檢測問題展開了研究,檢測方法大致可分為兩類,一類是基于傳統(tǒng)機器學習的圖像識別方法,另一類是基于深度學習的目標檢測方法[3-8]。對于傳統(tǒng)機器學習方面,2005年,Navneet Dalal創(chuàng)造了INRIA行人數(shù)據集并首先提出了基于HOG特征的SVM識別方法[9];蘇松志等改進了高斯混合模型減少復雜背景對目標檢測的影響,并提出了基于形狀特征的行人分類方法[10]。對于深度學習方面,芮挺等提出了基于多層網格的深度神經網絡對行人進行檢測,且相較于傳統(tǒng)方法有更高的識別率[11];Markus Braun等提出了一種利用大數(shù)據集提高目標檢測準確率的方法,并優(yōu)化了4種最先進的深度學習方法作為新目標檢測基準的基線[12];LI J等提出了一種基于尺度感知的快速R-CNN行人檢測方法,設計了一個既能從本質上捕捉大尺度和小尺度物體的特征,又能保持尺度不變性的CNN結構[13];ZHOU C J等提出一種基于語義自關注卷積神經網絡的行人檢測方法,利用一個多任務網絡,從弱盒狀標注的圖像數(shù)據集中聯(lián)合學習語義分割和行人檢測[14]。
本文針對復雜交通場景下小目標行人難以分辨的問題,提出了基于多尺度感知的改進Fast-RCNN模型方法,并利用Caltech行人數(shù)據集訓練網絡,最終行人識別準確率為97.49%。
本實驗數(shù)據來源于采用車載攝像頭拍攝的Caltech行人數(shù)據集,這是目前應用較為廣泛的數(shù)據集之一。該數(shù)據集是總長約為10 h的視頻,其幀率為30幀/s,每幀圖像分辨率為640×480,如圖1所示。
圖1 部分Caltech數(shù)據集行人圖像
本文從Caltech數(shù)據集中選取600張行人圖像作為訓練樣本,選取300張行人圖像作為測試樣本。由于原始Caltech數(shù)據集格式無法輸入網絡,因此需將其轉換為VOC格式,具體步驟包括:(1)通過代碼將seq文件轉換為jpg文件;(2)將vbb文件轉化為二進制格式;(3)將二進制文件中的標注框寫成VOC格式的XML文件;(4)利用XML文件,生成train.txt,trainval.txt和test.txt等文件。
1.2.1 尺度感知權重的獲取
繼快速R-CNN方法在一般目標檢測任務中獲得了出色的性能之后,本文提出一種基于尺度感知的Fast R-CNN模型,該模型將大尺度子網絡和小尺度子網絡集成到一個統(tǒng)一的體系結構中,如圖2所示,利用早期層中的共享卷積濾波器來獲取不同尺度目標的公共特征,即通過利用尺度感知權重,聯(lián)合學習大尺度和小尺度目標的特征并推斷最終結果。
圖2 尺度感知權重計算
給定一幅輸入圖像,首先將其送入共享卷積層,然后將每個目標建議框傳遞到兩個子網絡中,最后將兩個子網絡的結果加權組合,生成最終的檢測結果。根據目標的高度自適應計算不同子網絡的權重。直觀地說,對于大尺度子網絡,高度較高的建議框的權重也較高,而對于小尺度子網絡,高度較小的權重較高。這樣,可將尺度感知加權等效為大尺度子網和小尺度子網的軟激活,通過對兩個網絡的結果進行加權,生成最終的檢測結果。
1.2.2 改進Fast-RCNN網絡原理及特點
基于多尺度感知的Fast-RCNN網絡結構如圖3所示,首先通過卷積層和最大池層序列提取整個輸入圖像的特征,然后將其送入兩個子網絡。每個子網絡首先利用幾個卷積層來進一步提取特定于尺度的特征。那么,一個RoI池層將生成的特征映射匯集到一個固定長度的特征向量中,然后執(zhí)行一系列完全連接的層,最后有兩個輸出層,以生成特定于比例的檢測結果。一個輸出k個對象類加上一個“背景”類的分類分數(shù),另一個輸出細化每個k對象類的邊界框位置。最后,根據從對象建議高度計算的權重,將兩個子網絡的輸出加權在一起,以獲得最終結果。
圖3 基于多尺度感知的Fast-RCNN網絡結構
本試驗采用tensorflow1.3作為深度學習框架,并使用gpu加速訓練。硬件配置為i7處理器;軟件環(huán)境為Win10系統(tǒng)、pycharm軟件、python3.7。
本文所使用的Fast-RCNN目標檢測框架是由基礎的RCNN發(fā)展而來的。最傳統(tǒng)的目標定位方法是通過滑動窗口的方法將圖像分成若干子圖送入網絡,但這一方法數(shù)據量過于巨大,訓練時間過長。而RCNN是通過選擇性搜索(Selective Search,SS)產生候選區(qū)域并作為卷積神經網絡的輸入,得出每一區(qū)域的特征向量,再通過傳統(tǒng)的支持向量機(Support Vector Machine,SVM)分類方法判斷候選區(qū)域種類。
較為經典的卷積神經網絡包括AlexNet、VggNet以及ResNet等,本文選取兩種典型的網絡VGG-16和ResNet-50進行對比發(fā)現(xiàn),同一張圖像中,ResNet-50對于小目標的行人識別準確率較高,但誤識別率同樣較高;而VGG-16相較于ResNet-50在小目標行人的識別上有所欠缺,但其對大目標行人的識別準確率較高。總體而言,基于VGG-16和ResNet-50的Fast-RCNN目標檢測方法識別準確率較為相近,但VGG-16對于300張行人測試圖像這一網絡的準確率略高于ResNet-50。
然而,在Fast-RCNN目標檢測框架的基礎上增加尺度感知網絡后,行人識別準確率明顯提高,并且基于ResNet-50的特征提取網絡明顯優(yōu)于VGG-16網絡,其識別準確率為97.49%,比未改進前提高了4.36%。
為驗證基于深度學習的行人檢測方法優(yōu)于傳統(tǒng)的機器學習識別算法,本文選擇了兩類典型的傳統(tǒng)分類方法(基于HOG特征的SVM識別方法和基于ICF特征的AdaBoost識別方法)與之做對比。傳統(tǒng)機器學習算法和深度學習算法最大的區(qū)別在于前者是通過人工選擇圖像特征,后者通過卷積神經網絡自動生成特征向量,而人為選取的特征往往因為主觀因素的影響而導致識別準確率的下降。HOG特征提取的是行人的邊緣信息,利用邊緣的朝向和強度描述行人的外貌和姿勢,且這一特征對小范圍的光照和空間變化不太敏感。ICF特征則結合了梯度直方圖和顏色通道,在邊緣特征的基礎上增強了對人體的表面特征的提取。利用這兩種方法識別行人圖像發(fā)現(xiàn),基于HOG特征的SVM方法對于識別輪廓清晰的行人效果較好,基于ICF特征的AdaBoost方法也是如此,但由于增加了行人顏色特征,因此識別準確率更高。這兩種算法對于處理復雜背景的行人圖像效果不佳,其原因在于目標和背景的交界處往往不明顯,因此整體的識別準確率遠不如基于深度學習的行人檢測方法。4種檢測方法的識別效果如圖4所示。
圖4 4種識別算法對交通場景下行人的檢測效果
本文針對復雜交通場景下傳統(tǒng)分類方法識別小目標行人圖像效果不佳的問題,提出了基于多尺度感知的改進Fast-RCNN模型。利用尺度感知網絡和深度殘差網絡(ResNet-50)識別小目標行人。
這一方法實現(xiàn)了行人特征的自動提取,改善了由于光照不均和背景復雜導致的誤識別問題以及小目標行人的識別準確率,避免了行人和背景圖像必須邊緣界線明顯的情況,使行人自動識別技術具有更強的實際應用價值。當然,在實驗中仍發(fā)現(xiàn)這一方法還存在一定問題,如:(1)當圖中出現(xiàn)和人體形狀類似的物體時,識別準確率不夠高;(2)圖像精度提升導致圖像處理速度下降較快。后續(xù)還需要在圖像的識別效率上深入研究。