李安翼,王學(xué)華,劉 蘇,王 燦,張紅霞,劉 鑫,申楷赟
武漢工程大學(xué)材料科學(xué)與工程學(xué)院,湖北 武漢 430205
高速鋼軌焊前檢測識別是鋼軌智能化生產(chǎn)的重要環(huán)節(jié),對鋼軌焊接生產(chǎn)線智能化管理有著長遠(yuǎn)意義。由于鋼軌爐號字符顏色與背景接近、自身銹蝕污損、焊接生產(chǎn)線環(huán)境惡劣、爐號字符位置的不確定性等因素使各種常規(guī)的字符識別方法,如面陣相機(jī)拍照識[1-2]、熱紅外成像識別[3-4]等技術(shù)的可靠性受到了很大影響。字符識別常用的算法有單層神經(jīng)網(wǎng)絡(luò)方法[5-6]和模板匹配方法[7]及支持向量機(jī)(support vector machine,SVM)[8]等方法。但是單層神經(jīng)網(wǎng)絡(luò)收斂速度慢,容易出現(xiàn)過學(xué)習(xí)和欠學(xué)習(xí)等問題[9]。模板匹配法需要像素匹配,不容易獲得理想的結(jié)果,而且運(yùn)算時(shí)間長,無法滿足實(shí)時(shí)檢測的要求[10]。SVM算法在處理二類問題時(shí)效果很好,但在多類問題識別時(shí)存在困難,特別是涉及樣本過多時(shí)會耗費(fèi)大量系統(tǒng)時(shí)間[11]。
針對這些問題,提出一種對鋼軌進(jìn)行非接觸式激光掃描成像并識別爐號的方法。采用線激光實(shí)時(shí)掃描鋼軌,通過鋼軌輪廓數(shù)據(jù)點(diǎn)云重構(gòu)字符圖像,提取字符特征,再利用現(xiàn)有的字符模板結(jié)合多層感知分類器(multi-layer perceptron classifier,MLP)神經(jīng)網(wǎng)絡(luò)識別算法達(dá)到識別鋼軌爐號的目的,提高了識別過程的自適應(yīng)性和魯棒性。
鋼軌爐號識別系統(tǒng)由圖像采集、圖像處理、字符識別三個(gè)部分組成。圖像采集采用非接觸式線激光傳感器作為數(shù)據(jù)來源,鋼軌沿著垂直于激光器安裝平面方向移動,由激光傳感器采集單幀鋼軌輪廓,然后通過交換機(jī)上傳至上位機(jī)進(jìn)行數(shù)據(jù)處理并重構(gòu)字符圖像,工作原理如圖1所示。
圖1 數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)圖Fig.1 Structure of image acquisition system
圖1中的線激光傳感器采用加拿大LMI公司GOCATOR2000型二維激光傳感器,該傳感器在有效范圍內(nèi)的測量精度優(yōu)于0.05 mm,全尺寸范圍的掃描頻率達(dá)180 Hz,每次掃描可獲取1 300個(gè)有效數(shù)據(jù),每個(gè)點(diǎn)位包含了當(dāng)前點(diǎn)的X,Y坐標(biāo)值及反射光強(qiáng)度值。當(dāng)鋼軌通過激光掃描區(qū)時(shí),觸發(fā)掃描動作,上位機(jī)實(shí)時(shí)采集鋼軌兩側(cè)軌腰部分的廓型數(shù)據(jù)。
將傳感器采集的點(diǎn)云數(shù)據(jù)坐標(biāo)和光強(qiáng)賦予色彩信息就可完成字符圖像的重構(gòu)過程[12]。由于受圖1中傳感器安裝位置的影響,計(jì)算機(jī)采集到的輪廓圖像會在軌頭和軌腰部分呈現(xiàn)一個(gè)“斷崖”式跳變,數(shù)據(jù)處理時(shí)可根據(jù)跳變點(diǎn)位置對數(shù)據(jù)進(jìn)行取舍,剩余點(diǎn)即為軌腰部分有效數(shù)據(jù)。實(shí)際生產(chǎn)中鋼軌爐號字符高度只占軌腰區(qū)域高度的1/3,為了減少數(shù)據(jù)量選取跳變點(diǎn)以下150至350個(gè)點(diǎn)范圍內(nèi)數(shù)據(jù)作為字符區(qū)域的有效數(shù)據(jù)。
根據(jù)鐵軌標(biāo)準(zhǔn)[13],鋼軌軌腰區(qū)域?qū)嶋H輪廓為一圓心落在軌腰中心線的對稱圓弧,由于爐號字符是軋制在軌腰表面,字符區(qū)域點(diǎn)到圓心的距離D與其他部分到圓心的距離R不同,通過這個(gè)方法可以將軋制的字符所在位置篩選出來。具體步驟如下:
步驟1:根據(jù)圓的標(biāo)準(zhǔn)方程和字符區(qū)域兩個(gè)端點(diǎn)A1(X1,Y1),A2(X2,Y2)及半徑大小R可以求出兩個(gè)圓心坐標(biāo)C1和C2。圓的標(biāo)準(zhǔn)方程格式為:
步驟2:任選字符區(qū)域的一個(gè)點(diǎn)A3(X3,Y3),根據(jù)兩點(diǎn)之間的距離公式
分別求出C1,C2到A3的距離d1,d2,并與半徑R比較,得到圓心坐標(biāo)C0(X0,Y0)。
步驟3:計(jì)算所有字符有效區(qū)域內(nèi)的點(diǎn)An(Xn,Yn)與C0(X0,Y0)之間的距離dn,得到dn與R的差值,當(dāng)差值大于預(yù)設(shè)值Δ時(shí),即
當(dāng)前的點(diǎn)An(Xn,Yn)即為鋼軌爐號字符的點(diǎn)。其中Δ的值為鋼軌字符凸起部分高度(Δ=0.35 mm)。
步驟4:將字符區(qū)域所有點(diǎn)和與之對應(yīng)的光強(qiáng)度大小賦予色彩信息,即大于等于Δ的點(diǎn)灰度值賦值為0,其余點(diǎn)灰度值賦值為255,最終形成字符圖像。采用C#開發(fā)平臺開發(fā)了用于點(diǎn)云數(shù)據(jù)重構(gòu)的軟件,圖像重構(gòu)過程如圖2所示。
圖2 圖像重構(gòu)流程圖Fig.2 Flowchart of image reconstruction
采用上述步驟重構(gòu)得到的字符圖像如圖3所示。
圖3 鋼軌字符的重構(gòu)圖像Fig.3 Reconstructed image of characters on rail surface
從圖3中可以看出字符圖像中包含較多椒鹽噪聲[14],出現(xiàn)位置與頻率都不固定,均值濾波和高斯濾波效果較差。采用中值濾波作為圖像平滑過濾器,通過調(diào)用HALCON的median_image算子實(shí)現(xiàn)圖像濾波,該算子由濾波器大小W決定圖像處理效果,其原理如式(4)所示。
其中,gr,c為中值濾波處理后W窗口內(nèi)所有點(diǎn)的灰度值,窗口的選擇決定了圖像濾波后的效果。圖4是采用不同窗口大小的中值濾波器進(jìn)行處理的結(jié)果。從圖4中可以看出,3×3濾波器去除了部分噪聲,且保留了字符邊緣,但是對于噪聲面積過大的長條狀噪聲、片狀噪聲處理效果有限。5×5濾波器去除了大部分噪聲,保留了字符邊緣數(shù)據(jù),不會降低字符邊緣銳利程度,很大程度保留了字符特征。7×7濾波器去除了絕大部分噪聲,但是降低了字符邊緣的銳利程度和不同字符之間的特征差異,為后期做圖像閾值分割及特征向量提取帶來了困難。因此選擇5×5濾波器作為圖像平滑濾波,可以有效去除鋼軌自身銹蝕及傳送輥軸的輕微擾動產(chǎn)生的噪音。
圖4 中值濾波效果圖Fig.4 Image after median filtering
中值濾波后,圖像中很多點(diǎn)的灰度值發(fā)生了變化。為了獲得更清晰的字符圖像,需要對中值濾波處理之后的圖像進(jìn)行動態(tài)閾值分割。圖像閾值分割是將圖像處于某一灰度范圍內(nèi)所有的點(diǎn)篩選到輸出區(qū)域A,A內(nèi)所有點(diǎn)gr,c的集合為:
為了篩選感興趣區(qū)域(Region of Interest,ROI),一般取gmin=0或gmax=255,由于重構(gòu)圖像時(shí),字符有效區(qū)域位置的灰度值為0,所以選取gmin=0。要獲得最佳圖像分割質(zhì)量,首先要計(jì)算整個(gè)區(qū)域的平均灰度值,公式如式(6)。
由式(6)計(jì)算得,圖4中5×5濾波后圖像平均灰度值gˉr,c為205.4。由于字符有效區(qū)域的灰度值比整個(gè)圖像的平均灰度值要低的多,圖像的灰度特征中的兩個(gè)峰值為0與255,直接使用閾值分割會導(dǎo)致字符邊緣的信息被去除或者保留的冗余邊界信息過多,而動態(tài)閾值分割可以避免邊緣信息冗余的問題。動態(tài)閾值分割通過調(diào)用HALCON的dyn_threshold算子實(shí)現(xiàn),在ROI選擇時(shí)選擇“dark”部分,得到的處理結(jié)果如圖5所示。
圖5 閾值分割效果圖Fig.5 Image after threshold segmentation
從圖5中可以看出經(jīng)過動態(tài)閾值處理之后的字符圖像,去除了不需要的背景色,同時(shí)極大的保留了字符邊緣信息,但其中還是包含一些不需要的干擾,仍需要進(jìn)一步處理。
開運(yùn)算是先腐蝕后膨脹的處理操作,能夠去除小雜點(diǎn),平滑字符邊緣,原理如式(7):
式(7)表示A與結(jié)構(gòu)元B平移之后的并集,不同大小和形狀的結(jié)構(gòu)元B對圖像A有不同的影響。圖6是選擇不同結(jié)構(gòu)元對圖4進(jìn)行開運(yùn)算操作的結(jié)果。從圖6中可以看出,當(dāng)結(jié)構(gòu)元過小時(shí),雜點(diǎn)大小遠(yuǎn)超過結(jié)構(gòu)元,開運(yùn)算結(jié)果較差,不予考慮。當(dāng)結(jié)構(gòu)元為矩形,大小為3×3和5×5時(shí),對圖像雜點(diǎn)去除有一定的效果,但是對面積較大區(qū)域雜點(diǎn)的處理效果并不明顯。而結(jié)構(gòu)元為半徑為5的圓時(shí),圖5中的雜點(diǎn)基本去除,但因結(jié)構(gòu)元面積過大,對字符連接區(qū)域過腐蝕,造成字符斷裂,對后期特征提取帶來困難。結(jié)構(gòu)元為半徑為3的圓,在保留字符特征的前提下,去除了圖5中絕大多數(shù)干擾部分,而且平滑了區(qū)域邊界。
圖6 形態(tài)學(xué)處理效果圖Fig.6 Image after morphological treatment
因此使用半徑為3的圓作為結(jié)構(gòu)元對圖像開運(yùn)算操作可以得到較佳的效果,開運(yùn)算操作通過調(diào)用HALCON中的opening_circle算子實(shí)現(xiàn)。
形態(tài)學(xué)處理完成后,圖6中使用半徑為3的開運(yùn)算的圖像字符仍為整體,需把每一個(gè)字符分割出來,舍棄不需要部分,并且提取每個(gè)字符特征。
HALCON中具體的字符分割操作步驟如下:
步驟1.調(diào)用connection算子計(jì)算圖中聯(lián)通區(qū)域,將整個(gè)字符圖像分成多個(gè)聯(lián)通的小region。
步驟2.調(diào)用select_shape算子,計(jì)算并提取每個(gè)連通區(qū)域不同的特征向量大小,通過區(qū)域面積area值和高度height值將字符region篩選出來。
步驟3.調(diào)用gen_empty_obj算子建立空容器,調(diào)用select_obj算子將字符region從左至右置于容器中。
步驟4.調(diào)用sort_region算子將數(shù)組排列,最終的分割結(jié)果如圖7所示。
圖7 分割結(jié)果圖Fig.7 Image after character segmentation
字符分割之后爐號字符圖像變成多個(gè)字符區(qū)域,使用多個(gè)類型線性變量分類器—多層神經(jīng)網(wǎng)絡(luò)分類器能夠?qū)蝹€(gè)區(qū)域進(jìn)行識別操作。將字符分割時(shí)提取的特征向量輸入一個(gè)三層OCR神經(jīng)網(wǎng)絡(luò)分類器做分類識別,步驟如下:
Step 1.調(diào)用HALCON中read_ocr_class_mlp算子,使用系統(tǒng)內(nèi)“document 0-9A-Z”字符模板庫。
Step 2.將字符面積、字符圖像重心、字符投影直方圖等特征向量作為輸入層輸入隱含層,使用sigmoid激活函數(shù)做權(quán)值量化[15]。
Step3.調(diào)用HALCON的do_ocr_multi_class_mlp算子,比較權(quán)值計(jì)算結(jié)果,返回每個(gè)字符的置信率。
Step 4.根據(jù)置信率大小判斷識別字符是否有誤,調(diào)用area_centre算子計(jì)算字符行列坐標(biāo),最后將識別后的字符顯示在原圖中,效果如圖8所示。
圖8 最終識別效果圖Fig.8 Character recognition result in original image
采用非接觸式線激光掃描成像技術(shù)的鋼軌爐號識別系統(tǒng),實(shí)現(xiàn)了高速鋼軌焊前爐號的自動采集及識別,結(jié)果表明使用激光掃描成像與多層神經(jīng)網(wǎng)絡(luò)分類器識別方法結(jié)合可以有效的處理鋼軌因污損、銹蝕而導(dǎo)致的爐號誤讀問題,單次識別率達(dá)到96%以上,極大地降低了勞動強(qiáng)度,提高了生產(chǎn)效率。
[1]唐崇偉,陳唐龍.基于面陣相機(jī)的接觸軌幾何參數(shù)檢測系統(tǒng)[J].電氣化鐵道,2012,23(3):42-44.
[2]王學(xué)華,王華龍,馬凡杰.柱面噴碼字符的自動算法[J].武漢工程大學(xué)學(xué)報(bào),2015,37(11):43-46.
[3]張?bào)?,?yán)云洋,李郁峰.熱紅外與可見光視頻融合的運(yùn)動目標(biāo)檢測[J].計(jì)算機(jī)科學(xué),2015,45(8):86-89.
[4]申屠理鋒,唐安祥.紅外成像技術(shù)在轉(zhuǎn)爐鋼渣檢測中的應(yīng)用[J].激光與紅外,2012,42(11):1259-1262.
[5]吳曉紅.單層神經(jīng)網(wǎng)絡(luò)的高效學(xué)習(xí)算法研究[J].計(jì)算機(jī)科學(xué)與應(yīng)用,1998(1):49-52.
[6]熊沈蜀,周兆英.單層神經(jīng)網(wǎng)絡(luò)在參數(shù)估計(jì)中的應(yīng)用[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),1996,36(4):1-6.
[7]王剛,孫曉亮.一種基于最佳相似點(diǎn)對的穩(wěn)健模板匹配算法[J].光學(xué)學(xué)報(bào),2017,37(3):281-287.
[8]LIU X Z,F(xiàn)EN G Z.A kernel clustering algorithm for fast training of support vector machines[J].Journal of Donghua University(English Edition),2011,28(1):53-56.
[9]WANG Y,LU C J,ZUO C P.Coal mine safety produc?tion forewarning based on improved BP neural network[J].International Journal of Mining Science and Tech?nology,2015(2):319-324.
[10]LIANG H D,HAN J H,GUO G H.Template matching algorithm of radar beam scan type recognition[J].Journal of Electronics(China),2014(2):100-106.
[11]TIANY J,JU X C,QI Z Q,et al.Improved twin support vector machine[J].Science China(Mathematics),2014,22(2):417-432.
[12]ASHOK K P,PAVITRA H.An adaptive approach for the reconstruction and modeling of as-built 3D pipe?lines from point clouds[J].Automation in Construc?tion,2016,72(12):65-78
[13]鮑磊.高速鐵路鋼軌質(zhì)量評估[J].中國冶金,2014(11):9-13.
[14]IGOR D.BM3D filter in salt-and-pepper noise removal[J].EURASIP Journal on Image and Video Process?ing,2016 ,10(1):1-11.
[15]孫一帆,張敬磊,王絲絲.因子分析與多層神經(jīng)網(wǎng)絡(luò)組合的酒駕辨識模型研究[J].中國安全科學(xué)學(xué)報(bào),2017,27(7):127-132.