熊經(jīng)先 李慧慧 閆 坤* 劉思堯 黃錫文 張李軒
1(桂林金格電工電子材料科技有限公司 廣西 桂林 541004)2(桂林電子科技大學(xué)衛(wèi)星導(dǎo)航定位與位置服務(wù)國家地方聯(lián)合工程研究中心 廣西 桂林 541004)
近年來,工業(yè)自動化領(lǐng)域的相關(guān)技術(shù)研究方興未艾。作為工業(yè)自動化系統(tǒng)的重要組成部分,信息采集一直是一個研究熱點(diǎn)[1-2]。常用的信息采集方式主要有兩類,第一類被稱為侵入式信息采集,需要將傳感器嵌入儀器設(shè)備內(nèi)部[3]。第二類為非接觸式信息采集,基于圖像處理的信息采集就是這一類中最重要的實(shí)現(xiàn)手段[4],由于易于部署,不影響設(shè)備工作,受到各種工業(yè)生產(chǎn)廠商的歡迎。
與其他環(huán)境中的圖像識別任務(wù)相比,工業(yè)環(huán)境中的識別目標(biāo)相對單一[5-7]。識別目標(biāo)主要是各種設(shè)備儀表的讀數(shù)。數(shù)碼管識別難度主要在于復(fù)雜工業(yè)環(huán)境中,常用的識別方法無法完成數(shù)字區(qū)域與背景區(qū)域的高精度分割,進(jìn)而影響后續(xù)識別算法的準(zhǔn)確度[8-9]。在數(shù)碼管識別方面,國內(nèi)外研究團(tuán)隊(duì)已經(jīng)做出很多工作[10-14]。Rasines等[15]針對帶背光顯示器設(shè)計(jì)了數(shù)字檢測識別算法,該算法依賴色彩空間中特定通道,使用閾值檢測識別區(qū)域。該算法僅適用于具備發(fā)光背景的顯示器,無法應(yīng)用于無背光的數(shù)碼管識別。文獻(xiàn)[16-17]設(shè)計(jì)了一種圖形用戶界面(Graph User Interface,GUI),用戶可在GUI中選擇包含數(shù)字的區(qū)域。系統(tǒng)僅在一個醫(yī)療設(shè)備上的300個數(shù)字上受過訓(xùn)練,因此無法在相對復(fù)雜的工業(yè)場景中使用。Li等[18]提出的方法無須圖像二值化,而是采用筆畫寬度變換來定位可能感興趣區(qū)域(Region of Interest,ROI),并使用支持向量機(jī)(Support Vector Machine,SVM)來進(jìn)一步篩選。但是,文中采用的測試圖像中有很大一部分是從互聯(lián)網(wǎng)上獲取的干凈圖像,并不是在現(xiàn)實(shí)情況下捕獲的。Prakruthi等[19]開發(fā)了一種基于輸入圖像的Canny邊緣圖的屏幕檢測算法,并搜索最大的矩形輪廓,從而提取原始圖像中的多個ROI區(qū)域。但是,系統(tǒng)需要先驗(yàn)數(shù)字在屏幕上的位置。因此,一旦屏幕尺寸不同,算法錯誤概率提高。Ghosh等[20]提出了一種利用OCR技術(shù)從數(shù)字萬用表和其他類似的數(shù)字顯示設(shè)備中獲取自動數(shù)據(jù)的系統(tǒng),此方法的顯著優(yōu)勢是它可以自動檢測小數(shù)點(diǎn)和負(fù)號,不過這種方法只針對七段顯示數(shù)碼管。
針對復(fù)雜工業(yè)場景,為提高數(shù)碼管識別應(yīng)用時的可靠性,本文提出一種基于決策樹的數(shù)碼管識別方法。首先從設(shè)備采集圖像中提取數(shù)碼管所在區(qū)域,即ROI,然后對ROI區(qū)域進(jìn)行灰度化,計(jì)算灰度圖的Tsallis熵[21-23]。不同Tsallis熵值對應(yīng)于不同的工作環(huán)境、數(shù)碼管狀態(tài)。然后基于Tsallis熵值,選擇預(yù)設(shè)的二值化算法,完成灰度圖的二值化。由于數(shù)碼管中的數(shù)字往往多于一個,需要對數(shù)字區(qū)域分別識別,因此二值化后,利用數(shù)字定位算法對數(shù)碼管區(qū)域進(jìn)行切分。最后分別對每個數(shù)字區(qū)進(jìn)行識別。數(shù)字識別算法采用常用的穿線法。針對在實(shí)際工業(yè)環(huán)境中采集的數(shù)碼管圖片進(jìn)行測試。本文方法實(shí)驗(yàn)效果比其他識別方法更高效可靠,適用于工業(yè)場景應(yīng)用。
本文提出的數(shù)碼管識別方法如圖1所示,整個流程分為三個步驟,第一個步驟為圖像采集,是指獲取圖像中的圖案的掃描圖像(數(shù)字圖像)的過程。本文假設(shè)數(shù)碼管所在區(qū)域(即圖1中數(shù)碼管ROI)為已知。因此可以從采集到的圖像中提取出多個ROI用于后續(xù)處理。整個流程針對復(fù)雜的工業(yè)場景設(shè)計(jì),旨在實(shí)現(xiàn)工業(yè)環(huán)境中高效可靠的數(shù)碼管識別。
圖1 數(shù)碼管識別流程
數(shù)碼管識別流程的第二個步驟為預(yù)處理。首先,對每個ROI區(qū)域的彩色圖片進(jìn)行二值化處理,我們提出一種基于決策樹的二值化算法,根據(jù)灰度的樣本Tsallis熵,選擇相應(yīng)的二值化方法。圖像二值化后完成噪聲消除,通過邊緣消除以及膨脹和填充去除圖像中噪點(diǎn)。最后對不同尺寸的ROI進(jìn)行尺寸歸一,方便后續(xù)處理。
第三個步驟為數(shù)碼管識別,包括三個具體步驟:數(shù)字分割、特征提取和數(shù)值判定。由于實(shí)際工作中的數(shù)碼管位數(shù)差異較大,甚至是時變的,因此需要實(shí)時自適應(yīng)的數(shù)字分割,本文中以數(shù)碼管色塊分布特征為依據(jù)完成數(shù)字分割。最后對特征編碼進(jìn)而估計(jì)數(shù)值。
復(fù)雜工業(yè)環(huán)境中,環(huán)境光對算法的精度影響較大。首先,同一設(shè)備不同光照情況所得的圖像灰度分布差別較大。另外,不同數(shù)碼管亮度也存在差別。這需要二值化算法具有較高的魯棒性。除了以上難點(diǎn),常規(guī)二值化方法用兩個高斯核或兩個泊松核擬合圖像灰度分布,這種假設(shè)并不適合數(shù)碼管二值化。數(shù)碼管所在區(qū)域在熄滅時,亮度高于其他背景,因此熄滅的數(shù)碼管區(qū)表現(xiàn)出與其他部分不同的統(tǒng)計(jì)特征,極大地影響二值化算法的性能。
圖2-圖4分別為不同光線及設(shè)備工作情況下,獲取的數(shù)碼管ROI灰度圖。計(jì)算不同灰度的統(tǒng)計(jì)直方圖可知,正常光線、過度曝光、設(shè)備關(guān)機(jī)時灰度的統(tǒng)計(jì)分布具有較大差異。為提高二值化算法的適應(yīng)性,本文提出一種基于決策樹的二值化機(jī)制。
圖2 正常光照條件下數(shù)碼管及其灰度直方圖
圖3 過度曝光條件下數(shù)碼管及其灰度直方圖
圖4 設(shè)備關(guān)機(jī)條件下數(shù)碼管及其灰度直方圖
假設(shè)ROI第i行、第j列的像素值為p(i,j),ROI對應(yīng)的灰度頻數(shù)分布圖為:
式中:J、I分別為圖片的行像素數(shù)、列像素數(shù);Q(k)為對應(yīng)特定灰度的像素點(diǎn)數(shù)和;k=1,2,…,256。
計(jì)算灰度均值如下:
(2)
計(jì)算Tsallis熵如下:
式中:q為Tsallis熵的系數(shù)。Tsallis熵是香農(nóng)熵的擴(kuò)展,當(dāng)可調(diào)參數(shù)q→1時,Tsallis熵等價為香農(nóng)熵。通過調(diào)整q值可以在圖像分析中更好地度量圖像中不同特征區(qū)域的狀態(tài)差異。本文應(yīng)用中,圖片主要差異表現(xiàn)在亮度較高的數(shù)碼管區(qū)域,這一區(qū)域占整個ROI的比例通常較低,因此為突出差異,選擇q值為0.5。圖5為不同實(shí)際場景圖片的灰度期望、Tsallis熵值分布圖。
圖5 均值、Tsallis熵分布圖
如圖5所示,在Tsallis熵-灰度均值平面上,正常光線、過度曝光、設(shè)備關(guān)機(jī)這三種狀態(tài)的圖像度量值能夠被兩條直線較好分割。根據(jù)這一特征,采用均值和Tsallis熵構(gòu)建雙層決策樹將以上三種狀態(tài)分開,決策樹示意圖如圖6所示。
圖6 決策樹示意圖
計(jì)算ROI均值和Tsallis熵,根據(jù)決策樹判斷圖片所屬場景,進(jìn)而采用適配不同場景的灰度圖二值化方法。
? 正常光線:根據(jù)Otsu算法[24]計(jì)算二值化門限。Otsu算法又稱為最大類間差法,用兩個高斯核擬合圖像中前景和背景灰度的統(tǒng)計(jì)頻數(shù),Otsu算法選擇最大化類間方差的門限。如圖2所示,在正常光線下,前景(發(fā)光數(shù)碼管)和背景(除發(fā)光二極管的其他區(qū)域)有明顯亮度差別,用Otsu算法分割效果較好。
? 過度曝光:如圖3所示,過度曝光使背景亮度提高,觀察過度曝光的統(tǒng)計(jì)頻數(shù),與正常光線統(tǒng)計(jì)頻數(shù)相比,前景(發(fā)光數(shù)碼管)和背景(除發(fā)光二極管的其他區(qū)域)的類間差減少,如使用Otsu算法計(jì)算二值化門限,會出現(xiàn)將較亮背景判為前景的問題。因此以O(shè)tsu算法計(jì)算的門限為基準(zhǔn),并附加余量減少過度曝光的影響。
=ε+δ
(4)
式中:ε、δ分別為Otsu算法門限和附加余量。實(shí)驗(yàn)表明,要避免將背景判為前景,應(yīng)選擇δ>0。
? 設(shè)備關(guān)機(jī):二值化門限選為灰度最大值。以保證二值圖片中數(shù)碼管區(qū)域與背景區(qū)域一致。
(5)
數(shù)字分割是掃描整幅圖片裁剪數(shù)字區(qū)域并產(chǎn)生各個分段數(shù)字,然后調(diào)整所有大小分段的數(shù)字,以使其大小相似,降低識別難度。首先,將圖片的像素分為兩類:數(shù)字區(qū)域和空白區(qū)域。然后根據(jù)數(shù)字區(qū)域的統(tǒng)計(jì)特征找到數(shù)碼管邊緣并切出單獨(dú)數(shù)字的圖片。這種分割方法的精確性依賴輸入圖片噪聲大小。當(dāng)輸入圖片噪聲較多、數(shù)字變形較大時,分隔準(zhǔn)確性下降。
假設(shè)第i行、第j列的像素值為p(i,j),計(jì)算二值化圖中每列的像素和,定義如下:
(6)
式中:I為圖片像素的總行數(shù),由于數(shù)碼管每個數(shù)字間存在間隔,因此可以假設(shè),每個數(shù)字分割處像素和的特征與數(shù)字所在區(qū)域不同。利用這種特征上的區(qū)別,可以分割出單個數(shù)碼管。
如圖7所示,數(shù)字分割點(diǎn)出現(xiàn)在峰值點(diǎn)之間。從左至右將峰值點(diǎn)排序,則第一個數(shù)字與第二個數(shù)字分割點(diǎn)出現(xiàn)在第二個峰值與第三個峰值間。因此設(shè)計(jì)數(shù)字分割方法如下:
圖7 基于像素和的數(shù)字分割
式中:di為第i個分割點(diǎn);mi為第i個峰值點(diǎn)。
七段數(shù)碼管通過調(diào)整每段數(shù)碼段的開關(guān)狀態(tài)來表示0~9十個數(shù)字。本文用“0”表示數(shù)碼管關(guān)閉,用“1”表示數(shù)碼管打開。每個數(shù)字都可以表示為長度為7位的“0”“1”編碼。由于7段數(shù)碼管的亮滅方式一致,常用識別方式為先判斷對每段數(shù)碼管亮滅,然后判定相應(yīng)長度為7的編碼。
由于復(fù)雜環(huán)境中的識別常常受噪聲和分段誤差的影響,相對固定化的識別規(guī)則無法保證較高的準(zhǔn)確性。本文中,使用支持向量機(jī)(SVM)完成數(shù)字的識別。分別計(jì)算7段數(shù)碼管所在區(qū)域點(diǎn)亮的數(shù)碼管區(qū)域像素總數(shù)作為識別特征,然后將7段數(shù)碼管的特征組合為一個7維向量。表1給出不同數(shù)碼管狀態(tài)對應(yīng)7維向量標(biāo)準(zhǔn)值。
表1 數(shù)據(jù)管狀態(tài)對應(yīng)7維向量標(biāo)準(zhǔn)值
表1中A表示正常光線下對應(yīng)段的點(diǎn)亮區(qū)域像素總數(shù)。復(fù)雜環(huán)境影響,當(dāng)數(shù)碼管點(diǎn)亮?xí)r,實(shí)際采集圖片中每段數(shù)碼管點(diǎn)亮區(qū)域通常為隨機(jī)變量,其均值為標(biāo)準(zhǔn)值。當(dāng)數(shù)碼管熄滅時,實(shí)際采集圖片中每段數(shù)碼管點(diǎn)亮區(qū)域常大于標(biāo)準(zhǔn)值。
為提高算法適應(yīng)性,采集不同數(shù)字、多種場景下圖片,將圖片二值化,計(jì)算數(shù)碼管不同段點(diǎn)亮區(qū)域像素總數(shù),構(gòu)造7維向量,訓(xùn)練SVM模型用于數(shù)字的識別。
采集圖像設(shè)備為200萬像素網(wǎng)絡(luò)攝像頭,焦距2.6 mm,圖像中無顯示屏閃爍或反射。具體拍攝參數(shù)在表2給出。本文介紹的原始數(shù)據(jù)集包含7段數(shù)碼管,共收集2 000幅數(shù)碼管圖片,每幅圖片上有一個數(shù)碼管,數(shù)碼管上數(shù)字位數(shù)最多為6位,最短為4位。
表2 數(shù)據(jù)集拍攝參數(shù)
由于圖片在真實(shí)工業(yè)場景采集,數(shù)字出現(xiàn)頻率不均勻。數(shù)據(jù)集中有1 000幅圖片為白天均勻光線采集(其中600幅為數(shù)碼管開啟,400幅圖片為數(shù)碼管關(guān)閉);1 000幅為白天非均勻光照情況采集(其中:800幅為數(shù)碼管開啟;200幅圖片為數(shù)碼管關(guān)閉),數(shù)據(jù)集規(guī)格及其性質(zhì)在表3中給出??傆?jì)捕獲數(shù)字個數(shù)為5 903個,關(guān)閉狀態(tài)數(shù)字2 858個。
表3 數(shù)據(jù)集統(tǒng)計(jì)參數(shù)
采用本文提出的決策樹對圖像進(jìn)行分類,選擇1 000幅圖片訓(xùn)練決策樹,剩余1 000幅圖片進(jìn)行測試。訓(xùn)練集中包含500幅白天均勻光線采集圖片(其中:300幅為數(shù)碼管開啟;200幅圖片為數(shù)碼管關(guān)閉);500幅為白天非均勻光照情況采集(其中:400幅為數(shù)碼管開啟;100幅圖片為數(shù)碼管關(guān)閉)。訓(xùn)練集與測試集均采用隨機(jī)方式。決策樹分類準(zhǔn)確性如表4所示。接著采用本文提出的SVM對數(shù)字進(jìn)行識別,隨機(jī)選擇1 000幅數(shù)字圖片訓(xùn)練SVM,剩余圖片進(jìn)行測試。
表4 決策樹分類準(zhǔn)確度
對圖片二值化后,采用本文提出的數(shù)字分割和SVM對數(shù)字進(jìn)行識別,隨機(jī)選擇1 000個數(shù)字圖片訓(xùn)練SVM,剩余圖片進(jìn)行測試。為測試本文方法的準(zhǔn)確性,針對不同數(shù)碼管顯示狀態(tài)(包括數(shù)字和數(shù)碼管關(guān)閉)分別計(jì)算識別準(zhǔn)確性。將本文設(shè)計(jì)方法與文獻(xiàn)[25]方法對比,數(shù)字識別準(zhǔn)確度由圖8給出。文獻(xiàn)[25]采用Otsu圖片二值化算法,然后采用模板匹配法識別數(shù)碼管,比較可知,本文方法能夠更好地應(yīng)對復(fù)雜環(huán)境中的數(shù)字識別,在不同光線下,識別精度達(dá)到97.9%以上。而傳統(tǒng)方法準(zhǔn)確度約為80%。由環(huán)境噪聲帶來的灰度分布變化多樣,傳統(tǒng)的二值化方法無法給出最佳的二值化門限,這是傳統(tǒng)方法準(zhǔn)確度低的主要原因,采用本文提出的基于決策樹的二值化方法后,數(shù)碼管識別準(zhǔn)確性可提高至90%以上。
圖8 本文方法與文獻(xiàn)[25]方法檢測準(zhǔn)確度對比
為進(jìn)一步優(yōu)化實(shí)驗(yàn)設(shè)計(jì),采用消融實(shí)驗(yàn)的思想,分析本文設(shè)計(jì)識別算法不同步驟的作用。將本文方法中的二值化方法替換為Otsu算法,作為第一個對比組。將本文方法中的數(shù)字分割和SVM算法替換為平均數(shù)字分割和常用的穿線法[26],作為第二個對比組。圖9給出了不同對比組與本文方法的數(shù)字識別準(zhǔn)確度。
圖9 本文方法與兩組對比組檢測準(zhǔn)確度對比
三組實(shí)驗(yàn)中,本文算法的識別準(zhǔn)確性較高,對比組二次之,對比實(shí)驗(yàn)組一識別準(zhǔn)確性最低,以上實(shí)驗(yàn)說明準(zhǔn)確地二值化對數(shù)字準(zhǔn)確識別較重要,換言之,本文設(shè)計(jì)的二值化算法能夠較好地適應(yīng)復(fù)雜環(huán)境。另外,平均數(shù)字分割和常用的穿線法的識別性能稍遜于本文方法,可見本文方法能夠更好地適應(yīng)多變的實(shí)際環(huán)境。
數(shù)碼管的識別是實(shí)現(xiàn)工業(yè)自動化的基礎(chǔ),尋求復(fù)雜環(huán)境中魯棒性強(qiáng)的數(shù)碼管識別方法具有至關(guān)重要的意義。我們提出一種新的基于Tsallis熵的決策樹二值化算法,并將二值化圖片自適應(yīng)分割為單個數(shù)碼管,進(jìn)而通過特征提取、數(shù)碼管識別完成數(shù)碼管自動讀數(shù)。本文方法與以往的識別方法相比具有更強(qiáng)的適應(yīng)性,能很好地處理復(fù)雜環(huán)境中的光線不均問題,同時能夠自動識別數(shù)碼管關(guān)閉的情況。
實(shí)驗(yàn)證明,與常用的基于單一二值化方法的數(shù)碼管識別系統(tǒng)相比,本文方法在大幅提高識別準(zhǔn)確性的同時,不增加過多的計(jì)算負(fù)擔(dān),只需增加均值、Tsallis熵計(jì)算,能夠更好地適應(yīng)復(fù)雜環(huán)境中的數(shù)碼光識別應(yīng)用。未來我們將進(jìn)一步探索能夠自適應(yīng)調(diào)整的圖像二值化方法,并將其應(yīng)用于自然光線圖片的分析識別。