徐家偉 張重陽
(南京理工大學計算機科學與工程學院 江蘇 南京 210094)
近些年來,關(guān)于無人駕駛車輛的研究得到越來越廣泛的重視,道路視覺信息的獲得則舉足輕重,而道路交通標志的檢測則是其重要的組成部分。針對于特定場景,本文提出的方法是針對于高速公路指路標志字符的檢測。國內(nèi)外的許多研究者對于交通標志字符的檢測已經(jīng)提出了一些行之有效的方法,基本思路是獲得感興趣交通標志區(qū)域,對區(qū)域內(nèi)的有用字符進行檢測。對感興趣交通標志區(qū)域的提取,可通過顏色特征、形狀特征、紋理特征等組合的方法[1],對于自然場景字符的檢測,則有基于連通組件的方法[4]、基于紋理特征的方法[5]、基于連通組件和紋理特征相結(jié)合的方法[6]。而針對于感興趣字符型交通標志區(qū)域的獲取并進行字符的檢測的現(xiàn)有研究,谷明琴等[7]提出首先通過顏色特征分割出感興趣區(qū)域,再通過形態(tài)濾波和形狀標記圖篩選字符型交通標志的候選區(qū)域,然后通過大津率閾值二值化算法將分割出的圖像二值化,最后進行一次水平投影和一次垂直投影并通過3次樣條擬合算法進行字符提取。該方法滿足智能駕駛實時性的要求,但是這種方法只是適用于版面簡單的字符型交通標志。王振等[8]將道路環(huán)境中藍底白字標志牌文字的檢測和提取作為研究重點,通過主元分析方法提取感興趣標志區(qū)域的顏色特征并進行定位,對得到的區(qū)域進行仿射變換。通過形態(tài)學的top hat、skeleton算子以及區(qū)域生長等算法進行字符的定位。該方法也是研究簡單的標志牌版面,且只進行文字的提取,損失了距離字符,方向符號等重要信息。劉居峰[9]通過顏色特征以及形狀輪廓特征結(jié)合分類器的方法獲得高速公路綠底白字感興趣交通標志區(qū)域。然后提出在交通標志S通道拉伸灰度圖上利用聚類算法進行二值化,并通過多尺度規(guī)則和漢字多連通的特點進行文字的提取。該方法只針對文字提取,且對于漢字多連通的特點,很容易造成漢字筆畫分離。陳亞杰[10]通過顏色特征以及HOG特征結(jié)合支持向量機獲得城市道路藍底白字感興趣交通標志區(qū)域,然后通過幾何特征和位置信息分別獲得文字和符號。該方法對于版面復雜的情況則不能很好地提取文字和符號。
本文針對無人駕駛的實際需求,提出一種對高速公路指路標志字符進行提取的方法。高速公路指路標志一般為綠底白字,為了獲得足夠的有用信息,這里檢測定位的字符目標有高速公路編號,距離字符,方向符號,中文地名等有用信息。首先輸入無人車在高速公路實際場景下采集的圖像,為了實時性處理,對圖像降采樣,進行顏色分割,通過形態(tài)學操作和幾何特征獲得感興趣指路標志區(qū)域。對指路標志牌二值化,通過霍夫變換以及仿射變換對指路標志牌進行傾斜矯正,利用幾何特征和位置特征濾除噪聲。再根據(jù)版面規(guī)則和多級投影策略進行字符分割,將關(guān)聯(lián)字符合并成字符區(qū)域,提取字符區(qū)域的HOG特征通過支持向量機進行分類去除偽目標區(qū)域,最后即可獲得目標字符區(qū)域。通過對實際場景的圖片的實驗,證明了本方法的有效性。
圖1所示是無人車采集的實際高速公路場景圖片,高速公路指路標志牌一般固定于道路兩旁或者懸掛于道路上方,主體一般為綠底白字,部分指路標志牌上會有其他樣式的交通標志。本文方法以白色字體的高速公路編號,距離字符,方向符號,中文地名等有用信息為檢測目標。高速公路指路標志牌的檢測是字符檢測的前期必要工作,本文提出了滿足無人駕駛實時性要求,符合高速公路場景的指路標志牌檢測方法。圖2所示是高速公路字符檢測算法的框架。
圖2 高速公路指路標志字符檢測算法框架
為提高處理速率,對得到的圖片進行降采樣。高速公路指路標志基本都位于圖片的上半部分,所以方法首先截取圖片的上三分之二部分。之后再通過高斯核對圖像進行卷積,對卷積后圖像刪除所有的偶數(shù)行和偶數(shù)列以降采樣。采用RGB顏色空間和HSV顏色空間結(jié)合的方法提取以綠色為主的高速公路指路標志區(qū)域。方法對圖像同時提取RGB顏色空間和HSV顏色空間像素值。設RGB顏色空間的像素值為紅r、綠g、藍b,HSV顏色空間像素值為色調(diào)h、飽和度s、明度v。首先通過式(1)粗選區(qū)域。
(1)
針對粗選的感興趣區(qū)域,考慮光照等因素,再根據(jù)明度進行多梯度的顏色分割。將明度劃分為三個梯度,分別記為v1、v2、v3。得式(2)、式(3)、式(4)。
(2)
(3)
(4)
通過本文提出的結(jié)合RGB和HSV顏色空間的多梯度顏色分割方法得到的感興趣區(qū)域中包含感興趣高速公路指路標志區(qū)域。
通過顏色分割得到的圖像為二值圖,感興趣區(qū)域中包含很多噪聲,需要通過幾何特征進行濾除。方法首先通過面積特征濾出面積過小的區(qū)域。然后對圖像進行形態(tài)學膨脹,填充感興趣區(qū)域內(nèi)部空洞,進行形態(tài)學腐蝕操作。其目的是為了保持指路交通標志區(qū)域矩形形狀的穩(wěn)定。到此,二值圖中可能還剩下一些噪聲,需要根據(jù)幾何特征進行濾除。首先,獲得感興趣區(qū)域的輪廓S,對應得到輪廓的外接矩形R,現(xiàn)設外接矩形的寬為Rwidth,高為Rheight,面積為Rarea,輪廓的面積為Sarea,則感興趣區(qū)域需滿足式(5):
(5)
同時,與圖像邊界粘連的區(qū)域也將被濾除。通過降采樣、顏色分割、幾何特征過濾后,得到處理結(jié)果,如圖3所示。
圖3 高速公路指路標志定位圖
對高速公路指路標志牌二值化,本文提出一種顏色特征二值化方法和分塊局部OTSU方法的結(jié)合方法。指路標志牌的背景色為綠色,目標字符為白色,可以根據(jù)顏色特征進行二值化。應對明暗不同的情況,在RGB顏色空間獲取自適應閾值,現(xiàn)需獲得綠色閾值T(g),紅色閾值T(r)。標志圖像中大部分是背景色,現(xiàn)統(tǒng)計綠色像素g及紅色像素r的直方圖,得到綠色像素最大峰值P(g)、紅色像素最大峰值P(r),綠色的閾值取P(g)左邊的第一個谷值TR(g),紅色閾值取P(r)右邊的第一個谷值TR(r)。顏色特征二值化有式(6):
(6)
OTSU算法是圖像二值化的常用方法,考慮到圖像不同位置明暗的差異,本文采用分塊局部OTSU算法。將圖像分成若干圖像塊,每塊記為Block(k),k為圖像塊的計數(shù)。對每個圖像塊統(tǒng)計灰度直方圖,計算當閾值取i時,Block(k)平均灰度X,前景色平均灰度Y,背景色平均灰度值Z,前景像素數(shù)量S(Y),背景色像素數(shù)量S(Z),總像素數(shù)量S(X),則得Block(k)的前景與背景的類間方差F(k)如式(7)所示。F(k)取最大時的i即為合適閾值。最后將兩種方法的二值化圖像結(jié)果進行邏輯與運算得到最終二值圖。
(7)
因為得到的部分指路標志牌是傾斜的,需要進行矯正。首先通過Hough變換在二值圖上得到標志牌的四條邊線,然后求四條邊線的交點,即可得到標志牌的四個角點,通過仿射變換可將傾斜標志牌進行矯正。
矯正后的二值圖仍存在非目標區(qū)域,可以通過幾何規(guī)則過濾,包括區(qū)域長寬比、區(qū)域面積、區(qū)域占版面比例等,過濾后的二值圖可繼續(xù)進行下一步操作。
接下來本文提出一種基于多級投影的字符切割方法。通過分析版面,可知版面十分復雜多樣,且漢字筆畫分離,各標識區(qū)域相互交錯。為了最大程度保證不破壞字符的完整性并得到字符,根據(jù)版面規(guī)則,通過自上而下的多級投影策略,進行多次組合投影操作,可將復雜版面完全切割開,每次組合操作包括一次垂直方向投影操作,一次水平方向投影操作。
一次組合投影后,對于得到的各個區(qū)域塊,判斷是否繼續(xù)進行組合投影操作,直到完全分割。通過對版面的分析,當區(qū)域塊占版面的比例較大,或者區(qū)域塊為豎直長條狀時都需要進行投影操作。除了以上兩種情況外,版面還有一種特定模式需要再次投影切割,即區(qū)域塊上面是漢字,下面是英文字母的形式,這種模式區(qū)域塊在切割中以較高頻率出現(xiàn)。利用本方法,以圖4中的指路標志牌為例,經(jīng)過兩次組合投影操作即可全部分割開字符。
圖4 一種指路標志牌
第一次組合投影中,垂直方向投影沒有投影像素點為0區(qū)間,則不分割。繼續(xù)水平方向投影,坐標圖如圖5(a)所示,可將圖4標志牌分為左右兩部分。第二次組合投影可將較為復雜的左部分完全切割開,二值圖垂直方向投影坐標圖如圖5(b)所示,可得到三個條狀字符區(qū)域。三個條狀字符區(qū)域二值圖繼續(xù)水平方向投影,最終根據(jù)投影像素個數(shù)為0的圖像列將所有字符切割開。中間過程投影結(jié)果如圖6所示。
圖5 投影坐標圖
圖6 多級投影中間過程切割結(jié)果
因為檢測的目標包括白色字體的高速公路編號、距離字符、方向符號、中文地名等信息,這些目標又由數(shù)字字符、英文字符、漢字字符等組成。同時,指路標志牌上仍然可能存在其他標識等偽目標字符區(qū)域,這里需要根據(jù)版面規(guī)則合成得到字符區(qū)域以進行后續(xù)操作,即合成地名字符區(qū)域、距離字符區(qū)域等。
通過合并得到的區(qū)域中,除了目標字符區(qū)域外,還有一些偽目標區(qū)域,包括限速標識、英文拼音字符區(qū)以及一些其他偽目標。本文提出通過提取字符區(qū)域HOG特征,通過SVM分類器分類目標區(qū)域和偽目標區(qū)域,剔除偽目標區(qū)域。
圖像當中的局部目標能夠被梯度或者邊緣的方向密度分布很好的描述。方向梯度直方圖(HOG)[11]是圖像的一種特征描述子,通過計算統(tǒng)計圖像的局部區(qū)域的梯度方向直方圖獲得特征。計算圖像中像素點(x,y)梯度如式(8)所示。
(8)
式中:Gx(x,y)表示像素點(x,y)處水平方向梯度,Gy(x,y)表示垂直方向梯度,H(x,y)表示像素值,G(x,y)表示梯度幅值,α(x,y)表示梯度方向。建立方向梯度直方圖,是將梯度方向劃分為多個區(qū)間,分別統(tǒng)計各個方向區(qū)間內(nèi)的像素個數(shù),根據(jù)梯度值進行加權(quán),最后以各區(qū)間為單位建立直方圖。本文方法通過將圖像區(qū)域歸一化為固定尺寸n×n的圖像,然后將圖像劃分成m×m的塊(block),每個塊劃分成k×k的細胞單元(cell),將梯度方向平均劃分為r個區(qū)間。采集細胞單元的每個像素點的梯度和邊緣方向,建立直方圖。其中n是m的整數(shù)倍,m是k的整數(shù)倍。每個block的特征為block內(nèi)cell統(tǒng)計的方向梯度直方圖的累加,記為特征向量M[m0,m1,…,mi-1],i為block的特征向量的維數(shù),將每個block的特征向量串行疊加,得到整個圖像區(qū)域的特征向量N[M0,M1,…,Mj-1],j為block的塊數(shù),N的維數(shù)SUM(N)如式(9)。圖7為求得的一幅圖像的HOG特征直方坐標圖。
(9)
圖7 HOG特征坐標圖
支持向量機(SVM)[14]建立在統(tǒng)計學習理論的VC維理論和結(jié)構(gòu)風險最小原理基礎(chǔ)上,針對線性可分情況實現(xiàn)類別間隔最大化。對于線性不可分的情況,可將低維輸入線性不可分的樣本映射到高維特征空間以線性可分,SVM通過使用核函數(shù)將數(shù)據(jù)進行轉(zhuǎn)換,在轉(zhuǎn)換后的數(shù)據(jù)空間確定超平面進行數(shù)據(jù)分類。常用的核函數(shù)有多項式核、徑向基核、多層感知機核等,本文采用的核函數(shù)為徑向基核函數(shù),核函數(shù)公式如下所示:
κ(x,xi)=e-γ‖x-xi‖2γ>0
(10)
先建立正負樣本訓練集,正樣本包括白色字體的高速公路編號區(qū)域,距離字符區(qū)域,方向符號區(qū)域,中文地名區(qū)域,負樣本為其他區(qū)域。提取出HOG特征,投入到SVM進行訓練,得到訓練結(jié)果。測試時,從高速公路指路標志牌上獲取可能目標區(qū)域,根據(jù)訓練結(jié)果進行分類,確定是目標區(qū)域或偽目標區(qū)域,是目標區(qū)域則保留,是偽目標區(qū)域則剔除。算法如下:
1.give training data
training data: { (x1,y1),...,(xN,yN)};
input images: xi;
class label: yi={0,1} ;
2.get HOG features
image normalization: xi→n*n,i = 1,2,...,N;
Divide gradient direction : r;
最后,設計解決方案。確定核心目標后,我們就要從核心目標的達成出發(fā)來設計解決方案了。解決方案必須是基于幫助學生成長的愿景而設計,具有“準”“遠”“系”三個特點。準,就是準確找到根源性問題;遠,就是要盡可能往前看學生的經(jīng)歷,盡可能往后看學生的未來;系,就是解決方案不是單一的,而是持續(xù)的系統(tǒng)方案。
calculate the gradient: Vpixel1,...,Vpixelk*k;
get histogram: h1,...,hr→Hj;
End for
End for
3.train
input HOG feature of all training images;
while Flossis not convergent
update the parameters of SVM;
End while
4.predict
input images X to SVM;
output result: y(0 or 1).
通過本文提出的基于HOG特征和SVM的二分類,可以很好地將目標區(qū)域和偽目標區(qū)域分隔開。圖8為示例最終檢測結(jié)果。
圖8 字符定位圖
基于本文所提方法進行的實驗,軟件條件為Windows7+VS2013+Opencv2.4.10,硬件為基于Intel Core i5-2450M的CPU和4 GB內(nèi)存。實驗所用數(shù)據(jù)是通過南京理工大學無人車車載500W相機在南京至無錫路段所采集的高速公路實際場景照片,采集圖片分辨率為2 448×2 050。圖片采集過程上午從南京至無錫,天氣晴朗,下午從無錫至南京,天氣多云,全程車速控制在90 km/h左右,車輛行駛方向有順光逆光變化。
在本次實驗中,采用準確率(Precision)和召回率(Recall)對實驗結(jié)果進行統(tǒng)計,如公式所示:
(11)
式中:TP是正確檢測到的區(qū)域,F(xiàn)P是錯誤檢測到的區(qū)域,F(xiàn)N是漏檢的正確區(qū)域。
在實際高速公路場景的圖像上進行高速公路指路標志牌檢測實驗,正確區(qū)域為指路標志牌區(qū)域,錯誤區(qū)域為其他區(qū)域。從實驗結(jié)果分析得,錯誤區(qū)域主要為墨綠色廣告牌和客車等噪聲,其顏色、形狀和指路標志牌相近,容易誤檢,區(qū)域漏檢主要是因為指路標志牌顏色嚴重失真或區(qū)域被大部分遮擋等。與劉居峰[9]提出的方法的實驗結(jié)果對比,如表1所示。本文方法與劉居峰的方法相比,準確率和時間較為相近,但是查全率有了明顯的提高。
表1 指路標志區(qū)域檢測實驗
在高速公路指路標志圖像上進行目標字符區(qū)域的檢測,正確區(qū)域為高速公路編號、距離字符、方向符號、中文地名等字符區(qū)域,錯誤區(qū)域為其他區(qū)域。本方法進行三組實驗,不同之處在于分別將待檢測字符區(qū)域歸一化為40×40、60×60、80×80尺寸,block取10×10,cell取5×5,梯度方向均分為9個區(qū)間提取HOG特征,參數(shù)設定要保證特征維度合適,維度過低不能反映圖像特征,過高耗時較多。從實驗結(jié)果分析得誤檢區(qū)域主要為辨識度低的英文字母區(qū)域以及其他標識區(qū)。誤檢原因為分類器分類時出現(xiàn)誤分,漏檢原因是多級投影切割時的誤切和分類器分類時的誤分。實驗結(jié)果以及與劉居峰[9]提出的方法的對比如表2所示。
表2 目標字符區(qū)域檢測實驗
從實驗結(jié)果可以看出,對于本文方法的三組實驗,當待檢測目標區(qū)域歸一化為60×60時,特征提取較為合適,準確率和查全率最高,且時間也相對合適。同時,準確率、查全率、時間相對于劉居峰提出的方法都有大幅提高。
本文提出的高速公路指路標志字符檢測方法,通過顏色幾何特征獲得指路標志區(qū)域;通過二值化、仿射變換和基于多級投影的字符切割得到字符區(qū)域;通過HOG特征加上SVM的策略,去除偽目標字符區(qū)域。最終得到目標字符區(qū)域,效果明顯,可以很好地檢測到標志牌上的有用字符,包括地名、距離、方向等信息。這為無人駕駛道路視覺信息的獲得提供基礎(chǔ),可運用到高速公路場景視覺信息和衛(wèi)星導航信息的雙重驗證以及無衛(wèi)星導航時的視覺交通信息支持無人駕駛。但是由于影響圖像采集質(zhì)量的因素有很多,道路環(huán)境變化劇烈,需要進一步研究提高算法對復雜環(huán)境變化的適應性及魯棒性,縮短響應時間。且本方法獲得字符后,要實際運用到無人車上,還需要對字符進行識別以及語義理解,這需要后續(xù)的繼續(xù)研究。
[1] Ellahyani A, Ansari M E, Jaafari I E. Traffic sign detection and recognition based on random forests[J]. Applied Soft Computing, 2016,46(C):805-815.
[2] Lillo-Castellano J M, Mora-Jiménez I, Figuera-Pozuelo C, et al. Traffic sign segmentation and classification using statistical learning methods[J]. Neurocomputing, 2015,153:286-299.
[3] Zaklouta F, Stanciulescu B. Real-time traffic sign recognition in three stages[J]. Robotics and Autonomous Systems, 2014, 62(1):16-24.
[4] Shi C, Wang C, Xiao B, et al. Scene text detection using graph model built upon maximally stable extremal regions[J]. Pattern Recognition Letters, 2013,34(2):107-126.
[5] Li X, Wang W, Jiang S, et al. Fast and effective text detection[C]//Proceedings of the 15th IEEE International Conference on Image Processing, 2008:969-972.
[6] Gonzalez A, Bergasa L M, Yebes J, et al. Text location in complex images[C]//Proceedings of the 21st International Conference on Pattern Recognition, 2012:617-620.
[7] 谷明琴, 蔡自興, 任孝平.自然場景中字符型交通標志的檢測方法[J].中南大學學報(自然科學版), 2013,44(5):1861-1868.
[8] 王振, 魏志強. 交通標志牌字符提取算法[J]. 計算機應用, 2011, 31(1):266-269.
[9] 劉居峰. 自然場景中交通標志文字檢測算法研究[D]. 北京: 北京交通大學, 2014.
[10] 陳亞杰. 自然場景中交通標志版面理解算法研究[D]. 北京: 北京交通大學, 2016.
[11] Dalal N, Triggs B. Histograms of Oriented Gradients for Human Detection[J]. CVPR, 2005, 1(12):886-893.
[12] 徐淵, 許曉亮, 李才年,等. 結(jié)合SVM分類器與HOG特征提取的行人檢測[J]. 計算機工程, 2016, 42(1):56-60.
[13] 紀娟, 秦珂, 楊若瑜. 基于HOG和幾何特征的服裝細節(jié)要素識別與分類[J]. 圖學學報, 2016, 37(1):84-90.
[14] 王見, 陳義, 鄧帥. 基于改進SVM分類器的動作識別方法[J]. 重慶大學學報(自然科學版), 2016(1):12-17.
[15] 張云龍, 齊國紅, 張晴晴. 基于SVM的復雜環(huán)境下蘋果圖像的分割[J]. 智能計算機與應用, 2017, 7(1):14-16.
[16] 張霞, 黃繼風. 結(jié)合LBP直方圖和SVM的視頻火焰檢測[J]. 計算機應用與軟件, 2016, 33(8):216-220.
[17] Burges C J C. A Tutorial on Support Vector Machines for Pattern Recognition[J]. Data Mining & Knowledge Discovery, 1998,2(2):121-167.