朱俊霖,段 鈺,滕 凱,邢宗義,宮 偉
(1.南京理工大學(xué) 自動(dòng)化學(xué)院,南京 210094;2.南京地鐵運(yùn)營(yíng)有限責(zé)任公司 車(chē)輛分公司,南京 211135)
車(chē)號(hào)識(shí)別是城軌智慧交通系統(tǒng)的組成部分,準(zhǔn)確識(shí)別車(chē)號(hào)端信息,可為車(chē)輛檢測(cè)與管理提供基礎(chǔ)數(shù)據(jù),提高城軌信息化水平。
目前,射頻技術(shù)廣泛應(yīng)用在城軌列車(chē)車(chē)號(hào)識(shí)別領(lǐng)域[1],射頻車(chē)號(hào)識(shí)別系統(tǒng)由安裝在列車(chē)底部的電子標(biāo)簽及地面的讀取裝備組成,雖然得到了普遍應(yīng)用,但存在施工難度大、標(biāo)簽易脫落損壞、偶發(fā)車(chē)號(hào)丟失等缺點(diǎn),不能滿足智慧城軌對(duì)車(chē)號(hào)信息高準(zhǔn)確率的要求[2]。
隨著工業(yè)相機(jī)和相關(guān)圖像處理算法的發(fā)展,基于圖像處理的車(chē)號(hào)識(shí)別系統(tǒng)得到越來(lái)越多的關(guān)注。針對(duì)動(dòng)車(chē)組故障檢測(cè)的車(chē)號(hào)識(shí)別,方凱[3]提出了基于模板匹配算法的動(dòng)車(chē)車(chē)號(hào)識(shí)別算法;針對(duì)編組站內(nèi)機(jī)車(chē)車(chē)號(hào)的識(shí)別,李瑞辰等人[4]研究了一種基于卷積神經(jīng)網(wǎng)絡(luò)的機(jī)車(chē)車(chē)號(hào)識(shí)別系統(tǒng);針對(duì)地鐵車(chē)輛軸承故障檢測(cè)的車(chē)號(hào)識(shí)別,杜東偉等人[5]研制了一種基于攝像機(jī)和開(kāi)源視覺(jué)庫(kù)的車(chē)號(hào)識(shí)別系統(tǒng)并在北京地鐵投入運(yùn)用。
本文提出了一種基于圖像處理的的城軌列車(chē)車(chē)號(hào)識(shí)別系統(tǒng),利用安裝在軌道旁的工業(yè)相機(jī)拍攝列車(chē)車(chē)身側(cè)面的車(chē)號(hào),采用加速穩(wěn)健特征(SURF,Speed Up Robust Features)算法[6]等圖像處理技術(shù)及卷積神經(jīng)網(wǎng)絡(luò)(CNN,Convolutional Neural Network)中的Visual Geometry Group-16(VGG-16)技術(shù),完成對(duì)圖像中車(chē)號(hào)信息的定位、校正、分割,之后對(duì)分割好的車(chē)號(hào)字符進(jìn)行識(shí)別。
本文設(shè)計(jì)并實(shí)現(xiàn)的城軌列車(chē)車(chē)號(hào)識(shí)別系統(tǒng)由硬件部分和軟件部分組成。
硬件部分由工業(yè)相機(jī)、工業(yè)鏡頭、補(bǔ)光燈、可編程邏輯控制器(PLC,Programmable Logic Controller)、車(chē)輪軸位傳感器等組成。其中,工業(yè)相機(jī)和鏡頭用來(lái)拍攝圖片,補(bǔ)光燈用來(lái)改善拍攝條件,車(chē)輪軸位傳感器和PLC 用來(lái)向硬件系統(tǒng)發(fā)送開(kāi)/閉指令。
1.1.1 工業(yè)相機(jī)
采用型號(hào)為Basler acA1300-60mNIR 的近紅外工業(yè)相機(jī)。該相機(jī)配有e2v EV76C661 CMOS 感光芯片,最大幀速率可達(dá)60 fps,像素為130 萬(wàn)/pt,能在城軌列車(chē)規(guī)定的最高運(yùn)行速度內(nèi)拍攝沒(méi)有拖影且亮度合適的圖片。
1.1.2 工業(yè)鏡頭
通過(guò)對(duì)焦距、鏡頭與相機(jī)接口和光圈等參數(shù)的分析,并結(jié)合現(xiàn)場(chǎng)安裝距離等,本文選取Computa M0528-MPW3 廣角鏡頭,滿足靶面尺寸大于0.5 英寸(1 英寸=0.0254 m)、像素高于120 萬(wàn)/pt,且拍攝區(qū)域應(yīng)為車(chē)號(hào)區(qū)域的兩倍以上的要求。
1.1.3 補(bǔ)光燈
采用型號(hào)為T(mén)D-FL2040 的補(bǔ)光燈。該補(bǔ)光燈體積小、便于安裝、靈活方便,使用壽命長(zhǎng)。采用全密封鋁壓鑄外殼,防塵防雨,可有效應(yīng)對(duì)城軌現(xiàn)場(chǎng)環(huán)境。
1.1.4 PLC
采用型號(hào)為S7-200 SMART 的PLC,其具有不同類型、I/O 口點(diǎn)數(shù)豐富的CPU 模塊,配置靈活,可與計(jì)算機(jī)進(jìn)行通信,便于組網(wǎng)。
1.1.5 車(chē)輪軸位傳感器
采用型號(hào)為NI50U-CK40-VP4X2-H1141 型軸位電式傳感器。該軸位傳感器安裝方便,有高亮度LED 指示燈,在任何安裝位置可顯示工作電壓及開(kāi)關(guān)狀態(tài),抗磁場(chǎng)干擾能力強(qiáng)。
軟件部分由圖像采集模塊和圖像處理模塊兩部分組成。其中,圖像采集模塊負(fù)責(zé)對(duì)車(chē)號(hào)圖片進(jìn)行采集,并將將采集到的圖片傳輸至服務(wù)器進(jìn)行存儲(chǔ);圖像處理模塊負(fù)責(zé)對(duì)車(chē)號(hào)圖片進(jìn)行處理與識(shí)別。
軟件開(kāi)發(fā)環(huán)境為Visual Studio 2017、QT 5.14、OpenCV 3.4、Python 3.9。圖像采集模塊根據(jù)相機(jī)廠家提供的軟件開(kāi)發(fā)工具包(SDK,Software Development Kit)開(kāi)發(fā),采用C++語(yǔ)言開(kāi)發(fā),圖像處理模塊使用Python語(yǔ)言開(kāi)發(fā)。
該系統(tǒng)的工作流程如圖1 所示。當(dāng)車(chē)輪軸位傳感器檢測(cè)到第一個(gè)車(chē)輪時(shí),會(huì)向PLC 傳遞電信號(hào),PLC 收到信號(hào)之后觸發(fā)工業(yè)相機(jī)和補(bǔ)光燈開(kāi)始工作,進(jìn)行圖像采集,同時(shí)車(chē)輪軸位傳感器會(huì)對(duì)經(jīng)過(guò)的車(chē)輪進(jìn)行計(jì)數(shù),當(dāng)滿24 時(shí)(6 編組列車(chē)),PLC 發(fā)送關(guān)閉采集信號(hào),關(guān)閉采集模塊;識(shí)別軟件將拍攝的圖像存儲(chǔ)到服務(wù)器中,對(duì)其進(jìn)行實(shí)時(shí)的圖像定位、校正、分割及識(shí)別,將得到的車(chē)號(hào)信息存儲(chǔ)到數(shù)據(jù)庫(kù)中,并通過(guò)Web 發(fā)布,隨后關(guān)閉圖像處理模塊,整個(gè)系統(tǒng)工作流程結(jié)束。
圖1 車(chē)號(hào)識(shí)別系統(tǒng)工作流程
針對(duì)車(chē)號(hào)圖片中邊緣要素過(guò)多,難以用傳統(tǒng)的邊緣提取算法精確定位車(chē)號(hào)位置的情況,本文提出了一種基于加速穩(wěn)健特征算法和筆畫(huà)寬度變換[7](SWT,Stroke Width Transform)的城軌列車(chē)車(chē)號(hào)區(qū)域定位方法。
2.1.1 算法概述
尺度不變特征變換(SIFT,Scale Invariant Feature Transfrorm)算法用于對(duì)數(shù)字圖像進(jìn)行特征描述,計(jì)算出的圖像特征點(diǎn)穩(wěn)定性較強(qiáng),不會(huì)因圖像存在旋轉(zhuǎn)、平移等情況而產(chǎn)生較大影響,廣泛應(yīng)用于圖像處理領(lǐng)域。SURF 算法是在SIFT 算法的基礎(chǔ)上提出的一種改進(jìn)的配準(zhǔn)算法,具有較強(qiáng)的穩(wěn)定性和良好的魯棒性,并在計(jì)算中引入積分圖像和箱式濾波器,縮短計(jì)算時(shí)間、提升計(jì)算效率。
SWT 算法通過(guò)計(jì)算圖像中每個(gè)像素點(diǎn)對(duì)應(yīng)灰度值相等的最遠(yuǎn)端的另一像素點(diǎn)間的距離,形成每個(gè)像素點(diǎn)最有可能的筆畫(huà)值,這些筆畫(huà)寬度值對(duì)應(yīng)了相應(yīng)像素點(diǎn)的筆畫(huà)寬度。變換后圖像的高、寬與原圖像一致。
2.1.2 區(qū)域定位流程
車(chē)號(hào)區(qū)域定位流程如下。
(1)對(duì)車(chē)號(hào)圖像進(jìn)行積分計(jì)算,得到積分圖像,積分圖像中任意一點(diǎn)的值ii(i,j)為原圖左上角到該點(diǎn)相應(yīng)的對(duì)角線區(qū)域灰度值的總和,即
其中,p(i′,j′)表示點(diǎn) (i′,j′)的灰度值,通過(guò)對(duì)ii(i,j)的迭代計(jì)算得到該點(diǎn)所在列的積分,進(jìn)而對(duì)整幅圖像進(jìn)行積分遍歷,即可得到任一矩形區(qū)域的像素之和。
(2)SURF 算法采用箱式濾波器近似代替高斯核函數(shù)建立起圖像的尺度空間,通過(guò)建立Hessian 矩陣,檢測(cè)極值點(diǎn)特征,再利用該矩形區(qū)域的像素和提取車(chē)號(hào)圖片的特征點(diǎn),篩選出車(chē)號(hào)的潛在區(qū)域。
(3)由于拍攝到的車(chē)號(hào)圖片存在較多的邊緣要素,易發(fā)生特征點(diǎn)誤匹配的現(xiàn)象,當(dāng)車(chē)號(hào)區(qū)域在整個(gè)圖像中占比較小時(shí),誤匹配的現(xiàn)象更為嚴(yán)重。因此,還需利用SWT 算法進(jìn)行車(chē)號(hào)的精確定位。
對(duì)經(jīng)過(guò)SURF 算法處理后的車(chē)號(hào)圖像進(jìn)行Canny 邊緣檢測(cè),會(huì)得到車(chē)號(hào)信息和其他車(chē)身邊緣信息,由于城軌列車(chē)車(chē)身上車(chē)號(hào)的字體類型及字符大小都是一致的,故可根據(jù)車(chē)號(hào)字符寬度設(shè)定筆畫(huà)寬度閾值,再根據(jù)閾值對(duì)得到的含邊緣信息的圖像進(jìn)行篩選,排除非車(chē)號(hào)區(qū)域的邊緣信息,最終留下只含車(chē)號(hào)字符的圖像,實(shí)現(xiàn)對(duì)車(chē)號(hào)區(qū)域的精確定位。
在車(chē)號(hào)圖像采集的過(guò)程中,為增大拍攝到車(chē)號(hào)區(qū)域的概率,通常會(huì)采取攝像頭對(duì)城軌列車(chē)傾斜拍攝的方式。因此,車(chē)號(hào)在圖像中會(huì)存在一定程度上的傾斜和畸變。本文利用基于變換不變低秩紋理[8](TILT,Transform Invariant Low-rank Textures)的圖像校正方法和投影法對(duì)字符進(jìn)行分割。
2.2.1 車(chē)號(hào)字符校正
TILT 算法可使發(fā)生幾何形變或存在稀疏干擾的圖像恢復(fù)圖像的“本質(zhì)”,即低秩紋理。其數(shù)學(xué)模型為
式中,I0表示恢復(fù)出的低秩紋理;E表示圖像中的稀疏“野點(diǎn)”或非高斯噪聲,由于其只對(duì)圖像中的極少部分像素造成影響,故將其定義為稀疏誤差;I表示低秩紋理經(jīng)過(guò)幾何形變及稀疏誤差干擾后的視圖;γ表示低秩紋理與稀疏誤差之間的權(quán)重因子;τ表示特定條件下的李氏群。
2.2.2 車(chē)號(hào)字符分割
對(duì)校正后的車(chē)號(hào)區(qū)域進(jìn)行圖像二值化,將圖像中灰度值大于閾值的點(diǎn)視作前景點(diǎn),小于閾值的點(diǎn)視作背景點(diǎn),即
式中,T為閾值;f(x,y)為原圖像;g(x,y)為二值化后的圖像。
考慮到補(bǔ)光燈長(zhǎng)時(shí)間使用后的退化情況,光照強(qiáng)度可能減弱,手動(dòng)設(shè)定閾值的方法魯棒性差,無(wú)法適應(yīng)所有的車(chē)號(hào)圖像,故采用自動(dòng)計(jì)算閾值的方法來(lái)進(jìn)行二值化操作,通過(guò)Ostu 算法自動(dòng)計(jì)算出能較好適應(yīng)所有車(chē)號(hào)圖片的閾值。對(duì)二值變換質(zhì)量較好的字符區(qū)域,將圖像縱向的每一列的灰度值按列相加,得到一個(gè)投影曲線,根據(jù)該曲線的極值點(diǎn)將車(chē)號(hào)區(qū)域劃分為單個(gè)字符區(qū)域。
CNN 具有較高的識(shí)別準(zhǔn)確率、較強(qiáng)的魯棒性且在構(gòu)建好網(wǎng)絡(luò)后便可自動(dòng)從數(shù)據(jù)中提取有效特征等特點(diǎn)。本文使用CNN 對(duì)自制的數(shù)據(jù)集進(jìn)行模型訓(xùn)練,用訓(xùn)練完的模型進(jìn)行單個(gè)字符識(shí)別。
城軌車(chē)輛的車(chē)號(hào)由線路編號(hào)、列車(chē)編號(hào)與車(chē)廂編號(hào)組成,包含0~9 的數(shù)字字符及A、B、C 3 個(gè)英文字符。針對(duì)車(chē)號(hào)數(shù)據(jù)較少,不同車(chē)號(hào)字符數(shù)量相差較多,難以對(duì)CNN 模型進(jìn)行訓(xùn)練的問(wèn)題,通過(guò)對(duì)原始車(chē)號(hào)圖片進(jìn)行隨機(jī)旋轉(zhuǎn)、平移、縮放等數(shù)據(jù)增強(qiáng)方式對(duì)車(chē)號(hào)數(shù)據(jù)集進(jìn)行擴(kuò)展,讓模型得到充分訓(xùn)練。
CNN 通過(guò)連接不同的神經(jīng)元節(jié)點(diǎn)對(duì)輸入數(shù)據(jù)進(jìn)行處理,獲取圖像特征,將圖像標(biāo)簽與網(wǎng)絡(luò)輸出進(jìn)行比較,并根據(jù)比較結(jié)果調(diào)整網(wǎng)絡(luò)中的權(quán)重。CNN的主要特點(diǎn)是局部感知和聯(lián)合加權(quán)。在對(duì)圖像進(jìn)行分類時(shí),這兩個(gè)特征可解決復(fù)雜環(huán)境下圖像中的光照干擾和噪聲,顯著提高分類的魯棒性。
因?yàn)閂GG-16[9]使用相同的卷積核參數(shù)和池化核參數(shù),且由多個(gè)卷積層和池化層以堆疊的方式組成,故本文采用VGG-16 網(wǎng)絡(luò)完成字符識(shí)別的任務(wù)。
對(duì)現(xiàn)場(chǎng)拍攝到的圖片進(jìn)行初步的SURF 計(jì)算,得到的結(jié)果如圖2(a)所示。可以看出,特征點(diǎn)存在誤匹配的現(xiàn)象,根據(jù)實(shí)驗(yàn)情況,可將定位后輸出的圖片分為3 個(gè)區(qū)域,真實(shí)車(chē)號(hào)區(qū)域、車(chē)體邊緣區(qū)域、外部干擾區(qū)域。通過(guò)對(duì)SWT 算法設(shè)定筆畫(huà)寬度閾值,對(duì)SURF 算法得到的候選車(chē)號(hào)區(qū)域進(jìn)行篩選,有效過(guò)濾絕大多數(shù)干擾字符,顯著提升識(shí)別效率,且能得到精確的車(chē)號(hào)位置,如圖2(b)所示。
圖2 車(chē)號(hào)區(qū)域定位
利用SWT 算法得到車(chē)號(hào)區(qū)域的精確定位后,用形態(tài)學(xué)操作可求出包含車(chē)號(hào)的最小外接矩形。如圖3(a)所示。
圖3 車(chē)號(hào)校正與分割
利用TILT 算法校正過(guò)后的結(jié)果如圖3(b)所示。經(jīng)過(guò)TILT 算法校正過(guò)的字符沒(méi)有明顯的傾斜,各字符基本與正常的印刷體字符相同,為后續(xù)的字符分割和識(shí)別處理降低了難度。
利用投影法得到的分割結(jié)果如圖3(c)所示,分割結(jié)果中字符較為完整,分割得到的每個(gè)字符都清晰可辨。
車(chē)號(hào)識(shí)別過(guò)程中用到的數(shù)據(jù)集分為訓(xùn)練集和驗(yàn)證集。為讓訓(xùn)練出的模型具有良好的適用性,本文收集了多種與現(xiàn)場(chǎng)車(chē)號(hào)字體相似的印刷體數(shù)字和英文字符。
對(duì)訓(xùn)練好的VGG-16 網(wǎng)絡(luò)做驗(yàn)證,得到的結(jié)果如表1 所示。由結(jié)果可知,VGG-16 網(wǎng)絡(luò)具有較高的識(shí)別正確率,個(gè)別字符識(shí)別率偏低,經(jīng)分析是因收集到的測(cè)試樣本圖片與實(shí)際車(chē)號(hào)圖片相差較大造成,剔除這些異常圖片后識(shí)別率可達(dá)到99.54%。
表1 訓(xùn)練集字符正確率統(tǒng)計(jì)
本文提出的城軌列車(chē)車(chē)號(hào)識(shí)別系統(tǒng)于2021 年11 月在南京地鐵2 號(hào)線進(jìn)行了現(xiàn)場(chǎng)試驗(yàn),共采集36列列車(chē)的648 個(gè)車(chē)號(hào),系統(tǒng)針對(duì)每個(gè)車(chē)號(hào)圖片均能夠準(zhǔn)確實(shí)現(xiàn)車(chē)號(hào)識(shí)別?,F(xiàn)場(chǎng)試驗(yàn)結(jié)果表明,本文提出的城軌列車(chē)車(chē)號(hào)識(shí)別系統(tǒng)能夠?qū)崿F(xiàn)城軌列車(chē)車(chē)號(hào)的準(zhǔn)確識(shí)別。
本文設(shè)計(jì)并實(shí)現(xiàn)了基于圖像處理的城軌列車(chē)車(chē)號(hào)識(shí)別系統(tǒng)。分別闡述了系統(tǒng)的軟件和硬件部分,以及系統(tǒng)工作流程。利用基于SURF 和SWT 相結(jié)合的車(chē)號(hào)定位算法對(duì)圖片中的車(chē)號(hào)區(qū)域進(jìn)行精確定位;基于TILT 算法和投影法對(duì)定位好的車(chē)號(hào)區(qū)域進(jìn)行校正與分割;通過(guò)訓(xùn)練好的VGG-16 網(wǎng)絡(luò)對(duì)車(chē)號(hào)字符進(jìn)行識(shí)別,得到城軌列車(chē)的車(chē)號(hào)信息?,F(xiàn)場(chǎng)試驗(yàn)結(jié)果表明,本文設(shè)計(jì)并實(shí)現(xiàn)的城軌列車(chē)車(chē)號(hào)識(shí)別系統(tǒng)的綜合準(zhǔn)確率為99.54%,能夠較為準(zhǔn)確可靠地實(shí)現(xiàn)列車(chē)車(chē)號(hào)信息獲取,滿足現(xiàn)場(chǎng)高準(zhǔn)確率的要求。