曾 科,高 潮,扶 新,郭永彩,秦 琨,王攀峰
(1.重慶大學 光電技術及系統(tǒng)教育部重點實驗室,重慶 400044;2.重慶長安工業(yè)(集團)有限責任公司計量測試中心,重慶 400023)
隨著現代工業(yè)及焊接技術的迅猛發(fā)展,焊接設備已成為汽車制造、機械加工、化學工業(yè)、航空航天、造船以及首飾修復等眾多領域不可缺少的工業(yè)設備[1]。目前大多數電焊機屬于數字式,具有讀數簡單、易于顯示等優(yōu)點。電焊機的顯示參數主要包括電流和電壓,這兩個參數與產品焊接質量直接相關,所以需定期對其進行校準。傳統(tǒng)的人工記錄電焊機電流、電壓的校準方式由于操作麻煩、效率低、易出錯、誤差大等缺點,已不能滿足現代化的生產需求,而用機器視覺代替人體視覺的方式實現數顯儀表的快速自動識別成為可能。采用機器視覺的方式不但可以減少繁瑣的人工操作過程,還可以減少人為出錯幾率,更可為數顯儀器的自動化測試奠定基礎。
目前用于字符識別的方法主要包括模板匹配法、穿線法、神經網絡。模板匹配法對每個模式類都定義一個標準的模式,這種方法適用于印刷體數字的識別[2]。模板匹配由于其算法的原理[3],每個被切分的字符需要和建立好的模板庫中的20個模板(0~9和含有小數點的0~9字符)進行查找匹配,直到匹配成功才結束,導致該匹配過程比較耗時,不滿足快速變化的數顯表識別。穿線法識別是基于七段數顯表字符的每一段特征建立碼表[2,4-5],根據每個字符的碼表進行查找匹配識別,該方法具有識別簡單、速度快等優(yōu)點,但是對顯示的字符信息要求比較完整。申小陽等[6]提出穿線識別的方法,其識別率為95%;童文超等[7]關于穿線識別方法研究的識別率為95%,平均識別時間為1.3 s。神經網絡[8-10]法需要設計大量訓練樣本,經過設計的神經網絡結構,對訓練樣本形成決策分類,該方法過分依賴特征向量的選取。文獻[11]使用神經網絡的方法用于數顯表識別,其識別率為95%,識別時間400 ms。
對比上述識別方法,本文選擇穿線法進行數顯表識別研究。上述基于穿線法識別的準確率在95%,平均識別時間較長,不滿足快速變化的電焊機數顯表。為了提高識別的精度以及算法的實時性,本文構建了改進的穿線識別方法以及新的小數點定位識別框架,實驗測試該算法識別率與識別時間,為自動化實時校準系統(tǒng)提供基礎。
算法識別過程主要由3部分組成:圖像預處理、圖像分割、字符識別,如圖1所示。
圖1 算法識別流程圖
受數顯表面的清潔度、環(huán)境的光照強度以及反光等因素影響,圖像傳感器獲取的彩色圖像存在模糊、噪聲等缺陷,嚴重影響圖像的識別率及效率,因此需要圖像預處理減少上述因素對圖像質量的影響。圖像預處理對于后期的圖像分割、字符識別以及實時系統(tǒng)構建起著至關重要的作用。
對數顯儀表上的數據區(qū)域進行分析,可以得到感興趣區(qū)域具有以下3個特征:
1)在一個區(qū)域內密集包含多個字符;
2)發(fā)光顯示的數顯儀表,在圖像中較亮,其所在的灰度等級較高;
3)小數點在字符的右下邊界位置,高度和數碼管字符的段寬度相近。
根據上述3個特征設計算法,不但能快速定位數據區(qū)域還能提高字符的識別率。
1.1.1 亮度特征提取
顏色特征是字符識別的一個重要特征。發(fā)光的數碼管和背景的亮度灰度級偏差較大,因此本文中提取HSV顏色空間中亮度(Value,V)特征作為顏色特征,在保證精度的前提下,通過降低識別目標的特征維度提高識別的速度。如圖2所示,經過顏色空間轉換,可以有效地解決各種發(fā)光(紅色、綠色、黃色等)顯示的數顯。RGB到HSV的V通道轉化為
圖2(b)表示對不同顏色顯示的圖像提取亮度特征值得到的處理效果,從二值化結果表明該特征能很好地適應各種顏色顯示的數顯表,但是對于泛光嚴重的數顯表,其亮度特征會被大量噪聲影響,導致使用該特征效果較差。
圖2 不同顏色圖像的特征處理
1.1.2 圖像二值化和濾波去噪
二值化的核心問題是選擇合適的灰度等級[12],使用該灰度級能有效地將目標和背景區(qū)分開。本研究是針對發(fā)光顯示的數顯表,由于其灰度級較高,所以用最大類間方差方法[13](Otsu)能得到較好的效果,二值化效果如圖3(b)所示。
長期使用的數顯表,其界面上可能會出現嚴重影響后期圖像處理的噪點。濾波去噪可以減少噪聲,提高圖像質量。影響后期識別精度的噪聲主要包括字符周圍以及字符間的噪聲,采用中值濾波可以有效地剔除部分噪聲,而且還保留了目標的邊緣特征信息。經過濾波去噪,字符0、1、7會出現中間斷裂,基于開運算的方法可以連接中間斷裂的像素提高定位準確率。
圖3 圖像預處理
從圖3中可以看出經過濾波以及開運算處理后,減少了部分字符周圍的噪聲。
1.1.3 圖像定位及分割
圖像分割是將目標從背景中分離。文獻[14]使用Sobel算子提取字符特征信息。本文基于橫向掃描和縱向高度連續(xù)掃描的方法找到字符的上下邊界,如圖4所示。
圖像分割出每個字符,數顯表上的中間指示燈也被裁剪出來。后期識別的時候可以根據位置信息排除其干擾。
穿線法識別的原理如圖5所示。為了更好地表示數碼管的特征,將后續(xù)的圖像的灰度進行反轉處理,圖像中的白色表示背景,黑色表示字符信息。
圖5(a)中的線A表示七段數碼管高度1/4處與數碼管的特征交點,線B表示與七段數碼管高度3/4處的特征交點,線C表示與七段數碼管寬度1/2處的特征交點,用編號①~⑦表示這7個交點的信息,如果識別字符的段與直線A、B、C有交點置為1,無交點則置為0。對數字0、2~9這9個數字進行編碼可得表1。對于字符1,由于其寬度和其他字符的寬度有偏差,不能用穿線的方法,所以本文用其他方法對其進行識別。對于0、2~9這9個數字,圖5(b)展示用穿線法快速識別每個字符的過程。
1.2.1 非字符1識別
對于大部分數顯表,其顯示的七段字符并不像圖5(a)那樣垂直,而是如圖6(a)所示,七段字符的右側段朝右傾斜,直線C的底部會與字符7的右下側的段產生交點,導致用上述穿線方法對字符7、3出現錯誤識別。所以本文對直線C提出了改進方法,如圖6(b)所示,基本思想是用一條斜線代替豎直線C,通過檢測字符的右側段傾斜角度確定斜線的斜率,從而避免錯誤識別字符7和3。假設斜線的方程為
圖4 圖像定位及分割
圖5 穿線法交點特征提取
表1 字符識別分類碼
圖6 改進的穿線法
式中:y——圖像的高度方向,單位為像素;
夏季是降水過程最為活躍的時間段,且降水具有較強不穩(wěn)定性。從影響系統(tǒng)分析來看(表2),高空槽、低空切變和地面倒槽或低壓仍然是大多數夏季暴雨系統(tǒng)必不可少的配置,而副高的強弱進退也成為夏季暴雨重要的制約原因,從表2可見,副高引起的暴雨過程有9次。除此以外,東北冷渦作為重要的一類降水天氣系統(tǒng),仍有10次暴雨過程與之有關。由于夏季各月的主要影響系統(tǒng)存在較大的差別,以下分月份進行分析。
在字符分割時可以確定W和H參數。對于參數k,可以依據線A和線B與字符在高度1/4以及3/4處的邊界獲得坐標信息,然后根據坐標信息求得斜率k。
求解k的過程如下:對于字符 0、3、4、7、8、9,在直線A、B與字符右側邊界各取3個交點;對于字符6在直線A、B與字符左側邊界各取3個交點;而字符2和5,直接在線A處取6個交點??梢砸罁€A和線B的交點信息判斷某個字符屬于上述3種情況中的哪一種。所獲得的6個交點位置信息分別用矩陣M和N順序存儲,如下所示:
根據M和N,分別計算兩者的x和y的平均值,即:
通過實驗表明,右側傾斜的字符其斜率約為-6,當斜線的斜率k的絕對值大于10,近似判定字符的右側邊界豎直,此時取
1.2.2 字符1識別
本文對字符1提出一種新的識別方法。識別的基本思路是:對于寬度較小的字符,并不能確定該字符是1、7或者噪聲,因此需首先根據線A和線B與字符的交點信息排除噪聲干擾,并且得到字符的段寬和寬度,如圖7所示。通過大量實驗表明:對于字符1,其寬度和段寬比值滿足而字符7滿足所以根據這兩個比值取一個合理的值作為字符1和其他字符的分界。本文中選取的比值為2.9。本文通過實時統(tǒng)計待識別字符的段寬,所以對于其他分辨率的圖像也能獲得較好的識別率。
圖7 字符1識別原理
1.2.3 小數點識別
因小數點字符較小,故對其識別一直是字符識別的難題。本文中的小數點會和其前面的字符被分割在一起,如圖8所示,表示右側邊界到字符頂部的高,H表示字符的高度。本文提出一種簡單的快速識別小數點的方法,即通過統(tǒng)計分析每個含有小數點的字符,其右側邊界幾乎都是在小數點位置處,所以可以通過檢測字符右側邊界的位置判斷字符是否含有小數點。對無小數點和有小數點總共8個字符統(tǒng)計其右側邊界信息,如表2所示。
圖8 小數點識別原理
表2 小數點判斷依據
根據表中的比值得出結論:對于無小數點的字符,其右側邊界滿足而有小數點的字符滿足在[0.6,0.9]之間取一個值,便能判斷字符是否有小數點。本文選擇的
1.2.4 數據分類準則
本文針對電焊機顯示的電流電壓作為兩類數據的識別對象。兩類數據處于同一行,通過統(tǒng)計字符間的距離信息,將距離最大的兩個相鄰字符作為兩類數據的分隔。
本文的算法設計程序利用C++語言實現。
靜態(tài)識別測試:采集200張30°仰視、200張20°俯視(-20°)、300 張-20°~30°之間的圖像進行算法驗證,如表3所示。可以得到圖像識別算法的平均識別準確率約為99%,拒識別率1%,錯誤識別率1%,平均每張圖像識別時間為7.2 ms。
表3 識別算法測試
動態(tài)識別測試:在相機分辨率設置為1 008×602像素的條件下,當相機的采集速度達到118幀/s時(平均時間為8.5 ms/張),本文提出的算法可以同步識別,正確識別率為98.4%。動態(tài)識別率比靜態(tài)識別率低的原因是由于數顯表刷新變化過程中,出現停頓現象,導致相機采集的圖像中的某些字符不屬于0~9,所以識別率降低。動態(tài)識別為數顯儀器的動態(tài)校準過程提供了基礎。
本文從數顯表的特征入手,建立適用于數顯儀表圖像的識別算法模型。針對彩色圖像,提出一種利用HSV色彩空間的V通道作為特征的方法,解決各類顏色顯示的數顯問題。改進穿線法,用傾斜線代替豎直特征線,完成了靜態(tài)和動態(tài)字符的識別。針對小數點提出了利用字符邊界的位置信息快速識別方法。實驗驗證本文算法可以識別兩類任意七段字符的數據,并且靜態(tài)識別算法的識別率達到99%,平均識別時間為7.2 ms/張,動態(tài)識別算法的識別率達到98.4%,平均識別時間為8.5 ms/張。本文研究的算法可用于像電焊機這種快速變化且含有多參數的數顯儀器的動態(tài)校準。