閔 鋒,吳 濤+,陳智羽
(1.武漢工程大學 計算機科學與工程學院,湖北 武漢 430205; 2.武漢工程大學 智能機器人湖北省重點實驗室,湖北 武漢 430205)
支柱號牌識別是鐵路智能巡檢中的重要部分。號牌識別過程一般包括號牌定位、字符分割、字符識別3個階段?,F(xiàn)階段號牌定位方法,包括基于邊緣或顏色的特征方法[1,2]、基于字符特征的方法[3,4]、基于傳統(tǒng)機器學習[5,6]或神經網絡的分類方法[7,8]?;谶吘壔蝾伾卣鞯姆椒?,定位速度快且準確,但圖片背景復雜時,會出現(xiàn)多個候選區(qū)域,對正確的號牌區(qū)域造成干擾;基于字符特征的方法,通過SIFT、SURF等算法提取字符的特征向量,將其與模板庫中的特征向量進行匹配,從而實現(xiàn)號牌精確定位,該方法能有效避免背景帶來的干擾,但過于依賴字符特征,導致其魯棒性不強;基于機器學習或神經網絡的方法,先提取候選區(qū)域,然后利用分類器對號牌與背景區(qū)域進行分類,如利用SVM、Adaboost和卷積神經網絡(convolutional neural networks,CNN)等,雖然此種方法能適應各種復雜情況,但訓練過程需要較多的數(shù)據(jù),號牌定位精度也受限于候選框提取的準確率,目前有些基于深度學習的物體檢測模型能夠通過網絡訓練得到候選區(qū)域,如Faster RCNN[9],但由于號牌結構的特殊性,相對于人工提取的候選區(qū)域沒有太大優(yōu)勢并且需要較多的人工標記樣本。號牌分割方法主要有連通域標記法[10,11]、投影分割法[12,13]。連通域標記法與投影分割法均會受到字符斷裂與粘連的影響,需要利用經驗與字符特點進行補充操作。
本文主要針對4C(接觸網懸掛狀態(tài)檢測監(jiān)測裝置)系統(tǒng)所拍攝的號牌。為了適應陰影、輕微遮擋、不同光照條件等情況,將形態(tài)學變換與機器學習的方法相結合來準確定位號牌。針對字符斷裂、字符粘連、陰影等復雜情況,本文改進了傳統(tǒng)二值化方法,并提出了一種投影分割方法,先利用投影矩陣的極值獲得合理的候選分割點,然后對候選分割點進行分組,計算組內相鄰候選分割點距離的變異系數(shù)及分割點所在列的灰度均值,最后通過比較不同組的變異系數(shù)與灰度均值獲得最佳分割點組合。
邊緣信息為圖像中最基本的信息之一,是圖像灰度變化較大的一部分。由于背景與目標之間都存在邊緣,所以在圖像目標分割中有著重要作用。常用的邊緣檢測算子主要有Sobel算子、Prewitt算子、Robert算子、Laplace算子、Canny算子等。上述常用邊緣檢測算子大部分采用灰度梯度進行計算,對噪聲比較敏感。而基于形態(tài)學運算的邊緣檢測通過圖像差分獲取邊緣,生成的噪聲較少。提取形態(tài)學邊緣流程為:先對圖像進行膨脹操作,設膨脹次數(shù)為n,利用相同的卷積核對圖像進行n-1次腐蝕操作,最后利用該圖減去原圖得到邊緣圖。
在支柱號牌中,字符為全圖中較暗的部分,號牌為全圖中較亮的部分,所以得到的號牌邊緣為整個邊緣圖中較亮的部分,利用該特點加上形態(tài)學閉運算操作可以快速地獲得號牌候選區(qū)域。具體流程為:得到邊緣圖后,對圖像進行閉運算操作,用于填補號牌邊緣與字符中空隙,再對其進行開運算消除圖片中較小干擾區(qū)域,最后對圖像進行局部自適應二值化得到二值圖像,局部自適應二值化將局部灰度平均值與偏移量之和作為當前區(qū)域的二值化閾值,實驗中像素域大小為31*31,偏移量為-5。二值化結果如圖1所示。
目前,篩選號牌候選區(qū)域的方法主要有:依據(jù)號牌結構篩選,如號牌的面積、長寬比等;利用字符特點篩選,如字符與背景之間灰度值跳變的次數(shù)、字符像素所占比例、字符的SIFT、SURF特征等;利用傳統(tǒng)機器學習或卷積神經網絡分類的方法篩選。由于鐵路接觸網支柱的號牌格式多變,如字符的位數(shù)不確定、字體不確定,所以同時利用號牌結構特征以及機器學習的方法綜合篩選候選區(qū)域。因為號牌具有明顯的矩形特征,所以選擇能良好表達邊緣梯度的HOG特征作為號牌的特征向量,并通過SVM對該特征向量進行分類。為了進一步突出號牌的矩形特征,候選區(qū)域會在原圖中向每個方向擴大15個像素[14],普速線路中的號牌會受到陰影的干擾,造成形態(tài)學變換無法完整地定位出號牌區(qū)域,因為號牌往往是在左右方向被陰影干擾,所以通過規(guī)定最小的長寬比來擴大候選區(qū)域的左右邊界,當候選區(qū)域的長寬比小于最小長寬比時,擴大左右邊界,使得候選區(qū)域的長寬比大于或等于最小長寬比,從而能在被陰影干擾的情況下完整地定位到號牌區(qū)域。具體流程為:先利用候選區(qū)域的面積、長寬比等結構特征對候選區(qū)域進行初步篩選,然后向各個方向擴大候選區(qū)域的邊界并采用HOG&SVM對其進行第二次篩選。號牌區(qū)域與非號牌區(qū)域的差別較大,在不考慮號牌被嚴重遮擋的情況下,利用蘭州普速鐵路數(shù)據(jù)訓練出的HOG&SVM模型的分類正確率達到了98%。
為了驗證算法的性能,分別將京滬鐵路徐州段與蘭州普速鐵路的號牌作為縱向號牌與橫向號牌的實驗樣本??v向號牌包含兩組測試數(shù)據(jù),一組號牌過度曝光,另一組號牌補光不足,兩組圖片共1500張,定位準確率為97%,縱向號牌部分定位結果如圖2中的第1行與第2行。對橫向號牌測試1000張,定位準確率為96.8%,平均定位準確率達到96.9%,橫向號牌部分定位結果如圖2中的第3行與第4行。從定位結果可以看出,本文方法能有效地適應號牌被陰影干擾、光照過曝或不均勻等情況。
圖2 部分定位結果
字符分割主要流程如圖3所示,先利用傾斜矯正、二值化等操作處理粗定位號牌圖片,再通過兩次垂直投影找到字符的上下邊界,獲得精定位號牌,然后求出精定位號牌的投影矩陣及投影矩陣的極值點,并將其中的極小值點作為候選分割點,最后利用候選分割點之間的變異系數(shù)及候選分割點所在列的灰度均值等信息獲得最佳字符分割點。
圖3 字符分割流程
4C系統(tǒng)采集的圖片由于視角原因,號牌會有不同程度的傾斜,需要對號牌進行傾斜矯正。雖然號牌在空間中的變換較復雜,但在二維圖片上可以簡單歸類為號牌發(fā)生了偏移變換與尺度變換,在2.3節(jié)中會對號牌尺度進行歸一化處理,所以在本節(jié)中只考慮偏移變換。
Hough變換是圖像處理中識別幾何形狀最常用的方法。Hough變換提取直線的主要思想是根據(jù)極坐標公式ρ=xcosθ+ysinθ對每個邊緣點求其在ρ-θ空間中對應的曲線,若有較多曲線都經過ρ-θ空間中的一點,該點對應的ρ與θ即為直線在極坐標下的參數(shù)。傾斜矯正具體流程為:先使用閉運算提取白色的號牌背景,再通過Canny邊緣檢測算法獲得號牌邊緣,然后利用Hough變換求得號牌長邊和短邊與圖像y軸正方向的角度,最后利用偏移變換矩陣對號牌的長邊與短邊方向進行矯正。號牌矯正結果如圖4所示。
圖4 號牌矯正
在普速線路中,拍攝的支柱號牌圖片可能會受到陰影、遮擋、陽光直射等因素的影響,導致拍攝的號牌圖像質量極差,號牌的邊界尤其是左右邊界會受到干擾,對號牌的精確提取造成一定的困難。為了避免左右邊界難以提取的問題,本文在精細化提取號牌區(qū)域時只提取號牌上下邊界不考慮其左右邊界。
2.2.1 二值化處理
二值化處理是字符分割中重要的一部分。由于號牌上可能存在被陰影干擾的情況,傳統(tǒng)的二值化方法效果較差。雖然形態(tài)學算法中的底帽變換能校正不均勻光照或陰影所帶來的影響,但當陰影區(qū)域與非陰影區(qū)域灰度差別較大時校正效果仍然有限,采用底帽變換與Otsu(大津法)二值化結果如圖5(a)所示。為了有效地減少陰影對二值化的干擾,本文改進了底帽變換,并采用移動平均分割法進行二值化,二值化結果如圖5(b)所示。
圖5 二值化對比結果
改進后的底帽變換思想:利用陰影區(qū)域的字符與背景的灰度比率和非陰影區(qū)域的相近,以此為基準對處于不同背景下的字符進行不同比例的灰度拉伸,灰度值較小區(qū)域拉伸比例大,較大區(qū)域拉伸比例小,從而減小陰影區(qū)域字符與非陰影區(qū)域字符的灰度差別,其具體流程為:①對原圖進行形態(tài)學閉運算。②利用閉運算后的圖減去原圖,計算公式如式(1)所示,其中A為背景圖,B為原圖,C為增強后的圖,為了減少干擾設定閾值thr,thr與圖像中的灰度最大值和最小值的差值有關,代表了白色背景與黑色字符的最小灰度差值。因為號牌中出現(xiàn)的大多數(shù)是垂直方向的干擾,所以采用列掃描的移動平均分割法,其思想為:先計算當前列的灰度均值。然后掃描當前列的各個像素,如果該像素的灰度值大于均值與偏移量Q之和,即設該灰度值為255,否則為0,依次處理完圖中所有的列為止
(1)
2.2.2 兩次垂直投影
提取號牌上下邊界的過程包含了兩次垂直投影分割,兩次的流程基本一致,為了避免號牌兩端出現(xiàn)的干擾,只對圖像水平中心區(qū)域進行投影。第一次的垂直投影利用字符與號牌邊界產生的間距來提取號牌的上下邊界,為了減少干擾,第一次二值化分割閾值較大,thr設為最大灰度值與最小灰度值差值的0.25倍,偏移量Q為20。第二次投影為了保證字符的完整性用較小的閾值進行分割,thr設為最大灰度值與最小灰度值差值的0.1倍,偏移量Q為20。第一次垂直投影與第二次垂直投影分別如圖6(a)與圖6(b)所示。
圖6 兩次垂直投影
基于投影矩陣的字符分割方法,一般需要找到其波谷區(qū)域,在沒有嚴重干擾的情況下,字符之間的間隙往往對應著投影矩陣中的一個波谷。為了避免圖像尺度變化的影響,需要對號牌圖像的大小進行歸一化。通過白色像素統(tǒng)計得到投影矩陣,然后利用投影矩陣求其差分矩陣,最后在差分矩陣中找到投影矩陣中的極小值,也就是波谷區(qū)域。投影矩陣如圖7所示。
圖7 字符投影
尋找極小值具體流程如下:先利用投影矩陣求得差分矩陣(由投影矩陣當前值減前一個值得到)后,創(chuàng)建一個標志量去記錄前面是否有極大值。如果當前點為極大值則把標志量置為真。如果為極小值并且標志量為真,則記錄當前區(qū)域為波谷區(qū)域,并且將標志量置為假,其它情況跳過當前循環(huán),執(zhí)行下一輪循環(huán)。按照此流程不斷循環(huán),直到遍歷完差分矩陣。為了獲得更精確的字符分割點,不僅尋找正向(未進行左右翻轉)投影矩陣的極小值點,還需尋找反向(進行了左右翻轉)投影矩陣的極小值點,兩個投影矩陣的極小值如圖8(a)所示,其中正向投影所獲得的極小值如白色長線所示,反向投影獲得的極小值如白色短線所示。取反向投影矩陣的極小值與其后面緊鄰的正向投影的極小值位置的平均值作為候選分割點,合并后的結果如圖8(b)所示,最后一個正向投影的極小值以及第一個反向投影的極小值需根據(jù)該列的灰度統(tǒng)計值分別向右側與左側移動一定的距離,使得兩端的分割點更加精準。
圖8 字符投影
(2)
(3)
(4)
(5)
(6)
其中,ai為當前組合中第i個候選分割點在投影矩陣中的位置,μ為候選分割點之間的平均距離,σ為該距離的方差,Cv代表該組合的變異系數(shù),在式(5)中rows代表圖像的高度,G(j,ai) 代表灰度圖G的第j行第ai列的灰度值。在式(6)中α代表灰度均值M的權值,q為P中判斷系數(shù)最小的組合,在實驗中設α=2。 為了加快遍歷候選分割點的速度,將字符寬度、平均寬度以及兩個候選分割點之間白色像素個數(shù)不合理的組合直接排除。表1列出了篩選后的16種組合的計算數(shù)值(寬度不合理的組合沒有進行計算),候選分割點從左到右設編號為0-6。從表1可以看出組合“0246”為最合適的分割點組合。
通過對各種有陰影、部分遮擋、過曝等情況的字符分割實驗,驗證了本文方法的魯棒性,字符提取結果如圖9所示。支柱號牌目前還沒有公開的數(shù)據(jù)庫,實驗數(shù)據(jù)來自4C采集設備在蘭州普速線路拍攝的圖片。
為了更好地說明本文方法的有效性,與傳統(tǒng)垂直投影法以及文獻[15]中的自適應投影分割算法進行對比。測試結果見表2。垂直投影法直接對灰度圖所產生的垂直投影矩陣進行分析,容易受到陰影、字符粘連等因素的干擾。自適應投影分割算法通過求取相同寬度下最小灰度累計值的方法去獲得合適的分割點,使其具有一定的抗干擾能力,
表1 候選分割點組合分析
圖9 部分號牌分割結果
但該方法對號牌垂向邊框的檢測有一定要求,由于存在陰影、遮擋的情況,導致其垂邊框無法被正確檢測,此外,使用局部二值化分割會在二值化過程中產生較多的干擾。由圖10可知,自適應投影分割算法對設定的最小寬度比較敏感,當字符斷裂或出現(xiàn)字符“1”時,最佳分割點的灰度累計值不是全局唯一的最小值,從而導致該方法分割失敗。圖10(c)設字符最小寬度為整個號牌寬度的0.2倍,圖10(d)設字符最小寬度為整個號牌寬度的0.3倍。
表2 實驗結果對比
圖10 自適應投影分割
本文針對鐵路4C系統(tǒng)(接觸網懸掛狀態(tài)檢測監(jiān)測裝置)中的號牌識別系統(tǒng),提出了一種基于形態(tài)學變換的號牌定位方法與一種基于投影矩陣極值變異系數(shù)的字符分割方法,實驗結果表明:本文號牌定位方法能適應傳統(tǒng)連通域標記法無法處理的輕微遮擋、光照過曝或不均勻的情況,本文字符分割方法相對于傳統(tǒng)垂直投影法能更好地解決號牌中存在的陰影、污損、字符斷裂等問題。當號牌定位范圍過大并且其中的背景區(qū)域有較多干擾時,本文字符分割方法可能會出現(xiàn)誤分割,如果在篩選候選分割點組合的過程中加入字符特征進行綜合判斷能有效地避免這種情況的發(fā)生。