林劍萍,廖一鵬
(1. 陽光學院,福建 福州 350015;2. 福州大學 物理與信息工程學院,福建 福州 350000)
基于OpenCV和LSSVM的數(shù)字儀表讀數(shù)自動識別*
林劍萍1,廖一鵬2
(1. 陽光學院,福建 福州 350015;2. 福州大學 物理與信息工程學院,福建 福州 350000)
為了提高儀表讀數(shù)及記錄的工作效率,減少人工干預并降低出錯概率,提出了一種基于OpenCV和LSSVM的數(shù)字儀表自動識別方法。首先選取免驅(qū)的USB攝像頭采集儀表圖像,然后采用Canny檢測與Hough變換相結(jié)合的算法對儀表圖像的傾斜角度進行校正;利用數(shù)學形態(tài)學、Otsu算法以及連通域提取對圖像進行預處理和字符定位分割;最后,進行字符特征提取并利用最小二乘支持向量機算法對儀表讀數(shù)進行識別。經(jīng)過大量的實驗驗證,與現(xiàn)有的儀表讀數(shù)識別方法相比,該方法具有更好的準確性,實現(xiàn)了數(shù)字儀表的自動識別功能。
機器視覺;圖像處理;OpenCV;最小二乘支持向量機
目前,在很多領(lǐng)域受工作條件限制及經(jīng)濟性、便捷性的要求,很多用于計量的儀器儀表都沒有專門的數(shù)據(jù)通信接口,導致無法自動識別讀數(shù),對儀表數(shù)字的讀取還是要靠人工來實現(xiàn),但是在一些特定場合,例如高溫高壓、化工冶金、高山峭壁、有核輻射等人體不能適應(yīng)的地方,人工抄表存在很大的危險性及不可行性,而機器視覺卻可以無視這些不利因素,廣泛地用于長時間惡劣的工作環(huán)境,這就為儀表讀數(shù)的讀取提供了便利,同時可以提高工作效率,更好地保障人身安全。儀表讀數(shù)識別也可以說是自動抄表,自動抄表的試點和運用始于20世紀80年代,在20世紀90年代得到較快的發(fā)展[1]。目前,國內(nèi)外許多科技人員在基于機器視覺的數(shù)字識別上做了很多深入研究。從圖像預處理、傾斜校正、字符分割及數(shù)字識別等方面各有側(cè)重點地做了不同方法的研究比較。在儀表數(shù)字識別方面,工業(yè)和信息化部電子第五研究所的申中鴻、蔣春旭等人利用機器視覺技術(shù),結(jié)合計算幾何軌跡識別方法與D-S證據(jù)理論實現(xiàn)數(shù)字顯示儀表的自動讀數(shù);中國計量科學研究院的劉科等人采用投影變換的方法對數(shù)字圖像進行分割、編碼,進而實現(xiàn)了對該類儀表示值的自動讀取;山東管理學院的常曉瑋利用光學字符識別技術(shù)實現(xiàn)了遠程識別儀表上顯示的數(shù)字信息[2-5]。綜合各方研究,實現(xiàn)基于機器視覺的數(shù)字儀表讀數(shù)自動識別的方式多樣,不僅在圖像預處理上可根據(jù)不同環(huán)境不同儀表選擇合適的算法,在數(shù)字的定位識別上也有多種方法可供選擇。本文采用Canny檢測與Hough變換相結(jié)合的算法對攝像頭采集到的儀表圖像的傾斜角度進行校正,利用數(shù)學形態(tài)學方法、Otsu(大津法或最大類間方差法)算法等技術(shù)對校正后的圖像進行預處理[6-7],之后對字符進行分割,采用最小二乘支持向量機(LSSVM)算法對儀表讀數(shù)進行識別。經(jīng)過大量的實驗驗證,該方法具有良好的準確性,實現(xiàn)了數(shù)字儀表的自動識別功能。
1.1 圖像的采集
圖像采集是基于機器視覺進行圖像處理的第一步,也是很重要的一步。采集到質(zhì)量較高的圖像可以在很大程度上降低處理的難度。本文采用分辨率為480×680的CCD免驅(qū)USB攝像頭對儀表數(shù)據(jù)進行采集,該攝像機可以直接捕捉影像傳輸處理,運用更加便捷。
1.2 儀表圖像的傾斜校正

圖1 USB攝像頭采集原圖
進行數(shù)字儀表圖像采集時,采集到的數(shù)字儀表圖像經(jīng)常會發(fā)生傾斜。為使儀表端正以方便后期處理,需要對傾斜的儀表圖像進行校正。本文采用的是Canny邊緣檢測與Hough變換相結(jié)合的傾斜校正方法。用Canny算子對儀表圖像進行邊緣檢測,然后利用Hough變換檢測數(shù)字儀表邊框平行線的傾斜角度,再利用旋轉(zhuǎn)函數(shù)進行校正,得到端正水平的數(shù)字儀表圖像。
攝像頭采集到的圖像如圖1所示,Canny邊緣檢測及Hough變換檢測得到最長直線圖如圖2所示,傾斜校正后的圖像如圖3所示。

