董志強,李榮書,胡桂青
(威海拙誠燃氣安全設備有限公司,山東威海264209)
淺談膜式燃氣表的數字識別方法
董志強,李榮書,胡桂青
(威海拙誠燃氣安全設備有限公司,山東威海264209)
基于數字識別模塊的直讀燃氣表,其直讀設計是在不改變原有燃氣表結構的前提下加裝數字識別模塊來實現對燃氣表的抄表。該直讀模塊采用特征比較的數字識別方法,對0~9這10個數字進行識別,總體識別率可以達到99%以上。此方法具有識別算法簡單、識別速度快、容易實現且識別效果好的優點。
膜式燃氣表;數字識別模塊;特征提取;識別率
近年來,隨著西氣東輸工程的建成投產及燃氣普及率的不斷提高,燃氣逐漸成為人們生活不可缺少的資源。目前,國內普遍使用的仍為機械式膜式燃氣表,其抄表收費方式還是入戶抄表,不僅人工成本較高,而且工作效率低下;數據實時性較差,不能夠及時反映用戶使用燃氣量的變化,因此每月抄表的數據統計遠遠不能滿足公司深層次的分析和決策要求。
基于此種情況,我公司研發了直讀燃氣表,在普通膜式燃氣表的外部加裝數字識別模塊,在不改變原有燃氣表結構的前提下實現對燃氣表的抄表。主要設計思路如下:在現有的燃氣表上安裝數字識別模塊對燃氣表的字輪進行圖像采集與識別,然后將數據傳輸到終端管理系統,實現燃氣表自動抄表和燃氣公司用氣管理的功能,有效避免了對原有燃氣表的機械改造。目前,隨著人們對圖像識別方法的不斷研究,數字識別方法的種類也越來越多,例如基于最小距離法的數字圖像識別[1]、基于穿線法的數字圖像識別[2]、基于模板匹配的數字圖像識別[3]等。本文主要采用特征提取的方法將0~9這10個不同數字分別識別出來,并對逐漸縮小范圍中的數字特征進行分析,算法簡單、識別效率高、識別效果好。
數字識別模塊的主要功能是對燃氣表的數字圖像進行采集、識別和遠程傳輸,硬件組成如圖1所示。電源模塊提供3.3 V和1.8 V電壓,為降低功耗,電路大部分時間處于休眠狀態,定時對燃氣表的圖像進行采集和發送。攝像頭模組采用30萬像素的CMOS微型攝像頭,并通過圖像傳感器將其轉換成數字信號,傳送到單片機,圖像識別算法將字輪圖片信息轉換成數字流量信息。為了達到光線統一的目的,需要將攝像頭部分放置在全黑的環境,利用LED補光燈對圖像進行補光處理。通過Lora與集中器進行數據通信,將采集到的流量信息通過集中器發送給服務器,實現數據遠程抄讀功能。圖像采集模塊的組成如圖1所示。

圖1 圖像采集模塊組成圖
數字識別算法部分由數據采集處理、圖像識別算法2部分組成。其組成部分如圖2所示。

圖2 數字識別算法
數據采集的圖片如圖3所示,圖3(a)為采集的原始數據圖片,(b)為處理后的圖片,具體的步驟如下:①有效圖像采集。通過圖像傳感器進行有效圖像采集,并保存為RGB565格式。②對圖像進行二值化處理[4-6]。此過程是圖像預處理中的一個重要環節,目的是將目標數字和背景分離,以便對數字進行分割和識別。③對圖像進行濾波操作。主要是濾除屬于雜波的圖像數據,對雜波進行濾除(清零處理)。④尋找數字邊界。在整幅圖像數據中,找到每個數字的邊界。找到數字的4個邊界后,根據上、下邊界計算這個數字的高度。如果該高度小于設置的整個數字的高度,則該字為半字;否則,為整字。

