張萬征,胡志坤,李小龍
(智洋創(chuàng)新科技股份有限公司,山東 淄博 255086)
近年來,各大知名汽車公司都在積極開發(fā)先進(jìn)的駕駛輔助系統(tǒng)(ADAS)[1],并試圖將ADAS系統(tǒng)商業(yè)化,甚至作為將來自動(dòng)駕駛的基礎(chǔ)。ADAS系統(tǒng)不僅配備了車道保持輔助系統(tǒng)(LKAS)[2],還需要配備具有各種道路交通識(shí)別標(biāo)志的交通標(biāo)志識(shí)別(TSR)系統(tǒng)。而根據(jù)歐洲NCAP評(píng)級(jí)標(biāo)準(zhǔn),當(dāng)汽車速度超過設(shè)定的速度閾值時(shí),汽車應(yīng)該能夠向駕駛員發(fā)出警告。盡管當(dāng)前應(yīng)用廣泛的數(shù)字地圖數(shù)據(jù)也可以知道限速值,但這種方法僅限于地圖數(shù)據(jù)中的道路。因此,在大多數(shù)汽車駕駛情況下,需要基于視覺的交通標(biāo)志識(shí)別系統(tǒng),要求TSR系統(tǒng)需要能識(shí)別各種交通標(biāo)志,以獲得更詳細(xì)的道路信息[3]。近年來,交通標(biāo)志識(shí)別越來越受到國內(nèi)外研究者的關(guān)注。比如清華大學(xué)、西安交通大學(xué)等高校和科研院所對(duì)自動(dòng)駕駛車輛和交通標(biāo)志識(shí)別進(jìn)行了大量研究。2008年,國家自然科學(xué)基金啟動(dòng)了視聽信息認(rèn)知計(jì)算項(xiàng)目,無人駕駛中與車輛相關(guān)的可視化計(jì)算是其重要的研究內(nèi)容之一。交通標(biāo)志圖像采集通常來自于駕駛車輛上的攝像設(shè)備[4],因此交通標(biāo)志識(shí)別系統(tǒng)在實(shí)際應(yīng)用中需要具有良好的實(shí)時(shí)性和準(zhǔn)確性。自然場景中光照、天氣、遮擋和拍攝角度的變化增加了交通標(biāo)志識(shí)別的難度。目前,交通標(biāo)志分類識(shí)別的主要算法有統(tǒng)計(jì)分類、模板匹配、稀疏編碼、神經(jīng)網(wǎng)絡(luò)和遺傳算法。其中,基于卷積神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志識(shí)別算法以其自學(xué)習(xí)能力受到國內(nèi)外研究人員的高度重視。特別是在深度學(xué)習(xí)結(jié)構(gòu)中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在圖像分類問題中得到了廣泛的應(yīng)用。CNN是一種使用小的子區(qū)域(接收域)的多層感知器。接收域被平鋪以覆蓋整個(gè)輸入圖像,然后通過共享相同的權(quán)重和偏移量生成特征映射。因此,深度學(xué)習(xí)可以減少神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)所需的參數(shù)數(shù)目,提高學(xué)習(xí)效率。
本文利用LeNet-5對(duì)國內(nèi)各種交通標(biāo)志進(jìn)行訓(xùn)練,最后以實(shí)時(shí)應(yīng)用為目標(biāo),選擇合適的輕量級(jí)檢測算法提取交通標(biāo)志感興趣區(qū)域,再通過訓(xùn)練模型對(duì)交通標(biāo)志進(jìn)行識(shí)別。
包括本文使用的LeNet-5模型[5]在內(nèi),幾乎所有用于圖像分類的CNN模型都是以物體圖像作為輸入數(shù)據(jù)的。通常在圖像識(shí)別過程中會(huì)先對(duì)圖像進(jìn)行預(yù)處理,選擇性搜索常被用作目標(biāo)檢測的預(yù)處理。它通過計(jì)算不同顏色空間和紋理的相似性來搜索可能包含對(duì)象的區(qū)域。目的是在健壯性和速度之間進(jìn)行權(quán)衡[6]。上述算法盡管可以取得較好的檢測效果,但時(shí)間復(fù)雜度太高,無法滿足實(shí)時(shí)計(jì)算的要求。因此,本文提出了一種簡單的區(qū)域分割方法,即HSV(Hue,Saturation,Value)閾值運(yùn)算,色調(diào)值的范圍設(shè)置為0~180,其他值的范圍為0~255。在實(shí)際應(yīng)用場景中,交通標(biāo)志具有鮮明的色彩特征,如人行橫道標(biāo)志是藍(lán)色的,停車標(biāo)志是紅色的。因此,簡單的HSV閾值法基本能提取出大部分交通標(biāo)志的區(qū)域。表1顯示了包含“停車”和“人行橫道”標(biāo)志的圖像的色調(diào)、飽和度和值分布。一般來說,停車標(biāo)志的色調(diào)較高(大于160),人行橫道標(biāo)志的色調(diào)在100左右。飽和度的值也取決于道路標(biāo)志本身。本文選擇了5個(gè)閾值操作的最小和最大H、S和V數(shù)。分別采用了停車、急轉(zhuǎn)彎、慢行、人行橫道、減速標(biāo)志提取算法,通過下面的方程得到HSV的最小數(shù)和最大數(shù)。
Hmin=μH-ασH,Hmax=μH+ασH
Smin=μS-βσS,Smax=μS+βσS
Vmin=μV-γσV,Vmax=μV+γσV,
(1)
式(1)中,μ是非零像素的平均值和標(biāo)準(zhǔn)偏差。α、β和γ是H、S和V范圍邊緣的決定因素。一般取α為1.1,β和γ設(shè)置為2.5。最大值和最小值的選擇都反映了足夠的飽和度和值的裕度,因?yàn)樗鼈兌紩?huì)隨著光照條件的變化而發(fā)生變化。特別是在停止標(biāo)志中,由于本文使用HSV二次曲線顏色空間模型,所以色調(diào)的最小值和最大值被設(shè)置為啟發(fā)式的。紅色的色調(diào)在170~180和0~10之間。
表1 HSV最大值最小值Tab.1 HSV maximum and minimum
限速標(biāo)志的形狀是一般圓形的,與其他物體的形狀有區(qū)別。因此,Hough變換用于檢測輸入圖像中的圓形[7]。在Hough變換算法之前,實(shí)現(xiàn)了高斯濾波(標(biāo)準(zhǔn)差為1.2的5×5核)和Canny邊緣檢測算法[8-11]。圖1顯示了前攝像頭圖像的區(qū)域檢測的結(jié)果。檢測階段排除了尺寸過大或過小或長寬比過大(長矩形)的區(qū)域。
圖1 交通標(biāo)志檢測結(jié)果Fig.1 Traffic sign test results
CNN架構(gòu)將每個(gè)檢測到區(qū)域輸入到CNN模型中。圖像的大小調(diào)整為100×100像素,還具有rgb像素。換言之,CNN的輸入數(shù)據(jù)具有100×100×3維。輸出層設(shè)計(jì)為20個(gè)節(jié)點(diǎn),其中18個(gè)為所選交通標(biāo)志的類別數(shù),另一個(gè)為其他類型標(biāo)志的類別數(shù),最后1個(gè)節(jié)點(diǎn)顯示假陽性類輸出。圖2顯示所選交通標(biāo)志的圖像。本文算法基于LeNet-5模型,并將一些節(jié)點(diǎn)進(jìn)行修改。在兩個(gè)卷積層中,使用5×5大小的卷積核,它將輸入圖像與步長1進(jìn)行計(jì)算。在每個(gè)卷積層之后,max pooling層使用2×2核和步長2對(duì)數(shù)據(jù)進(jìn)行重采樣并減小數(shù)據(jù)大小。
圖2 識(shí)別的主要標(biāo)志Fig.2 Main identification signs
本文通過自動(dòng)駕駛汽車擋風(fēng)板上的4攝像頭采集了駕駛視頻。首先,只訓(xùn)練由簡單仿射變換產(chǎn)生的正樣本,經(jīng)過多次檢測,收集到了假陽性分類結(jié)果。本文將它們?cè)O(shè)為陰性樣本。最后,將訓(xùn)練數(shù)據(jù)與25 000個(gè)正樣本和78 000個(gè)負(fù)樣本混合,圖3顯示了樣本的示例。
圖3 樣本示例Fig.3 Sample example
LeNet-5網(wǎng)絡(luò)只為數(shù)字識(shí)別設(shè)計(jì),傳統(tǒng)的LeNet-5網(wǎng)絡(luò)只包含10個(gè)輸出[12]??紤]到本文有18個(gè)類型而不是10個(gè),本文使用了與輸出層中輕微修改的LeNet-5架構(gòu)。網(wǎng)絡(luò)的第一層是可訓(xùn)練的特征extactor,具有特定的約束,例如本地連接和權(quán)重共享。卷積層應(yīng)用卷積核(5×5),子采樣層應(yīng)用核(2×2)。輸出中的分類層是完全連接的mlp。這些層使用提取的局部特征對(duì)輸入圖像進(jìn)行分類。本文采用C++、CUDA 7.5環(huán)境開發(fā)了TSR系統(tǒng)。本文使用Caffe[13-14]深度學(xué)習(xí)框架,其中包括模塊化和高效的計(jì)算機(jī)操作。訓(xùn)練使用的電腦規(guī)格為i7-6820 CPU,titan x顯卡,12 GB GPU內(nèi)存。
本文的測試在一段校園道路進(jìn)行。由于安全原因,校園內(nèi)交通標(biāo)志種類繁多,適合對(duì)TSR系統(tǒng)進(jìn)行測試。在先前的現(xiàn)場測試中,輸出節(jié)點(diǎn)閾值被調(diào)整為0.95,即如果輸入的裁剪圖像中的a類節(jié)點(diǎn)的輸出值為0.95,則TSR系統(tǒng)確定該圖像為a類。在可觀察范圍內(nèi),道路上有16個(gè)交通標(biāo)志。所有的交通標(biāo)志在駕駛過程中都被成功識(shí)別。圖4顯示了從輸入幀到輸出分類結(jié)果的整個(gè)過程。輸入圖像來自現(xiàn)場測試視頻。如圖4的底圖所示,人行橫道和停車交通標(biāo)志被劃分為安裝良好的邊界框。在本文的實(shí)時(shí)處理計(jì)算機(jī)上,運(yùn)行平均每秒幀數(shù)約為16.9 Hz。
圖4 系統(tǒng)流程圖及識(shí)別結(jié)果Fig.4 System flow chart and identification results
在基于視覺的ADAS領(lǐng)域中,大多數(shù)研究都是利用靜態(tài)算法進(jìn)行的,傳統(tǒng)的LeNet-5可以高效地進(jìn)行數(shù)字識(shí)別,但是由于其模型較為復(fù)雜且檢測區(qū)域過多,因此計(jì)算速度較慢,在很多情況下無法滿足TSR系統(tǒng)中對(duì)實(shí)時(shí)判斷的要求,本文提出了改進(jìn)的LeNet-5卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)18種交通標(biāo)志圖像進(jìn)行識(shí)別。在檢測階段,采用基于顏色的輕量級(jí)分割算法和Hough變換算法提取交通標(biāo)志的目標(biāo)區(qū)域,再利用LeNet-5對(duì)交通標(biāo)志進(jìn)行分類識(shí)別。最后通過在校園道路中的交通標(biāo)志進(jìn)行實(shí)驗(yàn)證明,本文算法可以快速識(shí)別出道路中的交通標(biāo)志,具有穩(wěn)定高效、實(shí)時(shí)性好的優(yōu)勢。