高 林
(西安航天動力試驗技術研究所, 西安 710100)
沖壓發動機試驗過程中,位移參數是試車臺結構健康監測和損傷識別的重要測量內容之一。試車架、滑動密封段甚至螺栓等小型結構是否安全都需要依靠長期位移監測來判斷。傳統的沖壓發動機試驗中采用拉桿式位移傳感器對試車臺結構件進行位移測量,但面臨難以找到合適的固定基準點及高溫環境下傳感器布置困難等問題。而基于視覺的非接觸式測量本質上是基于攝影測量的方式[1],最初廣泛應用在橋梁變形的實時監測上,具有非接觸、易操作、適應性強和工作環境要求低等優點,并可以避免上述問題。
基于視覺的位移和形變的測量方法有數字相關法(Digital Image Correlation Method,DICM)和光流法(Optical Flow Method,OFM),這些方法是物體小位移和形變測量常用的方法。DICM 法是20 世紀80 年代初由美國南卡羅納大學Peter 和Ranson 與日本Yamaguchi 等研究人員幾乎同一時間提出的檢測方法[2],是用于測量全場位移的最常見的圖像處理技術。DICM 的非接觸測量已經在實驗力學[3]、生物力學、土木工程、機械工程、增材制造[4]和航天工程[5]中廣泛應用。然而,針對同一面內的兩物體相對運動之間的小位移監測以及對于噪聲背景前的標記測量,由于噪聲背景導致的相關性損失,DICM 不能很好工作。OFM基于兩幀圖像計算出了同一像素位置的位移量,衍生出很多相關算法,應用在物體位移和振動測量方面。但是該方法同時也受試車臺背景復雜的光照的影響較大,導致相關性損失,使測量數據不準確[6]。此外,針對滑動密封段的兩物體相對運動的跟蹤算法還有特征點匹配的方式,如SIFT 算法[7]和SURF 算法[8],但是需要高額的計算花費,實時性不強。
針對沖壓發動機試驗面內小位移測量的實時性和精確性要求,本文對傳統的角點檢測算法[9]進行改進,提出了一種基于視覺的滑動密封結構遠程、非接觸、高精度測量跟蹤系統。
當前沖壓發動機試驗中,發動機的燃燒室受高溫膨脹發生形變,導致滑動密封段產生微小緩慢的位移,如位移量過大,會破壞滑動密封結構且對試車臺健康產生影響。傳統方法采用位移傳感器測得位移量,由于燃燒室附近溫度較高,傳感器受高溫容易脫落或燒毀,且長時間受振動等復雜環境影響易發生損壞。此外,其測點安裝位置受空間約束且測點單一,基于傳統的角點檢測算法識別出的標記易發生截斷,和附近物體發生連接效應,使測量值不準確。
為提高檢測算法的魯棒性和測量的精度,滿足試驗過程中實時監測位移數據的要求,基于拉格朗日插值進行角點檢測算法優化和卡爾曼濾波設計了一種面內微小位移高精度的攝影測量方法。將面內標記物的測量抽象為圖1 所示面內位移測量基本原理。通過HALCON[10]標定實驗獲取像素和位移長度的關系,求出了相機內參矩陣、外參矩陣以及相關系數,即得到一個比例系數,通過圖像中被測位移量的變化反推出被測物體空間中的位移量。從圖1 中可以看到空間三維坐標系物體上某個反光點的三維坐標(xw,yw,zw)到攝像機采集的圖像中該點的像素二維坐標(xu,yv)的變換關系。

圖1 面內小位移測量基本原理Fig.1 Fundamentals of small displacement measurement in surface
在沖壓發動機直連試驗中,加熱器和燃燒室受高溫膨脹發生形變,從而導致補償的滑動密封器發生緩慢而微小變加速移動,如圖2 下方圖箭頭方向,加速度先增后減,位移曲線呈指數型,平均速度約0.3~0.4 mm/s。由于滑動密封器附近有高溫氣流,以及受空間約束特點,攝像機需與滑動密封段上標記物保持一定安全距離。由于滑動密封段自身特點,基于數字散斑法測位移的方式在此處不適用,需要研究新的測量方法。通過在滑動密封段左右兩側粘貼標記的方式進行目標識別定位,標簽可選用3D 打印的黑色標記,材質為耐高溫不變形復合材料,并配合不變形不流動的高溫膠使用。此外,在溫度更高的條件下可采用噴涂方式實現標記制作,當前市面上耐800 ℃以上的噴涂材料較為常見,特殊材料可耐1000 ℃以上,滿足沖壓發動機試驗位移測量要求。圖2 左側標記尺寸設計為10 mm×20 mm,邊緣設計為3 ~5 mm 的白色,以保證算法高效并準確識別出黑色邊緣。

