李秋潭
【摘 要】隨著國內(nèi)機(jī)動車保有量的急劇增加,一些交通繁忙的路口在上下班的時間段擁堵非常嚴(yán)重,交通事故發(fā)生量居高不下。行人和非機(jī)動車駕駛?cè)吮黄毡闅w為是交通弱勢群體,需要在交通系統(tǒng)設(shè)計(jì)中予以特別的關(guān)注和保護(hù)。文章采用YOLO v4網(wǎng)絡(luò)對行人、摩托車、自行車、汽車、公交車等通行目標(biāo)進(jìn)行識別,通過搭建學(xué)習(xí)環(huán)境、設(shè)定數(shù)據(jù)集收集對象,對圖片集進(jìn)行訓(xùn)練和測試,統(tǒng)計(jì)視頻中包含目標(biāo)的識別正確率、漏檢率、誤檢率。結(jié)果表明,系統(tǒng)訓(xùn)練的網(wǎng)絡(luò)能夠準(zhǔn)確、有效地識別視頻中的各種目標(biāo),達(dá)到了預(yù)期目標(biāo)。
【關(guān)鍵詞】行人;摩托車;自行車;汽車;檢測;YOLO;交通指揮設(shè)計(jì)
【中圖分類號】TP29 【文獻(xiàn)標(biāo)識碼】A 【文章編號】1674-0688(2021)12-0016-03
1 引言
在目標(biāo)識別領(lǐng)域,對行人和各種車輛等目標(biāo)的檢測,不僅在無人駕駛領(lǐng)域得到了快速發(fā)展,在交通指揮信號系統(tǒng)設(shè)計(jì)方面也得到廣泛應(yīng)用。隨著城市人口的快速膨脹,機(jī)動車輛的保有量不斷增長,道路交通擁堵問題日益嚴(yán)重,機(jī)動車輛給人們帶來便利的同時,也帶來巨大的交通安全風(fēng)險(xiǎn),對交通弱勢群體造成的傷害尤為嚴(yán)重。因此,交通指揮部門在規(guī)劃路口通行時間時,不能單純地考慮機(jī)動車如何通行,應(yīng)同時考慮交通弱勢群體的安全問題。
在一些特定的通行時間段,例如上學(xué)、放學(xué)高峰期,若是能根據(jù)目標(biāo)檢測結(jié)果,按照“行人優(yōu)先”原則設(shè)計(jì)交通信號指揮系統(tǒng),將會給行人提供更多的通行保護(hù)。
2 相關(guān)研究
通過檢索相關(guān)論文發(fā)現(xiàn),在目標(biāo)檢測領(lǐng)域,大多是對各種機(jī)動車輛進(jìn)行識別和分類,但是針對行人和自行車等小目標(biāo)檢測進(jìn)行研究的文獻(xiàn)很少。目前,檢測效果較好的方案大多是基于深度學(xué)習(xí)算法,識別結(jié)果越來越精確,本研究對行人、機(jī)動車等目標(biāo)的識別也是基于深度學(xué)習(xí)算法開展。孟輝磊在《行人和電動摩托車目標(biāo)檢測研究》[1]一文中提出使用YOLO(You Only Look Once)網(wǎng)絡(luò)對電動車進(jìn)行識別,基于緊急剎車區(qū)域的位置判斷思想,為本文的研究提供了思路。
3 選取目標(biāo)檢測算法
參考多種基于CNN的目標(biāo)檢測算法對目標(biāo)識別的結(jié)果,研究人員決定采用YOLO v4算法。根據(jù)YOLO v4官方提供的數(shù)據(jù),它對小目標(biāo)識別效果超過了SSD算法,能夠?qū)煌房诨蛉诵械郎系男腥?、汽車進(jìn)行有效且準(zhǔn)確的識別。
YOLO系列圖像識別算法目前已經(jīng)更新到第4代,即YOLO v4。YOLO v4的可定制化程度很高,在性能上優(yōu)于YOLO v5,但是其靈活性與速度弱于YOLO v5。
受時間和實(shí)驗(yàn)條件的限制,本文在定量分析時參考YOLO v4官方論文中給出的結(jié)果,選擇YOLO v4作為本文的目標(biāo)檢測算法。
4 訓(xùn)練環(huán)境的建立和數(shù)據(jù)集的采集和訓(xùn)練
選定要使用的目標(biāo)檢測算法后,需要建立一個價格合適的深度學(xué)習(xí)工作平臺作為訓(xùn)練環(huán)境,進(jìn)行系統(tǒng)軟、硬件配置,根據(jù)本文的識別目標(biāo)設(shè)置YOLO v4網(wǎng)絡(luò)的參數(shù),設(shè)置參數(shù)是一個反復(fù)嘗試的過程[1]。
4.1 建立訓(xùn)練環(huán)境
搭建訓(xùn)練環(huán)境時使用的硬件配置自然是越高越好,高配置的硬件可以大大減少調(diào)試的時間,尤其是反復(fù)調(diào)校參數(shù)花費(fèi)的時間可以成倍地縮短。但受現(xiàn)有條件的限制,只能采用性能一般的硬件搭建訓(xùn)練環(huán)境。
操作系統(tǒng)選擇Windows 10.0 64 bit,它運(yùn)行非常穩(wěn)定。沒有選擇市場上較常用的Ubantu系統(tǒng)的原因是為了減少工作中在操作系統(tǒng)來回切換,節(jié)省模型訓(xùn)練和模型參數(shù)優(yōu)化的時間。本系統(tǒng)設(shè)計(jì)采用“影馳”GTX1080Ti顯卡進(jìn)行運(yùn)算,能夠滿足訓(xùn)練要求。本文將使用自己的訓(xùn)練集模型VOC2012構(gòu)建一個可用的深度學(xué)習(xí)工作站。
4.1.1 訓(xùn)練環(huán)境的軟、硬件配置
高配置的訓(xùn)練環(huán)境花費(fèi)巨大,為了降低資金投入,本文使用的顯卡是“影馳”GTX1080Ti 11G大將版,經(jīng)測試后選擇兼容性較好的Windows10.0和CUDA11.0。為了保持良好的兼容性,目前一些軟件版本還沒有使用最新版,因此測試過程中,最新版本的幾種軟件運(yùn)行時會出現(xiàn)不穩(wěn)定、出錯崩潰等問題。
受條件所限,本文搭建的訓(xùn)練環(huán)境的軟、硬件配置見表1。
4.1.2 YOLO v4的配置
YOLO v4默認(rèn)識別的對象包括交通標(biāo)志、汽車、船只等81種對象,這與本文要識別的對象不同,所以開始訓(xùn)練前要修改YOLO v4的默認(rèn)配置文件,在調(diào)試過程中也需反復(fù)修改,使識別結(jié)果和運(yùn)行速度滿足實(shí)時識別檢測要求。
4.2 構(gòu)建數(shù)據(jù)集
建立YOLO v4訓(xùn)練數(shù)據(jù)集,對交通路口通行的行人、自行車、汽車等目標(biāo)進(jìn)行識別。建立數(shù)據(jù)集的思路為確定檢測對象—選擇數(shù)據(jù)集—標(biāo)注數(shù)據(jù)集—制作VOC2012數(shù)據(jù)集[2]。
4.2.1 確定目標(biāo)檢測對象
交通路口要采集的目標(biāo)檢測對象為行人、自行車、汽車,而檢測對象數(shù)據(jù)集主要包括行人、自行車、摩托車、小汽車、公交車等,由于車型種類太多,所以系統(tǒng)未能進(jìn)行細(xì)化分類而只做了簡單分類,后期如果對車輛類型劃分要求更高,則可以繼續(xù)添加細(xì)分,例如三輪摩托、四輪電動車等。
4.2.2 選擇數(shù)據(jù)集
VOC、COCO和ImageNet是目前圖像識別領(lǐng)域3種比較流行的數(shù)據(jù)集,YOLO v4官方演示的檢測識別結(jié)果就是通過前兩個數(shù)據(jù)集訓(xùn)練得到的。本系統(tǒng)設(shè)計(jì)參考相關(guān)研究的結(jié)果,選擇YOLO v4制作VOC2012格式的數(shù)據(jù)集。在選擇數(shù)據(jù)集時,既考慮數(shù)據(jù)集中圖片的數(shù)量和質(zhì)量,也考慮數(shù)據(jù)的豐富性。除了VOC2012自帶的圖片,還加入U(xiǎn)A-DETRAC數(shù)據(jù)集的圖片(如圖1所示)。為了讓數(shù)據(jù)集包含的種類更多一些,設(shè)計(jì)人員從互聯(lián)網(wǎng)下載了一部分交通路口的通行圖片。經(jīng)過整理,test數(shù)據(jù)集收集了約5 100張圖片,train數(shù)據(jù)集收集了約11 000張圖片。
4.2.3 標(biāo)注數(shù)據(jù)集
LabelImg是深度學(xué)習(xí)中常用于標(biāo)注圖片中目標(biāo)位置與名稱的小工具,使用它可以很容易地對自定義的目標(biāo)進(jìn)行分類和標(biāo)注。圖片整理完成后,要將這些圖片按照YOLO v4網(wǎng)絡(luò)規(guī)定的格式進(jìn)行命名和管理:首先在電腦上安裝Python3.7.9,然后安裝labelImg進(jìn)行分類、標(biāo)注。
4.2.4 制作數(shù)據(jù)集VOC2012
PASCAL VOC數(shù)據(jù)集制定了規(guī)范化的目標(biāo)分類和識別方案,系統(tǒng)設(shè)計(jì)人員會選用它里面的一部分圖片,按照它的官方格式制作本系統(tǒng)的數(shù)據(jù)集。VOC2012數(shù)據(jù)集中有20個分類、11 530張各種分辨率的圖片,標(biāo)定了27 450個目標(biāo)對象。
VOC2012數(shù)據(jù)集的目錄結(jié)構(gòu)一共包含Annotations、JPEGImages、ImageSets、SegmentationClass、SegmentationObject 5個文件夾,本系統(tǒng)只使用了前3個,另2個未使用。
4.3 訓(xùn)練數(shù)據(jù)集
訓(xùn)練參數(shù)設(shè)置主要包括Batch、Subdivisions、Widths、Heights、Channels、Max-batches、Momentum、Decay、Learning_rate、Burn-in等。本系統(tǒng)對主要參數(shù)進(jìn)行了設(shè)置和優(yōu)化調(diào)整,得出的最優(yōu)設(shè)置見表2。
5 訓(xùn)練結(jié)果及分析
5.1 訓(xùn)練結(jié)果
利用系統(tǒng)設(shè)計(jì)人員搭建的訓(xùn)練環(huán)境,經(jīng)過反復(fù)調(diào)試、優(yōu)化運(yùn)行,又經(jīng)過5天的VOC2012數(shù)據(jù)集訓(xùn)練,得到最終的平均損失不大于0.061 820 avg,結(jié)果基本符合系統(tǒng)設(shè)計(jì)人員的預(yù)期。因?yàn)閿?shù)據(jù)量太大,所以只展示最終訓(xùn)練結(jié)果:4 000∶0.043 076,0.043 07 avg,0.000 100 rate,10.501 258 seconds,9 267 images。
本測試的目標(biāo)對象是行人、摩托車、自行車、汽車、公交車,因?yàn)闄z測目標(biāo)少,所以速度比較快[3]。
5.2 訓(xùn)練結(jié)果分析
為了展示訓(xùn)練結(jié)果,系統(tǒng)設(shè)計(jì)人員選取了一段UA-DETRAC數(shù)據(jù)集中的MVI_20011圖片,分辨率為960×540dpi,MVI_20011共包含664幀圖片,以每30幀截取一張圖片的方式截取前4幀,識別結(jié)果如圖2所示。
本段視頻共識別出52 532個box,其中識別出目標(biāo)但識別錯誤的一共351個,未識別出的目標(biāo)472個。故本文訓(xùn)練網(wǎng)絡(luò)平均識別率為97.9%,錯誤率為1.2%,漏檢率為0.9%。各種檢測目標(biāo)的識別結(jié)果統(tǒng)計(jì)見表3。
從整段視頻看,行人的檢測正確率比較高。從第一幀圖片的檢測結(jié)果看,圖片中并沒有摩托車和自行車,對汽車、公交車的檢測正確率很高,由于遮擋很嚴(yán)重,所以遠(yuǎn)處的一些車輛未被檢測到。在圖片中有摩托車和自行車、行人的幀圖片,檢測正確率符合預(yù)期。
從表3中的檢測結(jié)果看,系統(tǒng)設(shè)計(jì)人員訓(xùn)練的網(wǎng)絡(luò)對小目標(biāo)識別具有很高的正確率,并且能夠根據(jù)需要靈活設(shè)置識別目標(biāo)的種類,識別速度高達(dá)31 FPS,在硬件配置不高的情況下也能滿足實(shí)時性識別的要求。
6 結(jié)語
目標(biāo)檢測的主要任務(wù)是對指定的目標(biāo)進(jìn)行分類和識別,本系統(tǒng)需要檢測的目標(biāo)的是行人、摩托車、自行車、汽車、公交車等。本系統(tǒng)基于YOLO v4網(wǎng)絡(luò)構(gòu)建了適合YOLO v4的VOC2012數(shù)據(jù)集,取得了比較理想的識別效果。在選用數(shù)據(jù)集時,除了選用VOC數(shù)據(jù)集中自帶的一部分圖片,還選用了UA-DETRAC數(shù)據(jù)集的一部分圖片,如果再采集一些更清晰的圖片加入,會取得更好的訓(xùn)練結(jié)果。
當(dāng)識別目標(biāo)較小、速度較快、環(huán)境光線不足時,對訓(xùn)練網(wǎng)絡(luò)的識別精度有較大的影響,相信隨著圖像采集、處理設(shè)備的升級,這些問題會得到解決。在后續(xù)的研究中將基于“行人優(yōu)先”的原則和本文取得的設(shè)計(jì)經(jīng)驗(yàn),深化交通指揮系統(tǒng)的設(shè)計(jì)研究。
參 考 文 獻(xiàn)
[1]孟輝磊.行人和電動摩托車目標(biāo)檢測研究[D].西安:長安大學(xué),2019.
[2]王萍萍,仇潤鶴.基于YOLOv3的車輛多目標(biāo)檢測[J].科技與創(chuàng)新,2020(3):68-70.
[3]王瀅暄,宋煥生,梁浩翔,等.基于改進(jìn)的YOLO v4高速公路車輛目標(biāo)檢測研究[J].計(jì)算機(jī)工程與應(yīng)用,2021,
57(13):218-226.