圖3 圖像處理結果
圖像識別算法主要是對采集取得的數據來進行半字識別或者全字識別,通過數字特征來識別每個數字,其特征識別方法主要有數字寬度、特殊位置、長條位置、豎條位置及斜條位置。數字識別算法如圖4所示。
2.2.1 全字識別
全字識別步驟如下:
步驟1:采用數字寬度的識別方式,若整個字的寬度小于或等于設定的像素X,則可以判斷數字為“1”;否則,執行步驟2.
步驟2:采用特殊位置的識別方式,若數字底部有效像素部分寬度較窄,則可判斷為數字“4”“7”,并執行步驟3;否則,執行步驟4.
步驟3:采用長條位置的識別方式,若從數字下邊界往上找Y行有一長條,則識別出該數字為“4”;否則,該數字為“7”。
步驟4:采用豎條位置的識別方式,若在靠近左邊框位置有一個高的豎條,則識別出數字為“0”或“6”或“8”,執行步驟5;否則,執行步驟7.
步驟5:根據豎條位置,若在靠近數字的右邊界位置有一個高的豎條,則該數字為“0”或“8”,并執行步驟6,否則,該數字為“6”。

圖4 數字識別算法
步驟6:根據豎條位置,若在數字的中間位置有一個長的橫條,則該數字為“8”;否則,該數字為“0”。
步驟7:根據豎條位置,若靠近數字的右邊邊界位置有一個高的豎條,則該數字為“3”或者“9”,并執行步驟8;否則,執行步驟9.
步驟8:根據豎條位置,若在數字的中間位置有一個長的橫條則該數字為“9”;否則,為數字“3”。
步驟9:根據豎條位置,若在數字的中間靠上位置有一個長的橫條,則該數字為“5”;否則,該數字為“2”。
通過上面步驟1~9完成整字識別。
2.2.2 半字識別
半字識別步驟如下:
步驟1:數字“1”“4”“7”的半字識別步驟與整字識別相同,見整字識別步驟1~3.
步驟2:根據斜條位置,若最底部為一個長橫,且往上從長橫的左邊有一個傾斜長條,則可判斷為數字2;否則,執行步驟3.
步驟3:若數字中間空白部分的高度要比其他數字高很多,則可判斷為數字“0”;否則,執行步驟4.
步驟4:若數字的下半部分是一個封閉的圈,則可判斷為數字“6”或“8”,并執行步驟5;否則,執行步驟6.
步驟5:若封閉圈的右上部分存在有效像素,則可判斷為“8”;否則,為數字“6”。
步驟6:若數字上下長橫的縱坐標差值大于設定值Z,則該數字為“3”;否則,為“5”或者“9”,并執行步驟7.
步驟7:若數字第二個長橫上面一行的靠右邊存在有效像素,則為數字“9”;否則,為數字“5”。
通過上面步驟1~7完成半字識別。
通過此種特征信息提取方式對0~9這10組數據進行數字識別,不論是半字,還是全字,每一個數字分別進行100次識別,實驗結果如表1所示。由上述結果可知,數字“0”“1”“2”“4”“7”本身結構簡單,容易識別,識別率可達到100%;對于“6”“8”的識別,雖然結構比較復雜,但是特征明顯,只需要區別右上部分有效像素即可,因此識別錯誤次數較少。“3”“5”“9”則因為特征相似點較多,當出現半字時判斷誤差較大。總之,總體識別結果來看,此類特征識別方法其總體識別率為99.6%,基本接近100%.
燃氣直讀表頭是一種利用攝像頭對燃氣表字輪進行圖像采集、識別、遠傳的攝像直讀式無線抄表器。燃氣直讀表頭對于目前的舊式燃氣表改造,實現全自動化抄表,它不需要改變現有的燃氣表,用戶無需換表即可實現抄表。本論文所提出的方法對數字圖像的總體識別率可以達到99%以上。此方法具有識別算法簡單、識別速度快、識別效果好的特點。

表1 圖像識別統計表
[1]王朋,王剛,竇海妮.基于最小距離法的數字識別[J].廣西輕工業,2010(148):74.
[2]魏暢然.基于穿線法的數字識別方法[J].科技情報開發與經濟,2010,20(28):137.
[3]劉洋洋,嵇啟春.一種改進的模板匹配的數字識別算法[J].工業控制計算機,2010,23(5):76.
[4]楊偉偉,王廣偉.儀表圖像二值化技術研究[J].科技信息,2011(17):62.
[5]孫少林,馬志強,湯偉.灰度圖像二值化算法研究[J].價值信息,2010(5):142.
[6]馮玉田,刁志蕙,李元輝,等.基于圖像的遠程燃氣表直讀系統研究與實現[J].電子測量技術,2016,39(6):76.
〔編輯:劉曉芳〕
TP391.41
A
10.15913/j.cnki.kjycx.2017.19.037
2095-6835(2017)19-0037-03