圖2 沖壓發動機試驗位移測量標記部署示意圖Fig.2 Diagram of mark deployment in displacement measurement of ramjet test
拉格朗日插值屬于非線性插值的一種,具有較快的性能和較高的圖像細化能力。一次拉格朗日插值法可以得到線性插值16 倍的細化能力,通過多次拉格朗日插值法可以得到幾百倍的邊緣細化能力且保持更高的測量精度,其表達式如式(1)所示[11]。
式中,LN,k(x)表示插值的權重,yk表示某像素點,RN(x)是插值后的某像素灰度值。該表達式以等冪形式對稱排列,數值計算具有穩定性,具有唯一解,在定義區間內是連續的,標記圖像邊緣連續,與該函數特征保持一致。
對多次插值結果進行調優,實驗表明將圖像進行Canny 算子濾波后再進行亞像素插值,可得到很好的亞像素精度的測量結果,其中采用的雙兩次拉格朗日插值法原理圖如圖3 所示。

圖3 雙兩次拉格朗日插值原理圖Fig.3 Schematic diagram of double Lagrange interpolation
實驗的測量結果是二維的位移曲線數據,受實驗設備調試參數、實驗設備精度等因素影響,實際的測量曲線不可避免地摻雜非線性噪聲干擾。基于本文系統的特點與實時性要求,采用卡爾曼濾波算法來減弱噪聲對測量結果的干擾,以提高位移測量的精度。
通過遞歸更新方法[12],建立系統模型,如圖4 所示,對當前狀態進行估計,并使狀態的測量值和卡爾曼濾波估計值均方誤差最小。

圖4 卡爾曼濾波信號處理模型Fig.4 Signal processing model of Kalman filter
經典的基于視覺的位移測量方法一般包括3步:采集高質量圖像、圖像算法處理、工程優化。
如圖5 所示,要測量滑動密封段粘貼標記物圖像的亞像素位移量,首先需要循環讀取視頻數據,分別對每幀數據進行去除畸變處理;然后再進行Canny 算子濾波處理,對濾波后的每幀圖像進行雙兩次拉格朗日插值處理;利用上一步的實驗數據再進行亞像素閾值分割并進行二值化閾值計算,取感興趣區域(Region of Interest,ROI)圖像,進行形態學閉運算,對ROI 區域圖像進行標記輪廓搜索;搜索到后計算標記輪廓的一階中心矩,并計算2 個標記輪廓之間每幀圖像的相對位移量;得到的相對位移量是亞像素級位移,對該亞像素級位移進行卡爾曼濾波處理,后繪制曲線和保存數據。

圖5 本文算法流程圖Fig.5 Flowchart of the algorithm in this paper
圖6 為位移測量系統示意圖和實驗搭建實物圖,實驗中用到的主要儀器有高分辨CMOS 相機、鏡頭、LED 光源、采集計算機和黑色標記。CMOS相機為國產工業相機,分辨率為4608×3456,鏡頭為3.2~18 mm 的變焦鏡頭,最大幀率為30 幀/s。實驗中采用LED 單色光源對標記物進行光照補償,通過調節相機的曝光時間使得標記物邊緣清晰銳利,程序運行在后端計算機,相機和采集計算機通過USB 轉網口線進行連接,數據傳輸可達300 MB/s,可以滿足視頻和位移數據的實時回傳要求。

圖6 位移測量系統示意圖和實驗實物圖Fig.6 Schematic diagram of the displacement measurement system and photo of the hardware
實驗對某沖壓發動機直連試驗位移視頻數據進行離線驗證,算法驗證所用計算機配置如下:系統為64 位Windows 10,CPU 2.3 GHz,所用編程工 具 為 VS2019 + OpenCV4.0。視 頻 錄 制 為30 幀/s 的1080P 分辨率視頻,后截取分辨率為1430×878、時長為45.62 s 視頻。首先將攝像機固定在三腳架上,調節水平調節器,使攝像機接近水平狀態;然后,將三腳架對準方形標記物的中心位置,調整攝像機和標記物之間的距離,使得2 個標記物位于攝像機取景框的中心位置;最后,使用編程工具對視頻處理得原始圖(圖7(a))、灰度圖(圖7(b))、形態學處理圖(圖7(c))和目標提取圖(圖7(d))。

