張 庚,李 丹,周 亮,常 亮
(中國電力科學研究院信息通信研究所,北京 100192)
摘 要: 為了對數碼管儀表的數字識別系統進行改進和優化,提出了一種新的數字識別方法。對于攝像機采集到的圖像,首先進行圖像預處理,包括灰度轉換、中值濾波和二值化等。簡單介紹了字符區域定位和字符分割的算法,在字符識別之前對分割得到的區域設置了一些限制條件,防止將噪聲區域誤判為數字。從穿線法得到啟示,采用直線和字符的交點和標識矩陣元素的分布來構造識別特征對數字0-9進行分類識別。該算法在保證識別精度和抗干擾性的條件下,大大降低了運算量,具有較高的應用價值。
關鍵詞: 數字識別;數碼管;外接矩形;交點;標識矩陣
0 引言
七段式數顯儀表有著諸如易讀數、無需估讀、準確度高、可調整模式和參數等很多優點,被人們廣泛應用于機械、化工、醫藥、電子、金融等各行各業中。由于電力行業惡劣環境的影響,人工操作危險性極高,不利于人為去記錄儀表的數據。利用數字圖像處理技術和識別技術可以實現數顯儀表的自動識別,不僅可以提高工作效率,保證提高準確率,而且可以消除人工現場操作的危險性,這些都表明數顯儀表的數字識別技術研究具有非常重要的實用價值[1,2]。對于數字字符識別,人們提出了很多方法, 包括模板匹配法、統計決策法、句法結構法、模糊判別法、邏輯推理法、神經網絡法等[3]。模版匹配法對每個模式類都定義一個標準的模式,這種方法適用于印刷體數字的識別;統計決策法是在概率論和數理統計的基礎上形成的,抗干擾能力強,但是難以反映模式的精細結構特征;神經網絡法需要通過自身的學習機制形成決策區域,網絡的特性由拓撲結構神經元特性決定,利用狀態信息對不同狀態的信息逐一訓練獲得某種映射,但該方法過分依賴特征向量的選取[4]。申小陽[5]提出的交線特征提取的分類識別法,過程比較繁瑣,選取的掃描位置不具有代表性。本文提出了改進的交線特征和標識矩陣元素的分布特征法,并且提出對于分割得到的可能的數字區域設定限制條件,提高了數字識別的準確率。
1 數字儀表的字符識別流程
七段式數顯儀表中數字字符識別是通過使用數字圖像處理、模式識別等方法,對圖片中的數字內容進行自動識別。七段式數顯儀表的識別流程主要包括5部分,如圖1所示。
2 圖像預處理
攝像機在采集圖像的過程中,可能會受到實際采集環境以及攝像頭與目標圖像的距離和角度等因素的影響,最終傳輸到計算機的圖像可能存在模糊和噪聲缺陷[6,7],這些缺陷會影響到字符的正確分割和識別,所以在對圖像進行字符分割和識別之前,需要對圖像進行預處理操作。
2.1 灰度化
攝像頭采集到的圖像是含有大量顏色信息的彩色圖像,使用彩色圖像,增大了數據的處理量,嚴重影響圖像識別的速度和效率,而且降低了圖像識別的正確率[8]。灰度圖像是指只含亮度信息、不含色彩信息的圖像,在RGB模型中,如果R=G=B時,則彩色表示一種灰度顏色,其中R=G=B的值叫灰度值,因此,灰度圖像每個像素只需一個字節存放灰度值,灰度范圍為0-255,共256個值。本文采用的加權法來灰度化,根據重要性及其他指標,將三個分量以不同的權值進行加權平均。由于人眼對綠色的敏感最高,對藍色敏感最低,因此,按下式對RGB三分量進行加權平均能得到較合理的灰度圖像。轉換關系為:
f(i,j)=0.3R(i,j)+0.59G(i,j)+0.11B(i,j)(1)
2.2 中值濾波
中值濾波法是一種非線性平滑技術,它將每一像素點的灰度值設置為該點某鄰域窗口內的所有像素點灰度值的中值。中值濾波的基本原理是把數字圖像或數字序列中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的像素值接近真實值,從而消除孤立的噪聲點。
2.3 二值化
圖像二值化的關鍵在于通過尋找合適的閾值將要識別的目標和圖像的背景區分開來[9]。采用最大類間方差法Otsu來實現二值化,假設分割閾值是T,屬于前景的像素點數占整幅圖像的比例記為w0,其平均灰度u0;背景像素點數占整幅圖像的比例為w1,其平均灰度為u1。另g為類間方差,則g表示為:
g=w1w0(u0-u1)2 (2)
采用遍歷的的方式,當g取最大值時,T值即為分割閾值。
3 數字區域定位和分割
字符區域定位的主要目的是從預處理后的二值圖像中確定儀表顯示區域的具體位置,并將包含字符的子圖像從整個圖像中劃分出來[10]。儀表顯示區域字符串的定位方法主要有雙向投影法、區域生長法、邊緣檢測法。
字符分割是指將用戶所選取的數字區域分割成單個的數字區域。本文中字符分割采用的是雙向投影法,這一環節效果的好壞將會直接關系到下一個環節,會影響到數字字符特征提取和識別的正確與否。因此本文對于字符分割得到的區域設置了一些限制條件,以解決遇到混入噪聲的區域被判斷成其他數字的問題[11,12]。設第k個被識別為數字區域的外接矩形為Rk,這個可能區域的橫坐標、縱坐標、寬度和高度分別為xk,yk,wk,hk,設定以下限制條件:
s0<wk,hk<s1 (3)
|yk-yi|<<a0(k≠i) (4)
|hk-hi|<<a1(k≠i)(5)
以上三個式子分別從區域外接矩形的面積、高度差、縱坐標三個方面進行了限制。式(3)限制區域的大小,七段數碼管的每個數字顯示區域的大小除了1外,其余大都相同。s0值應該取1的外接矩形的最小值,s1應該比實際值略大一點。式(4)和式(5)表示外接矩形的高度和縱坐標應該基本相同,但是考慮到拍攝的圖像中可能存在傾斜,因此a1的值略大于a0,但兩者的值都很小。下面對區域內部的像素設置一些限制條件,設圖像第m行第n列的像素為p(m,n),值為0表示黑,值為1表示白。
在經過上述限制條件后,得到的數字區域在外形上是可信的,式(6)表示該區域的像素不能是全白或者全黑,b0的值接近于0,b1的值接近于1。
4 交點特征提取的數字識別
4.1 數字識別
字符識別屬于模式識別的范疇,模式識別的方法主要有統計方法和結構方法[13]。本文提出的方法結合了統計和結構,從穿線法得到啟示,采用直線和字符的交點作為提取字符特征和識別的手段。例如選取0和2,在中垂線處掃描,0的交點數為2,2的交點數為3,這樣就把2和3區分開了。在實際提取特征時還需考慮到字符和直線的交點是假想的,當字符在直線的方向像素由白變黑就認為字符和這條直線有一個交點[5]。從理論上來講,掃描線的數量越多,提取的特征越準確,但是會增大運算量,因此選取的直線數和位置很關鍵。選取的直線數和位置如圖2所示。
由圖2可知,選取了3個位置進行掃描,分別標記為A、B、C。對于字符先進行水平掃描,直線A、B在數碼管的3/4和1/4處,從左到右掃描,如果出現像素由白變黑就加1,直到掃描結束。然后進行垂直掃描,選取直線C為1/2處,將字符垂直平均分割成兩部分,從上到下掃描,同樣每次出現像素由白變黑就加1,直到掃描結束,得到的0-9的交點數如表1所示。
對于字符1的識別可以提取字符寬度特征,寬度特征是一個相對值,它表示的是字符最大寬度與最小寬度的比值[8],該特征對于將 1 與其他數字分開是很有效的。由表1可知2、3、5的交點數完全一樣,根據交線特征無法識別出來,可以根據標識矩陣[13]中數字豎直中線左側一列非0 和非 1 元素的重心分布來分類。對于數字“3”,豎直中線左側幾乎沒有目標元素,像素重心位于水平中線下側的則為“2”,重心位于上側的則為“5”。
4.2 小數點識別
一般儀器顯示的數據都存在小數點,所以確定小數點的位置極其重要。本文提出的方法對于小數點的識別不是很理想,因此根據小數點的幾何特征以及位置特征對其進行識別,最后加入到數字識別結果中。首先考慮到小數點的外形類似圓,因此它的外接矩形應該類似于正方形,它的坐標雖然寬度與1相近,但高度上與1有著很大的區別[14],它的外接矩形長寬比接近 1 ,并結合位置信息,小數點通常處于數字的右下角,這樣就可以準確地識別出來了。
5 結束語
本文從七段式數顯儀表中的數字字符識別入手,提出了一種新的數字識別方法,結合了字符寬度、直線和字符的交點、標識矩陣元素分布和重心等多個特征來提取字符特征,并提出數字分割后得到的區域進行篩選后再識別,實現了效果比較好的儀表數字實時識別系統。采用這種方法的優點還在于這種處理方法不需要進行歸一化與細化處理。在具體的實施中,利用C++編程實現該系統,實驗表明該方法正確識別率達到96%以上,但是對于實時系統來說,字符區域的定位速度和識別時間還不是很理想,因此在后續的工作中,要進一步優化和完善字符分割和識別算法,以達到識別率更高和實時性更好的目的。
參考文獻
[1]鄭小清.數顯儀表的自動識別檢測技術應用實例[J].科技世界,2013(21):49-50.
[2]穆克,韓志剛.有毒有害氣體報警器數字檢測系統的設計[J].遼寧石油化工大學學報,2012,32(1):75-83.
[3]劉丹,穆林麗,余曉鍔,等.一種七段數碼管式醫用儀表的自動識別方法[J].科學技術與工程,2010,10(16).
[4]張彤,肖南峰.基于BP網絡的數字識別方法[J]. 重慶理工大學學報(自然科學),2010,3(24):43-47.
[5]申小陽,唐軼峻,姜柏軍,等.儀表的數字字符識別系統[J]. 儀表技術與傳感器,2005(6).
[6]田自君.數顯儀表數字字符快速識別系統的研究[D].成都:電子科技大學,2007.
[7]郭爽. 數碼管數字儀表自動識別方法的研究[J]. 通信技術,2012,8(45):91-93.
[8]郝巧紅. 高壓變電站數顯儀表的識別[D].天津:天津大學,2007.
[9]尤曉俊.基于圖像識別的數字儀表自動校驗系統研究[D].安徽:安徽理工大學,2013.
[10]崔行臣 .數顯與指針儀表示值識別技術的研究與應用[D].山東:山東師范大學,2011.
[11]GONZALEZ R C,WOODS R E. Digital Image processing [M]. Beijing:Publishing House of Electronics Industry,2007.
[12]劉文亮.七段式數顯儀表中數字識別的研究與實現[D].大連:大連理工大學,2013.
[13]崔行臣,段會川,王金玲,等.數顯儀表數字實時識別系統的設計與實現[J]. 計算機工程與設計,2010,31(1):0214-0217.
[14]王蓉芳,汪仁煌,康亞芬.基于數碼管機器視覺的小數點識別[J].電子測試,2008(11):17-20.