施 健 張 冬,2 何建國 康 彩 姚軍康 馬 翔
(寧夏大學物理電氣信息學院1,寧夏 銀川 750021;浙江大學生物系統(tǒng)工程與食品科學學院2,浙江 杭州 310058;寧夏大學能源化工重點實驗室3,寧夏 銀川 750021)
傳統(tǒng)指針式儀表由于其簡單可靠、使用方便、易于維護、價格低廉等優(yōu)勢,長期以來被廣泛應用于化工生產過程。但其數據都是由人工讀取,數據記錄和處理也主要依靠人工。讀數過程中,人眼分辨能力和易疲勞等主觀因素大大影響了讀表的精度[1]。以往通過改造更換電子傳感器模塊來實現(xiàn)各類指針儀表的數字化改造,但受到技術及成本等因素的制約。隨著計算機視覺技術的發(fā)展,國內外開始對基于計算機機器視覺的儀表讀數方法進行研究?;跈C器視覺的儀表讀數依賴儀表的圖像信息,因此這種方法的適應性更強、應用范圍更廣。隨著嵌入式技術的快速發(fā)展,使用嵌入式圖像處理可以更好地實現(xiàn)改造成本控制[2]。
本文將嵌入式技術應用于指針式儀表抄表工作中,利用機器視覺及無線傳輸技術,實現(xiàn)遠程讀數自動化。
作為意法半導體公司STM32平臺的新產品,STM32F4基于最新的ARM Cortex-M4內核,在現(xiàn)有出色的STM32產品基礎上新增了信號處理功能,并提高了運行速度,是一款集MCU、DSP、FPU多種性能于一體的數字信號控制器。Cortex-M4的單周期DSP指令將會催生數字信號控制器市場。目前,采用微控制器和數字信號處理器的圖像處理雙片解決方案可以選擇STM32F4。STM32F4在一個芯片中整合了傳統(tǒng)兩個芯片的特性。STM32F4系列的專有技術優(yōu)勢包括:具有相機接口;采用多達7重AHB總線矩陣和多通道DMA控制器,支持程序執(zhí)行和數據傳輸并行處理,數據傳輸速率極快;內置的單精度FPU提升控制算法的執(zhí)行速度,提高代碼執(zhí)行效率。
本設計采用的是STM32F407VGT6微處理器,其最高主頻達168 MHz。該數字信號控制器同時整合了微控制器和數字信號處理器的功能與特性,適用于對運算能力和DSP指令方面有較高要求的系統(tǒng)[3],在圖像處理方面有著明顯的優(yōu)勢。
基于STM32F4的指針儀表遠程讀數系統(tǒng)組成如圖1所示。圖像采集主要由光箱、光源、攝像頭組成,數據處理及傳輸由STM32F4控制器及RF無線模塊組成。
圖1 系統(tǒng)組成示意圖Fig.1 Schematic diagram of the system composition
本系統(tǒng)基于STM32F4平臺,運算能力相對計算機較弱。為了滿足系統(tǒng)實時性的要求,不使用傳統(tǒng)基于計算機處理的高分辨率相機,攝像頭采用OV7670 CMOS攝像頭,分辨率設置為240×160像素。
STM32F407芯片具有攝像頭接口,通過DCIM功能直接獲得OV7670 COMS攝像頭傳來的數字圖像數據,通過直接內存存取送至圖像緩存。將DCIM配置成SnapShot快照模式,在軟件觸發(fā)后抓拍圖像。STM32F4微控制器的控制流程圖如圖2所示[4]。
圖2 STM32F4控制流程圖Fig.2 Control process of STM32F4
無線傳輸模塊采用UTC-1212模塊。該模塊是一款高集成度、微功率、半雙工、超低功耗的無線透明傳輸模塊,抗干擾性能強,可在存在較大干擾的應用環(huán)境中使用,傳輸距離700~1000 m,且支持串口通信,無需另外編程驅動。在各節(jié)點與數據基站之間,利用此模塊搭建無線網絡,利用串口傳輸至計算機,最后用上位機軟件進行數據分析存儲。
圖像預處理主要是圖像灰度化、濾波、二值化。攝像頭獲取的指針儀表圖像為真彩色圖像,最終特征提取需要二值化指針圖像。為了簡化圖像,先將圖像轉為灰度圖像?;叶然菍⒃瓐D各像素點的R、G、B三分量信息壓縮成一個字節(jié)。具體方法采用加權平均法,對R、G、B三分量分配不同的權值。計算過程為:
式中:Gray為當前像素點灰度值;R、G、B分別為紅、綠、藍三基色分量。
得到灰度圖像后,需要做濾波去噪處理,使圖像更加平滑。為保留指針圖像的邊界信息,采用中值濾波算法。
得到平滑的灰度圖像后,選取適當的閾值對圖像進行二值化處理。二值化算法如式(2)所示,將大于等于閾值T的像素值置1,小于閾值T的像素值置0。
由于指針儀表背景大致相同,因此提出了一種基于二值圖像減影法的指針直接提取方法。該方法先后獲取兩幅指針儀表圖像,經過上述一系列預處理后對兩幅二值化圖像作減法運算。只有像素值的差為+1的像素保留白點,即當且僅當某像素為白色減黑色時,像素值保留白色,得到一幅無刻度、無字符,只包含少量噪聲的指針圖像。兩圖相減所得剪影如圖3所示。再次做中值濾波后,得到清晰的指針圖像如圖4所示。
圖3 二值剪影圖Fig.3 Binary subtraction image
圖4 濾波后的剪影圖Fig.4 Subtraction image after filtering
3.3.1 Hough 變換
為了從二值圖像中計算出指針的讀數,采用Hough變換求得指針的方向。Hough變換的原理是將笛卡爾坐標空間的點(x0,y0)變換[5]為極坐標空間中的正弦曲線 ρ=x0cosθ+y0sinθ;掃描所有像素點(x0,y0),并遍歷所有θ值,ρ和θ對應相等的點即為共線;記錄所有共線的ρ、θ以及相應的共線點數;最后對共線點數設定適當的閾值提取目標直線。Hough變換對噪聲不敏感、抗干擾性強,魯棒性較好是Hough變換最大優(yōu)點,即使曲線有小的波動、間隙,經Hough變換后,仍能在參數空間形成明顯的峰值點[6]。
3.3.2 Hough 算法改進
經典Hough直線檢測是對圖像空間內每一個像素進行360°全向標記,這種標記過程占用了大量時間。為了提高本嵌入式系統(tǒng)的實時性,提出了一種基于環(huán)形ROI感興趣區(qū)域及角度約束的直線提取算法。
首先,限定環(huán)形ROI區(qū)域,如圖5所示灰色圓環(huán)就是指針提取的ROI區(qū)域,只檢測處于ROI區(qū)域內的像素,可有效減少像素掃描數量;然后,利用事先標定的表盤圓心確定直線,因為圓心坐標與ROI區(qū)域內的每個有效像素能確定唯一直線。圓心約束示意圖如圖6所示。ROI區(qū)域內的P點只標記過圓心O的直線,從而使檢測效率大為改善。而在沒有圓心約束的情況下,經典Hough變換需要標記過P點各個角度的直線。通過這種添加約束的Hough變換,對環(huán)形區(qū)域內所有可能與圓心共線的點進行表決統(tǒng)計,選出現(xiàn)次數最多的角度θ,即為指針角度。
圖5 環(huán)形ROI區(qū)域Fig.5 Annular ROI area
圖6 圓心約束示意圖Fig.6 Sketch of constraint of center of the circle
至此,通過得到的ρ和θ(其中角度θ和指針的讀數具有對應關系),將θ代入提前設定好的計算公式,即可計算出儀表指針讀數。對量程范圍為0~2.5 MPa的壓力表進行5次測量試驗,試驗結果如表1所示。
表1 測量結果Tab.1 The measured results
利用機器視覺代替人眼讀取指針讀數大大提高了工作效率,且其讀數不受人為因素影響。在嵌入式平臺上,提出一種基于二值圖像剪影法,以及通過約束ROI感興趣區(qū)域及直線角度對Hough算法的優(yōu)化,確保了算法在嵌入式平臺上的實時性。而STM32F4與無線模塊相結合所具有的低成本特點,使其相對計算機更易實現(xiàn)多節(jié)點分布式無線數據采集。通過實際測試表明,該設計方案是可行的,具有較好的應用前景。
[1]黃穎怡,汪仁煌,岳利軍.機器視覺儀表識別方法的研究進展[J].自動化儀表,2009,30(8):58 -60.
[2]李棟,楊志家.基于機器視覺的指針儀表識讀方法[J].儀表技術與傳感器,2012(10):31-33.
[3]黃智偉,王兵,朱衛(wèi)華.STM32F 32位微控制器應用設計與實踐[M].北京:北京航空航大學出版社,2012.
[4]魏寶,陳玉成,戶凱,等.機器視覺系統(tǒng)在連接器自動裝配中的應用[J].機電元件,2013,33(1):12 -15.
[5]張冀,王俊宏,尉遲明,等.基于計算機視覺的汽車儀表指針檢測方法[J].計算機工程與科學,2013(3):134-139.
[6]陳卓.基于機器視覺的指針式儀表識別技術研究與應用[D].成都:西南石油大學,2011.