張向清 楊銳 白濤 王金妮
摘?要:針對道路交通場景下的3類目標(biāo)(小車,公交車,卡車),本文先創(chuàng)建特定場景下的目標(biāo)數(shù)據(jù)集,并對其中的數(shù)據(jù)標(biāo)注規(guī)則,標(biāo)注方法以及標(biāo)注手段進行實驗。采用SSD目標(biāo)檢測算法,訓(xùn)練得到特定場景下的目標(biāo)檢測模型,并融合數(shù)據(jù)增廣等方式對數(shù)據(jù)集優(yōu)化。通過實驗分析,本文的訓(xùn)練模型檢測準(zhǔn)確度高,并且模型的魯棒性好。
關(guān)鍵詞:SSD;自制數(shù)據(jù)集;檢測模型
道路交通運輸行業(yè)在國民經(jīng)濟發(fā)展中發(fā)揮著重要作用,越來越多的機動車涌入道路,如果對道路中的目標(biāo)不加以交通管制或采取一定的措施防范控制道路中目標(biāo)的數(shù)量,將會引發(fā)更多的交通問題,例如:交通擁堵和交通違章越來越嚴(yán)重,致使交通中文明出行變得微乎其微。隨著互聯(lián)網(wǎng)時代的到來,各種智能硬件設(shè)備應(yīng)用到交通場景,有效的緩解了部分交通問題。但是,由于硬件設(shè)備的安裝繁雜、老化嚴(yán)重以及更新成本巨大,使交通管理部門的運營成本昂貴,本文分析一種基于視頻分析的交通監(jiān)控算法,不僅降低了交通管理的運營成本,而且其準(zhǔn)確度相比部分硬件設(shè)備有了明顯的提高。
1 常見的目標(biāo)檢測算法
目標(biāo)檢測目前有one-stage和two-stage兩種,two-stage指的是檢測算法需要分兩步完成,首先需要獲取候選區(qū)域,然后進行分類,比如R-CNN系列;與之相對的是one-stage檢測,可以理解為一步到位,不需要單獨尋找候選區(qū)域,典型的有SSD/YOLO。
1.1 基于候選區(qū)域的目標(biāo)檢測
首先將每個像素作為一組,求出各自的特征,然后將兩個最為接近的特征進行組合。為了避免大目標(biāo)對小目標(biāo)的淹沒,需設(shè)置不同尺度大小的ROI區(qū)域,在不同的卷積層進行矩形框的組合。這些區(qū)域被轉(zhuǎn)換為固定大小的圖像,并分別送到卷積神經(jīng)網(wǎng)絡(luò)中。在輸出層采用SVM分類器,使用Logic函數(shù)計算損失來修正邊界框,以實現(xiàn)目標(biāo)分類并得到邊界框。
1.2 基于端對端學(xué)習(xí)的目標(biāo)檢測
該類方法無需預(yù)先提取候選區(qū)域,以YOLO目標(biāo)檢測算法為例,整個模型的訓(xùn)練和檢測都進行了簡化,其將目標(biāo)檢測的類別和位置同時進行預(yù)測,可以歸納為回歸問題。主要步驟為:卷積層進行圖像特征提取;全連接層用于后續(xù)類別和目標(biāo)位置的回歸預(yù)測。
2 SSD目標(biāo)檢測算法
2.1 算法原理
一種基于回歸的SSD檢測模型,其不同于候選框提取的目標(biāo)檢測算法,例如:Faster R-CNN檢測算法,此算法不再提取候選框以及對像素或特征進行采樣,其將所有計算封裝在單網(wǎng)絡(luò)中使得SSD容易訓(xùn)練或直接集成到需要檢測組件的系統(tǒng)。同時,SSD對不同大小的輸入圖像的目標(biāo)檢測具有更好的精度,更快的速度。
SSD的模型結(jié)構(gòu)使用VGG-16網(wǎng)絡(luò)作為基礎(chǔ),然后添加額外的特征提取層,在不斷進行卷積的時候,得到的特征圖尺寸逐漸減小而后輸入到Extra feature層用來得到多個尺度檢測的預(yù)測值,形成了多個輸出路徑。為了簡化說明,我們把模型簡化為單輸出的網(wǎng)絡(luò),即只有一個輸出路徑,每個路徑都是一個全卷積網(wǎng)絡(luò)。
2.2 模型的訓(xùn)練
SSD算法中實現(xiàn)了多種數(shù)據(jù)集的訓(xùn)練方法,而對于自己的數(shù)據(jù)集需要修改文件中的不同參數(shù)設(shè)置以及對訓(xùn)練方法進行改進才能使得訓(xùn)練出來的模型適合特定的應(yīng)用場景。下面將對訓(xùn)練方法做具體分析:
(1)采集數(shù)據(jù)樣本,對分辨率不高或目標(biāo)不明顯的圖像和視頻幀刪除,統(tǒng)計所有樣本,并把目標(biāo)的矩形坐標(biāo)保存到文本文件,保證圖像和目標(biāo)矩形框能一一對應(yīng)。
(2)生成訓(xùn)練數(shù)據(jù)集,先將圖片和標(biāo)簽文件轉(zhuǎn)化為LevelDB或lmDB數(shù)據(jù)庫,我們將訓(xùn)練驗證集和測試集以一定的比例劃分開,最后將這些數(shù)據(jù)庫格式的文件輸入到深度學(xué)習(xí)的網(wǎng)絡(luò)中。
3 實驗結(jié)果
通過對不同數(shù)據(jù)集的訓(xùn)練,得到其不同輸出結(jié)果的訓(xùn)練模型。并將訓(xùn)練模型用于檢測高速公路場景內(nèi)的目標(biāo),實驗發(fā)現(xiàn):小車類的檢測準(zhǔn)確度較高其平均準(zhǔn)確度為93.2%,公交類的檢測平均準(zhǔn)確度為89.7%,卡車類的準(zhǔn)確度為87.4%,主要由于卡車類的訓(xùn)練目標(biāo)較少??梢钥闯?,這三類目標(biāo)檢測性能較好,基本符合應(yīng)用場景。
其次,我們對SSD中不同的基礎(chǔ)網(wǎng)絡(luò)模型也進行了測試分析,可以發(fā)現(xiàn):當(dāng)使用ResNet101基礎(chǔ)網(wǎng)絡(luò)框架再結(jié)合分類器能夠檢測出場景內(nèi)的更多目標(biāo),而基于VGG19和ZFNet5基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)檢測三類目標(biāo)的準(zhǔn)確度略低,說明在一定范圍內(nèi)卷積層數(shù)越多,檢測準(zhǔn)確度越好。另外,對不同輸入尺度的圖像或視頻流(本文分析了300x300和512x512),模型的檢測速度差異很大,對于場景中目標(biāo)不多且明顯的車輛,可以采用速度較快的300x300的圖像大小作為輸入。
4 結(jié)語
本文創(chuàng)建了特定場景下的數(shù)據(jù)集,訓(xùn)練不同的網(wǎng)絡(luò)模型并對網(wǎng)絡(luò)訓(xùn)練過程中的參數(shù)微調(diào)和模型優(yōu)化進行測試分析。通過實驗分析,本文采用的SSD目標(biāo)檢測算法,在自制數(shù)據(jù)集上性能表現(xiàn)良好,后期主要研究如何把模型參數(shù)進行壓縮,在嵌入式設(shè)備中進行實時檢測目標(biāo)。
參考文獻:
[1]張向清.高速公路場景下基于深度學(xué)習(xí)的車輛目標(biāo)檢測與應(yīng)用研究[D].長安大學(xué).
[2]張文桂.基于深度學(xué)習(xí)的車輛檢測方法研究[D].華南理工大學(xué),2016.
[3]張向清.基于深度學(xué)習(xí)方法的復(fù)雜場景下車輛目標(biāo)檢測[J].計算機應(yīng)用研究,2018,35(4):1270-1273.
作者簡介:張向清(1991-),男,陜西榆林人,碩士,信息與通信工程專業(yè)。