吳禹倫
(中國民用航空飛行學院 航空工程學院,四川 廣漢 618307)
飛機駕駛艙儀中存在著大量旋鈕,飛行員在飛機運行過程中通過旋鈕對飛機儀表進行調節,從而保證飛機安全運行。本文擬進行識別的旋鈕形狀為圓形,旋鈕表面有指示線指示其對應檔位,這種旋鈕常具有固定檔位。因其形狀與指針式儀表相似,所以可以借鑒指針式儀表進行識別。
現在關于指針式儀表讀數圖像識別的研究很多。文獻[1]分別利用二值化、連通域提取、圖像細化等圖像處理方法提取指針,利用指針頂點和底點坐標位置關系以及指針圖像坐標完成讀數識別。文獻[2]概述了幾種常用的儀表讀數識別檢測方法,提出了一種基于計算機視覺的儀表讀數方法。首先對圖像進行濾波處理以改善圖像質量,并改進類間方差法(Otsu)進行,實現儀表圖像的二值化。其次,提取儀表的邊緣,采用骨架提取方法提取指針。最后,利用最大梯度下降法實現指針讀數識別。文獻[3]改進了梯度下降法提取直線的缺點,且在對比度較低時優勢明顯,但抗噪性差。為克服外界環境的影響,文獻[4]在進行圖像處理前利用圖像中值濾波和基于Retimex 的圖像增強算法進行圖像預處理。該方法對外界復雜因素的影響具有較好的魯棒性。
本文以位于飛機駕駛艙儀表板上的旋鈕為原始圖像,如圖1 所示。以識別旋鈕所在檔位為研究重點,先決條件是旋鈕水平放置且在識別過程中旋鈕位置與攝像頭位置相對固定。由圖1 可知,該圖像中最長的直線為旋鈕指示線,且該指示線像素值與其他區域像素值相差明顯,所以可以利用像素值特征提取旋鈕指示線。如圖1 所示,旋鈕一般具有幾個固定檔位。分別確定指示線位于這些檔位時所在直線在參數空間的角度,當旋鈕旋轉到某一檔位時,找到其對應的角度,即可確定旋鈕當前的檔位。

圖1 旋鈕原始圖像
對旋鈕工作狀態進行圖像處理的目標是提取圖像中旋鈕指示線,同時去除圖像的干擾像素信息,包括圖像灰度處理、圖像二值化和圖像腐蝕3 個環節。
2.1.1 圖像灰度處理
旋鈕工作狀態圖像識別的核心是提取旋鈕指示線,與顏色無關。利用灰度處理將彩色圖像轉換成灰度圖像。采用加權平均法進行灰度處理,處理公式如下:
GrayBuf[i]=(Inage[3*i+2]*76+Image[3*i+1]*150+I mage[3*i]*30)
經過灰度處理的圖像最顯著的變化是將原有24 位真彩色圖像轉換為8 位灰度圖,在減少數據量的同時保留了關鍵數據。旋鈕圖像灰度處理結果如圖2 所示。

圖2 指針式儀表灰度處理圖像
2.1.2 圖像二值化處理
圖像二值化是設置合理的閾值將圖像分為前景和背景兩部分。具體做法是遍歷圖像所有像素值,以閾值為判斷條件,當圖像點像素值大于該閾值時該圖像點賦值為0xFF,當圖像點像素值小于閾值時該圖像點像素值賦值為0。利用灰度直方圖對圖2 的灰度值進行統計,確定旋鈕指示線的灰度值,以此為二值化閾值對圖像進行處理。圖像二值化結果如圖3 所示。

圖3 旋鈕二值化圖像
可見,經過二值化處理后,旋鈕圖像中與示數等無關信息被去除,同時圖像中存在的陰影被去除,進一步突出了旋鈕指示線像素信息。
2.1.3 圖像腐蝕處理
利用腐蝕函數進一步去除圖像中的殘留干擾像素信息,具體做法可以分成兩步。
(1)建立結構元素。結構元素又稱圖像掩膜,是圖像處理的最小單元。建立一個3×3 的結構元素,常用的兩種結構元素為十字交叉型和標準的正方形。十字交叉型結構元素可以保留圖形的細節信息,但是腐蝕速度較慢。相比之下,標準正方形結構元素則在腐蝕大區域像素時效果更好,但是會丟失圖像細節信息。
(2)圖像遍歷。將結構元素與圖像重合,找到圖像像素的八鄰域像素中掩膜值為1 對應的像素中的最小值,將其設置為該點像素值。多次遍歷所有像素點,直到去除圖像中干擾像素點為止。將上述兩種結構元素相結合對圖像進行腐蝕,腐蝕結果如圖4 所示。由圖3 可見,腐蝕函數將與旋鈕工作狀態識別無關的像素全部去除,并且沒有影響旋鈕指示線的連續性。