圖2 Canny邊緣檢測及Hough變換檢測得到最長直線圖

圖3 傾斜校正后數(shù)字儀表圖
1.3 圖像的形態(tài)學處理
為簡化圖像數(shù)據(jù),并除去不相干的結(jié)構(gòu),本系統(tǒng)對圖像進行腐蝕(Erosion)膨脹(Dilation)等數(shù)學形態(tài)學運算,對圖像進行濾波處理,平滑邊界。提高數(shù)字儀表圖像的質(zhì)量,并填充儀表讀數(shù)中的細小空洞,避免單個數(shù)字各段碼之間的中斷。
膨脹的定義:
D=X⊕B={(x,y)|Bxy∩X≠φ}
(1)
腐蝕的定義:
E=X?B={(x,y)|Bxy?X}
(2)
式(1)和(2)中,B為結(jié)構(gòu)元素,X為原始圖像。
1.4 圖像的二值化
為了字符的準確識別,在字符識別之前對圖像做二值化處理,將圖像分割成背景和目標兩部分。本文采用最經(jīng)典的全局閾值的Otsu算法(最大類間方差法)。為了減少對比度和光照不均勻?qū)Χ祷挠绊懀诙祷幚碇跋葘D像進行頂帽處理,讓二值化達到更好的效果。Otsu算法是在最小二乘法原理基礎(chǔ)上推導出來的,它的基本原理是:令連通區(qū)域S,其中像素灰度范圍為[0,255],點(x,y)的灰度表示為I(x,y),灰度級x的點的概率為P(x),則Otsu就是求下式達到最大值的灰度級m:
(3)

圖4 二值化處理后圖像
灰度級m即為最佳分割閾值。利用此方法二值化處理后的圖像如圖4所示。
經(jīng)過預處理之后,可以得到質(zhì)量較高的二值化圖像,接下來就需要對數(shù)字儀表的讀數(shù)進行定位與分割,為數(shù)字識別做好準備。定位分割的準確性,直接影響數(shù)字識別的難易程序及識別率。
2.1 儀表數(shù)字區(qū)域的特征分析
在數(shù)字儀表讀數(shù)的定位分割過程中,必須根據(jù)數(shù)字區(qū)域與背景儀表的不同特征進行提取,才能達到定位分割的目的。而數(shù)字儀表的特征總體是有跡可循的,可以將數(shù)字區(qū)域與背景分別出來。從視覺角度出發(fā),儀表數(shù)字區(qū)域的特征可以從其形狀、顏色和亮度三個方面進行分析。
2.2 儀表數(shù)字定位分割方法
儀表數(shù)字定位分割一般有基于連通域和基于投影法的儀表數(shù)字定位與分割。但是不同的光照條件,儀表的影子對水平投影的影響過大,在有影子存在的情況下,僅根據(jù)水平投影不足以將兩行讀數(shù)分割開來,而水平投影結(jié)果不理想導致分割不準確,也就使得垂直投影不能理想地分割出每行中的每一個字符。因此本文采用的是基于連通域的方法來進行數(shù)字的定位與分割。
在圖像當中用f(x,y)表示位于圖像陣列中第x行、第y列的像素的值,一幅m×n的圖像具有m行n列,f(0,0)表示圖像左上角的像素值,f(m-1,n-1)表示圖像右下角的像素值。遍歷圖像,通過4鄰域連通標準查找出所有符合的連通域,這樣就可以把圖像中每一個分離的區(qū)域檢測出來。
在查找出所有連通域之后,按照連通域的面積、讀數(shù)的形狀、長寬比來進行篩選,排除不符合條件的區(qū)域,這樣就可以直接定位并分割出數(shù)字儀表的每個讀數(shù)。算法實現(xiàn)步驟如下。
(1)計算連通域面積:連通域A的面積就是像素值為255的點的數(shù)目,即區(qū)域的邊界內(nèi)包含的像素點數(shù)。面積的計算公式為:

(4)
(2)計算連通域的長寬比:連通域的寬/連通域的長。
(3)遍歷所有連通域,如果連通域面積大于500小于5 000且連通域的長寬比大于1.5小于2.5則提取,如果不滿足以上條件則舍棄。這樣便可篩選出滿足要求的連通域,即數(shù)字儀表每個讀數(shù)。

