何林遠,畢篤彥,熊磊,周理
(空軍工程大學 航空航天工程學院,陜西 西安,710038)
在人類科學探索和生產實踐活動中,儀器儀表是認知世界的重要工具和手段。它采用一定的轉換關系,通過測量機構把被量數轉換為數字顯示或者角位移量,實現讀數。儀表具有結構簡單、使用方便、價格低廉等特性,在民用、軍用等諸多領域中應用極其廣泛。尤其對機載設備而言,從設備現場調試、使用、計量和告警,到電壓、電流、功率、功率因數、頻率等參數的監(jiān)測,都要以儀表為基準,因此,儀表的準確性對機載設備的可靠運行起著至關重要的作用[1]。目前,通用的儀表校驗方法基本可歸為2 類,一類可稱為“傳統檢表”法,一類稱為“數字判讀法”?!皞鹘y檢表”法主要以人工操作為主,通過第三方來觀測表的準確度?!皵底峙凶x法”主要是應用計算機輔助手段,對儀表進行識別判讀,從而計算儀表指針的讀數[2-3]。前者檢測儀器雖具有便捷、快速優(yōu)點,但檢測主要依靠人力,其準確度、精確度受主觀因素影響較大;后者雖解決了人工判讀的問題,提高了工作效率。但由于儀表指針千差萬別,對不同的儀表采用同種技術,得出的效果不好。近年來,也出現了多種不同的算法,尤其是對圖像分割和讀數識別這2 個方面存在著多種理解和解決方法。主要方法有減影法、Hough變換法、最小二乘法、中心投影法以及這些方法的聯合應用[4-5]。這些方法雖有各自的特點,但亦存在計算度復雜,精準度不高且不適用于不同類別指針儀表的問題。例如,中心投影法不適用于尋求橢圓表盤的檢測和識別、Hough 變換計算量大、時間較長等等。因此,本文作者設計開發(fā)了一種具有性能良好的儀表自動識別和檢測的方法。
根據實際需要和經驗,本系統采用三星公司生產的S3C2440 作為平臺處理器,利用CCD 攝像頭對儀表進行實時監(jiān)控拍攝,將錄入的圖像通過相關設計軟件的處理轉化為指針的真實讀數。其系統構造如圖1所示。
圖1 儀表識別檢測系統結構示意圖Fig.1 Schematic diagram for recognition and test of cockpit meters
實際測試時,攝像頭將拍攝的儀表畫面送入圖像處理設備,經過相關軟件的預處理,將儀表圖像中關鍵點進行分割,提取出圖像的整體輪廓和骨架,最終得出數據,將數據存入硬盤并在顯示器中顯示。圖像處理平臺主要以基于Linux 的OpenCV 為源開發(fā)庫,從而實現指針刻度的識別。第1 次識別時,可將表盤特征數據存入硬盤中,建立模板數據庫,以便后來識別該刻度盤時,調用表盤特征數據進行模板匹配。而對識別得到的各指針測量讀數,一方面可通過外接LCD 實時顯示識別結果,另一方面也可以通過網絡上傳到中心數據庫,實現在線檢測指針儀表。
儀表自動識別和檢測流程如圖2 所示,步驟如下:
step 1:讀入儀表圖像;
step 2:對圖像進行采樣;
step 3:采用同態(tài)濾波與中值濾波相結合的方法對圖像進行降噪處理;
step 4:采用改進的類間方差法(Otsu),將儀表圖像二值化,獲得二值化圖像;
step 5:對圖像進行細化,準確檢測出指針,經細化處理后的指針成單像素寬度指針;
step 6:利用改進的交叉皮質視覺模型(ICM),提取儀表邊緣;
step 7:根據先驗知識,進行學習訓練,尋找相似特征,對儀表進行分類比對;
step 8:利用梯度法,計算指針的角度;
step 9:通過角度,并結合先驗知識,計算數值,并進行存儲顯示。
圖2 儀表自動識別和檢測流程圖Fig.2 Flow chart for auto recognition and test of cockpit meters
本方法以機載儀表為處理對象,在讀取圖像后,整個過程包括采樣、降噪濾波、圖像二值化、細化、提取儀表邊緣、對圖像細化(提取骨架)、判斷指針具體位置和計算指針角度這8 個處理過程。
設備啟動后,儀表影像被反射光送入三棱鏡內,并在設備內部被轉換成電信號(模擬信號),經由A/D轉換器轉換成數字信號,將信號存儲在內存中,由相關軟件進行處理分析。為了避免由于角度、光照等問題引起的儀表指針偏差,結合本方法應用的具體環(huán)境,選擇平行光源的正面照明方式,即光線從正面照射到儀表,攝像機放置在光的反射方向上,在滿足奈奎斯特采樣定理的前提下,對該視頻序列進行等間隔采樣,這樣處理能夠降低計算復雜度,而且其操作簡單,易于軟件實現。
機載儀表經攝像頭轉換為數字圖像要經過光學反射、采樣、轉換等諸多環(huán)節(jié),這樣會引入各種噪聲,從而導致儀表的真實精度和準度略有偏差。為了降低噪聲干擾,校正光照反射引起的畸變,本方法采用空域、頻域相結合的方式(即同態(tài)濾波與中值濾波相結合)對儀表圖像進行降噪處理。同態(tài)濾波是依據照度-反射模型開發(fā)的一種頻域處理,通過調整灰度范圍及對比度增強來對圖像進行降噪。中值濾波是一種經典的非線性濾波方法[6-7]。其實質就是讓與周圍像素灰度差比較大的像素改取為與周圍像素接近的值,從而達到對孤立噪聲像素點的消除。預處理的效果如圖3 所示。具體實現步驟如下。
(1) 由于光照變化、指針表蒙對實際指針讀數的影響,通過同態(tài)濾波的方法,可增強對比度來消除光照的不利作用;
(2) 由于傳感器成像質量不同、各種噪聲的引入,使得對后續(xù)指針和讀數的快速檢索帶來的一定的困難,為了消除噪點,本方法采用自適應中值濾波(全局+局部閾值處理)方法對噪點進行濾除。
圖3 預處理的效果圖Fig.3 Effect drawing for preprocessing
圖像二值化是將圖像上的點的灰度置為0 或255,使整個圖像呈現出明顯的黑白效果。它使需要處理的圖像變得簡單,減少了細節(jié)并降低了數據量,同時凸顯感興趣區(qū)域,分離識別對象與背景。該方法的關鍵是閾值的選取,當獲取閾值后,把灰度圖像轉變成二值圖像。閾值的作用范圍,可以分為全局法和局部法,全局二值化是指整幅圖像只有1 個閾值,而局部二值化是指整幅圖像有多個閾值,閾值過大或過小都會使目標和背景分離不清。所有灰度小于或等于閾值的像素被認為是目標物體,大于閾值的像素被認為是背景??梢姡撝档倪x取決定后續(xù)測量的精度。目前,國內主要采用類間方差法(OSTU)[8]、最大熵法及最小誤差法[9]等方法對圖像進行二值化處理。但此類方法往往計算時間較長,對于灰度變化不大的背景及目標提取效果不是很理想。為此,本方法采用改進的OSTU 方法對圖像進行二值化處理。具體流程如圖4 所示。
(1) 讀取圖像,并根據圖像大小,將圖像自動分割為一系列可變的r×r 的子圖像,方便對圖像進行區(qū)塊的劃分;
(2) 在鄰域內,根據儀表特性,將其分為2 類(目標及背景),統計各像素點的灰度分布,將灰度范圍較為接近的歸為一類,并算出2 類特征點的數學期望和方差。根據經典OTSU 準則,找出局部閾值T1(i);
(3) 對該窗口進行二值化處理,后進行循環(huán)流程B操作,直至搜索圖像完畢;
(4) 為避免對區(qū)域邊緣的點產生誤判,將每個區(qū)域視為1 個像素點,以灰度為閾值T1(i),對整幅進行求解期望、協方差,找出全局閾值,對誤判點進行修復。
圖4 圖像二值化流程圖Fig.4 Flow chart for image binarization
該算法采用自頂向下的方法,根據圖像的大小,將圖像分割相應的區(qū)塊模板,將子圖作為分割的對象,并考慮到區(qū)塊邊緣的相關性,利用協方差進行邊緣點的重新判讀,提高了算法的精度和準度。利用此方法,本方法在保證提取目標圖像的同時,大大提高了算法處理的速度,獲得較好的二值化處理效果,如圖5 所示。
圖5 二值化效果圖Fig.5 Effect drawing for binarization
根據測量原理可知,儀表指針的特征提取是本識別和檢測方法的一個相當重要的環(huán)節(jié),圖像經二值化處理后,表盤圖像凸顯的只有表針與表的輪廓。但如何突出表針,便成為問題的核心步驟。細化是生成對象骨架的過程。所謂骨架,就是以相對較少的像素來表示對象的形狀[10]。針對座艙儀表主要以線性指針表示的特性,骨架的提取可以明晰指針具體指向的位置、方向和長度,并結合邊緣特征的提取,為下一步判讀指針所指的讀數做必要準備。傳統提取骨架的方法為中軸變換法。主要步驟為:(1) 計算每一個對象像素與最近邊緣像素之間的距離;(2) 計算距離圖像的拉普拉斯算子,具有較大值的像素屬于中軸。本方法在傳統方法的基礎上,引入了迭代式形態(tài)學方法,采用3×3 模板來提取座艙儀表的骨架。Stentiford 細化算法中的模板如圖6 所示。具體方法為:
(1) 找到像素(i, j)使圖像中的像素和模板A 中的像素匹配;
(2) 若中心像素不是一個端點,則令連通數為1后將像素標記為刪除;
(3) 對所有匹配模板A 的像素做步驟(1)和(2);
(4) 依次對模板B,C 和D 重復步驟(1)和(3);
(5) 若有像素被標記刪除,則將其設置為白色并刪除;
圖6 Stentiford 細化算法中的模板Fig.6 Template for Stentiford algorithm
(6) 重復步驟(1)~(5),否則,停止。
在掃描圖像對模板進行匹配時,有一定的掃描順序。匹配模板A 的目的是在目標對象的上邊緣找到可以移除的像素點,故按照從左至右的順序進行匹配,后按照從上至下的順序進行匹配。B 模板匹配目標左側的像素,按照自底向上,從左到右的順序進行掃描。C 模板匹配目標底邊緣的像素,按照從右至左,自底向上的順序掃描。D 模板匹配右側像素,按照自頂向下,從右至左的順序掃描,進行一步一步迭代運算,最終算出結果。算法最后獲得的骨架如圖7 所示。
圖7 細化效果圖Fig.7 Effect drawing for thinning
邊緣是目標對象和背景之間的邊界。如果圖像中邊緣可以準確地被識別出來,那么所有的對象均可以被定位,而且對象的基本屬性(面積、周長和形狀)都可以被測量出來。針對座艙儀表的特征,對儀表特別是指針邊緣的提取成為分析指針讀數的關鍵步驟。一般來說,用來定位目標邊緣的有3 種常見算子。(1) 導數算子,這種常被用來標識發(fā)生巨大強度變化的地方;(2) 模板匹配,其中邊緣由一個很小的圖像進行建模,表現為近似完美的邊緣屬性;(3) 采用一些經典的邊緣數學模型,例如:Marr-Hildreth 和Canny Edge 邊緣檢測器等。
傳統檢測的方法需要的先驗知識少,但對陰影、光照變化較為敏感,從而使算法的實用化難以得到保證。本方法結合航空實際需要,采用交叉視覺皮質模型(intersecting cortical model)[11]對座艙儀表進行分割提取,在保證精度準度的同時,大大提高了運行的速率。ICM 源于人們對哺乳動物視覺皮層神經元脈沖同步振蕩現象的研究成果[12],具有生物系統中的信息傳遞延遲性和非線性耦合調制特性,更加接近生物視覺神經網絡,非常適用于圖像處理,尤其是圖像分割領域。
ICM 神經元由樹突、非線性連接調制、脈沖產生部分3 部分組成[8]。樹突部分的作用是接收來自相鄰神經元的輸入信息,它由線性連接輸入通道和反饋通道2 部分組成。線性連接輸入通道接收來自局部相鄰神經元突觸輸入信息,而反饋輸入通道除了接收這種局部輸入信息外,還直接接收來自外部的刺激信息輸入。神經元間通過突觸函數進行互聯構成復雜的非線性動力學系統。脈沖的產生取決于樹突的輸入是否超過其激發(fā)動態(tài)閾值,而此閾值隨神經元輸出狀態(tài)的變化相應的發(fā)生變化。圖8 所示為ICM 神經元架構圖。
圖8 ICM 神經元架構圖Fig.8 Architecture diagram for ICM
ICM 中每一個神經元對于上一個狀態(tài)Fij[n-1]具有記憶功能且狀態(tài)Fij隨著時間的變化其記憶內容會發(fā)生衰減,其衰減速度受到衰減因子f (f>1)的影響。ICM 的數學表達如下:
其中:Sij為輸入圖像對應像素;i,j 為各個像素點的坐標;Wij{}為神經元之間的連接函數;Tij為動態(tài)閾值;Yij為神經元的輸出;f,g,h 均為標量系數,g<f<1,保證動態(tài)閾值隨迭代最終會低于神經元的狀態(tài)值,h為一很大標量,保證神經元點火后能較大的提升閾值,使神經元在下次迭代不被激發(fā)。ICM 神經元固有點火周期為T =logg(1 +h / sij),可見,ICM 神經元點火周期與輸入激勵有關。
ICM 用于圖像處理時,其為單層二維局部連接的網絡,神經元個數與圖像中像素點的個數一一對應。輸入圖像中較大像素值對應的神經元首先點火,輸出脈沖,其閾值突增至較大值后隨時間以指數衰減,直至再次達到Fij>Tij時,神經元第2 次點火。同時,點火神經元通過連接函數對其鄰域內神經元產生作用,使?jié)M足點火條件的鄰域神經元相繼被捕獲點火。ICM每次迭代輸出的圖像都不同程度地包含了輸入圖像的區(qū)域及邊緣信息。
可見,交叉視覺皮質模型(ICM)具備出色的圖像分割能力。但ICM 圖像分割效果不僅取決于ICM 各參數的合理選擇,還取決于最佳分割閾值、循環(huán)迭代次數的確定。ICM 神經元的循環(huán)迭代次數需要通過人機交互方式確定,這破壞了ICM 不需訓練過程的優(yōu)點以及ICM 處理速度快的優(yōu)越性。因此,選擇合適的準則來自動地確定ICM 神經元的最佳分割閾值以及循環(huán)迭代次數是ICM 圖像分割的關鍵。本方法根據實際需要,結合模糊集合及熵的概念,求解最小模糊度的閾值,有效地用于儀表圖像的自動分割。圖9 所示為ICM 分割后的儀表圖像。
圖9 改進ICM 分割圖Fig.9 Segmentation drawing for changing ICM
ICM 分割步驟如下。
步驟(1) 設定參數f=0.8,g=0.8,h=1 000,初始閾值θ=125,將圖像送出模型進行點火;
步驟(2) 完成初始分割后,確定隸屬度函數,令背景灰度期望為 μ0,目標的灰度期望為 μ1。C 為最大灰度和最小灰度的差值。任意像素X 的灰度和這一類像素的數學期望之間差別越小,成員函數μX( x)就越大。給定閾值θ=0.35,成員函數定義如下;
步驟(3) 根據香農函數Hf(x),對所有的灰度?求和,其中N 和M 表示圖像的行數和列數,Z 為灰度直方圖。計算模糊集合的熵E(θ)。若E(θ)不滿足所設定條件,則更改閾值,重復步驟(1)和(2)。當E(θ)為最小值時,θ 為最小化模糊度的閾值;
步驟(4) 將達到最小化閾值分割后的圖像進行二值化處理,以便于與骨架圖像擬合,找出指針位置,如圖10 所示。
圖10 提取指針圖Fig.10 Picture for picking up pointer
針對座艙儀表的多樣性,為了快速識別和檢測表針讀數,必須借助先驗知識,學習訓練后找出某類表的基本特征(量程和零刻度位置),完成對表針讀數的精準判斷。本方法采用判讀儀表標識的方法,對儀表進行歸類劃分[13]。找出儀表類別后,可通過先驗知識,得知儀表的量程、零刻度和最大刻度的具體位置,通過梯度法得知在最小和最大量程上的角度信息,為最終計算表針角度及讀數做好基礎。
(1) 針對指針,分別求x,y 方向的偏導數;
(2) 得到的向量表示為像素處的強度和方向;
(3) 通過先驗知識,得知零刻度線所對應的向量;
(4) 差值求解角度。
圖11 梯度算子示意圖Fig.11 Map for gradient
該算法以航空儀表為測試對象,部分測試結果如圖12 所示,表1 所示為測試數據。從表1 可見,本軟件偏離標準值的相對誤差在0.3%以內,測量精度準度高。此外,每幅圖的整個處理時間均在0.4 s 以內,符合識別檢測的實時性需求。與傳統Hough 變換、最小二乘法法及中心投影法相比,該算法大大優(yōu)化了儀表的計算機自動判讀過程,大幅提高了判讀的速率。
圖12 多目標提取指針Fig.12 Multi-target picking up pointer
表1 測試數據Table 1 Data for testing
(1) 分析目前主流識別儀表方法的基礎上,提出一種新型的座艙儀表識別和檢測方法。采用改進的Otsu 方法對圖像進行二值化處理,采用迭代式形態(tài)學方法提取儀表骨架,采用交叉視覺皮質模型提取邊緣及利用sobel 梯度算子來計算角度等。
(2) 儀表識別檢測的重點在于提取邊緣和骨架,確定指針的位置。利用改進的交叉視覺皮質模型提取指針的邊緣,在保證精度準度的基礎上提高了運行的速率。在計算指針讀數時,采用梯度最大下降法并結合先驗知識來計算角度,大大節(jié)省了運算的時間。
(3) 本方案的測量精度能夠達到識別檢測要求。
[1] Ferrero A, Lazzaroni M, Salicone S. A calibration procedure for a digital instrument for electric power quality measurement[J].IEEE Transactions on Instrumentation and Measurement, 2002,51(4): 716-722.
[2] 黃穎怡. 機器視覺儀表識別方法的研究進展[J]. 自動化儀表,2009, 30(8): 58-60.HUANG Yingyi. Research progress of machine vision instrument recognition[J]. Process Automation Instrumentation,2009, 30(8): 58-60.
[3] 陶冰潔, 韓佳樂, 李恩. 一種實用的指針式儀表讀數識別方法[J]. 光電工程, 2011, 38(4): 145-149.TAO Bingjie, HAN Jiale, LI En. An applied method for reading recognition of index-instrument[J]. Opto-Electronic Engineering,2011, 38(4): 145-149.
[4] Alegria F C, Serra A C. Automatic calibration of analog and digital measuring instruments using computer vision[J]. IEEE Transaction on Instrumentation and Measurement, 2000, 49(1):94-99.
[5] Szeliski R. Computer vision: Algorithms and applications[M].London: Springer, 2010: 10-50.
[6] 時軍艷, 劉樹聃. 基于噪聲檢測的自適應中值濾波算法[J].計算機工程與設計, 2011, 32(9): 3115-3118.SHI Junyan, LIU Shudan. Dynamic window-based adaptive median filter algorithm[J]. Computer Engineering and Design,2011, 32(9): 3115-3118.
[7] 王曉凱, 李峰. 改進的自適應中值濾波[J]. 計算機工程與應用, 2010, 46(3): 175-176.WANG Xiaokai, LI Feng. Improved adaptive median filtering[J].Computer Engineering and Applications, 2010, 46(3): 175-176.
[8] 汪海洋, 潘德爐, 夏德深. 二維Otsu 自適應閾值選取算法的快速實現[J]. 自動化學報, 2007, 33(9): 968-971.WANG Haiyang, PAN Delu, XIA Deshen. A fast algorithm for two-dimensional Otsu adaptive threshold algorithm[J]. Acta Automatica Sinica, 2007, 33(9): 968-971.
[9] Rosenfeld A. From image analysis to computer vision: An annotated bibliography[J]. Computer Vision and Image Understanding, 2001, 84(2): 298-324.
[10] Gonzalez R C, Woods R E. Digital image processing[M]. NJ:Prentice Hall, 2003: 5-30.
[11] 劉勍. 基于脈沖耦合神經網絡的圖像處理若干問題研究[D].西安: 西安電子科技大學電子工程學院, 2011: 21-38.LIU Qing. Research on several issues about image processing based on pulse coupled neural networks[D]. Xi’an: Xidian University. School of Mechano-Electronic Engineering, 2011:21-38.
[12] Johnson J L, Padgett M L. PCNN models and applications[J].IEEE Transaction on Neural Networks, 1999, 10(3): 480-498.
[13] Moghaddam R F, Cheriet M. A multi-scale framework for adaptive binarization of degraded document images[J]. Pattern Recognition, 2010, 43(6): 2186-2198.
[14] Palmer P L, Kittler J, Petrou M. Using focus of attention with the Hough transform for accurate line parameter estimation[J].Pattern Recognition, 1994, 27(19): 1127-1133.