彭 誠 丁 蔚 侯旭瑋 李 軍
(北京東方計(jì)量測試研究所,北京 100086)
機(jī)器視覺一般是軟、硬件結(jié)合的一套系統(tǒng),通過機(jī)器的成像系統(tǒng)將光信號(hào)轉(zhuǎn)換成電信號(hào),從而識(shí)別出所需的圖像信號(hào),進(jìn)行圖像處理后,獲得特征信息用于實(shí)現(xiàn)指引、判斷、檢測等功能,在某些特定的場合完全可以替代人眼的功能,現(xiàn)已成為人工智能領(lǐng)域當(dāng)中不可或缺的重要力量[1]。
機(jī)器視覺相比人工檢測而言具有響應(yīng)處理速度快、識(shí)別率高、工作時(shí)間長等特點(diǎn),絕對(duì)優(yōu)勢明顯,且還能有效地降低人為的主觀因素影響[2]。因此在電子制造、汽車、制藥等領(lǐng)域中,尤其是車牌識(shí)別[3]、人臉識(shí)別等方面得到廣泛應(yīng)用。
在電學(xué)參數(shù)計(jì)量中,手持式數(shù)字萬用表(以下簡稱“萬用表”)是應(yīng)用最為廣泛的通用電參數(shù)測試設(shè)備,由于沒有程控通訊接口,因此在自動(dòng)化測試技術(shù)不斷發(fā)展的今天,針對(duì)此類萬用表的絕大多數(shù)校準(zhǔn)工作仍依賴人工手動(dòng)的方式完成,只有極個(gè)別高端萬用表才可以通過“專用紅外轉(zhuǎn)換接口”實(shí)現(xiàn)少量數(shù)據(jù)傳輸,完成半自動(dòng)校準(zhǔn)工作,校準(zhǔn)過程耗時(shí)費(fèi)力,人工錯(cuò)誤率較高,勞動(dòng)效率低下[4],針對(duì)此類問題,羅政元等人提出了一種基于圖像識(shí)別算法進(jìn)行自動(dòng)測試的萬用表校準(zhǔn)系統(tǒng),能夠提高一定的測試效率,但是其整體智能化程度較低,還需要人工參與換線[5]。另外,隨著技術(shù)的不斷發(fā)展,各條生產(chǎn)線規(guī)模不斷擴(kuò)大,萬用表的校準(zhǔn)需求也在相應(yīng)增加,直接導(dǎo)致計(jì)量服務(wù)的人工成本居高不下。因此,需要進(jìn)一步通過研究機(jī)器視覺字符識(shí)別技術(shù),實(shí)現(xiàn)萬用表的全自動(dòng)校準(zhǔn)問題。
機(jī)器視覺識(shí)別硬件系統(tǒng)主要由工業(yè)數(shù)字相機(jī)和光源共同組成,用以代替人類“眼睛”的部分功能,并與相應(yīng)配套的圖像處理軟件共同完成圖像數(shù)據(jù)的獲取、處理、判定等工作,實(shí)物如圖1所示。
圖1 機(jī)器視覺系統(tǒng)實(shí)物圖Fig.1 Physical chart of machine vision system
若只考慮像素關(guān)鍵參數(shù),同級(jí)別的民用相機(jī)比工業(yè)數(shù)字相機(jī)具有壓倒性的價(jià)格優(yōu)勢,但其在圖像穩(wěn)定性、環(huán)境抗干擾性和數(shù)據(jù)傳輸性上處于絕對(duì)的劣勢。因此,在工業(yè)控制領(lǐng)域,選擇合適的工業(yè)數(shù)字相機(jī)是機(jī)器視覺設(shè)計(jì)的關(guān)鍵。
工業(yè)數(shù)字相機(jī)重要的指標(biāo)有像素分辨率、位深度和拍攝速度(幀率)。根據(jù)被檢萬用表的具體拍攝參數(shù)需求,本部分選用600萬像素的COMS工業(yè)數(shù)字相機(jī),分辨率3 072×2 048,8位黑白位深度,幀率17fps,128MB板上緩存,數(shù)據(jù)傳輸支持最新的千兆以太網(wǎng)(GigE Vision V1.2)版本協(xié)議。在機(jī)器視覺字符識(shí)別系統(tǒng)中,利用其靜止拍照功能獲取數(shù)字圖像(約6MB數(shù)據(jù)容量),通過千兆網(wǎng)線接口向計(jì)算機(jī)傳輸數(shù)據(jù)。
光源的設(shè)計(jì)與選型好壞將直接決定工業(yè)數(shù)字相機(jī)成像的最終效果,為避免增加不必要的后期數(shù)字圖像預(yù)處理,在工業(yè)數(shù)字相機(jī)前置位安裝了環(huán)形LED白色定制光源,用于照亮被拍攝目標(biāo)區(qū)域,從而達(dá)到提高拍攝照片亮度均勻性,最大限度克服外界環(huán)境光照影響,保障圖像穩(wěn)定等特點(diǎn)。
萬用表需要識(shí)別的字符部分包括正負(fù)號(hào)、數(shù)字、小數(shù)點(diǎn)、附加信息字符,正確識(shí)別以上數(shù)顯內(nèi)容可以實(shí)現(xiàn)計(jì)量校準(zhǔn)的自動(dòng)化數(shù)據(jù)獲取,就能獲取數(shù)字萬用表的測量結(jié)果,進(jìn)而完成計(jì)量校準(zhǔn)中數(shù)據(jù)采集獲取任務(wù),配合工業(yè)機(jī)器臂的操控機(jī)構(gòu),從而實(shí)現(xiàn)手持式數(shù)字萬用表計(jì)量校準(zhǔn)的全自動(dòng)化校準(zhǔn)解決方案,機(jī)器視覺識(shí)別技術(shù)的方法框圖如圖2所示。
圖2 機(jī)器視覺字符識(shí)別三種方法原理對(duì)比框圖Fig.2 Block diagram of three methods character recognition in machine vision comparison
當(dāng)下機(jī)器視覺字符識(shí)別技術(shù)法多種多樣,本文將介紹三種主流的技術(shù),分別為圖像灰度閾值法、傳統(tǒng)方法的目標(biāo)分類字符識(shí)別、基于深度學(xué)習(xí)下的CNN字符識(shí)別。在萬用表的數(shù)字識(shí)別過程中三種技術(shù)方式可以靈活組合應(yīng)用,并不局限于某種方式的單一應(yīng)用,下面簡要論述一下它們各自的主要技術(shù)特點(diǎn)。
圖像灰度閾值法是三種方法中最為簡單易用的,在本文前面提到過8位A/D的黑白工業(yè)數(shù)字相機(jī)拍攝的數(shù)字圖形中單點(diǎn)像素為從0(暗)~256(亮)個(gè)灰度級(jí)數(shù)值,通過判斷某目標(biāo)區(qū)域中平均灰度數(shù)值來判斷該區(qū)域中圖形的有無狀態(tài),并且可以進(jìn)一步組合形成具體字符的識(shí)別判斷。
圖像灰度閾值法應(yīng)用最廣泛的主要是LCD/LED顯示七段數(shù)碼管的線灰度識(shí)別,當(dāng)數(shù)碼管關(guān)斷時(shí),灰度等級(jí)處于高位,打開時(shí)處于低位,通過整合7段數(shù)碼管的狀態(tài)信息即可確定具體的讀數(shù)結(jié)果[6],如圖3所示。
圖3 使用線灰度識(shí)別數(shù)碼管顯示結(jié)果圖Fig.3 Recognition of digital tube display result by line gray level
傳統(tǒng)方法的目標(biāo)分類字符識(shí)別(以下簡稱OCR),在各行業(yè)有著最為廣泛的應(yīng)用,例如可靠地識(shí)別在整個(gè)價(jià)值鏈中的工件和產(chǎn)品上印刷或沖壓字符。
如圖4所示,OCR從基本原理上來說就是不斷的在執(zhí)行分類和訓(xùn)練(也可理解為學(xué)習(xí))兩個(gè)過程,二者之間也是一種動(dòng)態(tài)匹配的過程,隨著訓(xùn)練的增加,特征分類庫也必然增加。OCR是指機(jī)器視覺自動(dòng)從圖像中識(shí)別文字字符的過程,OCR程序先通過圖像預(yù)處理、標(biāo)識(shí)識(shí)別興趣區(qū)域(以下簡稱ROI)功能選取合適的待識(shí)別字符,再與特征分類庫中的字符進(jìn)行篩選對(duì)比,返回一個(gè)特定的字符值,該返回值即是OCR識(shí)別出來的字符值。
圖4 通用訓(xùn)練和分類識(shí)別階段流程圖Fig.4 Flow charts for two stages of general training and classification and recognition
深度學(xué)習(xí)(Deep Learning)是機(jī)器學(xué)習(xí)當(dāng)中逐漸演變出來的一種新算法,常見的模型有深度置信網(wǎng)絡(luò)(DBN)、卷積神經(jīng)網(wǎng)絡(luò)(以下簡稱CNN)、卷積深度置信網(wǎng)絡(luò)(CDBN)等等,其中CNN常被用于判斷輸入的圖像是否包含字符[7],并從中剪取有效的字符片斷后,再進(jìn)行字符識(shí)別的任務(wù)。
CNN最初是從視覺皮層的生物學(xué)上獲得啟發(fā),即視覺皮層有小部分細(xì)胞對(duì)特定部分的視覺區(qū)域敏感,而且一起工作才能產(chǎn)生視覺感知,具有極強(qiáng)的關(guān)聯(lián)性。CNN的一般結(jié)構(gòu)模型如圖5所示,包括卷積層、池化層、全連接層三個(gè)主要部分,選擇適合的卷積層與池化層進(jìn)行匹配,形成多個(gè)卷積組(或卷積核),按照順序完成特征值的提取,通過若干個(gè)全連接層實(shí)現(xiàn)重組,最后依靠傳統(tǒng)神經(jīng)網(wǎng)絡(luò)完成分類等任務(wù)。
圖5 CNN結(jié)構(gòu)模型圖Fig.5 CNN structural model
深度學(xué)習(xí)模型需要對(duì)大量的樣本(被標(biāo)識(shí)過的訓(xùn)練集)進(jìn)行訓(xùn)練才能提高其識(shí)別準(zhǔn)確率。與前面兩種字符識(shí)別方法相對(duì)比,深度學(xué)習(xí)下的CNN字符識(shí)別可以完全不需要進(jìn)行圖像預(yù)處理,它是通過構(gòu)建一個(gè)多層神經(jīng)網(wǎng)絡(luò),在此網(wǎng)絡(luò)上自動(dòng)學(xué)習(xí)并得到數(shù)據(jù)隱含在內(nèi)部的關(guān)系,從而提取出更高維、更抽象的數(shù)據(jù),使學(xué)習(xí)到的特征更具有表達(dá)力[8],識(shí)別效率更快、識(shí)別泛化能力更強(qiáng)。
本章節(jié)將以Fluke的15b+作為被識(shí)別對(duì)象,分別采用兩種不同的方案進(jìn)行設(shè)計(jì)與開發(fā)。其中,方案一采用圖像灰度閾值法與傳統(tǒng)目標(biāo)分類字符識(shí)別相結(jié)合的方法;方案二采用深度學(xué)習(xí)下的CNN字符識(shí)別方法。
本方案中機(jī)器視覺開發(fā)采用基于NI LabVIEW開發(fā)平臺(tái)的Vision Development Module (VDM)軟件模塊,該模塊內(nèi)置圖像灰度閾值算法以及目標(biāo)分類字符識(shí)別(OCR)工具集,并且可以通過Vision Acquisition Software (VAS)驅(qū)動(dòng)軟件完成對(duì)數(shù)字相機(jī)的通信控制。
機(jī)器視覺圖像處理的過程為圖像拍攝,預(yù)處理,LCD灰度檢測完成數(shù)字、小數(shù)點(diǎn)、負(fù)號(hào)的讀取,OCR對(duì)特定區(qū)域的單位字符處理與識(shí)別,最后完成數(shù)字字符和單位字符的字符格式化合并輸出,最后返回?cái)?shù)值顯示結(jié)果,具體的系統(tǒng)流程圖如圖6所示。
圖6 圖像字符識(shí)別系統(tǒng)流程圖Fig.6 Flow chart of image character recognition system
4.1.1預(yù)處理
在實(shí)際識(shí)別工作過程中對(duì)數(shù)字表的視覺識(shí)別效果造成最大影響的因素就是外部光線的變化,為減小亮度均勻性的影響[9],需要對(duì)相機(jī)拍攝的照片進(jìn)行二值化預(yù)處理,如圖7所示,提高LCD/LED的圖像識(shí)別準(zhǔn)確性。通過采用VDM軟件算法庫包中的Threshold函數(shù)實(shí)現(xiàn)單灰度區(qū)間的圖像分割。
圖7 照片二值化預(yù)處理效果圖Fig.7 The effect of binary image preprocessing
4.1.2數(shù)字識(shí)別
通過VDM軟件算法庫包中的IMAQ Get LCD ROI和IMAQ Read LCD兩個(gè)函數(shù)就可以很方便的在短時(shí)間內(nèi)搭建好萬用表數(shù)字識(shí)別系統(tǒng)。其中LCD/LED數(shù)字識(shí)別的基本原理就是前面講解的圖像灰度閾值法,對(duì)圖像的灰度影響比較大的包括亮度、對(duì)比度、噪聲等,若灰度識(shí)別不準(zhǔn)確將直接影響讀數(shù)的準(zhǔn)確性。
4.1.3正負(fù)號(hào)及小數(shù)點(diǎn)識(shí)別
萬用表的顯示習(xí)慣遵循人們的認(rèn)知常識(shí),所以一般正數(shù)前面的“+”默認(rèn)情況下是不需要顯示的,只有負(fù)數(shù)前面才會(huì)顯示“-”。因此,萬用表只需完成負(fù)號(hào)“-”的識(shí)別,正數(shù)無需識(shí)別;另外通過對(duì)數(shù)顯表頭的觀察可知,小數(shù)點(diǎn)只出現(xiàn)在固定的三個(gè)位置,故只需通過選取正確的ROI,通過自編的“三選一”條件判斷算法即可識(shí)別小數(shù)點(diǎn)是否存在以及具體位置。
4.1.4字符識(shí)別
萬用表功能強(qiáng)大,包含交直流電壓、交直流電流、直流電阻等常見的5功能參數(shù),因此相應(yīng)的屏幕顯示也包含了“m,M,k,μ,Ω,V,A”等倍數(shù)詞頭和單位符號(hào),為了進(jìn)一步獲得測量數(shù)據(jù)的實(shí)際數(shù)據(jù),就不能單單獲取數(shù)字的識(shí)別結(jié)果,還需要對(duì)以上字符信息進(jìn)行有效識(shí)別。這些字符信息的識(shí)別無法簡易地應(yīng)用圖像灰度閾值法,必須使用目標(biāo)分類字符識(shí)別技術(shù),如圖8所示。
圖8 OCR訓(xùn)練界面圖Fig.8 Interface of OCR training
通過VDM軟件模塊中的Vision OCR Training工具包軟件就能夠很方便的進(jìn)行訓(xùn)練功能,OCR讀取過程如圖9所示。
圖9 OCR讀取過程界面圖Fig.9 Interface of OCR read
4.1.5數(shù)值合成
經(jīng)過以上步驟識(shí)別出來的數(shù)值、負(fù)號(hào)、小數(shù)點(diǎn)詞頭和單位,在LabVIEW開發(fā)平臺(tái)全部是以字符串的形式進(jìn)行單值存儲(chǔ),因此最后需要進(jìn)行必要的字符串合并來顯示完整的數(shù)據(jù)測量結(jié)果:一個(gè)典型的數(shù)值由數(shù)字部分(含負(fù)號(hào)、小數(shù)點(diǎn)、)和字符部分共同組成,字符識(shí)別結(jié)果如圖10所示。
圖10 方案1字符識(shí)別結(jié)果圖Fig.10 Plan 1 character recognition result chart
4.1.6自動(dòng)錯(cuò)誤處理
本文開發(fā)的自動(dòng)校準(zhǔn)系統(tǒng)軟件中還包含自動(dòng)錯(cuò)誤處理功能,具備單點(diǎn)復(fù)測的容錯(cuò)能力,防止機(jī)器誤判,如圖11所示。此功能可有效剔除測試過程中的識(shí)別異常值,從而增加系統(tǒng)的健壯性。
圖11 自動(dòng)錯(cuò)誤處理功能界面圖Fig.11 Interface of automatic error handling function
在深度學(xué)習(xí)下的CNN字符識(shí)別方案中,采用??低暪狙邪l(fā)的深度學(xué)習(xí)識(shí)別模塊系統(tǒng),該模塊內(nèi)置于圖形化開發(fā)機(jī)器視覺應(yīng)用環(huán)境Vision Master中,并細(xì)分為DL字符識(shí)別、DL缺陷檢測、DL訓(xùn)練工具三大功能,如圖12所示,根據(jù)前述深度學(xué)習(xí)的方法,本方案需要先訓(xùn)練完模型,才能完成分類識(shí)別的任務(wù)。
圖12 深度學(xué)習(xí)識(shí)別系統(tǒng)界面圖Fig.12 Interface of deep learning recognition system
4.2.1DL訓(xùn)練工具
深度學(xué)習(xí)字符訓(xùn)練工具通過添加訓(xùn)練集樣本圖片(建議大于100張),并需要手動(dòng)框選ROI,人工進(jìn)行字符標(biāo)記,然后點(diǎn)擊訓(xùn)練即可,如圖13所示。
圖13 深度學(xué)習(xí)字符訓(xùn)練界面圖Fig.13 Interface of deep learning character training
4.2.2DL字符識(shí)別
訓(xùn)練完成后生成模型庫文件,即可進(jìn)行字符識(shí)別,其基本流程是:從拍攝原始圖像輸入開始,設(shè)置ROI,選擇訓(xùn)練好的模型庫文件,設(shè)置置信度參數(shù),即可開始數(shù)字表的深度學(xué)習(xí)識(shí)別,識(shí)別完成后,同樣需要進(jìn)行數(shù)據(jù)格式化,最后通過TCP客戶端傳輸識(shí)別字符串信息給上層的軟件自動(dòng)測試系統(tǒng)進(jìn)行后繼數(shù)據(jù)處理。
為達(dá)到更高識(shí)別置信概率,需要更多人工已標(biāo)識(shí)完畢的圖片對(duì)模型訓(xùn)練優(yōu)化,為降低時(shí)間成本和硬件資源消耗,本方案更注重?cái)?shù)字部分信息識(shí)別,數(shù)字部分識(shí)別結(jié)果如圖14所示,其余部分識(shí)別均可通過以上方法實(shí)現(xiàn)。
圖14 方案二數(shù)字識(shí)別結(jié)果圖Fig.14 Plan 2 digital identification result chart
兩種方案實(shí)際對(duì)比結(jié)果見表1,經(jīng)分析可知,兩個(gè)方案的數(shù)字識(shí)別率均可達(dá)到99.8%,具有良好的實(shí)際工程應(yīng)用效果?,F(xiàn)實(shí)生活中大多數(shù)問題卻是小樣本數(shù)據(jù),此時(shí)方案一就可以直接處理;方案二需要大量的訓(xùn)練數(shù)據(jù)作為支撐,消耗的計(jì)算機(jī)算力、人工標(biāo)識(shí)等資源多,才能達(dá)到理想效果,此時(shí)不宜使用方案二。
表1 兩種方案實(shí)際對(duì)比結(jié)果Tab.1 The actual comparison results of the two schemes方法識(shí)別率資源使用率容錯(cuò)性算法難度方案一99.8%少較差簡單方案二99.8%多高復(fù)雜
另外,方案二的算法較為復(fù)雜,應(yīng)用門檻較高,其模型訓(xùn)練過程是在黑盒環(huán)境下進(jìn)行的,計(jì)量自動(dòng)化測試工程師可控可調(diào)余地較小,因此在識(shí)別效果相同的情況下,建議優(yōu)選方案一,但不可否認(rèn)的是方案二可以獲取更深層次的圖像特征,容錯(cuò)性更好,是未來的重點(diǎn)發(fā)展方向。
本文通過詳細(xì)的分析比對(duì),兩種方案均能準(zhǔn)確有效地完成萬用表字符識(shí)別功能,使測試效率大幅提高,但在計(jì)算能力與資源占比,冗余度以及開發(fā)效率上二者有著顯著差異。隨著當(dāng)前社會(huì)的不斷發(fā)展,機(jī)器視覺技術(shù)也必然會(huì)掀起新一輪的革新浪潮,將更加廣泛地應(yīng)用在計(jì)量測試領(lǐng)域,助力人類不斷提高生產(chǎn)效率。