劉勝娃,曹湘華
(中國石油川慶鉆探工程有限公司長慶鉆井總公司,陜西 西安 710021)
目前在鉆井工作過程中,由于使用環(huán)境和儀器設(shè)計的原因,很多儀器儀表尚無計算機通信接口,需要人工讀取或使用專用軟件,否則無法進行信息集成。為了實現(xiàn)儀表數(shù)據(jù)的自動化提取,提高鉆井工程的作業(yè)效率,降低企業(yè)成本,研制數(shù)字儀表自動識別系統(tǒng)勢在必行。目前國內(nèi)針對儀表數(shù)字讀書識別的算法主要有模板匹配法、穿線法、特征提取法、BP神經(jīng)網(wǎng)絡(luò)識別方法、KNN識別算法、基于形態(tài)學的識別方法和基于模式識別的方法等。其中模板匹配方法首先建立0至9的特定字體的數(shù)字模板圖像,然后將提取待識別的數(shù)字圖像縮放至與模板圖像相同大小,計算其與所有模板的協(xié)方差并逐一對比,識別結(jié)果為與其計算數(shù)值最小的模板圖像數(shù)字;該方法操作簡易,但要根據(jù)待識別的數(shù)字字體設(shè)計不同的模板,若模板圖像尺寸較大,則計算量較大。穿線法將數(shù)字圖像看作一個數(shù)字矩形區(qū)域,使用一條垂直的等分線和兩條水平的等分線穿過,獲取等分線與數(shù)字圖像重合的像素點,以此確定具體數(shù)字,此方法計算量小,但容易受數(shù)字圖像前期預(yù)處理效果的影響。特征提取法即數(shù)碼管識別法,通過判斷7個位置的數(shù)碼管是否點亮來判斷具體數(shù)字,抗干擾能力強,但不適用于傾斜度很高的數(shù)碼數(shù)字。基于BP神經(jīng)網(wǎng)絡(luò)的識別方法需要海量數(shù)據(jù)訓練樣本進行學習以建立識別模型,但其參數(shù)設(shè)計復(fù)雜,且泛化能力主要依賴于訓練樣本。基于KNN的識別算法準確率很高,但效率較低,原因是每一次分類或者回歸,都要把訓練數(shù)據(jù)和測試數(shù)據(jù)計算一遍,計算量大,同時對訓練數(shù)據(jù)的依賴度高,有時個別錯誤的數(shù)據(jù)會導致預(yù)測數(shù)據(jù)的不準確。基于形態(tài)學的識別方法首先提取數(shù)字圖像的幾何特征,接著根據(jù)特征模式確定對應(yīng)的結(jié)構(gòu)元素,最后使用選定的結(jié)構(gòu)元素對圖像進行擊中與否變換;此方法的識別率高,但識別速度緩慢,實時性不強。基于模式識別的方法算法較多,但識別結(jié)果受限于分類方法的具體實現(xiàn)方案與圖像預(yù)處理的效果。
為了實現(xiàn)儀表數(shù)字的快速讀取,本文以鉆井現(xiàn)場司鉆顯示儀為采集對象,采用機器視覺對該儀表數(shù)字進行識別。基于現(xiàn)場采集工作狀況下司鉆顯示儀的視頻數(shù)據(jù),使用C++語言的OpenCV技術(shù)進行儀器參數(shù)數(shù)字識別,經(jīng)實驗該方法能滿足儀表數(shù)字識別速度與準確率的要求。
本系統(tǒng)的讀取對象司鉆顯示儀為數(shù)碼管式儀表。圖像采集:首先將防爆攝像頭安裝至合適位置,保證拍攝的照片清晰穩(wěn)定,然后將拍好的圖像通過無線傳輸,以H.265編碼格式上傳至圖像處理服務(wù)器進行圖像識別。
儀表自動識別系統(tǒng)硬件環(huán)境架構(gòu)如圖1所示。

