鄧翔宇,張屹南,楊雅涵
(西北師范大學物理與電子工程學院,甘肅 蘭州 730070)
智能交通系統(tǒng)ITS(Intelligent Traffic System)是將先進的信息技術、數(shù)據(jù)通信技術、傳感器技術、電子控制技術、人工智能和計算機技術等有效地綜合運用于整個交通運輸管理體系的實時、準確、高效的綜合運輸和管理系統(tǒng)[1,2]。交通標識識別是智能交通系統(tǒng)的關鍵技術,在車輛控制、交通監(jiān)控和智能駕駛等系統(tǒng)中都有著廣泛的應用[3],準確識別各種傾斜角度、拍攝角度的交通標識是實現(xiàn)車輛智能駕駛的重要基礎[4]。交通標識識別系統(tǒng)主要包括交通標識檢測、交通標識區(qū)域分割、交通標識分類和交通標識識別4個環(huán)節(jié)[5],而交通標識分類是交通標識識別系統(tǒng)的中心環(huán)節(jié),也是尤其重要的一個環(huán)節(jié),交通標識分類的對錯直接決定了后續(xù)交通標識識別的準確率[6],而交通標識形狀識別又是交通標識分類最為核心的部分,起著至關重要的作用。
目前,交通標識的檢測、分類和識別等技術都已經(jīng)受到了國內(nèi)外的廣泛關注和研究,并取得了大量的研究成果。如:Chen等[7]提出了一種基于交通標識顏色、形狀和空間等顯著性信息的交通標識檢測技術;Rehman等[8,9]提出了一種具有遮擋處理能力的交通標識檢測框架,稱之為判別塊(D-patch),并通過整合詞匯學習功能對其升級,對遮擋處理進行了更有針對性的訓練,但并未考慮圖像傾斜的情況;Yuan等[10]提出了一種復雜環(huán)境下交通標識檢測的端到端深度學習方法,該方法能夠對小尺度目標學習到更有效的特征,但同時對資源的消耗巨大;Tian等[11]提出了一種用于多尺度分析和局部背景檢測的交通標識檢測方法;Yang等[12]在顏色概率模型的基礎上提出了一種交通標識檢測模塊,比現(xiàn)有的檢測模塊速度快20倍,但檢測準確率不高;Jiménez 等[13]針對交通標識檢測,將交通標識檢測分為2個子塊,即形狀分類模塊和標識定位模塊,使用FFT處理交通標識的旋轉,并且對目標的偏心進行歸一化,從而提高了投影畸變情況下的檢測性能,但沒有從根源上克服圖像傾斜、拍攝角度傾斜的問題;Li等[14]提出了一種基于顏色不變性的圖像分割和基于形狀匹配的交通標識檢測方法,該方法能較好地檢測各種天氣、陰影、遮擋和復雜背景條件下的交通標識,但對傾斜圖像檢測率不高;Liu等[15]提出了一種快速檢測和識別高分辨率圖像中的多類交通標識的交通標識識別框架;Lu等[16]提出了一種多模態(tài)樹結構的嵌入式多任務學習方法,利用樹結構很好地表示了分類任務之間的層次關系,提高了交通標識識別的性能;Li等[17]采用了R-CNN框架和MobileNet結構,利用顏色和形狀信息來細化小交通標識的定位,并利用一個具有非對稱核的高效CNN作為交通標識的分類器;Gao等[18]利用人類視覺色彩表象模型和拓展的視覺行為模型提取交通標識的顏色和形狀特征,從而識別交通標識,但對拍攝角度的要求較高;Cai等[19]提出了一種新的交通標識識別系統(tǒng),利用基于區(qū)域特征的顏色分割和形狀分類器檢測交通標識,然后利用4層小波變換與最近鄰分類器相結合進行交通標識識別;許少秋[20]提出了一種新的識別戶外交通標識形狀的算法,通過離散曲線演變進行簡化和分解顏色分割輸出的外邊緣,再通過模板匹配來實現(xiàn)形狀的識別,但未涉及傾斜圖像和拍攝角度傾斜圖像的形狀識別;宋倩等[21]設計了一種基于顏色分割和形狀的交通標識形狀識別模型,使用HIS顏色空間對交通標識進行分割;Lafuente-Arroyo等[22]提出了一種基于支持向量機的分類方法,認為人工視覺系統(tǒng)中,識別交通標志的關鍵是如何檢測和識別交通標識的幾何形狀。
現(xiàn)有的交通標識形狀識別算法在各自特定的條件下都能取得較好的識別效果,但在交通標識圖像傾斜、拍攝角度傾斜的情況下,現(xiàn)有算法則表現(xiàn)出了各自的局限性。為解決上述問題,本文提出了一種將交通標識邊緣走勢統(tǒng)計特征與BP神經(jīng)網(wǎng)絡結合的交通標識形狀識別算法,很大程度上克服了交通標識圖像傾斜、畸變的問題,從而彌補了現(xiàn)有算法的不足。
交通標識是用圖形符號、顏色和形狀向交通參與者傳遞特定信息,用于管理交通的安全設施,是交通指揮的一種輔助設施。我國直接關系到道路交通安全問題的交通標識共有116種,除此之外,還有許多派生的交通標識??傮w上可以分為3大類:禁令標識、指示標識和警告標識。本文對此3大類交通標識分別進行了分析,發(fā)現(xiàn)此3大類交通標識最突出的區(qū)別在于顏色屬性和幾何形狀屬性:禁令標識包括紅色圓形、紅色三角形和紅色正八邊形;警告標識包括黃色三角形和黃色矩形;指示標識包括藍色圓形和藍色矩形。所以,根據(jù)顏色屬性和幾何形狀屬性可以對交通標識進行很好的分類。交通標識圖像的顏色信息只需使用RGB顏色分割的方法即可獲得,而其幾何形狀屬性的獲取才是交通標識分類的核心部分。本文利用交通標識的邊緣走勢來反映其幾何形狀屬性,計算邊緣走勢的方向比例作為交通標識幾何形狀的特征,進一步將該特征與BP網(wǎng)絡相結合,從而實現(xiàn)交通標識形狀的識別和分類。算法總體流程如圖1所示。
Figure 1 Overall flowchart of the proposed algorithm
圖1上半部分為訓練樣本的邊緣走勢特征提取與BP神經(jīng)網(wǎng)絡訓練過程,下半部分為測試樣本的邊緣走勢特征提取與送入神經(jīng)網(wǎng)絡判斷過程。由圖1可見,邊緣走勢特征是基于交通標識的邊緣圖像來獲得的,在這一過程中需要進行2次邊緣檢測。第1次邊緣檢測由于圖像清晰度或者分辨率的不同,檢測出的圖像邊緣可能會有斷點,如果直接對其進行外圍連通域提取,則可能會出現(xiàn)所提取的邊緣不完整或邊緣看似完整實則有斷點的情況。因此,本文算法在第1次提取邊緣以后再進行數(shù)學形態(tài)學膨脹處理,從而確保了邊緣圖像的連續(xù)性。但是,數(shù)學形態(tài)學膨脹處理會使邊緣圖像變得臃腫,因此對數(shù)學形態(tài)學膨脹處理后的圖像再次進行邊緣檢測,由于數(shù)學形態(tài)學膨脹不會改變圖像的總體形狀,所以第2次邊緣檢測仍然可以檢測出所需要的形狀邊緣并且沒有斷點。由于所要檢測的圖像并不復雜,因此邊緣檢測使用的是傳統(tǒng)的Sobel算子。由于使用的測試樣本是實拍圖像,可能有很多環(huán)境干擾或與交通標識顏色相近的區(qū)域都會在顏色區(qū)域分割時被分割出來,因此進一步根據(jù)連通域的區(qū)域面積和長寬比進行連通域濾除即可去除交通標識以外的其他部分。
提取外圍連通域后所得的圖像即交通標識的外邊緣,邊緣的形狀即交通標識的形狀。我國直接關系到道路交通安全問題的交通標識共包含4個基本形狀:圓形、矩形、三角形和正八邊形。經(jīng)分析發(fā)現(xiàn)這些形狀最本質的區(qū)別在于邊緣的梯度方向。圓形邊緣的梯度方向有無窮個,矩形邊緣的梯度方向有4個(上、下、左、右),3角形邊緣的梯度方向有3個,正八邊形邊緣的梯度方向有8個。但是,在計算邊緣梯度時,豎直直線的梯度是無窮大或負無窮大,不便于統(tǒng)計與后續(xù)工作。故本文提出了邊緣走勢的概念,先找到形狀邊緣圖像左上角的一點,以此點為起點,沿著形狀邊緣行進,每次行進都記錄一次行進的方向,此方向即為邊緣走勢方向。由于圖像是由一個一個像素構成,而不是直接由線構成的,因此本文選取了固定的走勢方向。方向、位置和走勢優(yōu)先級如圖2a所示。其中,1~16代表所設計的16個方向,也代表了行進的位置,且1~16優(yōu)先級依次降低,即假如一個點的走勢可能是方向1或者方向16,則選擇向優(yōu)先級高的1行進;0代表行進的起點,每次行進至另一點即將該點看作圖中的0,繼續(xù)使用此圖確定下一步的走勢方向與行進位置,每次行進都記錄下當次的走勢方向,直至沿著形狀邊緣行進一周。
本文設置的邊緣走勢方向有優(yōu)先級,因此會在行進過程中出現(xiàn)“走”重復區(qū)域的問題。本文通過標記行進過程中“走”過的區(qū)域,使得行進過程中不會“走”重復區(qū)域。標記區(qū)域和方法如圖2b所示。從確定起點開始即將此點及其8鄰域(圖2b中灰色部分)進行標記,每次行進都以同樣的方式標記行進過的區(qū)域。經(jīng)此處理,點的走向像我們設想的一樣,會沿著形狀邊緣行進一周。行進一周并記錄下每一步的走勢方向值,依次統(tǒng)計各個方向出現(xiàn)的比例,即為邊緣走勢統(tǒng)計特征。
Figure 2 Direction,position and marking of edges
交通標識圖像邊緣線條既有曲線,又有直線,本文人為設計了一幅既有曲線,又有直線的圖像,用于驗證算法的可行性,如圖3所示。圖3a為人工設計的測試圖像,包含了交通標識所有可能出現(xiàn)的邊緣情景;圖3b為測試圖像采用本文設計的方法行進的位置記錄,用數(shù)字表示行進的序號;圖3c為測試圖像行進一周過程中走勢方向的比例統(tǒng)計??梢姡吘壸邉萁y(tǒng)計特征提取方法具有較好的適應性,能夠滿足各種交通標識邊緣的特征提取,進而完成其形狀的識別。
Figure 3 Artificial graph and the statistical features of edge trend
由于交通標識圖像邊緣的形狀最本質的區(qū)別在于邊緣走勢方向。在執(zhí)行上述沿著形狀邊緣行進一周,且記錄下每一步走勢方向的過程中,沿圓形行進了所有16個方向且行進步數(shù)均勻,沿矩形行進最多的方向有4個且行進步數(shù)滿足一定比例,沿三角形行進最多的方向有3個且行進步數(shù)滿足一定比例,沿正八邊形行進最多的方向有8個且行進步數(shù)滿足一定比例。因此,本文選用不同交通標識圖像的邊緣走勢方向比例作為訓練樣本的輸入,包含了不同大小、傾斜角度和畸變程度的交通標識的各種可能形狀,輸出用二進制數(shù)0和1的不同組合來表示,表示方式如表1所示。
Table 1 Output representation of the training sample
BP神經(jīng)網(wǎng)絡是一種按照誤差逆向傳播算法訓練的多層前饋神經(jīng)網(wǎng)絡,其最突出的優(yōu)點就是具有優(yōu)良的模式分類能力和很強的非線性映射能力,且神經(jīng)元個數(shù)和網(wǎng)絡的層數(shù)根據(jù)不同需求可以自由設定。因此,本文采用BP神經(jīng)網(wǎng)絡來實現(xiàn)交通標識形狀的識別,其結構如圖4所示。圖4為6個隱層神經(jīng)元構成的16輸入、2輸出的BP神經(jīng)網(wǎng)絡模型,其中16個輸入分別對應邊緣走勢的16個方向比例,其中x1代表走勢為方向1的比例,以此類推;b1,b2,…,b6為隱層神經(jīng)元,y1,y2為二值輸出,不同的數(shù)字組合代表不同的形狀。輸入層神經(jīng)元與隱層神經(jīng)元、隱層神經(jīng)元與輸出神經(jīng)元之間都有相應的連接權,需要通過訓練確定其中的連接權值。
Figure 4 BP neural network model
BP神經(jīng)網(wǎng)絡的訓練共采用600組數(shù)據(jù)。針對不同形狀、大小和傾斜角度的交通標識圖像,利用其邊緣走勢統(tǒng)計特征與其對應的二進制數(shù)組合分別作為網(wǎng)絡的輸入和輸出進行訓練,所設計的BP神經(jīng)網(wǎng)絡參數(shù)如表2所示。
Table 2 BP neural network parameters
為驗證本文算法對各種交通標識圖像的形狀識別的可靠性和有效性,本節(jié)采用400幅交通標識圖像進行驗證,其中包括50幅標準交通標識圖像和350幅各個拍攝角度的實拍交通標識圖像。在主頻2.2 GHz、內(nèi)存16 GB的計算機上使用Matlab R2018a平臺對算法進行仿真。首先進行顏色分割,該過程采用RGB顏色范圍分割出禁令、警告和指示3種顏色,然后使用Sobel算子完成邊緣檢測,再進一步提取邊緣走勢統(tǒng)計特征,進而完成交通標識形狀識別。
圖5為標準交通標識圖像的顏色分割效果。圖5a為標準警告交通標識圖像的顏色分割效果,圖5b為標準指示交通標識圖像的顏色分割效果,圖5c為標準禁令交通標識圖像的顏色分割效果。通過對大量交通標識圖像的RGB顏色范圍統(tǒng)計得出,交通標識顏色范圍:禁令交通標識:139≤r≤255;0≤g≤106;0≤b≤203;警告交通標識:139≤r≤255;90≤g≤255;0≤b≤90;指示交通標識:0≤r≤98;0≤g≤206;111≤b≤255。以此范圍分割出禁令、警告和指示交通標識對應的紅、黃和藍3種顏色。
Figure 5 Color segmentation of standard traffic sign images
圖6a為對顏色分割后的圖像進行邊緣檢測-膨脹-邊緣檢測的處理效果,圖6b為邊緣檢測-膨脹-邊緣檢測處理后圖像的外圍連通域,圖6c為采用本文算法的行進路徑標記。其中膨脹是基本數(shù)學形態(tài)學運算,采用大小為5×5的結構子。
Figure 6 Post-processing of color segmentation results
Figure 7 Direction records and statistical characteristics of edge trends
圖7為采用本文算法對標準交通標識圖像行進過程中邊緣走勢的方向記錄與統(tǒng)計特征。圖7a為邊緣走勢方向記錄圖,圖7b為邊緣走勢統(tǒng)計特征圖。如邊緣走勢統(tǒng)計特征圖所示,邊緣走勢方向比例峰值有4個,充分反映出矩形的邊緣特征。
Figure 8 Part of the experimental results of actural traffic sign images
圖8為實拍交通標識圖像的部分處理結果。圖8a為實拍交通標識圖像,圖8b為對實拍圖像經(jīng)過顏色分割后的連通域濾除處理效果,圖8c為邊緣檢測-膨脹-邊緣檢測處理后圖像的外圍連通域,圖8d為實拍圖像邊緣走勢統(tǒng)計特征圖。圖8中包含了不同角度、不同形狀的交通標識圖像。后2幅實拍圖像為不同拍攝角度、傾斜角度拍攝的同一個交通標識。根據(jù)其邊緣走勢統(tǒng)計特征可以看出,方向的峰值都聚集在4個區(qū)域,可充分反映出其形狀特征。
為驗證本文算法的性能,本節(jié)采用形狀為圓形的圖像120幅,形狀為三角形的圖像100幅,形狀為矩形的圖像120幅,形狀為正八邊形的圖像60幅,共計400幅(800×600像素)交通標識圖像進行實驗。算法的準確率和時效性如表3 所示。
Table 3 Traffic sign shape identification performance
由表3可見,400幅交通標識圖像中僅有2幅識別錯誤,其中1幅圓形被誤識別為正八邊形,1幅正八邊形被誤識別為圓形,其他形狀均準確識別。同時,本文算法也與文獻[20-22]中的算法進行了比較,識別準確率如表4所示。
Table 4 Performance comparison of algorithms for traffic sign shape identification
由表4可知,本文算法準確率較其他算法都有優(yōu)勢,可見本文算法有較高準確性,具有一定實用意義。
本文針對各種拍攝角度、傾斜角度的交通標識圖像,提出了一種將邊緣走勢統(tǒng)計特征與深度神經(jīng)網(wǎng)絡結合的交通標識形狀識別算法。所提出的邊緣走勢統(tǒng)計特征能夠很好地表征交通標識的形狀特征,可進一步將其用于BP神經(jīng)網(wǎng)絡進行分類,實現(xiàn)了交通標識形狀的高效可靠識別。但是,本文算法對圓形和正八邊形存在一定的誤識率,這也是下一步研究工作中要解決的問題。