圖5 儀表讀數(shù)分割定位結(jié)果
數(shù)字儀表讀數(shù)的定位分割結(jié)果如圖5所示。
2.3 儀表數(shù)字特征提取
數(shù)字的特征主要可以從形狀、顏色、紋理、結(jié)構(gòu)等方面入手來提取,而大部分的數(shù)字儀表的讀數(shù)區(qū)域是基于七段數(shù)碼管來實現(xiàn)顯示,因此也可以根據(jù)數(shù)碼管的特征來提取。本文用的提取特征的方法就是基于七段數(shù)碼管,根據(jù)每段碼的像素值來判斷識別。將定位好的數(shù)碼管每位進行4×4分割,統(tǒng)計黑點和白點的個數(shù),每塊的像素用x0~x15表示,提取結(jié)果如圖6所示。

圖6 儀表數(shù)字特征提取結(jié)果
數(shù)字儀表的讀數(shù)識別是基于機器視覺的數(shù)字儀表讀數(shù)自動識別的重點,只有這一步做好了才能正確識別讀數(shù)并且保證一定的識別率。最常用的數(shù)字字符識別算法主要有模板匹配法、基于人工神經(jīng)網(wǎng)絡(luò)法、穿線法等[8-10]。本文采用的是最小二乘支持向量機(LSSVM)算法[11-13]。
設(shè)訓練集為(xi,yi)(i=1,2,…,N),N表示訓練樣本數(shù),xi∈Rm為樣本輸入,yi為輸出,LSSVM在高維特征空間的線性函數(shù)為:
f(x)=wTφ(x)+b
(5)
式(5)中,w為權(quán)值向量,b為偏置量,φ(x)為非線性映射函數(shù)。根據(jù)結(jié)構(gòu)風險最小化原則,綜合考慮擬合誤差和算法復雜度,轉(zhuǎn)換為一個等式約束的優(yōu)化問題:
(6)
為求解上述優(yōu)化問題,引入拉格朗日等式,ai是拉格朗日乘子,把約束優(yōu)化問題變?yōu)闊o約束優(yōu)化問題,如式(7)所示:
(7)
根據(jù)非線性最優(yōu)規(guī)劃(Karush-Kuhn-Tucker,KKT)條件求得參數(shù)ai,b代入公式(5),得到支持向量機的輸出:
(8)
最后,選擇RBF(Radial Basis Function)作為LSSVM的核函數(shù),得到LSSVM的預測函數(shù):
(9)
式中,σ為核寬度,反映數(shù)據(jù)集的特性。
4.1 系統(tǒng)軟件實現(xiàn)
本系統(tǒng)利用OpenCV開源庫[14-15]在VS2010環(huán)境中編寫MFC程序,實現(xiàn)數(shù)字儀表讀數(shù)的實時采集、處理及識別輸出。通過點擊界面內(nèi)按鈕即可完成相應(yīng)的處理,最終將數(shù)字儀表原圖及讀數(shù)識別結(jié)果都直觀地顯示在窗口界面上。
根據(jù)本文系統(tǒng)采取的方法對實時采集到的數(shù)字儀表圖像進行處理、分割及識別,以采集到的其中一張測試圖為例,系統(tǒng)從實時采集、傾斜校正、預處理(濾波、二值化)、定位分割到識別的每一步效果圖如圖7所示。

圖7 系統(tǒng)處理每一步效果圖
4.2 LSSVM與其他算法的比較
本文采用最小二乘支持向量機算法對數(shù)字儀表的讀數(shù)進行識別,為了驗證該算法的識別率,總共實時采集了200幅儀表圖像近800個數(shù)字字符,用模板匹配法、基于人工神經(jīng)網(wǎng)絡(luò)法、穿線法、最小二乘支持向量機分別進行了測試,對這800個數(shù)字字符進行分類統(tǒng)計,測試結(jié)果如表1所示。
統(tǒng)計分析發(fā)現(xiàn),這幾種算法對每個數(shù)字的識別率都高于90.0%,LSSVM對每個數(shù)字的識別率都高于95.0%,對10個字符的平均識別率達到98.2%,比其他幾種識別模式的平均識別率有明顯提高,識別效果良好,達到了預期的目標與要求。
根據(jù)數(shù)字儀表顯示的特征,本文首先采用攝像頭實時采集并顯示數(shù)字儀表圖像;然后將Canny邊緣檢測算子與Hough變換相結(jié)合,對儀表圖像進行傾斜校正;利用數(shù)學形態(tài)學方法對圖像光照不均勻等進行處理,通過濾波增強有效信息;根據(jù)數(shù)字儀表讀數(shù)特征,采取查找最小連通域后篩選的方法對儀表讀數(shù)進行定位分割;采用和聲搜索法和最小二乘支持向量機的算法對儀表的數(shù)字讀數(shù)進行模式識別;利用OpenCV開源庫在VS2010環(huán)境中編寫MFC程序,實現(xiàn)數(shù)字儀表讀數(shù)的實時采集、處理及識別輸出。本設(shè)計在實驗室環(huán)境下具有良好的效果,下一步的研究方向是進一步改進完善,并將其推廣應(yīng)用到實際環(huán)境中。

