金 濤,郭鴻韜,劉浩宇,楊 朔
(四川大學(xué)電子信息學(xué)院,成都 610065)
隨著我國(guó)國(guó)民經(jīng)濟(jì)的增長(zhǎng),公路里程數(shù)在逐年增長(zhǎng),交通路面的情況也越來(lái)越復(fù)雜。同時(shí),隨著私家車(chē)保有量的增加,人們?cè)诔鲂兄型鶗?huì)遇到非常多的問(wèn)題,諸如開(kāi)車(chē)過(guò)程中對(duì)路面信息獲取不及時(shí)導(dǎo)致發(fā)生交通意外的事故每天都在發(fā)生。道路通暢在為人們的出行帶來(lái)便利的同時(shí),也因?yàn)榈缆飞闲畔⑦^(guò)于冗雜,往往會(huì)導(dǎo)致駕駛員在駕駛過(guò)程中出現(xiàn)災(zāi)難。據(jù)統(tǒng)計(jì),全球每年120萬(wàn)人死于車(chē)禍,美國(guó)去年車(chē)禍死亡人數(shù)更是增加9%至3.8萬(wàn)人,其中90% 的車(chē)禍?zhǔn)侨藶樵斐傻?,因使用手機(jī)而分心近年更成為除酒駕以外最大的安全隱患[1],如果駕駛員能及時(shí)獲取路面的信息,在環(huán)境較為復(fù)雜的路段也能及時(shí)做出反應(yīng),則由于不正當(dāng)?shù)鸟{駛引起的嚴(yán)重后果應(yīng)該能有效避免。由于駕駛員不正當(dāng)?shù)牟僮鞫鴰?lái)的道路異常行為經(jīng)常發(fā)生,目前國(guó)內(nèi)外普遍采用的交通異常情況監(jiān)測(cè)方法還是人工監(jiān)控[2]、超聲波雷達(dá)監(jiān)測(cè)、微波監(jiān)測(cè)、激光檢測(cè)和視頻序列檢測(cè)等幾大類(lèi)。這些探測(cè)方式人力物力成本較高,受限于GPS 精度,精確度不高,且易于收到環(huán)境的影響,維護(hù)成本高,并且不能及時(shí)有效地發(fā)現(xiàn)路面出現(xiàn)的狀況。目前我國(guó)大部分車(chē)載行車(chē)記錄儀只具備記載路面實(shí)況視頻的功能,便于發(fā)生事故后的調(diào)查和取證。目前國(guó)內(nèi)也有一些車(chē)載攝像頭設(shè)計(jì)公司使用圖像處理算法對(duì)道路路面情況進(jìn)行監(jiān)視,手工設(shè)計(jì)的特征對(duì)于多樣性的變化并沒(méi)有很好的魯棒性,雨雪天氣還會(huì)因此對(duì)目標(biāo)監(jiān)測(cè)有較大的影響。并且受限于網(wǎng)絡(luò)的傳輸速度以及算法的精度,處理結(jié)果的實(shí)時(shí)性和精確度很差,不能達(dá)到實(shí)時(shí)監(jiān)測(cè)和預(yù)警的要求。
本文設(shè)計(jì)的道路信息識(shí)別系統(tǒng)具有實(shí)時(shí)監(jiān)測(cè)路面信息功能、自動(dòng)檢測(cè)目標(biāo)物并及時(shí)預(yù)警功能、基于嵌入式平臺(tái)的便攜性和拓展性的特點(diǎn)。系統(tǒng)前端是cmos 攝像頭進(jìn)行視頻采集工作,對(duì)采集到的視頻流,嵌入式平臺(tái)TX2對(duì)其進(jìn)行取幀并將其輸入到網(wǎng)絡(luò)中進(jìn)行目標(biāo)檢測(cè),當(dāng)視頻流中出現(xiàn)需要檢測(cè)的目標(biāo)時(shí),系統(tǒng)會(huì)及時(shí)反饋給后臺(tái)并作出預(yù)警。系統(tǒng)的設(shè)計(jì)流程圖如圖1所示:
圖1 系統(tǒng)設(shè)計(jì)方案圖
在前端的采集設(shè)備選擇的是幀數(shù)較高的cmos 攝像頭,該攝像頭拍攝幀數(shù)高,能實(shí)現(xiàn)對(duì)路面情況實(shí)時(shí)記錄的要求。嵌入式平臺(tái)選擇的是NVIDI A jetson TX2。NVIDIA TX2處理器由16nm 工藝制造,6核心設(shè)計(jì),CPU 部分由2個(gè)丹佛+4個(gè)A57核心共同組成,GPU 則采用 Pascal 架構(gòu),擁有256 個(gè)CUDA,浮點(diǎn)性能為1.5TeraFLOPS,相比老款Tegra X1的GPU 性能提高約50%,計(jì)算能力堪比中端GPU 的PC 機(jī)[3],滿足實(shí)時(shí)視頻圖像處理的需求。同時(shí)其約7.5瓦的功耗體現(xiàn)了節(jié)能的理念,以較低成本實(shí)現(xiàn)一個(gè)較為完整的便攜智能交通監(jiān)控系統(tǒng)。
NVIDIA TX2 的GPU 采用的是Pascal 架構(gòu),滿足實(shí)時(shí)視頻圖像處理的需求,同時(shí)該系統(tǒng)采用 NVIDIA TX2 嵌入式平臺(tái)制作[3],因其核心處理模塊僅信用卡大小,搭載外圍功能模塊也足夠輕便,可以搭載在不同類(lèi)型的汽車(chē)上,甚至搭載在行進(jìn)中的執(zhí)法車(chē)輛上,具有良好的便攜性。
傳統(tǒng)的路面監(jiān)測(cè)系統(tǒng)在監(jiān)測(cè)路面時(shí)采用DSP 處理模塊和GPS 模塊相結(jié)合,功耗較大,并且碰到路面狀況較差,如出現(xiàn)路牌被遮擋或者出現(xiàn)殘缺,以及路面信息較為復(fù)雜信息量太大時(shí),傳統(tǒng)的監(jiān)測(cè)系統(tǒng)會(huì)出現(xiàn)監(jiān)測(cè)不夠及時(shí)并且處理精確度較低的問(wèn)題,同時(shí)還要承擔(dān)攝像頭、線路的運(yùn)維費(fèi)用。采用NVIDIA TX2嵌入式平臺(tái),以較低成本實(shí)現(xiàn)一個(gè)完整的便攜智能交通監(jiān)測(cè)系統(tǒng),其約7.5瓦的功耗體現(xiàn)了節(jié)能的理念,同時(shí)其為深度學(xué)習(xí)設(shè)計(jì)的處理器能應(yīng)對(duì)交通路面較為復(fù)雜和冗多的狀況,能夠保障路面信息的及時(shí)獲取和反饋,可以較好地保障行車(chē)中的安全。
交通道路上關(guān)注目標(biāo)的檢測(cè)可以理解為是物體識(shí)別和物體定位的綜合,不僅僅要識(shí)別出物體屬于哪個(gè)分類(lèi),更重要的是得到物體在圖片中的具體位置。目標(biāo)檢測(cè)領(lǐng)域的難點(diǎn)主要包括檢測(cè)速度較低、位置準(zhǔn)確率較低、漏檢率較大等問(wèn)題,該系統(tǒng)采用的算法Yolo V3通過(guò)使用新的網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)特征提取,在Darknet-19中添加殘差網(wǎng)絡(luò)的混合方式,Yolo V3 將其擴(kuò)充為53層并將其稱之為 Darknet-53,這樣提高了識(shí)別的速度,滿足實(shí)時(shí)性的要求。
在Yolo V3中使用邏輯回歸預(yù)測(cè)每個(gè)邊界框的對(duì)象分?jǐn)?shù),系統(tǒng)只為每個(gè)ground truth 對(duì)象分配一個(gè)邊界框[4],如果先前的邊界框?yàn)榉峙浣ogrounding box 對(duì)象,則不會(huì)對(duì)坐標(biāo)或類(lèi)別預(yù)測(cè)造成損失,這樣可以很大的提高位置的準(zhǔn)確率。在Yolo V3中,每個(gè)框使用多標(biāo)簽分類(lèi)來(lái)預(yù)測(cè)邊界框可能包含的類(lèi),Yolo V3使用獨(dú)立的邏輯分類(lèi)器,在訓(xùn)練過(guò)程中,我們使用二元交叉熵?fù)p失來(lái)進(jìn)行類(lèi)別預(yù)測(cè),于是對(duì)于重疊的標(biāo)簽,多標(biāo)簽方法可以更好地模擬數(shù)據(jù)并優(yōu)化檢漏問(wèn)題。
Yolo 是一個(gè)基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的物體檢測(cè)算法,Yolo 的檢測(cè)思想不同于R-CNN 系列的思想,它將目標(biāo)檢測(cè)作為回歸任務(wù)來(lái)解決。其具體步驟如下[4]:整個(gè)圖片resize 到指定大小,得到圖片Input rs;將Input rs塞給CNN;使用NMS(非極大值抑制)去除多余框,得到最后預(yù)測(cè)結(jié)果。
確定系統(tǒng)所使用的硬件平臺(tái)和所使用的算法后,我們基于深度神經(jīng)網(wǎng)絡(luò)CNN 對(duì)前期收集到的道路標(biāo)志進(jìn)行第一批試驗(yàn),其中1,000張左右的圖片用的是CTSD 數(shù)據(jù)集,并且對(duì)數(shù)據(jù)集進(jìn)行手動(dòng)打標(biāo)簽處理。由于數(shù)據(jù)集中有些路標(biāo)路標(biāo)量太少,我們還自己給一些數(shù)量過(guò)少的類(lèi)別進(jìn)行補(bǔ)充,并且新增了兩類(lèi)在道路上比較常見(jiàn)的路標(biāo),這樣一個(gè)50 類(lèi)路標(biāo),在確定準(zhǔn)確率后便可以開(kāi)始后面對(duì)交通異常行為的試驗(yàn)與分析。
在確定使用的深度網(wǎng)絡(luò)架構(gòu)是yolo V3[5]后,我們前期收集道路上常見(jiàn)的交通路標(biāo)對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試訓(xùn)練,并對(duì)前期的訓(xùn)練集從0到49共50類(lèi)圖標(biāo)進(jìn)行標(biāo)號(hào),并對(duì)每一類(lèi)的圖片進(jìn)行收集訓(xùn)練,分類(lèi)情況為:
圖2 五十類(lèi)分類(lèi)路標(biāo)
同時(shí),在處理道路信息時(shí),輸入給系統(tǒng)的是視頻流,所以我們?cè)谇捌诘膶?shí)驗(yàn)中加入了對(duì)視頻中目標(biāo)物的檢測(cè),在同一幀畫(huà)面中,算法也應(yīng)該滿足對(duì)多目標(biāo)物體的并行檢測(cè),這樣才能應(yīng)對(duì)對(duì)復(fù)雜環(huán)境的處理,所以在前期我們進(jìn)行了相關(guān)的試驗(yàn),將前期加入的訓(xùn)練集中的圖片進(jìn)行尋來(lái)你后自己合成一張圖片進(jìn)行識(shí)別,檢測(cè)網(wǎng)絡(luò)的識(shí)別效果。
網(wǎng)絡(luò)訓(xùn)練完成后,我們采用之前隨機(jī)從數(shù)據(jù)集中選取的280張圖片作為測(cè)試集進(jìn)行網(wǎng)絡(luò)評(píng)估,我們對(duì)訓(xùn)練10,000次的網(wǎng)絡(luò)進(jìn)行了recall 值計(jì)算,為97%,然后對(duì)最終網(wǎng)絡(luò)(訓(xùn)練13,000次)進(jìn)行recall 值計(jì)算,結(jié)果高達(dá)99.5%,平均IOU 數(shù)值為82.00%,說(shuō)明衰減學(xué)習(xí)率后進(jìn)行的訓(xùn)練對(duì)網(wǎng)絡(luò)預(yù)測(cè)效果有較明顯的提升,并且并未出現(xiàn)過(guò)擬合現(xiàn)象。我們還基于測(cè)試集,對(duì)每一類(lèi)交通路標(biāo)作了mAP 檢測(cè),檢測(cè)結(jié)果如下:
表1 50類(lèi)路標(biāo)檢測(cè)結(jié)果
在對(duì)視頻流進(jìn)行處理時(shí),我們需要現(xiàn)場(chǎng)能夠?qū)崟r(shí)地對(duì)路面進(jìn)行監(jiān)測(cè),這就需要處理視頻時(shí)幀數(shù)足夠高。在前期硬件選擇上,我們的攝像頭選擇的是幀數(shù)足夠高的cmos 攝像頭,能對(duì)路面進(jìn)行地拍攝,對(duì)視頻進(jìn)行處理時(shí)的幀率如下:
圖3 幀數(shù)達(dá)到40幀每秒
由處理視頻結(jié)果可以看到,fps 達(dá)到了40.7幀,當(dāng)視頻畫(huà)面像素點(diǎn)偏低時(shí),視頻的處理速度是會(huì)上升的,在人眼對(duì)實(shí)時(shí)視頻的幀率要求中,通常當(dāng)視頻幀率達(dá)到24幀以上,人眼就會(huì)判斷為是流暢的[6],所以在我們的網(wǎng)絡(luò)中,實(shí)時(shí)處理視頻幀率達(dá)到了30幀以上,滿足實(shí)時(shí)處理視頻的要求。
在對(duì)多目標(biāo)進(jìn)行并行處理時(shí),我們對(duì)網(wǎng)絡(luò)前期訓(xùn)練的種類(lèi)進(jìn)行識(shí)別,處理結(jié)果如下:
圖4 多目標(biāo)并行檢測(cè)
由識(shí)別結(jié)構(gòu)可以判斷,網(wǎng)絡(luò)的識(shí)別結(jié)果是符合對(duì)多目標(biāo)的并行檢測(cè)的要求的,這說(shuō)明在嵌入式開(kāi)發(fā)板上的處理能力較強(qiáng),可以滿足對(duì)多目標(biāo)檢測(cè)的能力。同時(shí),我們也展開(kāi)了對(duì)道路上汽車(chē)的檢測(cè),當(dāng)車(chē)流量較大時(shí),檢測(cè)平臺(tái)的處理能力,檢測(cè)結(jié)果如下:圖5 對(duì)道路上汽車(chē)的檢測(cè)
對(duì)于大多數(shù)的交通路標(biāo),該模型的表現(xiàn)都比較好,但是也存在諸如對(duì)29,30,37,40等表現(xiàn)不良的情況,經(jīng)過(guò)人工檢查,發(fā)現(xiàn)該四類(lèi)路標(biāo)都存在著對(duì)稱的路標(biāo),如29和30,36和67,39和40,可以認(rèn)為由于存在著對(duì)稱結(jié)構(gòu),導(dǎo)致相應(yīng)的兩類(lèi)路標(biāo)的有效性特征提取較為一般路標(biāo)困難,而且相應(yīng)數(shù)據(jù)集較少,使得網(wǎng)絡(luò)在處理此類(lèi)路標(biāo)的分類(lèi)時(shí)較乏力。
對(duì)于達(dá)到99.5%的召回率,主要原因有下:
(1)由于總數(shù)據(jù)集中存在較多的高相似的圖片,導(dǎo)致隨機(jī)取得的測(cè)試集存在與訓(xùn)練集相似度較高的圖片,一定程度上增加了racall 值。
(2)絕大多數(shù)圖片的ground t ruth 框數(shù)量為1-3個(gè),而且不存在密集遮擋問(wèn)題,檢測(cè)目標(biāo)難度相對(duì)較小。
(3)由于總體數(shù)據(jù)較少,相對(duì)于Tsi ng hu a - Tencent 100K數(shù)據(jù)集用于訓(xùn)練和測(cè)試的9 000多張圖片,我們的數(shù)據(jù)只有3 200多張,為了提高訓(xùn)練效果,我們將大量的圖片用于訓(xùn)練,只選取了較少的圖片作為測(cè)試。
在此算法基礎(chǔ)上,我們基本可以實(shí)現(xiàn)路面信息的及時(shí)檢測(cè)和反饋,可以及時(shí)地采取措施,并且在多個(gè)場(chǎng)合下都能很好地進(jìn)行應(yīng)用。在此算法基礎(chǔ)上,我們可以在后期加入對(duì)其他訓(xùn)練集的訓(xùn)練,比如在應(yīng)用到對(duì)道路異常行為的監(jiān)測(cè)時(shí),通過(guò)加入對(duì)現(xiàn)有道路異常行為的訓(xùn)練,便可以實(shí)現(xiàn)對(duì)道路異常行為的監(jiān)測(cè),可以應(yīng)用到更廣的用途中。
本文設(shè)計(jì)了一種基于嵌入式平臺(tái)的道路信息監(jiān)測(cè)系統(tǒng),本系統(tǒng)基于嵌入式平臺(tái)NVIDIA TX2 開(kāi)發(fā)完成,主要目的是能便攜地在不同場(chǎng)合下對(duì)路面進(jìn)行有效地監(jiān)控,彌補(bǔ)由于人工監(jiān)測(cè)造成的人力浪費(fèi),同時(shí)可以極大的減少后期的維修成本。本系統(tǒng)的開(kāi)發(fā)環(huán)境是基于深度學(xué)習(xí)網(wǎng)絡(luò)YOLO V3,在對(duì)網(wǎng)絡(luò)的訓(xùn)練集中,我們加入的是自己希望算法能夠識(shí)別的內(nèi)容,并對(duì)50類(lèi)路標(biāo)收集了大量的數(shù)據(jù)集,加入訓(xùn)練后對(duì)目標(biāo)測(cè)試集進(jìn)行測(cè)試,發(fā)現(xiàn)測(cè)試效果基本滿足要求。同時(shí)處理視頻流時(shí),幀率也基本滿足實(shí)時(shí)處理的要求,并能實(shí)現(xiàn)多目標(biāo)并行檢測(cè)。本系統(tǒng)目的在于后期可以加入其他的訓(xùn)練集,在其他的場(chǎng)合同樣可以實(shí)現(xiàn)我們需要的目標(biāo)物的監(jiān)測(cè),這樣可以實(shí)現(xiàn)對(duì)目標(biāo)物的預(yù)警功能。