圖7 沖壓發動機試驗位移算法處理過程Fig.7 Processing of displacement algorithm in ramjet test
在實驗全程時間段內,如圖7(d)所示,視頻中目標隨著滑動密封段位移穩定地移動,目標從背景圖像中提取清晰。圖7(c)中右側標記受光照影響發生截斷效應,同時圖7(c)中右側標記和螺栓發生了連接效應,但是不影響圖7(d)中目標的提取和一階中心矩的計算,可以驗證算法具有較高的魯棒性。
圖8 為本文算法與拉桿式位移傳感器測得的位移截取圖,圖中藍色數據存在噪聲干擾,未進行卡爾曼濾波,拉桿式位移傳感器進行了校準標定,采樣率100 spot/s。

圖8 本文算法與位移傳感器測得位移比對圖Fig.8 Comparison of displacement by this algorithm and measurement by the displacement sensor
如表1 所示,圖像算法測得的最大位移為15.7795 mm, 位移傳感器測得最大位移為15.7990 mm,兩者相差0.0195 mm,精度達到±0.02 mm。同理,取本文算法中間時刻數據13.5017 mm,對應地,取拉桿式位移傳感器對應數據為13.467 mm,兩者相差0.033 mm,精度達到±0.03 mm,但圖像算法在0 ~400 幀表現不太理想,這是因為沖壓發動機啟動瞬間會產生劇烈的振動和噪聲,對本文圖像算法產生了一定干擾,需采用補償或濾波算法進行優化。

表1 圖像算法與拉桿式位移傳感器測量結果比較Table 1 Comparison between this algorithm and the measurement results of the pull rod displacement sensor
假設噪聲符合標準高斯正態分布,滑動密封段緩慢移動可以簡化為線性微分方程,疊加噪聲模型建立卡爾曼濾波線性狀態模型。通過Matlab 2019b 軟件仿真實驗,將拉桿式位移傳感器獲取數據作為真實值,將攝影測量值作為觀測值。為了保持拉桿式位移傳感器測量數據和本文采集的原始數據保持數據點數一致,假設每隔5 點取1個數,得到圖9 中,其中卡爾曼濾波結果如圖中藍色曲線所示。卡爾曼濾波結果和真實值的差值平均約為±0.01 mm,算法在3 幀內快速收斂(以30 幀/s 采集,在0.1 s 內算法收斂),算法測量精度較未進行 卡 爾 曼 濾 波 提 升 了 3 倍( ± 0.03 mm/±0.01 mm),和真實值擬合較好,算法性能各方面均表現優秀。

圖9 卡爾曼濾波對比結果圖Fig.9 Contrast of Kalman filter with real values
針對如圖10 中ROI 區域218×132 分辨率的視頻,優化前算法執行大概需要60 s 時間,采用繼續縮小感興趣區域、SIMD 指令集、多線程技術結合執行優化后,對于同分辨率同一視頻,算法處理結束不到10 s,而視頻總幀數約為1500 幀,算法幀率達到了150 幀/s,算法性能提升了6 倍多,遠高于位移實時測量要求。

圖10 在線實顯軟件界面截圖Fig.10 Screenshot of online display software interface
針對沖壓發動機直連試驗過程中傳統方法采用位移傳感器受高溫難布置、易脫落和測點單一等問題,本文提出了沖壓發動機試驗復雜背景下面內水平和垂直位移的高精度測量方法。
1)該方法保持了空域亞像素圖像的測量速度,應用卡爾曼濾波大大減少了系統過程噪聲和測量噪聲對測量結果的影響,將測量精度提升約3 倍,實現了在線高精度測量。
2)在算法工程優化上,使用感興趣區域、SIMD 指令集、多線程技術結合實現了在當前配置計算機上算法執行效率提升6 倍多,即從24 幀/s提升到150 幀/s,遠高于在線監測要求的幀率。
3)文中提出的空域位移高精度測量方法不僅可以應用在航天某些高精度視覺檢測領域,還可以應用在鐵軌路面沉降測量和橋梁等大型結構變形高精度全天候實時監測中。