楊 梅,譚澤富,蔡 黎
重慶三峽學院,重慶 404000
隨著我國高鐵線路的不斷建設,高鐵運營里程不斷增加,運營速度越來越快,如何保證高速鐵路的安全運營已經(jīng)成為一個重要的課題。為了快速發(fā)現(xiàn)問題解決問題,減少檢測所需人力,利用圖像檢測方式對接觸網(wǎng)進行檢測顯得越來越重要。而利用圖像檢測方式,其中一個重要的模塊在于將一桿的圖像歸到正確的桿號下,為此要達到精確歸檔需要利用圖像識別算法對桿號進行識別。
鐵路桿號牌不像汽車號牌具有統(tǒng)一的標準。不同線路的號牌樣式不一樣,有橫向號牌、豎向號牌、四位數(shù)的號牌、三位數(shù)的號牌以及字體大小也不盡相同,這就加大了實時桿號識別的難度。2015年朱挺[1]對接觸網(wǎng)支柱號在線智能識別定位技術進行了研究,其主要是利用常規(guī)的圖像識別技術,如圖像分割、字符提取、特征提取以及分類識別等進行桿號識別,其存在的問題是算法的適應性差,只能適用于豎向號牌的識別,不能實現(xiàn)橫向號牌的識別。因此,這種算法很難應用到實際工程中。
傳統(tǒng)桿號識別算法[2-3]主要是利用常規(guī)的圖像識別技術,如圖像分割、字符提取、特征提取以及分類識別等進行桿號識別。識別過程中,需要將圖中的字符一個一個地單獨提取出來分別識別,算法的每一步與前后兩步都具有較強的耦合性。采用神經(jīng)網(wǎng)絡[4]、SVM[5-6]等機器學習算法對樣本進行學習后再分類識別的方法,識別的準確率受到字符的字體樣式、大小、寬度等因素影響。為了提高識別的準確性,需要收集足夠多的字符樣本進行訓練;同時,為了滿足檢測的需要,每條線路可能需要配置不同的識別算法;分類識別算法開發(fā)的工作量大,周期長,穩(wěn)定性以及識別的實時性難以保證。因此,上述方法用于桿號識別具有較大的局限性,不能快速適應線路檢測的需要。本文基于Shape Context[7-8]進行實時桿號識別,算法將整個號碼牌作為一個整體,一次將里面的數(shù)字全部識別出來,解決不同線路桿號的差異性對識別帶來的困難。實驗表明,本文方法具有良好的通用性、較高的準確率和較好的實時性。
形狀上下文特征[9]于2002年被提出,它通過對圖像邊緣采樣得到表示物體形狀的特征點的集合,n表示特征點的數(shù)目。對于邊緣任意一個特征點,它與其他n-1個特征點可以構(gòu)成n-1個特征向量[10],如圖1所示字符“2”的一個特征點的部分特征向量。以n-1個特征向量構(gòu)成一個列向量,從而對于n個特征點就形成了一個n×(n-1)的特征向量矩陣。
圖1 一個特征點對應的特征向量示意圖
為了便于統(tǒng)計,采用直方圖來表示這些特征向量。對于特征點 pi,在對數(shù)極坐標映射下,其余n-1特征點分布直方圖hi(k)為[11]:
式(1)中,1≤k≤K,K為直方圖柵格數(shù)目。
利用上述特征點抽取及特征信息計算方法對所有字符模板進行特征信息提取,然后利用卡方距離計算模板字符與桿號圖像中的字符的匹配代價,匹配代價函數(shù)計算方法如式(2):
式(2)中,形狀 p中 pi點的形狀直方圖用hi(k)表示,形狀q中qj點的形狀直方圖用hj(k)表示。
為了得到字符的最優(yōu)匹配結(jié)果,需要利用最優(yōu)匹配算法使整個代價最小。最后基于這個最優(yōu)匹配得到整個形狀代價,以作為兩個形狀之間的差別衡量,代價越小,形狀匹配度越高,形狀代價函數(shù)如式(3):
薄板樣條(TPS)變換模型[12-13]可以把非剛性的映射準確地分解成非仿射性變換和仿射變換,其物理意義[14]是:在二維空間中,如果模板表示成有n個點組成的點集A,待匹配目標是由n個點組成的點集B,點集B中的n個點用TPS變換來模擬形變,從而保證n個點可以正確的匹配。在Shape Context算法中,點集之間一一對應,可以使用TPS變換模型最小化彎曲能量求解點集之間的映射參數(shù)及匹配矩陣。薄板樣條仿射函數(shù) f(x,y)在對應點集{xi}和{yi}最小彎曲能量函數(shù)如式(4):
通過選擇α和ω來最小化彎曲能量。
模板是算法的重要組成部分,模板質(zhì)量的優(yōu)劣也直接決定了識別結(jié)果的好壞。模板內(nèi)容為桿號字符的輪廓,輪廓越清晰越完整,匹配效果也越好。
本文采用基于雙閾值的canny邊緣檢測算法對字符邊緣進行提取。提取步驟為:
(1)選擇成像質(zhì)量較好的桿號圖像,如圖2(a)。
(2)框選需要提取的字符,如圖2(b)。
(3)提取字符輪廓,如圖2(c)。
(4)根據(jù)式(7)調(diào)整提取的輪廓質(zhì)量。
式(7)中,m為邊緣像素點的個數(shù),TL為邊緣像素點個數(shù)的最小閾值,TH為邊緣像素點個數(shù)的最大閾值。
圖2 字符模板提取過程圖
根據(jù)字符模板提取方法依次提取桿號中出現(xiàn)的字符0~9,同時根據(jù)采集時的角度不同、隧道內(nèi)外桿號的字體、大小等不同,同一個字符可以提取多個模板用于字符匹配,以提高識別準確率。對于一條線路,在相機角度沒有較大變化時,只需1個模版即可。
實時桿號識別是指在采集圖像的過程中將采集到的桿號圖像中的桿號利用圖像識別的方式得到桿號,對實時性和準確率要求較高。識別算法主要包括圖像預處理、基于Shape Context的形狀匹配算法以及根據(jù)匹配結(jié)果得到桿號的自適應策略算法。
3.2.1 圖像預處理
由于鐵路白天運營車輛較多,桿號圖像的采集時間一般為晚上,采集的圖像如圖3所示。采用形狀匹配算法耗時與圖像的大小相關,一般圖像越小,完成匹配的時間越短。從圖3可以看出,如果只取出圖像中的號牌部分用于形狀匹配的時間會遠遠小于利用整幅圖像進行形狀匹配的時間。為此需要利用圖像分割獲取到號牌所在位置的圖像。
圖3 桿號圖像
首先利用式(8)對圖像進行分割處理,結(jié)果如圖4所示。
式(8)中,T為分割閾值,取值通過Otsu閾值算法[15]自適應獲取,該算法計算簡單快速,在保證檢測效果的同時極大縮短了檢測時間。
圖4 桿號圖像分割結(jié)果
根據(jù)不同號牌中數(shù)字部分所占面積與號牌面積比例的大小,設兩個面積閾值T1、T2,其中T1 將圖4中第i個連通區(qū)域二值化,從而將號牌中的背景和數(shù)字分割出來,area(i)為數(shù)字部分的面積與聯(lián)通區(qū)域面積的比值。號碼牌一般是3~4個數(shù)字,T1的值為提取的模板中數(shù)字區(qū)域與模板號牌區(qū)域面積比值的最小值,T2的值為模板數(shù)字區(qū)域與模板號牌區(qū)域面積比值的最大值。 由于字符一般為黑色,為了分割出的區(qū)域包含字符,需要利用式(10)對圖4所示的結(jié)果進行膨脹處理得到圖5(a)、(b)所示結(jié)果。 式(10)中,結(jié)構(gòu)元素B為100×100的結(jié)構(gòu)元素。 圖5 桿號圖像分割后進行膨脹處理的結(jié)果 利用式(11)對圖5中的目標區(qū)域計算平行于坐標軸的包圍桿號區(qū)域的最小外接矩形,并得到矩形區(qū)域的圖像如圖6所示。 圖6 桿號區(qū)域圖像 將圖6所示的矩形區(qū)域用于形狀匹配,匹配的效率將會得到大大提高。 3.2.2 基于Shape Context的形狀匹配算法 在Shape Context算法中,圖像形狀不是以區(qū)域輪廓來表示,而是由一些離散且分布均勻的特征點來描述,然后針對點集中的每個特征點計算其對應的形狀直方圖,最后兩個形狀之間的匹配問題就轉(zhuǎn)化成了兩個特征點集之間的匹配度問題。本文中,將利用3.1節(jié)得到的所有字符模板與桿號圖像中的桿號字符進行匹配,匹配算法的結(jié)果為桿號圖像中字符中心坐標對應于匹配度最高的字符模板。本文基于Shape Context的自適應桿號識別算法流程如圖7。 利用3.1節(jié)的桿號模板提取算法對預處理得到的桿號圖像,如圖6進行邊緣提取,處理結(jié)果為圖8。采用輪廓跟蹤算法對提取出的輪廓目標進行特征點抽樣,輪廓跟蹤算法[16]步驟如下: 步驟1首先按從上到下,從左到右的順序掃描圖像,尋找沒有標記跟蹤結(jié)束記號的第一個邊界起始點A0,A0是具有最小行和列值的邊界點。定義一個掃描方向變量dir,該變量用于記錄上一步中沿著前一個邊界點到當前邊界點的移動方向,其初始化取值為: (1)對4連通區(qū)域取dir=3。 (2)對8連通區(qū)域取dir=7。 圖7 基于Shape Context的自適應桿號識別算法流程 圖8 桿號區(qū)域圖像邊緣標注 步驟2按逆時針方向搜索當前像素的3×3鄰域,其起始搜索方向設定如下: (1)對4連通區(qū)域取(dir+3)mod 4。 (2)對8連通區(qū)域,若dir為奇數(shù)取(dir+7)mod 8;若dir為偶數(shù)取(dir+6)mod 8。 (3)在3×3鄰域中搜索到的第一個與當前像素值相同的像素便為新的邊界點An,同時更新變量dir為新的方向值。 步驟3如果An等于第二個邊界點A1且前一個邊界點An-1等于第一個邊界點A0,則停止搜索,結(jié)束跟蹤,否則重復步驟2繼續(xù)搜索。 步驟4由邊界點A0、A1、A2、…、An-2構(gòu)成的邊界即為要跟蹤的邊界。 特征點的選取是Shape Context算法中至關重要的一步,為了避免計算量過大和特征信息的丟失,本文選取的特征點個數(shù)為120。 根據(jù)上述方法得到桿號圖像中每個目標的最優(yōu)匹配結(jié)果,匹配度Score采用式(12)計算: 式(12)中,Dsc表示Shape Context的相似度,Dbe表示彎曲能量相似度。 用圖4所示的兩幅圖像進行匹配測試,匹配結(jié)果如表1所示。Num表示識別結(jié)果,(Row,Column)是識別出的每個目標字符的中心的位置,Score表示字符對應的最高匹配度,其中,匹配度已經(jīng)做了歸一化處理。 表1 匹配結(jié)果 3.2.3 自適應策略算法 在實際應用場景中,存在圖3所示不同類型的桿號牌。3.2.2小節(jié)得到了正確的數(shù)字,但數(shù)字的位置并沒有確定,本節(jié)將根據(jù)3.2.2小節(jié)的計算結(jié)果利用自適應策略算法得到正確的桿號結(jié)果。自適應策略算法步驟如下: 步驟1去除低匹配度數(shù)據(jù),設閾值T1。 (1)當Score≥T1時,匹配結(jié)果有效。 (2)當Score 步驟2判斷號牌的方向。 (1)分別取出匹配數(shù)據(jù)的X和Y坐標序列。 (2)對取出的X和Y坐標序列分別做排序處理,結(jié)果為{x1,x2,…,xn},{y1,y2,…,yn}。 (3)利用下式對第(2)步得到的結(jié)果進行計算,得到{dx1,dx2,…,dxn},{dy1,dy2,…,dyn}。 (4)設閾值T2,判斷第(3)步結(jié)果中dx,dy小于T2的個數(shù)分別為Nx,Ny。 (5)如果Nx≥Ny,號牌為橫向號牌,反之則為豎向號牌。 步驟3根據(jù)號牌方向,得到號牌結(jié)果。 (1)若為橫向號牌:根據(jù)X坐標對匹配結(jié)果由小到大排序。 (2)若為豎向號牌:根據(jù)Y坐標對匹配結(jié)果由小到大排序。 (3)根據(jù)排序結(jié)果,將匹配字符組合得到桿號結(jié)果。 利用自適應策略算法對表1中的數(shù)據(jù)進行處理后得到對應的桿號為:127、0025。 為了驗證本文方法的有效性,選取100幀鐵路現(xiàn)場采集設備采集的圖像進行實驗。由于鐵路運輸系統(tǒng)白天比較繁忙,檢測試驗只能在晚上,所以,采集到的圖像全是夜間圖像。實驗配置為:Win7 64位操作系統(tǒng)、NVIDIA GeForce 405顯卡、4GRAM、Intel?CoreTMi3-2120 CPU 3.30 GHz,實驗軟件平臺為Matlab。 圖9~13是選取的100幀圖中其中4幀對號牌的識別過程及結(jié)果。圖9是原始圖像,(a)、(c)圖的采集距離較遠,桿號牌較暗淡模糊且光照不均,(b)、(d)圖的采集距離較近,桿號牌比較清晰;圖10中紅色區(qū)域是對原始圖像進行分割后膨脹處理的結(jié)果;圖11是根據(jù)膨脹結(jié)果提取的桿號區(qū)域及邊緣特征點(標紅的點);圖12是匹配出的匹配度最大且大于0.5的匹配結(jié)果,“+”表示模版號版數(shù)字的特征點,“O”表示號牌中數(shù)字的特征點;圖13是識別出的號牌,從結(jié)果可以看出,無論是縱向號牌、橫向號牌還是有污漬的號牌,都能識別出桿號。 圖9 原圖 圖10 桿號圖像分割后膨脹處理的結(jié)果 圖11 提取的桿號區(qū)域 為了從數(shù)據(jù)上本方法的準確性和快速性,將本文方法與傳統(tǒng)的模版匹配、BP神經(jīng)網(wǎng)絡、SVM方法進行比較,不同方法下的識別率、準確率和耗時如表2。 圖12 最大匹配度下的匹配圖 圖13 識別結(jié)果 表2 不同方法下的指標參數(shù) 從表2可以看出,本文算法的識別率高于其他幾種方法,準確率達到97%。同時本文算法在速度上具有較大優(yōu)勢,很好地滿足了工程實踐。 本文從工程應用實際出發(fā),結(jié)合傳統(tǒng)桿號識別算法存在的問題,提出了一種基于Shape Context的形狀匹配實時桿號識別算法。該算法利用已知的模板字符與桿號圖像通過Shape Context形狀匹配算法進行桿號識別和定位,然后通過自適應策略算法得到正確的桿號。對于鐵路桿號識別,與傳統(tǒng)算法相比,對于不同形狀,不同大小的桿號牌,本文方法輔以較少的配置就可以實現(xiàn)桿號識別,識別準確率95%以上,具有更大的適用范圍和通用性。 [1]朱挺.基于接觸網(wǎng)支柱號在線智能識別定位技術研究[J].上海鐵道科技,2015(1):24-25. [2]武翔宇.基于圖像的接觸網(wǎng)支柱檢測與編號識別[D].成都:西南交通大學,2015. [3]丁超員.字符識別技術在機車元件檢測中的應用研究[D].江蘇蘇州:蘇州大學,2013. [4]劉萬軍,梁雪劍,曲海成.基于雙重優(yōu)化的卷積神經(jīng)網(wǎng)絡圖像識別算法[J].模式識別與人工智能,2016,29(9):856-864. [5]姜映映,田豐,王緒剛,等.基于模板匹配和SVM的草圖符號自適應識別方法[J].計算機學報,2009,32(2):252-260. [6]施隆照,強書連.基于組合支持向量機的車牌字符識別[J].計算機工程與設計,2017,38(6):1619-1623. [7]Lades M,Vorbruggen J C,Buhmann J,et al.Distortion invariant object recognition in the dynamic link architecture[J].IEEE Transactions on Computers,1993,42(3):300-311. [8]Amit Y,Grenander U,Piccioni M.Structural image restoration through deformable templates[J].Journal of the American Statistical Association,1991,86(414):376-387. [9]Belogie S,Malik J,Puzicha J.Shape matching and object recognition using shape contexts[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(2):509-522. [10]Belongie S,Malik J,Puzicha J.Shape matching and object recognition using shape contexts[J].IEEE Transactions on Pattern Analysis& Machine Intelligence,2010,24(4):509-522. [11]韓敏,鄭丹晨.基于模糊形狀上下文特征的形狀識別算法[J].自動化學報,2012,38(1):69-75. [12]Duchon J.Splines minimizing rotation-invariant seminorms in Sobolev spaces[M]//Constructive Theory of Functions of Several Variables.Berlin Heidelberg:Springer,2006:85-100. [13]楊小娜.基于形狀上下文的目標形狀識別與匹配[D].昆明:昆明理工大學,2013. [14]夏小玲,柴單.基于Shape Context的形狀匹配方法的改進[J].東華大學學報:自然科學版,2009,35(1):79-83. [15]覃海松,黃忠朝,趙于前,等.一種新的MLBP-Otsu算法及在舌裂紋分割中的應用[J].計算機工程與應用,2014,50(23):151-155. [16]Ang Y H,Li Zhao,Ong S H.Image retrieval based on multidimensionalfeature properties[C]//Proceedings of SPIE,1995,2420:47-57.4 實驗結(jié)果及分析
5 小結(jié)