表1 不同識別算法數(shù)字字符識別測試結(jié)果比較
[1] 譚志強,黃懿.自動抄表技術(shù)的發(fā)展[J].電測與儀表, 2009,46(1):1-5.
[2] 申中鴻,蔣春旭,徐華偉,等.基于機器視覺的數(shù)字顯示儀表自動讀數(shù)[J].電子產(chǎn)品可靠性與環(huán)境試驗,2013,31(A01):110-115.
[3] 申中鴻,劉群興,蔣春旭,等.基于機器視覺技術(shù)和D—S證據(jù)理論的數(shù)字顯示儀表自動讀數(shù)[J].信息工程期刊(中英文版),2013,3(6):122-129.
[4] 劉科,侯立新,卞昕.基于機器視覺的儀表示值識別算法研究[J].計量學報,2013,34(5):425-429.
[5] 常曉瑋.基于機器視覺的數(shù)字化儀表字符識別[J].計算機測量與控制,2014,22(9):3071-3073.
[6] 丁文,李勃,陳啟美.Canny色彩邊緣檢測及分類新方法[J].北京郵電大學學報,2012,35(1):115-119.[7] 黃登山,王曉楠.基于Canny和Hillbert-Huang變換的改進的SIFT算法研究[J].西北工業(yè)大學學報,2015(6):962-965.
[8] 朱顥東,李紅嬋.基于特征加權(quán)模糊模板匹配的字符識別[J].蘭州理工大學學報,2013,39(1) :68-71.
[9] 劉宗林,田瑩,李雪瀅.一種數(shù)顯儀表字符快速自動識別方法[J].現(xiàn)代計算機(專業(yè)版),2015(18):37-40.
[10] 王明勛.基于神經(jīng)網(wǎng)絡(luò)的液晶數(shù)字識別在船用設(shè)備管理中的應(yīng)用[J].艦船電子工程,2012,32(7):95-97.
[11] 劉永平,郭小波.基于最小二乘支持向量機車牌字符特征識別[J].數(shù)字技術(shù)與應(yīng)用,2015(7):119-120.
[12] 劉靜.基于最小二乘支持向量機的車牌字符特征分類研究[J].計算機與數(shù)字工程,2015(7):1315-1319.
[13] 喬宗良,張蕾,周建新,等.一種改進的CPSO-LSSVM軟測量模型及其應(yīng)用[J].儀器儀表學報,2014,35(1):234-240.
[14] 王舒憬,杜皎潔.基于OPENCV的數(shù)字萬用表數(shù)字識別方法[J].自動化與儀器儀表, 2014(1):62-63.
[15] 徐歡,李振璧,姜媛媛,等.基于OpenCV和改進Canny算子的路面裂縫檢測[J].計算機工程與設(shè)計,2014,35(12):4254-4258.
Automatic recognition of digital meter readings based on OpenCV and LSSVM
Lin Jianping1,Liao Yipeng2
(1.Yango College, Fuzhou 350015, China;2. School of Physics and Information Engineering,F(xiàn)uzhou University,F(xiàn)uzhou 350000,China)
In order to improve the efficiency of meter reading and recording, and to reduce manual intervention and error probability , a method of automatic digital meter recognition based on the OpenCV and LSSVM is proposed. Firstly, a free drive USB camera is selected to acquire instrument’s image as well as combining the edge detection algorithm based on Canny and Hough transform to correct the inclined instrument images. Then mathematical morphology, Otsu algorithm and connectivity area abstraction are used for image preprocessing and character segmentation. Lastly, least squares support vector machine is used to identify the meter reading with the character feature extraction. Through numerous of experiments, the method has better accuracy comparing to existing meter reading and recoding method. Thus, automatic identification function of digital instrument can be achieved.
machine vision; image processing;OpenCV;LSSVM
TP394.1
A
10.19358/j.issn.1674- 7720.2017.02.013
林劍萍,廖一鵬.基于OpenCV和LSSVM的數(shù)字儀表讀數(shù)自動識別[J].微型機與應(yīng)用,2017,36(2):37-40.
國家自然科學基金資助項目(61471124)
2016-08-25)
林劍萍(1983-),女,碩士,講師,主要研究方向:圖像處理、方向研究。
廖一鵬(1982-),男,博士,講師,主要研究方向:圖像處理與模式識別研究。