石瑋瑋,孫輝,李曉峰,程遠(yuǎn)方,王濤
(國(guó)營(yíng)洛陽(yáng)丹城無(wú)線電廠,河南 洛陽(yáng) 471000)
長(zhǎng)期以來(lái),儀表示數(shù)的智能識(shí)別一直受到學(xué)者們的關(guān)注,利用圖像處理和識(shí)別技術(shù),可以實(shí)現(xiàn)數(shù)顯儀表的自動(dòng)識(shí)別,既可以提高工作效率,又可以保證采集數(shù)據(jù)的準(zhǔn)確性[1-6]。因此儀表的自動(dòng)識(shí)別方法層出不窮,包括模板匹配方法、基于特征的機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法[7-9]。傳統(tǒng)的字符識(shí)別方法大多是利用字符本身的特征進(jìn)行識(shí)別,陸靖濱等[10]提出了一種改進(jìn)的最大類間方差法自適應(yīng)提取數(shù)顯儀表的字符,采用穿線法實(shí)現(xiàn)字符的自動(dòng)識(shí)別。董延華等[11]在模式識(shí)別技術(shù)的基礎(chǔ)上,通過(guò)改進(jìn)的特征匹配算法改變了特征向量,增加了學(xué)習(xí)次數(shù)。陳瑋等[12]提出了基于歐拉數(shù)的模板匹配,將模板圖像分組,只匹配具有相同歐拉數(shù)模板的目標(biāo)圖像。然而,上述傳統(tǒng)的字符識(shí)別方法容易受到環(huán)境因素的影響,背景的變化、數(shù)字的浮動(dòng)和漂移、光照強(qiáng)度對(duì)識(shí)別效果都有很大的影響。深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)作為一種有效方法,在字符識(shí)別領(lǐng)域得到了廣泛的應(yīng)用。識(shí)別方法首先需要人工選取字符目標(biāo)0~9的特征圖像,構(gòu)建10個(gè)字符的特征向量作為輸入矩陣。通過(guò)CNN模型的訓(xùn)練,固化神經(jīng)網(wǎng)絡(luò)各層神經(jīng)元的連接權(quán)重和閾值。將訓(xùn)練好的CNN模型應(yīng)用于儀表識(shí)別推理,輸出一個(gè)由10個(gè)元素組成的向量來(lái)區(qū)分顯示的具體字符數(shù)字[13]。該方法具有分類能力強(qiáng)、容錯(cuò)性好等優(yōu)點(diǎn)。
本文系統(tǒng)研究了基于CNN原理的游標(biāo)卡尺智能識(shí)別算法。隨機(jī)改變游標(biāo)卡尺在測(cè)試區(qū)域的位置、角度和高度,顯示屏?xí)霈F(xiàn)反光現(xiàn)象。在識(shí)別過(guò)程中,首先要對(duì)游標(biāo)卡尺的數(shù)顯區(qū)域進(jìn)行粗定位和精確定位,才能獲得數(shù)顯區(qū)域。其次使用圖像處理算法進(jìn)行操作,如傾斜校正、灰度、二值化、腐蝕和膨脹等。最后,建立了分割數(shù)字對(duì)應(yīng)的0~9個(gè)類別字符的淺層CNN模型,對(duì)分割后的游標(biāo)卡尺數(shù)字進(jìn)行訓(xùn)練和測(cè)試,完成對(duì)數(shù)字式游標(biāo)卡尺在多場(chǎng)景下的智能識(shí)別,可以大大提高字符識(shí)別的效率。
高分辨率工業(yè)相機(jī)和高性能計(jì)算機(jī)是人工智能領(lǐng)域數(shù)字儀器自動(dòng)識(shí)別的主要設(shè)備。為了實(shí)現(xiàn)儀器圖像的自動(dòng)識(shí)別,需要將攝像頭固定在數(shù)字式儀表前。為了提高儀表字符數(shù)據(jù)識(shí)別的正確性,必須保證工業(yè)相機(jī)的分辨率。對(duì)于高分辨率工業(yè)相機(jī)拍攝圖像的預(yù)處理工作,也是能夠成功識(shí)別字符的關(guān)鍵步驟。相關(guān)圖像采集軟件、圖像分析軟件和圖像識(shí)別軟件的操作主要由計(jì)算機(jī)完成。為減少不必要的工作負(fù)擔(dān),提高工作效率,自動(dòng)信息識(shí)別的后續(xù)處理可由同一臺(tái)計(jì)算機(jī)完成。本文采用的CMOS工業(yè)相機(jī)最大分辨率為2448×3264;訓(xùn)練高性能計(jì)算機(jī)平臺(tái)選用戴爾T640塔式服務(wù)器,CPU為志強(qiáng)處理器,CPU主頻1.7 GHz,NVIDA GeForce RTX2080Ti顯卡1塊。
儀器數(shù)據(jù)自動(dòng)識(shí)別軟件分為3個(gè)模塊:圖像采集模塊、圖像處理模塊和字符識(shí)別模塊。當(dāng)圖像采集模塊獲取包含儀表的圖像后,相機(jī)由特定的編程接口驅(qū)動(dòng),調(diào)用CNN目標(biāo)定位模型,進(jìn)行推理,可以對(duì)識(shí)別出的數(shù)據(jù)區(qū)域圖像進(jìn)行定位和分割,同時(shí)完成上層的圖像傳輸。中間模塊為圖像處理模塊,不僅可以將圖像采集模塊得到的彩色圖像轉(zhuǎn)換為灰度圖像,還可以實(shí)現(xiàn)圖像增強(qiáng)、圖像去噪和二值化等功能,最終完成黑白圖像的處理。在圖像數(shù)據(jù)的識(shí)別中,數(shù)據(jù)識(shí)別模塊起到了作用,主要是在淺層神經(jīng)網(wǎng)絡(luò)模型的作用下,快速準(zhǔn)確識(shí)別分割后的字符,并重組最終輸出數(shù)值。在自動(dòng)識(shí)別數(shù)字式游標(biāo)卡尺數(shù)據(jù)之前,還需要對(duì)相應(yīng)的字體進(jìn)行訓(xùn)練,最終完成儀器數(shù)據(jù)的智能識(shí)別。
為了提高儀表測(cè)量數(shù)據(jù)自動(dòng)識(shí)別的效率,儀表測(cè)量數(shù)據(jù)識(shí)別軟件可以封裝成一個(gè)獨(dú)立運(yùn)行的程序,在與其他程序進(jìn)行信息交換的過(guò)程中可以通過(guò)進(jìn)程間調(diào)用來(lái)完成。另外,在調(diào)用其他程序時(shí),可以直接通過(guò)編程接口函數(shù)獲取捕獲目標(biāo)的屬性。接口函數(shù)的形式不僅可以使信息的調(diào)用更加高效,還可以增加操作的靈活性。
本文算法所采用的技術(shù)路線圖如圖1所示。游標(biāo)卡尺數(shù)據(jù)的智能識(shí)別包括圖像采集、數(shù)據(jù)區(qū)域提取和智能識(shí)別3部分。圖像采集包括從相機(jī)的圖像采集到圖像預(yù)處理。數(shù)據(jù)區(qū)域定位包括構(gòu)建CNN模型對(duì)圖像樣本的特征進(jìn)行訓(xùn)練和提取,根據(jù)圖像特征提取圖像的數(shù)字顯示區(qū)域,對(duì)待識(shí)別的有效字符區(qū)域進(jìn)行分割。然后對(duì)分割后的游標(biāo)卡尺圖像數(shù)據(jù)集進(jìn)行灰度化、二值化、邊緣檢測(cè)、腐蝕噪聲和封閉運(yùn)算等方法實(shí)現(xiàn)儀表數(shù)據(jù)區(qū)域的精確定位和分割,從而得到分割字符。數(shù)據(jù)識(shí)別是再次利用淺層神經(jīng)網(wǎng)絡(luò)對(duì)游標(biāo)卡尺數(shù)據(jù)進(jìn)行智能識(shí)別。
圖1 基于CNN模型的智能識(shí)別系統(tǒng)技術(shù)路線圖
為了實(shí)現(xiàn)游標(biāo)卡尺的智能識(shí)別,需對(duì)數(shù)顯區(qū)域進(jìn)行有效定位和提取。為了消除背景的干擾,提高識(shí)別準(zhǔn)確率,本文提出一種CNN模型目標(biāo)檢測(cè)與定位算法。由于要保證游標(biāo)卡尺的全像,拍攝范圍會(huì)比較寬,所以在圖像中,游標(biāo)卡尺的面積和角度是不確定的,干擾信息很復(fù)雜。在提取表盤特征時(shí),采集的不同圖像每幀之間沒(méi)有規(guī)律性,且儀表位置都有所不同,加之光照飽和度的干擾也是隨機(jī)的,這些因素都給后續(xù)進(jìn)一步的表盤圖像處理帶來(lái)困難。本文使用CNN算法定位,提取圖像中的數(shù)字顯示區(qū)域。為了得到魯棒性較強(qiáng)的目標(biāo)檢測(cè)模型,就需要大量的訓(xùn)練樣本。本文中樣本采用數(shù)據(jù)增強(qiáng)技術(shù)對(duì)原始拍攝的有限數(shù)據(jù)樣本進(jìn)行數(shù)據(jù)多類型數(shù)據(jù)量的自主擴(kuò)充,其中包括翻轉(zhuǎn)、旋轉(zhuǎn)、裁剪、變形和縮放等操作,目的是為了產(chǎn)生更多的數(shù)據(jù)樣本,以豐富樣本類型,增加訓(xùn)練模型的泛化能力。
訓(xùn)練結(jié)束后,研究人員開(kāi)始驗(yàn)證訓(xùn)練效果,將隨機(jī)的4張圖像放入輸入層,推理得到如圖2所示的數(shù)顯區(qū)域定位結(jié)果。由圖2可以看出,檢測(cè)概率均超過(guò)99%,圖2(b)甚至高達(dá)100%。雖然數(shù)顯區(qū)的定位精度很高,但定位框中含有邊緣的黑色區(qū)域和游標(biāo)卡尺的單位mm字符,每次覆蓋的黑色區(qū)域大小不一,很難對(duì)游標(biāo)卡尺中的顯示字符進(jìn)行分段。因此,需要對(duì)數(shù)顯區(qū)域進(jìn)行二次定位,即精準(zhǔn)定位。由于第二次定位是在第一次粗定位的基礎(chǔ)上進(jìn)行的,因此操作過(guò)程更簡(jiǎn)單,精度更高。
圖2 游標(biāo)卡尺數(shù)據(jù)區(qū)定位結(jié)果圖
在定位游標(biāo)卡尺的數(shù)字顯示區(qū)域后,基于數(shù)學(xué)形態(tài)學(xué)理論提出了游標(biāo)卡尺字符顯示區(qū)域圖像的處理方法。首先對(duì)圖像進(jìn)行灰度化和二值化,使圖像的處理數(shù)據(jù)量大大減少,輪廓變得更為清晰,突出所需的邊緣特征,應(yīng)用腐蝕操作去除圖像中不連續(xù)的邊界點(diǎn)。然后進(jìn)行閉合操作,連接圖像中的小區(qū)域。最后,根據(jù)圖像的高寬比等信息,濾除非數(shù)字區(qū)域,得到游標(biāo)卡尺的數(shù)字顯示區(qū)域圖像。
字符分割是將數(shù)字序列分割成獨(dú)立的數(shù)字,或分割出所需的區(qū)域塊,是游標(biāo)卡尺數(shù)據(jù)智能識(shí)別中必不可少的程序。根據(jù)液晶顯示屏幕的字符顯示方式,通過(guò)查找輪廓找到每個(gè)數(shù)字邊緣,建立每個(gè)輪廓的輪廓矩,并將每組數(shù)字分段,如圖3所示。雖然游標(biāo)卡尺的數(shù)據(jù)是分成單個(gè)數(shù)字,每個(gè)數(shù)字圖像的大小并不完全相同。例如,圖3上半部分單位mm的尺寸比其他數(shù)字圖像小,無(wú)法在CNN模型中訓(xùn)練數(shù)字。因此,需要對(duì)每個(gè)分割后的圖像進(jìn)行歸一化處理,處理后的數(shù)字圖像大小為28×28,如圖3下半部分所示。
圖3 游標(biāo)卡尺數(shù)字分割圖
因?yàn)橛螛?biāo)卡尺字符受拍攝角度、光線和距離的影響。因此,根據(jù)游標(biāo)卡尺的單個(gè)數(shù)字特性,本文選擇不同條件下拍攝的數(shù)字圖像制作數(shù)據(jù)集,用于輸入樣本訓(xùn)練和檢驗(yàn)淺層神經(jīng)網(wǎng)絡(luò)模型,具體樣本比例為7∶3。因此,構(gòu)建了一套基于3層神經(jīng)網(wǎng)絡(luò)模型算法的游標(biāo)卡尺數(shù)字識(shí)別算法,來(lái)識(shí)別分割后的單個(gè)字符。
為了驗(yàn)證CNN模型的準(zhǔn)確率,隨機(jī)選取1000張圖像進(jìn)行實(shí)驗(yàn),結(jié)果表明平均識(shí)別準(zhǔn)確率在95%以上。其中,再選擇測(cè)試樣本200張圖片中的字符共計(jì)875個(gè)字符進(jìn)行識(shí)別。將本文算法與穿線法、模板匹配算法進(jìn)行比較,見(jiàn)表1,在單個(gè)字符識(shí)別準(zhǔn)確率方面,較模板匹配法提升了4.69%,較穿線法提升了6.63%,具有較為明顯的改善。在進(jìn)一步優(yōu)化的基礎(chǔ)上,說(shuō)明基于該CNN模型的智能識(shí)別系統(tǒng)具有很強(qiáng)的應(yīng)用和推廣價(jià)值。
表1 不同識(shí)別算法下的單個(gè)字符識(shí)別結(jié)果
本文設(shè)計(jì)了一種基于CNN的智能儀表識(shí)別系統(tǒng),首先,對(duì)所有采集到的游標(biāo)卡尺圖像進(jìn)行2次標(biāo)記,以精確定位游標(biāo)卡尺的數(shù)據(jù)區(qū)域。然后利用圖像灰度、二值化、腐蝕和膨脹等算法對(duì)準(zhǔn)確定位的圖像進(jìn)行處理。其次,將分割后的數(shù)字圖像作為樣本放入淺層神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練和測(cè)試,從而實(shí)現(xiàn)對(duì)相應(yīng)數(shù)字字符的識(shí)別,最終識(shí)別游標(biāo)卡尺的數(shù)據(jù)。實(shí)驗(yàn)結(jié)果表明,無(wú)論是在圖像整體字符串識(shí)別率,還是在字符的識(shí)別方面,都存在著明顯的優(yōu)勢(shì),其識(shí)別率明顯高于傳統(tǒng)的算法,該模型算法具有識(shí)別率高、實(shí)時(shí)性高及可靠性好等優(yōu)點(diǎn),具有一定的應(yīng)用價(jià)值。