劉輝煌, 王國潞, 李 雷, 占日新
(1.中國直升機設計研究所,江西 景德鎮(zhèn) 333001; 2.中國人民解放軍32075部隊,江蘇 南京 210018)
不可超越速度(Velocity Never-Exceed,VNE)是指飛行器禁止在該速度以上運行,否則會導致機體結構損壞、操縱失效或其他直接影響飛行安全的情況出現(xiàn)[1]。在直升機試驗試飛時,不可超越速度是衡量直升機性能的一項重要指標,在其制定過程中需要經(jīng)過嚴格的理論驗證和試飛論證,其測試結果也將直接影響到新型號的經(jīng)濟性和市場前景。
VNE分為有動力和無動力兩種,前者表示發(fā)動機正常提供動力時的不可超越速度,后者表示脫開發(fā)動機動力狀態(tài)時的不可超越速度,兩者都受高度、旋翼轉速、溫度和質量的影響[2]。在VNE的測試中,其計算模型將多個機載傳感器變量作為輸入,通過改變輸入值來對比空速表上VNE值是否與實際計算值相等。因此在常規(guī)測試中,往往需要人工輸入測試用例,并采用目視估計進行測試用例比對,不僅費時費力,而且測試準確率不高,給直升機性能參數(shù)測試論證帶來很大困難[3-4]。此外,VNE測試為實現(xiàn)覆蓋測試所需的用例多、結合地面聯(lián)試的特點,測試用例的執(zhí)行總次數(shù)將非常龐大。
近些年,從設備的顯示界面出發(fā),各種自動化測試方法不斷被提出,且取得了不錯的效果,其主要原因在于能夠從非結構化的圖像中提取結構化的描述,具有較強的針對性,而且能夠確保系統(tǒng)的安全性。一般而言,采用人工智能算法可確保一定的效率和精度,但是其缺點是具有較高的復雜度,而且魯棒性無法得到保證。而采用傳統(tǒng)的識別方法往往無法對特征進行有效的提取,因此存在識別率低的問題。而且在測試過程中,采集圖像時容易受到環(huán)境光照和各種噪聲的影響,從而導致VNE的自動準確識別具有較大挑戰(zhàn)性[5]。
為了實現(xiàn)VNE的自動準確識別,本文提出一種基于霍夫變換和時頻域特征的VNE自動識別算法。為了緩解環(huán)境中噪聲帶來的影響,采用高斯濾波對圖像進行增強處理,避免因噪聲帶來后續(xù)的誤識別。然后將圖像轉化為二值圖像,并采用霍夫變換對圖像中的直線進行檢測,通過先驗信息篩選得到有動力VNE和無動力VNE指示線。為了獲得指示線對應的讀數(shù),同樣采用霍夫變換定位并提取到實時空速區(qū)域,并從時域和頻域構造圖像的LBP(Local Binary Pattern,局部二值模式)和感知哈希融合特征,進而進行模板匹配識別讀數(shù),最后定位到實時空速區(qū)域上下刻度的位置,利用相對位置關系估算得到指示線的VNE值。將該識別算法集成到VNE自動測試系統(tǒng)中,在軟件層面實現(xiàn)了自動化測試,從而為VNE自動化測試系統(tǒng)的實現(xiàn)提供了可行性和可靠性論證,為直升機性能參數(shù)自動化測試等提供了新的思路。
在自動化測試場景中,基于圖像識別技術的VNE自動化測試系統(tǒng)架構主要包括圖像采集、圖像自動識別和測試結果顯示與輸出三大模塊。主要流程可以概述如下。
① 相機接收到計算機給出的觸發(fā)信號,開始采集圖像,并將采集到的圖像傳輸給計算機,每一次觸發(fā)信號采集一幀圖像,并對應一個測試用例。
② 計算機在接收到圖像數(shù)據(jù)后,首先進行圖像預處理,隨后提取空速刻度帶區(qū)域,并定位到有動力VNE和無動力VNE指示線。之后,提取刻度帶上實時空速區(qū)域,并對實時空速進行識別,從而定位到當前畫面中任意的兩個刻度所對應的值和位置,最后通過位置關系換算得到有動力VNE和無動力VNE所對應指示線的值。
③ 將有動力VNE和無動力VNE識別結果與測試用例基準值進行對比,從而得到測試結果并輸出。
VNE自動識別算法作為自動測試系統(tǒng)中的核心部分,通過對已采集的圖像進行空速表區(qū)域提取、圖像預處理、指示線定位、實時空速上下刻度識別和VNE估算等一系列算法處理,從而將識別的VNE值和測試用例進行比對,得到最終的測試結果輸出,VNE自動識別流程如圖1所示。
高斯濾波作為自動識別算法的預處理操作,主要為了緩解環(huán)境因素所帶來的噪聲干擾,增強圖像的細節(jié)表現(xiàn)。指示線定位主要采用霍夫變換進行處理,從而準確有效地檢測到圖像中的直線,并通過長度等先驗信息篩選有動力VNE和無動力VNE指示線。實時空速識別與位置獲取主要為了獲得實時空速區(qū)域,并識別對應的空速值,最終采用時頻域特征結合的方式獲得指示線對應的刻度值,從而計算有動力VNE和無動力VNE。
在自動化測試過程中,圖像尺寸成為制約VNE識別速度的主要因素,為了提升算法的識別效率,僅提取空速表區(qū)域進行處理。由于測試圖像為固定位置的相機所采集,圖像中空速表的位置不變,通過交互提取空速表的左上和右下頂點坐標,并定位后續(xù)圖像中的空速表區(qū)域。
由于環(huán)境中光照變化、硬件電路元器件相互影響和圖像傳輸過程中存在噪聲等因素,導致采集的圖像受到一定程度的噪聲污染,因此需要對其進行去噪、增強等處理,從而凸顯細節(jié)區(qū)域。
圖1 VNE自動識別流程
高斯濾波[6]是一種線性平滑濾波,通過對圖像中每個像素點本身和其鄰域進行加權平均,從而達到去除圖像中噪聲和平滑圖像的目的。高斯模板由高斯公式計算得到,表達式為
(1)
式中:(x,y)為濾波器的中心像素點坐標;σ為標準差。本文分別對圖像的R、G、B三個通道進行濾波處理,再將3個濾波后的通道圖像進行合并,經(jīng)過高斯濾波后的圖像如圖2所示。
圖2 圖像高斯濾波結果
從圖2中可以發(fā)現(xiàn),經(jīng)過高斯濾波后的圖像細節(jié)信息更為明顯,局部特征保留完好,有利于后續(xù)VNE值識別。
霍夫變換作為一種從圖像空間到參數(shù)空間映射的方法,具有清晰的幾何解析性,容錯性和魯棒性較好,而且具有較可靠的直線提取能力,因此能夠有效提取圖像中的直線特征,獲得不同顏色和線型的指示線位置[7-8]。其基本原理是利用點與線的對偶性,將圖像坐標系中一條直線上所有點通過參數(shù)表達式轉換到參數(shù)坐標系中,形成N條直線,將檢測問題從原始圖像空間的整體變換到參數(shù)空間中的局部問題[9-10]。
直線在直角坐標系下的直線方程式為
y=kx+b
(2)
式中:k為斜率;b為截距;(x,y)為直線上任意一點的坐標。當使用霍夫空間參數(shù)為ρ-θ時,將直角坐標系中的某一直線使用參數(shù)方程表達式變換到極坐標系中,極坐標方程為
ρ=xcosθ+ysinθ, 0≤θ≤π
(3)
將直角坐標系中任意一點(xi,yi)作為已知量,那么k、b為變量坐標。將極坐標系(ρ,θ)作為變換空間,點(xi,yi)在極坐標系中的參數(shù)方程式為
ρ=xicosθ+yisinθ, 0≤θ≤π,ρ≥0
(4)
式中:x=ρcosθ;y=ρsinθ;ρ為極點O與點P的距離;θ為射線按逆時針方向與極軸的夾角。直角坐標系中直線上的所有點通過極坐標方程轉換到極坐標系中可以得到N條正弦曲線,且聚焦于同一點。
有動力VNE和無動力VNE指示線具有明顯的顏色區(qū)分性,紅色實線代表有動力VNE指示線,紅白相間線表示無動力VNE指示線。為了識別紅色線,采用顏色特征將像素點逐一判別轉換為二值圖像。指示線的定位采用霍夫變換進行直線檢測,并利用長度等特征篩選符合條件的直線,從而得到有動力VNE指示線的上下端,進而得到刻度線的中心位置。二值圖像與其對應的霍夫空間如圖3所示。采用同樣的步驟對無動力VNE指示線進行處理,得到的二值圖像和其對應的霍夫空間如圖4所示,定位結果如圖5所示。
圖3 有動力VNE二值圖像及對應的霍夫空間
圖4 無動力VNE二值圖像以及對應的霍夫空間
圖5 有動力VNE和無動力VNE指示線定位結果
模板匹配[11-12]作為一種高效的圖像相似度計量方法,其將待識別圖像或圖像區(qū)域中提取的若干特征量與模板相應的特征量逐個進行比較,計算它們之間歸一化的互相關量,并將圖像分到最大互相關量對應的類。在匹配過程中,圖像相似度計算是對兩幅圖像進行相似程度打分,根據(jù)分數(shù)的高低判斷圖像內容的相近程度。其中常見的相似度計算方法有直方圖匹配[13]、奇異值分解(Singular Value Decomposition,SVD)[14]和特征點相似性[15-16]等。直方圖匹配方法反映的是圖像像素灰度值的概率分布,而忽略了像素在圖像中的位置信息,而且采用歸一化相關系數(shù)計算向量的相似性,會導致圖像的空間信息丟失,因此度量結果具有一定的局限性。SVD是基于圖像整體的表示,雖然通過SVD可以得到穩(wěn)定、唯一且低維度的特征描述,提高抵抗干擾和噪聲的能力,但是由于SVD得到的奇異矢量中有負數(shù)存在,難以較好地解釋其物理意義[17]?;谔卣鼽c的相似性度量方法主要思想是提取圖像特征點,以此表示圖像中的角點、拐點等信息,最后通過兩幅圖像特征點的個數(shù)或差異衡量其相似程度。常見的特征點表示方法有Harris角點[18]、SIFT特征點[19-20]、LBP特征點[21]和感知哈希編碼[22]等。
LBP算法一般用來描述圖像局部紋理特征,在圖像處理和計算機視覺領域具有廣泛的應用。由于LBP主要用于描述圖像局部紋理特征,通過測量像素與其周圍像素之間的差異,并捕獲局部圖像紋理的空間結構[23],有利于描述各種復雜場景下的圖像,十分適用于低維圖像特征表示。LBP編碼的計算方式為
(5)
(6)
式中:gc為中心像素的灰度值;gp為半徑R圓域內像素的灰度值,其中,下標p為鄰域內每個像素點對應的標號,p=0,1,…,P-1,P為鄰域像素點個數(shù)。
操作算子CLBP_P,R通過中心像素點周圍的P個像素產生2P個不同的二進制模式,但是圖像一旦旋轉,相鄰像素將沿著圍繞中心像素的圓周相應地移動,因此將產生不同的CLBP_P,R值。為了獲得唯一的CLBP_P,R值,研究者提出了旋轉不變LBP[24],對應表達式為
(7)
(8)
僅采用LBP特征來衡量兩張圖像相似度往往只關注時域內容,而忽略了圖像頻域上的差異,因此具有一定的局限性。為了增強模板匹配的穩(wěn)定性和準確性,本文采用時頻域特征融合的相似度計算方法,分別提取目標圖像和匹配圖像中時頻域特征,并將其進行編碼和融合,計算其相似度。感知哈希算法具有良好的頻域特性,計算過程較為簡單,其原理是采用離散余弦變換來獲取圖像的低頻成分,有效減少了圖像中的冗余特征,并且有效避免伽馬射線校正或顏色直方圖被調整所帶來的影響[25]。但是,由于感知哈希算法僅考慮了圖像的低頻分量,而忽略了高頻分量帶來的影響,因此損失了圖像中對邊緣和輪廓的度量。為了避免圖像頻率分量的損失,本文將頻域圖像分塊,并分別計算每個圖像塊的哈希編碼,最后對所有圖像塊哈希編碼進行連接。綜合考慮時域和頻域特征上的優(yōu)勢,將圖像進行LBP特征提取之后,再采用感知哈希算法進行編碼,從而得到時域特征,將時域編碼和頻域編碼進行連接,得到圖像的時頻域特征表示。最后對目標圖像和匹配圖像的特征進行異或運算,從而得到相似度?;跁r頻域特征的模板匹配過程如圖6所示。
圖6 基于時頻域特征的模板匹配
實時空速區(qū)域的上下端具有兩條較長的灰色直線,因此可以利用該先驗信息進行定位。采用VNE指示線定位的思路,首先利用顏色特征將其轉換為二值圖像,隨后采用霍夫變換得到上下直線的位置,最后提取實時空速區(qū)域。具體處理過程如圖7所示。
圖7 實時空速區(qū)域提取流程
為了準確識別空速區(qū)域的數(shù)值,先對空速區(qū)域進行字符分割,然后分別識別單個字符。由于字符在垂直方向上的投影必然在字符間或字符內間隙處取得局部最小值的附近,因此在較為復雜的環(huán)境下垂直投影法能對字符進行較為準確的分割。
通過對字符進行分割,可以對每個字符進行識別,一般采用神經(jīng)網(wǎng)絡算法[6]和模板匹配算法。相較于神經(jīng)網(wǎng)絡算法,模板匹配算法具有簡單易理解、速度快且精度高的特點,因此本文采用模板匹配算法對單個數(shù)字進行識別,具體處理流程如圖8所示。
圖8 實時空速識別流程
為了得到實時空速上下刻度值,在實時空速基礎上增加和減少一個偏移量,即可得到上下刻度值。然后采用基于時頻域特征的模板匹配分別進行定位,具體處理流程如圖9所示,具體步驟如下。
圖9 上刻度值定位流程
① 由于刻度值都是10的倍數(shù),因此模板庫可以針對這一特性進行制作,即每一張模板圖像都是10的倍數(shù)的數(shù)字,且圖片以該數(shù)值進行命名。
② 為了提升模板匹配的效率,對刻度帶的數(shù)值區(qū)域進行提取,從而使得寬度與模板圖像寬度相同。
③ 從模板庫中讀取上刻度所對應的模板圖像,并從上至下依次從刻度帶區(qū)域進行滑動,每滑動一次計算一個匹配相似度,相似度最大的位置即為上刻度的位置。對于下刻度值的定位,重復上述步驟即可。
當?shù)玫缴舷驴潭戎档奈恢煤?,直接采用相對位置關系換算得到指示線處的讀數(shù),即VNE值。具體表達式為
(9)
式中:Su、Sd、SVNE分別為上刻度值、下刻度值和VNE指示值;lu、ld、lVNE分別為上刻度坐標、下刻度坐標和VNE指示坐標。
VNE自動測試軟件基于MATLAB開發(fā),可以實現(xiàn)測試用例導入、VNE識別和測試結果顯示與輸出。VNE指示線定位作為軟件算法實現(xiàn)過程中的關鍵環(huán)節(jié),對識別結果有較大的影響,因此本文對軟件的指示線定位性能進行分析。為了分析VNE指示線在不同位置處軟件的指示線定位性能,本文對測試圖像進行處理,得到部分測試結果如圖10所示,藍色線表示定位位置。
圖10 部分指示線定位結果
為測試軟件的實際檢測效果,將測試用例導入到系統(tǒng)中,通過軟件讀取每一幀圖像,并對每一幀圖像進行識別,將識別結果與測試用例進行比對得到相應的測試結果。由于測試用例有限,本文僅采用1000份測試樣例進行分析,分別計算識別準確性、系統(tǒng)穩(wěn)定性和檢測效率,進而對軟件的可行性進行探討,測試結果如表1所示。系統(tǒng)穩(wěn)定性的評估通過隨機抽取100個測試用例,對其進行重復測試,每個測試用例的測試結果相同則表示穩(wěn)定,否則表示不穩(wěn)定。
表1 測試結果對比
上述特征提取方法中,基于Harris和SIFT提取圖像特征點的方法具有較高的時間復雜度,在耗時方面均比其他方法長,但是其能保持一定的準確性。而采用直方圖匹配和SVD的方法雖然具有較短的檢測時間,但是其準確率偏低。而采用LBP特征的方法具有一定的優(yōu)勢,由于其提取特征的稀疏性,能夠表達圖像中更多的特征,因此其準確率和檢測效率均較高。
綜合分析不同的方法,不同特征構造方法在準確率、穩(wěn)定性和檢測時間方面均存在不足,而本文采用的時頻特征融合方法具有較強的魯棒性,能夠有效提高VNE識別的準確率,檢測效率相比其他方法有了較大提升,也能夠滿足實際場景的需要??傊?,本文提出的方法無論是系統(tǒng)穩(wěn)定性方面,還是識別準確率和效率方面,都具有一定的競爭性。
為了實現(xiàn)VNE值的高效自動化識別,本文提出一種基于霍夫變換和時頻域特征的VNE自動識別算法,并在此基礎上設計了一款自動化測試軟件。經(jīng)過實際測試驗證,結果表明該軟件能夠高效地對VNE值進行準確自動化識別,且操作簡單,交互界面友好,在直升機VNE參數(shù)的自動化識別中具有較高的效率,同時為其他自動化測試提供了新的思路,有效節(jié)省了測試時間和測試成本。