趙樹恩,劉 偉
(重慶交通大學(xué) 機電與車輛工程學(xué)院,重慶 400074)
快速、準確的交通標志定位與識別是自動駕駛環(huán)境感知的重要內(nèi)容,也是決策規(guī)劃的前提,對降低交通事故率和緩解日趨嚴重的交通擁堵等問題具有重大作用[1-2]。近年來對交通標志定位與識別的研究眾多,且取得了較為滿意的成果,但應(yīng)用于多變的實際場景中,仍存在許多問題。
目前交通標志檢測與識別的研究方法主要包含兩類:基于傳統(tǒng)圖像特征提取結(jié)合機器學(xué)習(xí)的兩步驟方法和基于深度學(xué)習(xí)的目標檢測方法[3]。傳統(tǒng)圖像特征主要有:①基于顏色特征的方法,在RGB、H(色調(diào))S(色飽和度)I(亮度)、HSV等色彩空間中分割出指定的色彩區(qū)域,然后提取出交通標志;② 基于形狀特征的方法,首先需要對道路交通圖像進行邊緣檢測,提取出其中特定的幾何形狀特征,然后利用機器學(xué)習(xí)的方法對定位出的交通標志分類,識別其語義信息。常用的機器學(xué)習(xí)方法為AdaBoost及支持向量機(SVM)。C.BAHLMANN等[4]同時考慮圖像顏色特征及Haar特征,然后基于AdaBoost算法實現(xiàn)交通標志檢測。C. G. KIRAN等[5]首先對圖像進行色彩分割,將分割后的小塊與邊緣特征結(jié)合,然后利用SVM實現(xiàn)交通標志分類。
基于傳統(tǒng)圖像特征檢測結(jié)合機器學(xué)習(xí)分類的方法可快速實現(xiàn)定位和識別,但對光照敏感性強,在有陰影、亮度低和存在遮擋和運動模糊的情況就難以取得較好的識別效果[6-7]。
隨著深度學(xué)習(xí)理論的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)在目標檢測方面的優(yōu)勢明顯,避免了傳統(tǒng)方法中的人工特征提取過程?;诰矸e神經(jīng)網(wǎng)絡(luò)的主流目標檢測算法有:①包含兩個階段的快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster- RCNN)[8],該類神經(jīng)網(wǎng)絡(luò)模型往往參數(shù)量和計算量巨大,需巨大存儲空間保存模型,難以達到實時性要求;②端到端的單階段模型,主要有YOLO(you only look noce)[9]、SSD(single shot multibox detector)[10],該類方法可直接定位和識別出交通標志的位置和類別,比前者效率提升,但精度有所下降。在實際場景中難以實現(xiàn)實時性與精度之前的平衡,王海等[11]對YOLO、Faster-RCNN及其改進的算法在道路交通圖像中進行了驗證,雖達到了較好的精度表現(xiàn),但始終不能滿足實時定位的需求,而定位失敗的樣本大多為陰天、傍晚或存在背光的情況,因此,實現(xiàn)低照度條件下的交通標志檢測與識別,能大大優(yōu)化無人駕駛車輛在感知過程中的表現(xiàn)。
針對上述問題,筆者提出一種快速的低照度道路交通標志檢測與識別方法。首先采用CLAHE算法對圖像進行增強;通過設(shè)定相關(guān)閾值,在HSV色彩空間分離出紅色、黃色、藍色像素區(qū)域(對應(yīng)禁令標志、警告標志和指示標志);然后設(shè)定約束,定位可能的交通標志;為避免訓(xùn)練樣本中各類別標志圖像數(shù)據(jù)量差距過大發(fā)生過擬合,利用DCGAN模型對交通標志圖像進行樣本量增強;最后使用DC-VGG輕量化模型實現(xiàn)多類交通標志識別,論文的思路構(gòu)架如圖1。
圖1 思路構(gòu)架Fig. 1 Idea framework
為增加低照度條件下的識別精度,筆者利用CLAHE算法[12]增強輸入圖像的亮度。該算法通過對局部對比度進行限制,有效防止了噪聲放大造成的圖像失真,該算法常用于處理灰度圖,實現(xiàn)灰度圖的圖像增強。針對彩色的道路圖像,將其由RGB換到HSV色彩空間,利用CLAHE對V通道進行直方圖均衡化,再將V通道重新聚合到原始圖像中。該方法能在抑制高亮區(qū)域過曝的同時,有效提高暗部亮度,具體步驟如下:
1) 子塊劃分。將V通道均勻分割為d個子塊。
2) 對比度閾值設(shè)定。對每個子塊進行灰度級均分,每個灰度級最后分得像素量Na=m/Nc,其中m、Nc分別為各個子塊中包含的像素個數(shù)及其灰度級。
閾值計算方式為:
T=Mc×Na
(1)
式中:Mc為截取限制的倍數(shù)。
3) 像素重新分配。將每個子塊直方圖中超出閾值T的像素,重新平均分配至各灰度級,再對各個子塊進行直方圖均衡化。
4) 雙線性插值重構(gòu)。雙線性插值能有效防止直接拼接導(dǎo)致的塊狀效應(yīng),計算過程如下。
按x方向插值:
(2)
(3)
按y方向插值:
(4)
式中:P為插值點;v為該點像素值;x,y為各點的坐標,詳細見圖2。
圖2 雙線性插值各點坐標Fig. 2 Coordinates of bilinear interpolation points
設(shè)定圖像子塊為8,經(jīng)CLAHE算法增強后的道路圖像如圖3。
圖3(a)、圖3(b)為兩張低照度道路交通圖像;圖3(e)、圖3(f)為對應(yīng)CLAHE增強之后的圖像;圖3(c)、圖3(d)為對比了圖像增強前后V通道直方圖,顯然低像素值區(qū)間像素個數(shù)得到很大抑制,增加了高像素值個數(shù),從而一定程度上抑制高亮區(qū)域過曝,同時為暗區(qū)域提升亮度。
圖3 圖像亮度增強結(jié)果Fig. 3 Image brightness enhancement results
由于國內(nèi)的交通標志主要分為3種顏色:紅色、黃色、藍色,分別對應(yīng)禁令標志、警告標志和指示標志。因此,要定位可能的交通標志,需將圖像分割為僅包含紅色、黃色、藍色的二值圖像。通過設(shè)定閾值,將轉(zhuǎn)換到HSV色彩空間的道路圖像進行分割。根據(jù)經(jīng)驗,閾值設(shè)定如表1。
表1 色彩提取閾值Table 1 Color extraction threshold
為了更好的提取紅色像素,設(shè)定了兩個區(qū)間的紅色閾值,將鮮亮及較暗的紅色均作為檢測的目標,以降低漏檢率。然后對得到的3個二值化圖像進行輪廓檢測,得到感興趣區(qū)域外接矩形。設(shè)定約束條件為:
(5)
式中:w、h分別為外接矩形的寬高;s為輸入圖像的面積,以上變量均以像素為單位。
滿足式(5)所述條件的區(qū)域即為可能的交通標志的位置。則圖4中方框區(qū)域即可能為交通標志所在位置,但只有白色方框中的圖像為真實的交通標志,其余框中圖像標定為負樣本。
圖4 基于色彩特征的交通標志定位結(jié)果Fig. 4 Location results of traffic signs based on color features
傳統(tǒng)VGG-16[13]共有13個卷積層、5個池化層及3個全連接層,其結(jié)構(gòu)如圖5。該模型共有6個階段:1、2階段由兩個卷積層和一個池化層組成,提取圖像的低級特征;3、4、5階段均為3個卷積層加1個池化層的結(jié)構(gòu),通過設(shè)定大小為3×3的卷積核,既得到了較大的感受野,同時有效限制了參數(shù)量。
圖5 VGG-16結(jié)構(gòu)Fig. 5 VGG-16 structure diagram
傳統(tǒng)的VGG-16網(wǎng)絡(luò)模型全局使用3×3大小的卷積核,通過多個卷積層與池化層的堆疊實現(xiàn)深層特征提取達到較好的識別效果,但參數(shù)量巨大,導(dǎo)致訓(xùn)練和預(yù)測時需強大的硬件支持,且會耗費大量時間;此外,該模型淺層到深層特征關(guān)聯(lián)性低,易導(dǎo)致細膩特征丟失。
為加快圖像分類速度并保留細節(jié)特征,筆者在傳統(tǒng)VGG理論基礎(chǔ)上,提出基于膨脹卷積結(jié)合殘差結(jié)構(gòu)的DC-VGG輕量化道路交通標志快速識別模型,其基本結(jié)構(gòu)如圖6。
圖6 DC-VGG結(jié)構(gòu)Fig. 6 DC-VGG structure diagram
DC-VGG將傳統(tǒng)VGG-16中的經(jīng)典結(jié)構(gòu)(3個3×3 卷積)替換為空洞率為3,卷積核為3×3的膨脹卷積層,為防止多層膨脹卷積疊加導(dǎo)致的局部信息丟失,引入殘差結(jié)構(gòu),以確保圖像的細節(jié)特征。
筆者所提出的DC-VGG模型由5個普通卷積層、3個池化層、3個膨脹卷積層及3個全連接層構(gòu)成。相比于傳統(tǒng)VGG-16該模型結(jié)構(gòu)大大簡化,引入膨脹卷積[14]可在卷積核不變的情況下,獲取更大的感受野,從而減少參數(shù)量。感受野的計算方式為:
k′=k+(k-1)×(d-1)
(6)
RFi+1=RFi+(k′-1)×Si
(7)
式中:k為卷積核大?。籨為空洞率;RFi+1、RFi分別為當前層和上一層的感受野;Si為當前層之前的所有層步長乘積。因此,1個空洞率為3,大小為3×3的卷積核感受野與3個3×3的卷積核感受野相同。
為適應(yīng)文中輸入交通標志圖像大小,對每個卷積層大小進行了修改,修改后的結(jié)果見圖5。在全連接層末端利用Softmax進行概率計算:
(8)
式中:aj、ak分別為輸入Softmax向量的第j和第k個值;W為數(shù)據(jù)的類別數(shù);Sj為Softmax輸出的第j個值,即輸入圖像屬于第j個類別的概率。對應(yīng)的損失函數(shù)為:
(9)
式中:yj是圖像的真實標簽,維度為L,若y中第i位為1則標志該圖像屬于i類,其余位置的值均為0。
為與原模型形成對比,將傳統(tǒng)的VGG-16模型每個卷積層的大小和通道數(shù)分別調(diào)整為原來的1/4和1/2,且令全連接層與DC-VGG相同。經(jīng)調(diào)整,新的VGG-16總參數(shù)量為3 862 194,而文中的DC-VGG總參數(shù)量為953 970,參數(shù)量減少了75.3%。
為避免不同類別的交通標志樣本數(shù)量不均衡導(dǎo)致分類模型訓(xùn)練結(jié)果出現(xiàn)過擬合現(xiàn)象,筆者應(yīng)用深度卷積對抗神經(jīng)網(wǎng)絡(luò)擴充交通標志樣本量。
DCGAN實際上是在GAN的基礎(chǔ)之上增加了深度卷積神經(jīng)網(wǎng)絡(luò)[15],由generator(G)和discriminator(D)兩個模塊構(gòu)成,其結(jié)構(gòu)如圖7。D負責下采樣提取圖像深度信息,判斷圖像真假。通過形狀變化和上采樣,G將輸入的噪聲數(shù)據(jù)轉(zhuǎn)換成目標圖像,在每次學(xué)習(xí)中更新,與D相互博弈,以生成接近真實的目標圖像。
圖7 DCGAN結(jié)構(gòu)Fig. 7 DCGAN structure diagram
文中的實驗環(huán)境配置如下,硬件:使用Intel i7-8300 處理器,內(nèi)存為DDR 8GB,顯卡為NVIDIA GTX1050TI;軟件:實驗平臺為基于Python語言的Tensorflow-GPU深度學(xué)習(xí)框架。
運用的數(shù)據(jù)源自CCTSDB公開數(shù)據(jù)集,共有道路圖像15 000余張,包含大量低照度道路圖像。對其中13 000個圖像進行自適應(yīng)圖像增強及交通標志定位,除去數(shù)據(jù)量太少的交通標志類別,得到禁令標志16類,警告標志9類、指示標志14類。合并負樣本數(shù)據(jù),最終確定分類模型的輸出維度為34。
由于33類交通標志圖像數(shù)據(jù)量有不同程度的差距,且相較于總數(shù)達到6 450的負樣本數(shù)據(jù),差距甚大。因此,在模型訓(xùn)練之前,先對這33類交通標志數(shù)據(jù)量增強。DCGAN增強后的部分結(jié)果如圖8,圖中左側(cè)為實際提取到的標志圖,右側(cè)為分辨率56×56的生成結(jié)果。通過該方法將每類交通標志圖像數(shù)據(jù)均擴充至3 000個。
圖8 DCGAN數(shù)據(jù)樣本生成示意Fig. 8 Schematic diagram of DCGAN data sample generation
將增強后的數(shù)據(jù)集,按8∶2的比例劃分訓(xùn)練集和驗證集。得到的訓(xùn)練結(jié)果如圖9。
圖9 訓(xùn)練結(jié)果Fig. 9 Training results
由圖9可知,在不進行數(shù)據(jù)樣本增強的情況下,驗證集上表現(xiàn)出的準確率最低,且準確率上升的速度最慢;DC-VGG相較于VGG-16準確率上升更快,且具有VGG-16的性能表現(xiàn)。詳細數(shù)據(jù)見表2。
表2 模型訓(xùn)練結(jié)果Table 2 Model training results
由表2可知,DC-VGG的準確率略高于VGG-16方法,均達到0.98以上;該方法較VGG-16訓(xùn)練總時長縮短26.6%,平均單個標志預(yù)測時長縮減14.4%。
為進一步驗證該方法對交通標志識別的有效性,選擇在剩余2 000余張圖像中隨機抽取800張道路圖像進行識別。經(jīng)統(tǒng)計,該方法識別準確率達到94.12%,略低于YOLOv3的交通標志檢測模型平均準確率94.6[16],但在1050TI平臺下,文中的方法平均檢測速度達到28.55幀/s,遠高于YOLOv3的8.77幀/s。因此,筆者所提出的方法能保證識別準確率的同時提高辨識的實時性。圖10為低照度不同場景下道路交通標志的定位識別結(jié)果。
圖10 道路交通標志識別結(jié)果Fig. 10 Road traffic sign recognition results
針對低照度情況下道路交通標志圖像亮度偏低、飽和度過高、圖像模糊、識別不精確等問題,提出了基于膨脹卷積-VGG模型的道路交通標志快速定位與識別方法。通過CLAHE算法增強原始圖像亮度,并運用深度卷積對抗神經(jīng)網(wǎng)絡(luò)算法對樣本進行擴增,實現(xiàn)了道路交通標志快速識別。實驗結(jié)果表明,筆者所提出的方法能在低照度、遮擋等情況下都有優(yōu)異的表現(xiàn),并且即使在硬件不佳的情況下也能實時檢測高分辨率圖像。由于車載視覺成像設(shè)備獲取的道路交通標志標線圖像質(zhì)量受氣象、光照、環(huán)境等因素影響較大,進而直接影響標志標線識別算法的可靠性和魯棒性,在未來工作中,還有進一步研究交通標志特征的自適應(yīng)提取方法,從而提升識別模型的辨識速度與精度。