冲压发动机试验面内小位移高精度摄影测量方法
2023-04-26高林
高 林
(西安航天动力试验技术研究所, 西安 710100)
1 引言
冲压发动机试验过程中,位移参数是试车台结构健康监测和损伤识别的重要测量内容之一。试车架、滑动密封段甚至螺栓等小型结构是否安全都需要依靠长期位移监测来判断。传统的冲压发动机试验中采用拉杆式位移传感器对试车台结构件进行位移测量,但面临难以找到合适的固定基准点及高温环境下传感器布置困难等问题。而基于视觉的非接触式测量本质上是基于摄影测量的方式[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]进行改进,提出了一种基于视觉的滑动密封结构远程、非接触、高精度测量跟踪系统。
2 问题描述
当前冲压发动机试验中,发动机的燃烧室受高温膨胀发生形变,导致滑动密封段产生微小缓慢的位移,如位移量过大,会破坏滑动密封结构且对试车台健康产生影响。传统方法采用位移传感器测得位移量,由于燃烧室附近温度较高,传感器受高温容易脱落或烧毁,且长时间受振动等复杂环境影响易发生损坏。此外,其测点安装位置受空间约束且测点单一,基于传统的角点检测算法识别出的标记易发生截断,和附近物体发生连接效应,使测量值不准确。
为提高检测算法的鲁棒性和测量的精度,满足试验过程中实时监测位移数据的要求,基于拉格朗日插值进行角点检测算法优化和卡尔曼滤波设计了一种面内微小位移高精度的摄影测量方法。将面内标记物的测量抽象为图1 所示面内位移测量基本原理。通过HALCON[10]标定实验获取像素和位移长度的关系,求出了相机内参矩阵、外参矩阵以及相关系数,即得到一个比例系数,通过图像中被测位移量的变化反推出被测物体空间中的位移量。从图1 中可以看到空间三维坐标系物体上某个反光点的三维坐标(xw,yw,zw)到摄像机采集的图像中该点的像素二维坐标(xu,yv)的变换关系。
图1 面内小位移测量基本原理Fig.1 Fundamentals of small displacement measurement in surface
3 小位移高精度摄影测量方法
3.1 位移测量系统
在冲压发动机直连试验中,加热器和燃烧室受高温膨胀发生形变,从而导致补偿的滑动密封器发生缓慢而微小变加速移动,如图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
3.2 拉格朗日插值
拉格朗日插值属于非线性插值的一种,具有较快的性能和较高的图像细化能力。一次拉格朗日插值法可以得到线性插值16 倍的细化能力,通过多次拉格朗日插值法可以得到几百倍的边缘细化能力且保持更高的测量精度,其表达式如式(1)所示[11]。
式中,LN,k(x)表示插值的权重,yk表示某像素点,RN(x)是插值后的某像素灰度值。该表达式以等幂形式对称排列,数值计算具有稳定性,具有唯一解,在定义区间内是连续的,标记图像边缘连续,与该函数特征保持一致。
对多次插值结果进行调优,实验表明将图像进行Canny 算子滤波后再进行亚像素插值,可得到很好的亚像素精度的测量结果,其中采用的双两次拉格朗日插值法原理图如图3 所示。
图3 双两次拉格朗日插值原理图Fig.3 Schematic diagram of double Lagrange interpolation
3.3 卡尔曼滤波
实验的测量结果是二维的位移曲线数据,受实验设备调试参数、实验设备精度等因素影响,实际的测量曲线不可避免地掺杂非线性噪声干扰。基于本文系统的特点与实时性要求,采用卡尔曼滤波算法来减弱噪声对测量结果的干扰,以提高位移测量的精度。
通过递归更新方法[12],建立系统模型,如图4 所示,对当前状态进行估计,并使状态的测量值和卡尔曼滤波估计值均方误差最小。
图4 卡尔曼滤波信号处理模型Fig.4 Signal processing model of Kalman filter
3.4 算法流程图
经典的基于视觉的位移测量方法一般包括3步:采集高质量图像、图像算法处理、工程优化。
如图5 所示,要测量滑动密封段粘贴标记物图像的亚像素位移量,首先需要循环读取视频数据,分别对每帧数据进行去除畸变处理;然后再进行Canny 算子滤波处理,对滤波后的每帧图像进行双两次拉格朗日插值处理;利用上一步的实验数据再进行亚像素阈值分割并进行二值化阈值计算,取感兴趣区域(Region of Interest,ROI)图像,进行形态学闭运算,对ROI 区域图像进行标记轮廓搜索;搜索到后计算标记轮廓的一阶中心矩,并计算2 个标记轮廓之间每帧图像的相对位移量;得到的相对位移量是亚像素级位移,对该亚像素级位移进行卡尔曼滤波处理,后绘制曲线和保存数据。
图5 本文算法流程图Fig.5 Flowchart of the algorithm in this paper
4 实验及结果
4.1 实验系统搭建
图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
4.2 算法测量结果实验验证
实验对某冲压发动机直连试验位移视频数据进行离线验证,算法验证所用计算机配置如下:系统为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
4.3 卡尔曼优化实验验证
假设噪声符合标准高斯正态分布,滑动密封段缓慢移动可以简化为线性微分方程,叠加噪声模型建立卡尔曼滤波线性状态模型。通过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
4.4 算法在线实验验证
针对如图10 中ROI 区域218×132 分辨率的视频,优化前算法执行大概需要60 s 时间,采用继续缩小感兴趣区域、SIMD 指令集、多线程技术结合执行优化后,对于同分辨率同一视频,算法处理结束不到10 s,而视频总帧数约为1500 帧,算法帧率达到了150 帧/s,算法性能提升了6 倍多,远高于位移实时测量要求。
图10 在线实显软件界面截图Fig.10 Screenshot of online display software interface
5 结论
针对冲压发动机直连试验过程中传统方法采用位移传感器受高温难布置、易脱落和测点单一等问题,本文提出了冲压发动机试验复杂背景下面内水平和垂直位移的高精度测量方法。
1)该方法保持了空域亚像素图像的测量速度,应用卡尔曼滤波大大减少了系统过程噪声和测量噪声对测量结果的影响,将测量精度提升约3 倍,实现了在线高精度测量。
2)在算法工程优化上,使用感兴趣区域、SIMD 指令集、多线程技术结合实现了在当前配置计算机上算法执行效率提升6 倍多,即从24 帧/s提升到150 帧/s,远高于在线监测要求的帧率。
3)文中提出的空域位移高精度测量方法不仅可以应用在航天某些高精度视觉检测领域,还可以应用在铁轨路面沉降测量和桥梁等大型结构变形高精度全天候实时监测中。