圖1 圖像采集硬件架構(gòu)
防爆攝像頭在拍攝待識別的數(shù)字儀表圖像的過程中,會受到鉆井作業(yè)平臺震動環(huán)境以及溫度與光線等因素的影響,導致圖像可能會存在移動、模糊和噪聲等缺陷。這些缺陷會影響字符的正確切割和識別,所以需要進行濾波、形態(tài)學操作等圖像預(yù)處理。預(yù)處理的主要目的是過濾圖像中的干擾信息,從而使得待識別圖像區(qū)域清晰,以便于特征信息的提取識別,預(yù)處理結(jié)果的好壞直接影響到后續(xù)圖像切割和識別的準確率。
(1)灰度轉(zhuǎn)換。目前防爆攝像頭采集的圖像為彩色圖像,且占用存儲空間較大。通常字符識別采用灰色圖像進行識別,因此需要進行灰度轉(zhuǎn)換。圖像的灰度轉(zhuǎn)換就是采用數(shù)學計算公式圖像中的色彩信息進行變換,其計算結(jié)果為亮度信息,本文采用cvtColor函數(shù)進行灰度轉(zhuǎn)化。
(2)濾波處理。由于攝像頭在圖像采集過程中會受到鉆井作業(yè)震動等噪聲干擾,所以必須對圖像進行濾波處理,以盡可能降低或消除圖像中的噪聲,保持待識別圖像區(qū)域的清晰度。此處,本文采用GaussianBlur函數(shù)進行濾波處理。
(3)二值化。為準確提取特征,需要對圖像進行二值化,利用OpenCV提供的閾值函數(shù)threshold,通過自適應(yīng)閾值化方法對預(yù)處理圖像進行二值化,以便實現(xiàn)對數(shù)字的定位。根據(jù)圖像特征設(shè)置閾值0與255,類型為THRESH_BINARY|THRESH_OTSU。
模板匹配是在一幅圖像中逐一匹對多個模板圖像的方法之一。該方法原理簡單,即根據(jù)匹配算法計算識別圖像與模板圖像的運算結(jié)果,當數(shù)值足夠小時,即匹配成功。OpenCV提供了6種模板匹配算法:平方差匹配法,歸一化平方差匹配法,相關(guān)匹配法,歸一化相關(guān)匹配法,相關(guān)系數(shù)匹配法與歸一化相關(guān)系數(shù)匹配法。

本文采用相關(guān)系數(shù)模板匹配算法,其計算公式如下:其中,T、I、h、w、R分別表示模板圖像、待識別圖像、圖像高度、圖像寬度、計算結(jié)果。
圖像處理流程如圖2所示。首先客戶端使用海康威視防爆攝像頭采集儀表圖像,以H265壓縮編碼上傳圖像識別服務(wù)器端,并使用開源開發(fā)包對服務(wù)器端H265編碼進行解碼;然后使用OpenCV技術(shù)完成圖像預(yù)處理、字符分割數(shù)字識別;最后,將識別結(jié)果提交后臺MySQL數(shù)據(jù)庫存儲計算,以輔助人工較快出具檢測報告。

圖2 圖像處理流程
(1)攝像頭圖像采集。采用防爆攝像頭作為識別工具,通過瀏覽器方式采集司鉆顯示儀顯示區(qū)域,并以緣檢測等方法檢測數(shù)碼管數(shù)字區(qū)域。但由于鉆井現(xiàn)場干擾因素較多,為提高系統(tǒng)識別率,可以根據(jù)需求手動設(shè)定司鉆顯示儀區(qū)域,以便定位與變換,從而采集到數(shù)碼管數(shù)字區(qū)域。
(2)H265編碼上傳服務(wù)器。為提高清晰度與上傳速度,設(shè)置圖片以H265編碼格式壓縮并上傳到服務(wù)器。
(3)圖像預(yù)處理。將背景與目標區(qū)域分離,去除圖片背景及干擾因素,提取數(shù)碼管目標區(qū)域。
(4)區(qū)域定位分割。通過水平、垂直投影等分割技術(shù)對字符圖像進行提取,以獲取單獨的數(shù)字字符圖像。
(5)數(shù)字識別。采用光學字符識別技術(shù)對每個數(shù)字字符進行識別或匹配。
讀取圖像并將其轉(zhuǎn)換為灰度圖,再經(jīng)形態(tài)學膨脹與自適應(yīng)閾值算法閾值化操作,消除圖像易受光照等因素的影響,同時將目標區(qū)域設(shè)置為白色。
采用輪廓檢測面積排序法定位數(shù)字區(qū)域,并進行透視變換,獲取變換圖像,如圖3所示。

圖3 區(qū)域定位變換
核心代碼如下:

根據(jù)數(shù)字區(qū)域相對固定位置進行數(shù)字區(qū)域分割,或進行水平投影與垂直投影獲取數(shù)字區(qū)域,結(jié)果如圖4所示。

圖4 區(qū)域分割
加載數(shù)碼管模板(如圖5所示),根據(jù)提取的數(shù)字區(qū)域,再次采用輪廓法切割數(shù)字圖片,進行模板匹配,輸出結(jié)果(如圖6所示),其中小數(shù)點采用高寬比值進行判斷識別。經(jīng)對實驗結(jié)果統(tǒng)計分析,數(shù)字識別正確率達到95%。

圖5 數(shù)碼管模板

圖6 數(shù)字識別結(jié)果
模板數(shù)字字符提取核心代碼如下:


本文從鉆井作業(yè)數(shù)字儀表讀數(shù)的自動識別需求出發(fā),提出了一種基于機器視覺的司鉆顯示儀參數(shù)識別方法,利用OpenCV技術(shù)對傾斜的數(shù)碼管進行識別,并檢測數(shù)字后面的小數(shù)點,實現(xiàn)鉆井現(xiàn)場司鉆顯示儀的快速準確識別。經(jīng)現(xiàn)場工作視頻實驗驗證了此算法的準確性,對實現(xiàn)鉆井儀表數(shù)據(jù)的自動化識別具有重要的工程應(yīng)用意義。