李澤濱, 裴崇利
(中通客車(chē)控股股份有限公司, 山東 聊城 252000)
交通標(biāo)志的識(shí)別是智能客車(chē)環(huán)境感知的主要組成部分,對(duì)于規(guī)范駕駛員駕駛行為,保障道路安全具有重要的意義[1]。為了提高車(chē)輛感知系統(tǒng)識(shí)別交通標(biāo)志的速度和精度,本文提出一種采用SSD深度學(xué)習(xí)框架的交通標(biāo)志識(shí)別方法。
得益于機(jī)器視覺(jué)和圖像處理技術(shù)的發(fā)展,工業(yè)相機(jī)作為一種高效、廉價(jià)的傳感器被廣泛地應(yīng)用于客車(chē)安全輔助駕駛技術(shù)。在交通標(biāo)志檢測(cè)方面,視覺(jué)傳感器與其他傳感器相比具有更強(qiáng)的細(xì)節(jié)捕捉能力,在圖像顏色、形狀識(shí)別方面有著天然的優(yōu)勢(shì)。傳統(tǒng)基于視覺(jué)的交通標(biāo)志識(shí)別方法大多是基于先驗(yàn)知識(shí)進(jìn)行特征提取,無(wú)法對(duì)每一類(lèi)交通標(biāo)志進(jìn)行精確描述。而且依賴(lài)單一特征的傳統(tǒng)算法,其識(shí)別的準(zhǔn)確性和魯棒性有待提高[2-3]。相比傳統(tǒng)的交通標(biāo)志識(shí)別算法,深度學(xué)習(xí)通過(guò)多層神經(jīng)網(wǎng)絡(luò)自動(dòng)地學(xué)習(xí)和提取交通標(biāo)志特征,對(duì)交通標(biāo)志的識(shí)別和檢測(cè)具有更好的準(zhǔn)確性,但是實(shí)時(shí)性略顯不足[4]。為了兼顧交通標(biāo)志檢測(cè)的準(zhǔn)確性和實(shí)時(shí)性,本文提出一種采用SSD深度學(xué)習(xí)框架的交通標(biāo)志識(shí)別方法,并對(duì)SSD模型進(jìn)行了改進(jìn)。SSD(Single Shot MultiBox Detector)是一種通用的深度學(xué)習(xí)目標(biāo)檢測(cè)模型,由LIU W等人2016年在ECCV上提出[5]。本文以SSD模型為基礎(chǔ),采用高效、輕便的MobileNet V3特征提取網(wǎng)絡(luò)代替了原模型中龐大的VGG16網(wǎng)絡(luò)。改進(jìn)后的模型較好地兼顧了目標(biāo)檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性的要求,通過(guò)對(duì)標(biāo)注的交通標(biāo)志圖進(jìn)行有監(jiān)督地學(xué)習(xí),可以實(shí)現(xiàn)交通標(biāo)志的識(shí)別和檢測(cè),基于SSD的交通標(biāo)志識(shí)別方法的主要內(nèi)容如圖1所示。下面將其中幾個(gè)重點(diǎn)進(jìn)行詳細(xì)介紹。
圖1 基于SSD識(shí)別方法的主要內(nèi)容
為了保證相機(jī)能夠清晰地捕獲交通標(biāo)志信息,同時(shí)滿(mǎn)足采樣頻率對(duì)于實(shí)時(shí)性的要求,本文最終選擇德國(guó)Basler公司生產(chǎn)的acA800-200gm工業(yè)相機(jī)。相機(jī)選好后,還要對(duì)鏡頭進(jìn)行選型。
鏡頭選型主要考慮的是相機(jī)的有效工作距離和水平視角[6],這兩項(xiàng)參數(shù)的確定主要與車(chē)輛的安全車(chē)距和駕駛員的安全視野有關(guān)。根據(jù)我國(guó)道路交通安全法的規(guī)定:機(jī)動(dòng)車(chē)在高速公路上行駛,當(dāng)車(chē)速超過(guò)100 km/h時(shí),安全車(chē)距為100 m以上;車(chē)速低于100 km/h時(shí),最小安全車(chē)距不得小于50 m[7]。根據(jù)大型客車(chē)高速行駛工況,確定相機(jī)的有效工作距離至少為100 m。實(shí)際上當(dāng)相機(jī)有效工作距離滿(mǎn)足高速環(huán)境的需求時(shí),也必然滿(mǎn)足城市道路的檢測(cè)需求??紤]到駕駛員和車(chē)輛響應(yīng)時(shí)間大約為1.2 s,最終確定相機(jī)的有效工作距離為130 m。
駕駛員的感受視野寬度跟車(chē)速呈反比,靜止?fàn)顟B(tài)下人眼的感受視野大約為210°,車(chē)速在70 km/h和100 km/h時(shí)駕駛員的感受視野分別約為65°和40°[6]。
綜合考慮有效工作距離和水平視角與相機(jī)硬件之間的約束關(guān)系,最終確定鏡頭的水平視角為70°。通過(guò)相機(jī)選型助手軟件計(jì)算獲得相機(jī)和鏡頭的參數(shù)見(jiàn)表1。
表1 相機(jī)和鏡頭參數(shù)
從2012年起,深度學(xué)習(xí)在圖像領(lǐng)域的識(shí)別能力已經(jīng)逐漸趕超了人類(lèi)[8]。自此以后深度學(xué)習(xí)算法在圖像識(shí)別和檢測(cè)領(lǐng)域占據(jù)了絕對(duì)的優(yōu)勢(shì),以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的深度學(xué)習(xí)算法也層出不窮。根據(jù)算法的工作流程可以分為兩類(lèi),一種是雙步法,另一種是單步法,比較經(jīng)典的框架有YOLO[9-10]和SSD。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,單步法識(shí)別的準(zhǔn)確率,尤其是速度遠(yuǎn)超雙步法,同時(shí)SSD模型在小目標(biāo)的檢測(cè)上比YOLO算法更具優(yōu)勢(shì),這對(duì)交通標(biāo)志的識(shí)別是極其重要的。因此本文最終選擇SSD作為交通標(biāo)志識(shí)別的基本框架模型,并對(duì)模型進(jìn)行了改進(jìn),其基本算法流程如圖2所示。
圖2 改進(jìn)的SSD交通標(biāo)志檢測(cè)流程
SSD算法的特征提取層的主網(wǎng)絡(luò)結(jié)構(gòu)是VGG16。但是VGG16是一個(gè)龐大的網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)包含有大約1.38億個(gè)參數(shù),這對(duì)硬件計(jì)算能力有著很高的要求,同時(shí)也不利于交通標(biāo)志檢測(cè)實(shí)時(shí)性的提高。為了進(jìn)一步對(duì)模型進(jìn)行優(yōu)化,本文將VGG16主干網(wǎng)絡(luò)采用輕量、高效的MobileNet V3進(jìn)行替代和改進(jìn),并采用遷移學(xué)習(xí)的方法對(duì)模型中的基本網(wǎng)絡(luò)參數(shù)和權(quán)重進(jìn)行了繼承。將最后2個(gè)全連接層改成卷積層,并隨后增加了4個(gè)卷積層來(lái)構(gòu)造網(wǎng)絡(luò)結(jié)構(gòu)。對(duì)其中5種不同卷積層的輸出(Feature map)分別用2個(gè)不同的 3×3的卷積核進(jìn)行卷積,一個(gè)是輸出分類(lèi)用的Confidence,每個(gè)Default box 生成21個(gè)類(lèi)別的Confidence;另一個(gè)輸出是回歸用的 Localization,即每個(gè)邊界框的位置信息,其中每個(gè)default box包含4個(gè)坐標(biāo)值(x,y,w,h),用于描述回歸邊框的位置。為了衡量深度學(xué)習(xí)網(wǎng)絡(luò)對(duì)交通標(biāo)志分類(lèi)和定位的準(zhǔn)確性,采用損失函數(shù)對(duì)每一類(lèi)指標(biāo)的訓(xùn)練結(jié)果進(jìn)行優(yōu)化和微調(diào),其中損失函數(shù)的定義如下:
L(x,c,l,g)=[Lconf(x,c)+αLloc(x,l,g)]/N
損失函數(shù)由兩部分組成,一部分用來(lái)衡量分類(lèi)誤差,另外一部分用來(lái)衡量定位誤差,其中Lconf代表置信損失,就是分類(lèi)誤差,Lloc代表邊框定位誤差。網(wǎng)絡(luò)通過(guò)不斷地訓(xùn)練迭代,直到各個(gè)指標(biāo)的損失函數(shù)值達(dá)到期望誤差值就結(jié)束網(wǎng)絡(luò)訓(xùn)練。損失函數(shù)值越小,準(zhǔn)確性越高。
目前中國(guó)沒(méi)有規(guī)?;慕煌?biāo)志數(shù)據(jù)集,因此本文采用公開(kāi)的交通標(biāo)志數(shù)據(jù)集GTSRB進(jìn)行網(wǎng)絡(luò)訓(xùn)練。GTSRB是通過(guò)大量實(shí)車(chē)試驗(yàn),在不同場(chǎng)景的道路上收集的交通標(biāo)志數(shù)據(jù)庫(kù),共包含了43類(lèi)交通信號(hào),其中訓(xùn)練圖像39 209幅,測(cè)試圖像12 630幅[11]。本文根據(jù)我國(guó)交通標(biāo)志的差異對(duì)GTSRB數(shù)據(jù)集的圖像進(jìn)行了篩選和合并,首先剔除我國(guó)交通標(biāo)志法中沒(méi)有的標(biāo)志符號(hào),另外對(duì)43類(lèi)交通標(biāo)志中常見(jiàn)的13種交通標(biāo)志進(jìn)行分類(lèi)合并,共計(jì)圖像10 287幅,篩選后的訓(xùn)練樣本統(tǒng)計(jì)結(jié)果見(jiàn)表2。
表2 篩選后的交通標(biāo)志訓(xùn)練樣本分布
由表2可知,各類(lèi)型交通標(biāo)志的樣本數(shù)量不均衡,這不利于將來(lái)的網(wǎng)絡(luò)訓(xùn)練和收斂,為了維持樣本數(shù)量上的均衡,需要對(duì)數(shù)量比較少的樣本進(jìn)行補(bǔ)充,樣本補(bǔ)充有兩種方法,一種是針對(duì)數(shù)量較少的樣本單獨(dú)進(jìn)行采集;另外可以通過(guò)圖像處理的方法進(jìn)行補(bǔ)充,比如調(diào)整對(duì)比度、翻轉(zhuǎn)、鏡像、裁剪等。補(bǔ)充后的數(shù)據(jù)集共計(jì)訓(xùn)練樣本圖像22 100幅。收集的部分訓(xùn)練樣本如圖3所示。
圖3 部分訓(xùn)練樣本
在網(wǎng)絡(luò)訓(xùn)練之前還要對(duì)訓(xùn)練樣本進(jìn)行歸一化、灰度化和去均值處理。歸一化是將不同大小的圖片像素都統(tǒng)一修改成45×45,歸一化后的圖片滿(mǎn)足網(wǎng)絡(luò)輸入對(duì)于尺寸的要求。灰度化是一進(jìn)步對(duì)圖片進(jìn)行壓縮,去除色彩信息。去均值是用訓(xùn)練樣本的平均值減去每個(gè)圖像并除以其標(biāo)準(zhǔn)差來(lái)確定訓(xùn)練樣本的分布中心。這些樣本預(yù)處理的操作有助于提高模型在處理圖像時(shí)的一致性,加速網(wǎng)絡(luò)的收斂,提高訓(xùn)練的準(zhǔn)確率。
本文的深度學(xué)習(xí)SSD模型是基于Matlab搭建的,Matlab集成了大量的深度學(xué)習(xí)圖像處理函數(shù),比如卷積,池化、隨機(jī)梯度下降算法等。模型訓(xùn)練的迭代周期為1 400個(gè),模型訓(xùn)練過(guò)程采用隨機(jī)梯度下降算法進(jìn)行尋優(yōu)和誤差的反向傳播,學(xué)習(xí)率采用梯度漸變的方式,0~2 000步的學(xué)習(xí)率為0.001,2 000~4 000 步的學(xué)習(xí)率為0.000 1,4 000~6 000步的學(xué)習(xí)率為0.000 01,前期訓(xùn)練采用大學(xué)習(xí)率有利于加速網(wǎng)絡(luò)收斂,后期采用小學(xué)習(xí)率對(duì)結(jié)果進(jìn)行細(xì)致尋優(yōu)增加網(wǎng)絡(luò)訓(xùn)練的準(zhǔn)確性。其訓(xùn)練過(guò)程和結(jié)果如圖4所示。
圖4 網(wǎng)絡(luò)訓(xùn)練過(guò)程與結(jié)果
由圖4可知,在經(jīng)過(guò)大約1 400個(gè)迭代周期之后網(wǎng)絡(luò)逐漸趨于穩(wěn)定和收斂,損失函數(shù)的值也逐漸趨近于0。將訓(xùn)練好的模型對(duì)攝像機(jī)捕獲的圖像進(jìn)行識(shí)別測(cè)試,測(cè)試圖像共計(jì)500幅,包含交通標(biāo)志783個(gè),其中成功檢測(cè)交通標(biāo)志753個(gè),平均識(shí)別準(zhǔn)確率為96.2%,單幀圖像的處理速度約為50 ms。交通標(biāo)志識(shí)別及其結(jié)果案例分別如圖5和圖6所示。
圖5 交通標(biāo)志識(shí)別
圖6 部分交通標(biāo)志識(shí)別結(jié)果
圖5中的交通環(huán)境共有2類(lèi)交通標(biāo)志,分別是禁止停車(chē)和限速;由圖6可知,本文的模型對(duì)這2類(lèi)交通標(biāo)志都能很好地完成識(shí)別。
交通標(biāo)志的識(shí)別是客車(chē)ADAS技術(shù)的重要研究領(lǐng)域。如何高效、準(zhǔn)確地實(shí)現(xiàn)交通標(biāo)志的識(shí)別對(duì)于規(guī)范駕駛員行為,減少交通事故具有重要意義。本文提出了一種改進(jìn)的SSD交通標(biāo)志識(shí)別方法,試驗(yàn)表明該方法對(duì)交通標(biāo)志識(shí)別的準(zhǔn)確率為96.2%,單幀圖像的處理時(shí)間約為50 ms,滿(mǎn)足客車(chē)對(duì)于實(shí)時(shí)性和準(zhǔn)確性的要求。