王幫元
?
字符識(shí)別耦合的ROI視覺(jué)引導(dǎo)應(yīng)用
王幫元
(安徽經(jīng)濟(jì)管理學(xué)院信息工程系,安徽合肥230051)
字符是標(biāo)識(shí)產(chǎn)品的重要信息,由于產(chǎn)品表面成像畫質(zhì)多樣性,當(dāng)字符目標(biāo)不清晰或者背景干擾大,往往會(huì)影響識(shí)別算法的精準(zhǔn)度. 鑒于此,提出了一個(gè)基于Emgucv與Tesseract的字符識(shí)別機(jī)制,用來(lái)識(shí)別平板電腦表面薄膜字符. 首先利用網(wǎng)絡(luò)攝像頭,對(duì)平板電腦表面薄膜字符區(qū)域取像;再對(duì)獲取的灰度圖進(jìn)行閾值分割得到包含目標(biāo)的二值圖;然后利用形態(tài)學(xué)處理去除雜質(zhì)干擾、提取目標(biāo)特征,得出感興趣區(qū)域(ROI);最后基于Tesseract開源庫(kù),實(shí)現(xiàn)對(duì)ROI區(qū)域的字符識(shí)別. 整個(gè)系統(tǒng)圖像處理部分由C#和Emgucv實(shí)現(xiàn),根據(jù)字符識(shí)別結(jié)果,用運(yùn)動(dòng)控制卡傳遞命令給機(jī)構(gòu),對(duì)薄膜進(jìn)行分流,完成視覺(jué)引導(dǎo). 通過(guò)實(shí)驗(yàn)測(cè)試本文字符識(shí)別系統(tǒng)性能,結(jié)果表明本機(jī)制與當(dāng)前字符識(shí)別技術(shù)相比具有更好的識(shí)別效果.
網(wǎng)絡(luò)攝像頭;字符識(shí)別;運(yùn)動(dòng)控制卡;視覺(jué)引導(dǎo);ROI
字符識(shí)別技術(shù)已經(jīng)運(yùn)用在很多領(lǐng)域,如安防、軍事、醫(yī)療、制造業(yè)等. 尤其在電子制造業(yè),可以實(shí)現(xiàn)產(chǎn)業(yè)自動(dòng)化生產(chǎn),提高生產(chǎn)效率和產(chǎn)品質(zhì)量,節(jié)約人力成本[1-2]. 本文主要研究的是在平板電腦的生產(chǎn)組裝中,對(duì)平板電腦表面薄膜字符的識(shí)別,用機(jī)器視覺(jué)代替了肉眼檢測(cè). 字符是標(biāo)識(shí)不同薄膜的ID,在流水線上需要將不同薄膜自動(dòng)分類,進(jìn)行分流處理. 這樣做對(duì)準(zhǔn)確識(shí)別不同薄膜上的字符很重要. 若想順利實(shí)現(xiàn)分流,需要首先準(zhǔn)確識(shí)別字符,再與數(shù)據(jù)庫(kù)比較,經(jīng)一系列操作后,最終方能得到正確的數(shù)據(jù),完成分流作業(yè). 但是,薄膜作為平板電腦的重要零部件之一,其字符往往不夠清楚. 傳統(tǒng)的工作方法是安排熟練作業(yè)員用肉眼識(shí)別檢查,然后手動(dòng)分流,處理效率低下,而且不可避免地產(chǎn)生一定數(shù)量的錯(cuò)誤分流. 但是,如果采用相機(jī)取像,傳送至帶智能圖像分析的PC機(jī)進(jìn)行處理和檢測(cè),再由運(yùn)動(dòng)控制卡控制機(jī)構(gòu)完成分流,就會(huì)大大提高識(shí)別精度和工作效率[3-4].
近幾年,字符識(shí)別技術(shù)已經(jīng)在該領(lǐng)域得到了廣泛應(yīng)用,推動(dòng)了生產(chǎn)力發(fā)展[5-6]. 已有部分學(xué)者設(shè)計(jì)了相應(yīng)的字符識(shí)別算法,取得了一些效果,實(shí)踐表明這些算法具備良好的識(shí)別效果[7]. 但是,當(dāng)字符特征不夠清晰時(shí),它們識(shí)別精度較低,會(huì)出現(xiàn)明顯的識(shí)別偏差.
對(duì)此,本文提出了一個(gè)基于字符識(shí)別與運(yùn)動(dòng)控制卡的視覺(jué)引導(dǎo)機(jī)制. 本機(jī)制基于網(wǎng)絡(luò)攝像頭來(lái)完成薄膜字符圖像采集. 再用字符ROI定位算法,得出字符ROI區(qū)域. 本文字符ROI定位算法是基于字符與圖片背景的灰度差異,采用閾值分割,即二值化字符區(qū)域,從而把字符從背景分離;借助Canny算子[8]得到字符的邊緣結(jié)構(gòu);利用定位算法[9]確定關(guān)鍵點(diǎn),獲取矩形度,確定字符的ROI范圍. 字符區(qū)域一般呈矩形,根據(jù)矩形度即可定位字符區(qū)域. 本文矩形度范圍取0.8~1.2. 通過(guò)提取字符ROI范圍,剔除非字符區(qū)域與偽信息,改善字符識(shí)別精確度與效率. 最后,基于Tesseract開源庫(kù),實(shí)現(xiàn)對(duì)ROI區(qū)域的字符識(shí)別,基于運(yùn)動(dòng)控制卡傳遞命令給機(jī)構(gòu),實(shí)現(xiàn)薄膜分流,完成視覺(jué)引導(dǎo),并用實(shí)驗(yàn)對(duì)本機(jī)制識(shí)別精度進(jìn)行了測(cè)試.
在平板電腦生產(chǎn)線中,需要對(duì)不同薄膜進(jìn)行分類處理,進(jìn)而分流作業(yè). 薄膜上的字符就是薄膜的唯一ID,在工廠的產(chǎn)品數(shù)據(jù)庫(kù)中有字符對(duì)應(yīng)的產(chǎn)品信息和分流方向. 正確識(shí)別字符尤顯重要,直接決定了機(jī)構(gòu)對(duì)薄膜的分流動(dòng)作和方向. 因此,本文設(shè)計(jì)了一種相應(yīng)的字符識(shí)別機(jī)制.
為滿足使用性能、盡量降低成本,該設(shè)計(jì)方案中采用網(wǎng)絡(luò)攝像頭采集圖像,這對(duì)成像不要求特別精確是比較適用的. 硬件環(huán)境是一個(gè)網(wǎng)絡(luò)攝像頭、支架、可由下而上打光的底部面光源,如圖1所示. 該設(shè)計(jì)中的帶字符薄膜為透明的,字符往往較模糊,這對(duì)于識(shí)別功能的實(shí)現(xiàn)有一定難度. 如圖2所示.
圖1 本機(jī)制的硬件環(huán)境
圖2 帶字符薄膜
圖3 本機(jī)制架構(gòu)
設(shè)計(jì)采用ROI定位算法得出字符ROI區(qū)域,并基于Tesseract開源庫(kù)實(shí)現(xiàn)對(duì)ROI區(qū)域的字符識(shí)別. 整個(gè)系統(tǒng)圖像處理部分由C#和Emgucv實(shí)現(xiàn),根據(jù)字符識(shí)別結(jié)果,利用運(yùn)動(dòng)控制卡傳遞命令給機(jī)構(gòu),實(shí)現(xiàn)對(duì)薄膜的分流,最終完成視覺(jué)引導(dǎo). 整體工作流程如圖3所示.
算法步調(diào)主要如下:
1)對(duì)待識(shí)別圖像如圖2所示,完成灰度處理獲取灰度圖,如圖4所示.
2)進(jìn)行最大類間閾值分割,調(diào)試出最優(yōu)閾值,該設(shè)計(jì)中最優(yōu)閾值為168,分割出帶有字符的二值圖;進(jìn)行形態(tài)學(xué)腐蝕處理去除雜質(zhì)干擾,形態(tài)學(xué)閉運(yùn)算處理,形態(tài)學(xué)核分子取5×5矩形,膨脹字符,使字符圓滿,為字符識(shí)別準(zhǔn)備數(shù)據(jù),如圖5所示.
圖4 灰度示意
圖5 二值示意
3)提取字符ROI區(qū)域,根據(jù)面積形狀特征,定位ROI區(qū)域并提取,面積像素總個(gè)數(shù)為450~600,矩形度范圍是0.8~1.2.
4)將ROI區(qū)域圖像傳遞給Tesseract字符識(shí)別函數(shù)OCR(),得到字符識(shí)別結(jié)果,如圖6所示;具體工作流程如圖7所示.
圖6 ROI示意
圖7 字符識(shí)別結(jié)果
圖8 字符識(shí)別機(jī)制
Tesseract是一個(gè)開源字符識(shí)別庫(kù),可免費(fèi)直接調(diào)用. 該設(shè)計(jì)中的ROI定位算法為Tesseract提供字符準(zhǔn)確的位置和數(shù)據(jù)信息,提供了Tesseract精準(zhǔn)和快速識(shí)別的可能性[10-12]. 算法流程如圖8所示.
以下是字符ROI提取與識(shí)別的部分代碼.
Image
Image
Image
CvInvoke.cvThreshold(gray, gray, 40, 255, Emgu.CV.CvEnum.THRESH.CV_THRESH_BINARY);
IntPtr element = Emgu.CV.CvInvoke.cvCreateStructuringElementEx(3, 3, 0, 0,Emgu.CV.CvEnum.CV_ELEMENT_SHAPE.CV_SHAPE_RECT, System.IntPtr.Zero);
CvInvoke.cvShowImage("3", chanels);
CvInvoke.cvNot(chanels, chanels);
CvInvoke.cvShowImage("4", chanels);
CvInvoke.cvDilate(chanels, chanels, element, 11);
CvInvoke.cvShowImage("5", chanels);
IntPtr Dyncontour = new IntPtr();
IntPtr contour = new IntPtr();
IntPtr Dynstorage = CvInvoke.cvCreateMemStorage(0); Dyncontour = CvInvoke.cvStartFindContours(chanels, Dynstorage, Emgu.CV.Util.StructSize.MCvContour, Emgu.CV.CvEnum.RETR_TYPE.CV_RETR_CCOMP, Emgu.CV.CvEnum.CHAIN_APPROX_METHOD.CV_CHAIN_APPROX_NONE, new Point(0, 0));
contour = CvInvoke.cvFindNextContour(Dyncontour);
contour = CvInvoke.cvEndFindContours(ref Dyncontour);
if (area < 9800) OCROCR = 1;
else OCROCR = 0;
pt1 = new System.Drawing.Point(xmin + 25, ymin);
pt2 = new System.Drawing.Point(xmax + 10, ymax);
CvInvoke.cvRectangle(img, pt1, pt2, new MCvScalar(0, 255, 0), 2, Emgu.CV.CvEnum.LINE_TYPE.CV_AA, 0);
imageBox.Image = img;
Size size = new Size(xmax - 15 - xmin, ymax - ymin);
Rectangle rectOCR = new Rectangle(pt1, size);
Emgu.CV.CvInvoke.cvSetImageROI(gray, rectOCR);
CvInvoke.cvSmooth(gray, gray, Emgu.CV.CvEnum.SMOOTH_TYPE.CV_BLUR, 5, 0, 0, 0);
CvInvoke.cvShowImage("5", gray);
CvInvoke.cvSaveImage("D:\ocr.jpg", gray, IntPtr.Zero);
textBoxResult.Text = Ocr(videoSourcePlayer1.GetCurrentVideoFrame());
private string Ocr(System .Drawing .Image image)
{
m_tesseract.Clear();
m_tesseract.ClearAdaptiveClassifier();
return m_tesseract.Apply(image);
}
運(yùn)動(dòng)控制卡是一種工業(yè)PC機(jī),用于各種運(yùn)動(dòng)控制場(chǎng)合的位控制單元,是基于PC總線,利用高性能微處理器DSP及大規(guī)??删幊唐骷?shí)現(xiàn)多個(gè)伺服電機(jī)的多軸協(xié)調(diào)控制的一種高性能步進(jìn)/伺服電機(jī)的運(yùn)動(dòng)控制卡. 產(chǎn)品廣泛應(yīng)用于工業(yè)自動(dòng)化,需要精確定位、定長(zhǎng)的位置控制系統(tǒng)和基于PC的NC控制系統(tǒng). 具體就是將實(shí)現(xiàn)運(yùn)動(dòng)控制的底層軟件和硬件集成,使其具有伺服電機(jī)控制所需的各種速度、位置控制功能,并通過(guò)計(jì)算機(jī)隨時(shí)調(diào)用.
該機(jī)制將字符識(shí)別結(jié)果傳遞給運(yùn)動(dòng)控制卡,由運(yùn)動(dòng)控制卡控制機(jī)構(gòu)對(duì)薄膜的動(dòng)作和分流方向. 機(jī)構(gòu)完成動(dòng)作后,再反饋給運(yùn)動(dòng)控制卡和PC軟件. 工作流程如圖9所示.
圖9 視覺(jué)引導(dǎo)機(jī)制
圖10 原圖
為驗(yàn)證本機(jī)制效果,在此將傳統(tǒng)的字符識(shí)別技術(shù)視為對(duì)照組,再用基于C#、Emgucv、運(yùn)動(dòng)控制卡編程完成對(duì)字符圖像的識(shí)別和機(jī)構(gòu)對(duì)薄膜分流作業(yè)動(dòng)作,如圖10所示. 仿真平臺(tái):DELL微型機(jī);2.5GHz雙核CPU;400GB硬盤;內(nèi)存16GB;Windows7.0系統(tǒng). 該設(shè)計(jì)參數(shù)設(shè)置:分割閾值為168,面積閾值為450~600,矩形度閾值為0.8~1.2. 測(cè)試結(jié)果如圖11、圖12所示. 從圖11可看出,本機(jī)制設(shè)計(jì)中采用ROI定位與Tesseract有機(jī)結(jié)合的算法,對(duì)字符表面模糊情況下的識(shí)別比較準(zhǔn)確. 可見,本機(jī)制設(shè)計(jì)具有更好的識(shí)別定位質(zhì)量,可精度定位識(shí)別字符,幾乎無(wú)偏差. 而對(duì)照組算法的識(shí)別效果相比較差,其單純采用字符識(shí)別,缺少智能ROI定位,其定位和識(shí)別結(jié)果存在漏定位和誤識(shí)別,如圖12所示. 上述驗(yàn)證結(jié)果表明本機(jī)制設(shè)計(jì)對(duì)薄膜字符的識(shí)別效果好于傳統(tǒng)識(shí)別方法.
圖11 本文字符識(shí)別結(jié)果
圖12 傳統(tǒng)字符識(shí)別結(jié)果
最后,再選取A和B兩組薄膜,每組100個(gè),類型相同. A組用傳統(tǒng)方法和控制卡分流薄膜,B組用本方法和控制卡分流薄膜,最后以薄膜分流正確率和占用時(shí)間作比較指標(biāo),兩種機(jī)制的準(zhǔn)確度和效率如表1所示. 從表1中可發(fā)現(xiàn),本機(jī)制在速度和效率上要高于傳統(tǒng)機(jī)制. 究其原因是在本機(jī)制設(shè)計(jì)中采用了ROI定位機(jī)制,通過(guò)提取圖片中字符的ROI區(qū)域,剔除非字符區(qū)域,實(shí)現(xiàn)只對(duì)字符ROI區(qū)域的識(shí)別,亦即局部識(shí)別,從而大幅度減少降低識(shí)別運(yùn)算量;而對(duì)照組則為全局識(shí)別,需要對(duì)整個(gè)圖片的信息內(nèi)容進(jìn)行識(shí)別運(yùn)算,結(jié)果時(shí)耗長(zhǎng).
表1 測(cè)試數(shù)據(jù)
本文提出了一個(gè)基于字符識(shí)別與ROI的視覺(jué)引導(dǎo)機(jī)制,用于識(shí)別平板電腦表面薄膜字符. 采取閾值分割、形態(tài)學(xué)處理、特征提取與分析,從而形成了字符ROI區(qū)域定位算法. 定位機(jī)制跟Tesseract開源庫(kù)有機(jī)耦合,完成對(duì)ROI區(qū)域的字符識(shí)別. 整個(gè)系統(tǒng)圖像處理部分由C#和Emgucv來(lái)實(shí)現(xiàn). 根據(jù)字符識(shí)別結(jié)果,采用基于運(yùn)動(dòng)控制卡來(lái)傳遞命令給機(jī)構(gòu),對(duì)薄膜進(jìn)行分流,完成視覺(jué)引導(dǎo). 由于本機(jī)制設(shè)計(jì)中首先對(duì)字符完成ROI區(qū)域定位,提取字符信息的ROI區(qū)域,剔除與字符無(wú)關(guān)的偽信息,顯著消除了圖片中偽信息對(duì)字符識(shí)別的干擾,然后借助識(shí)別算法完成對(duì)字符ROI區(qū)域的定位識(shí)別,有效地提高了識(shí)別精準(zhǔn)度. 對(duì)于傳統(tǒng)字符識(shí)別方法來(lái)說(shuō),采用的是全局識(shí)別,容易受到圖片中非字符信息的干擾,其精確度明顯不如本機(jī)制設(shè)計(jì). 結(jié)果表明,與當(dāng)前字符識(shí)別技術(shù)相比,本機(jī)制具有較好的識(shí)別效果.
[1] 常曉瑋. 基于機(jī)器視覺(jué)的數(shù)字化儀表字符識(shí)別[J]. 計(jì)算機(jī)測(cè)量與控制, 2014, 22(9): 83-86.
[2] 常永鑫, 余化鵬, 徐智勇, 等. 適應(yīng)光照突變的工件字符識(shí)別系統(tǒng)[J]. 光電工程, 2014, 41(7) : 38-42.
[3] 剛亞州, 黃元元, 戴 群. 一種快速名片字符識(shí)別算法[J]. 計(jì)算機(jī)應(yīng)用研究, 2014, 31(9): 2860-2862.
[4] 林 川, 吳正茂, 覃金飛. 基于機(jī)器視覺(jué)的分級(jí)車牌字符識(shí)別方法[J]. 電視技術(shù), 2014, 38(11): 198-201.
[5] 文 廣, 李 鶯, 李其陽(yáng). 基于Gabor特征與支持向量機(jī)的字符識(shí)別系統(tǒng)研究[J]. 四川理工學(xué)院學(xué)報(bào): 自然科學(xué)版, 2014, 27(5): 29-32.
[6] 童文超, 舒小華, 龍永紅, 等. LED顯示儀表的字符識(shí)別方法[J]. 湖南工業(yè)大學(xué)學(xué)報(bào), 2014, 28(1): 67-70.
[7] NOORI H, SARYAZDI S. A bilateral image inpainting [J]. IJST Trans Electr Eng, 2011, 25(E2): 95-108.
[8] 周曉明, 馬秋禾, 肖 蓉. 一種改進(jìn)的Canny算子邊緣檢測(cè)算法[J]. 測(cè)繪工程, 2008, 17(1): 28-31.
[9] 李 凱, 艾斯卡爾·艾木都拉. 基于邊緣和基線的維吾爾文圖像文字定位算法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2014, 50(10): 203-206.
[10] 謝聰凌, 李 征, 王俊峰. 一種改進(jìn)的漢字字符識(shí)別法[J]. 四川大學(xué)學(xué)報(bào): 自然科學(xué)版, 2014, 51(5): 927-930.
[11] JEHMANN, TPAPPAS, DNEUHOFF. Structure Texture similarity metrics for image analysis and retrieval [J]. IEEE Transactions, 2013, 22(7): 2545-2258.
[12] 黃 斌, 郭海華, 江進(jìn)兵. 基于機(jī)器視覺(jué)的點(diǎn)陣字符識(shí)別系統(tǒng)設(shè)計(jì)[J]. 測(cè)控技術(shù), 2014, 33(12): 24-26.
(責(zé)任編輯:陳 丹)
Visual Guide Technology Based on Character Recognition and ROI
WANG Bangyuan
(Department of Information Engineering, Anhui Economic Management Institute, Hefei 230051, China)
Character is important information identifying a product. Owing to the product surface imaging quality diversity, with the character not clear or background interference, the accuracy of recognition algorithm would be greatly influenced. Therefore, this paper proposes a character recognition mechanism based on Emgucv and Tesseract to identify the tablet PC’s surface film character. First, to capture the tablet PC’s surface film character area via a webcam. Then, to harvest a binary image containing the character object via making threshold segmentation in the grey-scale map obtained. Third, to get ROI region via wiping off impurity. Finally, based on the open source Tesseract library, to realize the character recognition in ROI region. The image processing in the whole system is achieved by C# and Emgucv, according to the character recognition results, the films were shunt based on the motion control card to send orders to complete visual guide. It comes to a conclusion that this mechanism has better recognition effect compared with the current character recognition technology.
Webcam; Character recognition; Motion control card; Visual guide; ROI
TP391
A
2095-4476(2015)05-0012-05
2015-04-02;
2015-04-23
安徽省教育廳自然科學(xué)研究項(xiàng)目(KJ2013Z038)
王幫元(1963— ), 男, 安徽含山人, 安徽經(jīng)濟(jì)管理學(xué)院信息工程系副教授.
湖北文理學(xué)院學(xué)報(bào)2015年5期