張文超
(大慶油田責任有限公司第四采油廠數(shù)字化運維中心,黑龍江 大慶 163511)
為了滿足油田站庫自動化工控系統(tǒng)儀表數(shù)據(jù)的采集及檢定的需求,進行了以視覺識別技術替代人工現(xiàn)場讀數(shù)的研究。由于采油廠每年干式水表檢定量較大,同時,每塊需要檢定3個流量點,每個流量點測試一次需要5分鐘。而現(xiàn)有的檢定臺為人工操作,人工讀數(shù)錄入,工作量很大。本文利用OPENCV圖像識別技術,結合現(xiàn)場進行干式水表檢定中的數(shù)據(jù)讀取應用試驗,經(jīng)過多次現(xiàn)場試驗及論證,提出了一種可以實現(xiàn)儀表視頻圖像識別的模型。該模型通過工業(yè)攝像頭采集儀表圖像,將表盤圖像進行預處理,然后采用2D卷積運算,并轉(zhuǎn)化為HSV空間圖像。通過霍夫變換進行表盤輪廓識別及表盤圓心定位,利用形態(tài)學算法對圖像字符定位分割,并建立數(shù)字匹配模板,利用特征識別判斷表盤數(shù)據(jù),實現(xiàn)了儀表的自動識別功能,降低了員工的勞動強度。
由于樹莓派是一款基于ARM的微型電腦,具有低功耗、體積小的特點,可以進行網(wǎng)絡數(shù)據(jù)傳輸,并可以連接USB視頻頭,自身帶有LINUX系統(tǒng),運行OPENCV環(huán)境。因此,本文選用樹莓派運行OPENCV進行儀表識別的硬件,通過USB接口連接工業(yè)免驅(qū)攝像頭,識別的結果通過網(wǎng)絡接口傳遞給主控計算機,可以進行數(shù)據(jù)處理并實現(xiàn)報表證書生成等功能。
在樹莓派上運行基于PYTHON語言的OPENCV環(huán)境,OPENCV自帶視覺庫,并且具有視覺識別的底層接口500多個函數(shù),可以快速進行視覺識別系統(tǒng)開發(fā),因此本文在具有OPENCV底層接口函數(shù)的這樣一個環(huán)境進行開發(fā),可以更便捷、快速地進行油田儀表圖像識別技術的研究。其開發(fā)環(huán)境,如圖1所示。
圖1 PYTHON+OPENCV軟件環(huán)境
在主控計算機采用VB.NET語言環(huán)境進行開發(fā),用于接收樹莓派發(fā)送的網(wǎng)絡數(shù)據(jù),進行數(shù)據(jù)運算,生成證書。
采用USB攝像頭直接采集的為RGB圖像,即每個像素都拆分為紅綠藍三種顏色的比重混合而成,稱為RGB色彩空間。RGB色彩比重受光線照度影響較大,為了最大限度地消除光線對儀表圖像的影響,將RGB圖像轉(zhuǎn)換為HSV圖像,即色相、飽和度、透明度模型,由于我們待檢定儀表顏色為青色,因此,表體青色區(qū)域進行掩膜識別。其對表體外部識別效果,如圖2所示。
圖2 HSV色彩空間顏色定義
我們要識別的干式水表表體為圓形,因此,可以對表體區(qū)域進行圓形識別。采用霍夫圓函數(shù)檢測表盤區(qū)域范圍的圓,記錄圓心坐標及半徑,并與圖像中進行繪制識別結果。在實驗中發(fā)現(xiàn),由于受到光線、儀表擺放影響,每次的表盤圓心定位結果是有一定偏差的,為后續(xù)的字符圖像分割、識別造成一定干擾,因此,不可通過一次定位識別就給出最終結果,需要多次定位識別,獲取最準確的結果。
進行數(shù)字儀表圖像采集時,由于干式水表人工放置檢定區(qū)域后,不能保證采集的數(shù)字圖像與攝像頭角度完全一致,采集的圖像會發(fā)生傾斜。為了方便后期圖像分割識別,需要對傾斜的圖像進行校正。攝像頭采集圖像及檢測校正結果,如圖3所示。
圖3 表盤旋轉(zhuǎn)校正
首先,將儀表圖像進行Canny邊緣檢測,得到儀表輪廓圖像矩陣,與表盤內(nèi)部區(qū)域進行與操作,除了表盤外部區(qū)域圖像點,然后,對儀表圖像內(nèi)部液晶顯示屏區(qū)域進行Hough直線檢測,得到一組線段,找出最長的線段,即為液晶屏區(qū)域的輪廓線,再根據(jù)檢測到的直線兩個端點的坐標值,進行反正切運算,得到直線傾斜角度,然后,以0.1°~45°進行篩選,即為圖像旋轉(zhuǎn)角度,然后利用圖像旋轉(zhuǎn)函數(shù),將儀表圖像進行旋轉(zhuǎn)校正。
為提取更有效、清晰的圖像數(shù)據(jù),進行特征識別,就要除去多余的圖像像素。該系統(tǒng)可以對儀表圖像進行腐蝕(Erosion)膨脹(Dilation)等數(shù)學形態(tài)學運算,對圖像進行濾波處理,平滑邊界。提高圖像的質(zhì)量,并填充儀表讀數(shù)圖像中的細小空洞,避免單個數(shù)字各段碼之間的中斷。
為了能夠準確地識別字符,第一步需要對圖像做二值化處理,使該圖像分割成背景部分和目標部分。采用最經(jīng)典的全局閾值的Otsu算法。為了避免對比度和光照不均勻?qū)Χ祷挠绊懀葘D像進行頂帽處理,然后再進行二值化處理。這樣能夠使二值化效果達到預期的目標,然后二值化,得到黑白圖像數(shù)字矩陣。
通過以上程序?qū)x表圖像處理后,我們就可以獲得一個高質(zhì)量的二值化黑白圖像,然后,需要對數(shù)字儀表的讀數(shù)進行定位與分割,這樣就可以有效地穩(wěn)固而二值化圖像的基礎數(shù)據(jù)。精準的定位分割,可有效地提高程序及識別率。
儀表表盤數(shù)字定位分割一般有基于連通域和基于投影法的儀表數(shù)字定位與分割。 但是,不同的光照條件,儀表的影子對水平投影的影響過大,在有影子存在的情況下,不能理想地分割出表盤上的每個字符。因此,本文采用的是基于連通域的方法來進行數(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ù)。
(2)計算連通域的長寬比:連通域的寬/連通域的長。
(3)遍歷所有連通域,如果連通域面積大于500小于5000且連通域的長寬比大于1.5小于2.5則提取,如果不滿足以上條件則舍棄。這樣便可篩選出滿足要求的連通域,即數(shù)字儀表每個讀數(shù)。
將表盤字符高清拍照,并將圖片導入CAD,利用CAD的直線命令將數(shù)字邊緣進行描點繪制,并進行填充,完成樣本圖像制作,然后,保存為bmp格式圖像,與PYTHON程序文件存放于同一目錄下。
數(shù)字識別就是要比較待識別圖像與樣本中哪個特征最接近。采用歐式距離法進行比較,分別提取樣本特征與待識別圖像特征值,將待識別圖像特征值矩陣依次與樣本圖像特征矩陣做平方差運算,方差越小,說明特征值越接近,判斷為該數(shù)字。
利用圖像矩陣方差運算識別圖像準確率較高,缺點是耗時較長。在識別的數(shù)字少時可以使用。本文中所用的干式水表所需要進行識別的有11個數(shù)字,運算量很大,識別一幀圖像數(shù)據(jù)需要5s。為了提高識別效率,本文最后一步修正算法,采用了穿線法,即通過識別七段數(shù)碼管各個段的明暗狀態(tài)進行編碼,可以大幅度地提高識別效率,識別一幀圖像僅需要不到1s。在主程序里用namedWindows函數(shù)創(chuàng)建窗口,建立一個無限循環(huán)的while函數(shù),使用imshow函數(shù)顯示視頻圖像幀。然后進入視頻讀取識別程序,只有當所有位置的數(shù)字都準確識別對應后,才給出最終結果,如果有沒識別出對應位置上的數(shù)字,說明本次識別結果不準,重新進行表盤定位及下一輪結果識別程序。
樹莓派通過視頻識別儀表數(shù)字后,通過網(wǎng)絡接口與計算機建立TCP/IP連接。計算機作為服務器端,監(jiān)聽端口,樹莓派所謂客戶端,連接服務器端口。采用Socket模塊接口,使用socket套接字,連接服務器。當樹莓派接收到計算機發(fā)送的視頻識別指令時,開始進行視頻識別,識別完成后,將識別結果發(fā)送至計算機端顯示。
在實驗中我們發(fā)現(xiàn),外界光線會對識別結果造成干擾。特別是會在液晶區(qū)域形成陰影,造成識別結果準確率下降。因此,在每個USB攝像頭周圍,均勻加裝了10只LED燈珠,在啟動識別的時候,開啟LED燈光,在表盤進行四周補光,消除表盤液晶區(qū)域的陰影,提高了識別準確率。
在干式水表檢定間現(xiàn)場應用時,可以替代人工識別出水表的數(shù)值。經(jīng)過上千組數(shù)據(jù)讀數(shù)驗證,識別準確率>95??梢杂行娲斯みM行數(shù)據(jù)錄入,降低員工的勞動強度,提高工作效率。
圖4 干式水表檢定間現(xiàn)場應用
本文采用樹莓派、USB工業(yè)攝像頭搭建了儀表視頻識別硬件系統(tǒng),采用PYTHON和OPENCV庫進行儀表視頻識別的軟件環(huán)境。通過一系列試驗探索,對干式水表數(shù)字進行識別,實現(xiàn)干式水表視頻數(shù)據(jù)的實時采集、圖像處理及結果輸出。得到以下結論:
(1)樹莓派具有體積小、集成度高、安裝方便、開發(fā)簡單的特點,可以以樹莓派為視頻識別硬件,在油田工業(yè)環(huán)境下進行視頻識別;(2)本文研究的儀表視頻識別技術可減少勞動強度,為自動化檢定、智能檢定打下基礎;(3)本文研究的儀表視頻識別模型圖像識別步驟具有實用價值,可以進一步完善推廣在指針式儀表、數(shù)碼顯示儀表中應用。