圖4 指針式儀表腐蝕處理圖像
2.2.1 旋鈕指示方向的確定
旋鈕多為類似圓形的形狀,檔位線常常分布在圓形四周。旋鈕的兩個檔位存在分布在一條直線上的可能,會給讀數造成困難。所以,在識別前將旋鈕分為4個部分,比較旋鈕指示線在4 個區域內的像素點數,確定其所在位置,區分在一條直線上的檔位。根據先決條件可知,旋鈕的位置相對固定,識別前可預先人為確定旋鈕中心像素點位置,將旋鈕圖像大致分為4個位置。統計像素坐標分布位置,找到分布點數最多的區域,即為旋鈕指示線的方向。
2.2.2 旋鈕指示線角度確定
經過上述圖像處理后,圖像中僅剩余旋鈕指示線像素。確定該指示線所在直線的最常用方法為霍夫(Hough)變換。霍夫變換(Hough)受圖像中噪聲影響較小,識別結果精度較高。
霍夫變換一般被稱為線-點變換,利用線與點的對偶性,位于圖像空間中的一條直線在參數空間中有唯一一點與之對應。它將直角坐標系中線變為極坐標系中的點。在霍夫變換中,直線方程式的極坐標形式為:

其中,ρ為在直角坐標系中這條直線到坐標原點的距離。在直角坐標系中,α表示該直線的法線與x軸的夾角。
霍夫變換利用了直線與點的對偶性,即位于圖像空間中的一條直線在參數空間中有唯一一點與之對應[3]。采用投票機制,將參數空間離散細化成多個小單元,并在每個小單元中設置一個累加器,每個累加器的坐標為(β,ρ)。將圖像中非背景點的坐標帶入式中,遍歷(-90°,90°)上所有點求出對應的ρ值,并在對應的累加器(β,ρ)上進行累加。找到累加器中最大值位置坐標,即所求直線對應的參數。霍夫變換的另外一個優點是這種形式有效解決了直線斜率為0的情況。
由霍夫變換原理可知,首先要對參數空間進行離散化。離散化提高了檢測直線的精度,同時增大了霍夫(Hough)變換的計算量,所以應對參數空間進行合理劃分。β角的取值范圍設定為-90°~90°,將其離散成300 個取樣點,則共有300 個離散點。設置的ρ的離散點為600 個,則極徑最大長度被離散成600 個點,則霍夫空間共由180 000 個離散點構成。為減少計算量,提高運算效率,提取旋鈕指示線的像素坐標,并將其帶入霍夫(Hough)變換進行計算,得到該直線所在霍夫空間。遍歷參數空間,找到最大值點對應的坐標,即為直線在參數空間的參數。
首先,驗證霍夫變換檢測旋鈕指示直線的位置。用圖5 進行驗證,結果分別為-25.585 3°和-90°。
經上述圖像測試可知,霍夫(Hough)變換識別結果準確,可用于識別旋鈕指示線所在直線。圖4 中的兩條直線為平行關系,在遍歷霍夫空間尋找最大值時會找到兩個最大值。因為本文是以角度確定直線,僅需掃描到第一個極大值即可。
利用霍夫變換檢測圖1 中6 個檔位對應的角度分 別 為 -90 °、-45.451 5 °、0.900 83 °、45 °、90.127°、-45.451 5°。結合前文旋鈕指示方向確定方法,即可實現讀數識別。

圖5 檢測直線圖像
本文利用旋鈕指示線像素值與其他顏色像素值相差明顯的特點,將旋鈕指示線從背景中分割出來,再經過圖像形態學處理腐蝕操作得到旋鈕指示線所在直線,然后對旋鈕圖像進行區域劃分,得出直線方向;利用霍夫變換檢測檔位對應角度,根據角度與旋鈕檔位對應關系完成旋鈕檔位識別。實驗表明,測試結果與旋鈕實際所在檔位誤差較小,表明該方法在一定條件下有效、可行。但是,該算法還存在不足的地方,如不同光線條件對旋鈕檔位識別的影響。因此,對于上述兩種情況還需進一步研究。