基于图像识别技术的火箭飞行时序判读
2021-08-04王潇宇刘巧珍徐利杰
王潇宇, 王 伟, 刘巧珍, 徐利杰
(北京宇航系统工程研究所,北京 100076)
0 引言
目前,图像识别技术已成为人工智能领域中一项比较成熟的技术手段,使计算机具备自动视频背景去噪、视觉目标提取、图像内容分析等功能,在安防、互联网、教育、汽车等行业已得到一系列应用,取得了较好效果。该技术具有非接触、测试/记录并举、可以有效监控动态过程的变化情况等优势,将其引入航天测发控中可以有效解决测试性不足的问题,提升测试质量。例如:针对起飞信号保持时间短、前端故障状态一闪而逝,后端状态采集不到等情况,可以通过多媒体记录与识别的手段加以监测。开展针对快速动态异常现象的图像识别技术研究,实现对前端设备状态的瞬时异常检测,在设备状态异常时,能捕获异常信息,给靶场人员提供辅助决策支持。
开展火箭飞行实验时,控制系统发送一系列指令到末端设备,指示其进行相应动作。而这样的动作是否成功进行,会表现在火工品等效器仪表盘指示灯的状态变化上。当前的后端控制系统尚无法通过测量指示灯电流的变化来监测动作是否成功执行,造成自动化测试的缺失。而由于信号一闪而逝和指示灯的快速闪烁,测试人员在判读过程中长期盯视易产生疲劳。在无有效的回放与辅助判读的情况下,关键时刻不确信自己的判断,测试的效率、可靠性、可追溯性亟待提升。通过综合运用计算机视觉、数字图像处理、深度学习等技术,在后续无人值守的情况下,对前端设备进行相关状态识别,将非结构化的图像数据转化成结构化的参数数据,完成自动判读,实现人工智能技术从辅助人向代替人的转变,对于逐步解除机械化、重复性任务对人员的依赖,实现发射指挥流程自动化、数据分析判读智能化具有重要意义。
目前已有一些将图像识别技术引入航天测发控领域的尝试,如张哲铭等[4]利用双目立体视觉技术,通过嵌入式设备移植,达到了测量火箭分离速度的效果;李蒙蒙[5]同样利用双目立体视觉技术,给出了火箭喷管运动姿态的测量方案;蔡红维等[6]将实时图像处理技术作为火箭实时飞行指挥决策的辅助手段,用于判别特征事件;周灵[7]设计了基于实时视频图像的火箭识别与跟踪系统;张会利[8]将图像识别技术用于航天工业零件的参数测量。林义勇等[9]设计了基于图像识别技术的火箭初始段飞行跟踪系统。王健博等[10]利用计算机视觉技术,对火箭连接器的自动对接情况实现了自动化检测。王冠等[13]利用目标检测及光流等计算机视觉技术,设计了发动机极性自动化测试系统。
针对火箭飞行过程中涉及计算机视觉任务,本文设计了通用的底层算法体系架构,从而实现针对特定任务算法开发的模块化、组合化,在提升研发效率的同时保障算法的可追溯、可修改、可维护。底层算法架构如图1所示。将计算机视觉任务分解为图像分割、特征匹配等若干子任务,结合监督学习、场景分割、底层优化、数据挖掘等技术给出了通用的算法设计策略与解决方案。据此,根据不同的应用场景需求,可以实现覆盖多型号、多发次、多任务的算法快速设计迭代。
图1 通用底层算法平台
1 基于图像识别的火箭飞行时序自动判读
基于底层通用算法平台,本文设计了基于计算机视觉技术的火箭飞行时序自动判读系统,通过识别火工品等效器面板指示灯的亮灭状态,对火箭的飞行时序进行精确识别。系统整体框架流程设计如图2所示。
图2 飞行时序判读流程
1.1 等效器面板配准
通过对火箭第一次总检查测试期间火工品等效器指示灯的状态变化情况进行监测,可实现火箭飞行时序的自动判读功能。系统的原始输入为由Gopro相机拍摄的机位固定、帧率为120的两段视频,分别包含测试全程一级与二级火工品等效器面板变化情况。虽然拍摄过程中相机机位固定,但两段视频中相机与面板的相对位置有所差异,且不同次测试间机位均会有所不同。为消除相机机位变化带来难以预测的图像形变、便于指示灯定位工作开展,需要进行等效器面板配准工作,从而保证提取到位置居中、角度端正的等效器面板区域。本文采用SIFT特征匹配的方法,通过模板选取、特征点匹配、图像重采样的流程完成面板配准任务。
首先明确一级与二级的火工品等效器面板是相同的。因此选取尺寸为1 309×1 154,正视角度下的等效器图像作为模板,如图3所示。对于需要识别的每一帧图像,首先经由模板匹配步骤,提取有效部分并将其规范化至与模板一致。
图3 模板图像
尺度不变特征变换算法(Scale-invariant feature transform, SIFT)[3],在1999年由David Lowe提出,具有尺度不变、鲁棒性好、噪声变化大等优点,在静态特征识别、目标识别、全景图拼接、遥感图像配准等问题中得到了广泛的应用,可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,具有很强的匹配能力。SIFT算法主要分为3步。
(1)尺度空间极值检测
通过高斯差分算子近似LoG算子[12],获取尺度与旋转变换不变性的关键点,高斯差分算子表达如下
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y))
=L(x,y,kσ)-L(x,y,σ)
(1)
式中,* 表示卷积操作,G(x,y,σ)为一个变化尺度的高斯函数,实际操作时可由高斯金字塔相邻层级图像相减得到。I(x,y)表示原图像。
(2)关键点定位
通过拟合三维二次函数来精确定位关键点的位置和尺度,同时去除低对比度的关键点和不稳定的边缘相应点,以增强匹配稳定性,提高抗噪声能力。
(3)方向确定
基于图像局部的梯度方向,给每个关键点位置分配一个或多个方向。其中,梯度的模值和方向如下,L为关键点所在的尺度空间值。
m(x,y)=
(2)
θ(x,y)=
tan-1((L(x+1,y)-L(x-1,y))/(L(x,y+1)-L(x,y-1)))
(3)
接下来,使用直方图统计邻域内像素的梯度和方向,以直方图中最大值为该关键点的主方向,进而得到含有位置、尺度和方向的关键点,作为该图像的SIFT特征点。
通过计算视频图像与模板图像的SIFT关键点,利用随机抽样一致算法(Random sample consensus,RANSAC)得到两组匹配点之间的仿射变换矩阵,再通过线性插值法将原图像重采样,进而提取火工品等效器区域,用于后续的指示灯自动识别算法。图4与图5分别为实拍视频图像以及特征匹配结果。图5左侧为灰度化后的模板图像,右侧为实拍图象,绿色连线表征了两图中相匹配到的SIFT特征点,红色框标记了匹配到的火工品等效器面板区域位置。
图4 实拍视频图像
图5 特征匹配结果
1.2 指示灯坐标定位
提取到待识别区域后,利用Hough圆检测算法[11],定位指示灯位置。对图像空间里的多个圆进行快速检测是计算机视觉领域的重要课题之一,本文参考了现有国内外学者提出的多圆检测算法,借鉴了Hough变换思想,对图像空间里具有一定关系的像元进行聚类,提出了一种能够对多个分离、独立的圆进行快速检测和中心定位的算法。
假设现有一幅M×N个像素的原始图像,经过相关图像预处理,要求从图中找到圆的数目和各个圆心的位置,算法思想如下:
步骤一:依次选取图像的第xi行为处理对象,并逐列寻找该行上的边缘像素点,假设找到一个边缘像素点P1(xi,y1),如果该点不是孤立点则判定为有效像素点,并在列坐标[y1+Lmin,y1+Lmax]的范围内寻找第2个有效边缘像素点,其中Lmin由构成边缘厚度的最大像素点数决定,而Lmax由位于同一圆上的两个边缘像素点的最大水平距离决定,这样限制了搜索距离,减少了运算量。这时考虑以下两种情况:
1)上述范围内没有有效边缘像素点则以点(xi,y1+1)为起始点继续逐列寻找该行上的边缘像素点,仍把找到的第一个有效边缘像素点作为P1(x1,y1);
2)上述范围内存在一个或多个有效的边缘像素点,则依次作为第2个有效的边缘像素点P2(x2,y2)。
沿线段P1P2的中垂线在行坐标变化范围[xi,xi+Lmax]内逐行地寻找第3个有效边缘像素点,其中Lmax表示垂直搜索的最大有效距离。这时也要考虑以下两种情况:
1)上述范围内没有有效的边缘像素点,则舍弃已找到的第2个边缘像素点,重新寻找第2个有效的边缘像素点;
2)上述范围内存在一个或多个有效的边缘像素点,则依次作为第3个有效的边缘像素点P3(x3,y3)。
理想情况下,P1(x1,y1),P2(x2,y2),P3(x3,y3)这3个边缘像素点的关系如图6所示。
图6 理想情况下3个有效边缘像素点的关系图
步骤二:设候选圆的半径为r,圆心坐标为(a,b),在参数空间中的表达式为
(xi-a)2+(yi-b)2=r2
(4)
假设P1(x1,y1),P2(x2,y2),P3(x3,y3)这3点在该圆上,代入式(2)~(4)进行计算即可确定该圆的圆心坐标和半径。
(5)
(6)
(7)
步骤三:验证候选圆的真实性。首先建立一个累加统计数组A[x][y](x和y分别对应像素点的横纵坐标值),并置数组元素初值为0,如果该圆半径r满足设定的阈值,则统计矩形区域内存在的边缘像素点集中满足下面公式的个数
(8)
式中,δ为考虑到图像边缘存在厚度且可能畸变而设立的阈值。当最终的统计数大于设定的阈值时,候选圆判定为真实的圆,并在对应位置A[a][b]处加1;否则该候选圆为假,转到步骤一和步骤二寻找下一个候选圆。
步骤四:定位各圆心坐标。分析完所有符合条件的像素点后,在A[x][y]上搜索局部最大值点,最大值点对应的坐标值即为一个圆的圆心坐标。为进行第2最大值搜索,只要将第一最大值点附件的计数值清零即可,同理可以找到更多局部最大值点,这样就得到了多个圆心坐标值。最后,按列坐标变化对圆心坐标进行升序排序,得到的序列即为图像上从左到右依次排列的各个圆的圆心坐标值。图7展示了完成模板匹配后的图像,并用黄色圆圈表示了Hough圆检测的结果。
图7 指示灯圆检测结果
1.3 指示灯状态识别
为判断指示灯的亮灭状态情况,首先应建立其亮度的合理表征。通常情况下,原始图像是基于RGB颜色模型的彩色图像,每个像素点的色彩值由三元组(r,g,b)表示,即构成该像素点颜色的红绿蓝三个通道的数值大小。其物理意义表示清楚,但不一定利于在机器视觉算法中使用。为了定量地描述颜色对人眼的视觉作用,方便在计算机中对色彩的识别,本文探索了不同的亮度表达形式。
(1)HIS色彩感知模型
选用色调(Hue)、亮度(Intensity)和饱和度(Saturation)这3个与视觉特征有关的量来量化描述,其中色调是由物体反射光线中占优势的波长决定的,是决定颜色本质的特性,决定了颜色的种类;亮度是指刺激物的强度作用于感受器所发生的效应,是物体本身亮度信息的量化,代表了明暗程度。
RGB颜色空间与HSI颜色空间存在着严格的数学关系,两者可以相互转化,已知RGB空间各分量数值,将其归一化到[0,1]范围内,利用式(9)~(11)即可推导出HSI空间中各分量的数值。其中I分量可直接表征图像亮度。
(9)
(10)
(11)
式中,
(12)
(2)通用亮度公式
由于人眼对不同波长的光感知能力并不相同,在计算机、电视图像处理中,赋予R,G,B通道不同系数加权求和,得到通用亮度公式
L=0.114B+0.587G+0.299R
(13)
具备表征亮度的合理方式后,为提升算法鲁棒性,减少圆心定位不准带来的影响,选取圆心附近n*n矩形范围内的像素点亮度平均值,作为该指示灯的最终亮度值。将亮度值L与阈值Threshold比较,即可获得指示灯当前状态。
受每次实验所处环境的光线条件、不同等效器自身发光性质影响,若将亮度阈值设为定值,很可能造成识别误差。因此设置自适应动态阈值,从而保证系统能够识别不同内外部环境影响下的指示灯亮起与熄灭状态。定义某次测试过程中,全部指示灯亮度值集合为N,对于第i个指示灯,定义其测试过程中亮度值集合为Ni,其亮度动态阈值的计算公式
(14)
即判断该指示灯状态的阈值为测试过程中全部指示灯中亮度最小值与亮度最大值的平均值。如此设置充分利用了“必然有灯会亮起”这一先验知识,可以得到针对该火工品等效器每一个指示灯的个性化阈值。
1.4 飞行时序判读
在测发流程中,火箭飞行时序体现在火工品等效器指示灯状态的变化上。如坐标为(1,1)的1DY-1指示灯亮起表征着“一级发动机点火”这一动作。通过与一系列飞行时序判据进行比对,即可完成火箭飞行时序的自动判读。由于两级等效器视频是分别进行拍摄的,而部分判据需要同时用到两级的时序。对于拍摄时留下了绝对时间戳的相机,两段视频的绝对时间同步是容易实现的。但对于未知绝对时间戳的两级视频,设计了自动消除时差、完成绝对时值自动对齐的算法。
设来自一级的某个动作发生时序为T1,来自二级的另一个动作发生时序为T2,它们的理论发生间隔为W,二级视频绝对落后一级的时差为ΔT。则对于二级先进行的动作
T1-(T2+ΔT)=W
(15)
ΔT=T1-T2-W
(16)
与之类似,对于一级先进行的动作
(T2+ΔT)-T1=W
(17)
ΔT=W+T1-T2
(18)
综合考虑两种情况,对于每条判据i均可计算得到ΔT的参考值ΔTi。由于视频帧率限制、录制设备帧率不均匀等因素限制,这些ΔTi并不是完全相等的,而是近似符合正态分布。根据中心极限定理,取它们的平均值即可得到两级视频时差最终的估计值。至此完成了两级视频绝对时值自动对齐的工作。
通过两级视频分别生成包含时间、指示灯参数代号、状态(亮起/熄灭)、动作发生次数的时序列表,再与判据进行比对,检查两个动作发生的时间间隔是否在理论间隔的误差范围之内,最终可自动生成测试过程中火箭的飞行时序。
综上所述,对于要识别的等效器视频,通过模板匹配、圆心检测、亮度建模等步骤可精确定位指示灯位置、记录亮度变化情况,采用动态阈值对指示灯亮灭情况进行智能判断,最后自动调节视频时差,并将时序列表与判据比对,即可完成基于计算机视觉技术的火箭飞行时序智能判读。经过多次测试,飞行时序判读准确率可达98.89%。由于所采用的相机帧率为120,因此飞行时序判读结果精度可达0.0 083 s量级。
2 基于图像分析技术的LED相关特性研究
2.1 LED余辉效应观察
余辉效应是入射光引起的半导体发光现象,而发光二极管则是电场引起的半导体发光现象。余辉效应和光致电效应有着密不可分的关系。光致电效应是指价带的电子受到入射光子的激发后,会跃过禁带进入导带。如果导带上的这些被激发的电子又跃迁回到价带时,会以放出光子的形式来释放能量,这就是光致电效应,也称荧光效应。
光致发光现象不会在金属中产生。因为金属中的价带中没有充满电子,低能级的电子只会激发到同一价带的高能级。在同一价带内,电子从高能级跃迁回到低能级,所释放的能量太小,产生光子的波太长,远远超过可见光的波长。在某些陶瓷和半导体中,价带和导带之间的禁带宽度不大不小,所以被激发的电子从导带跃过禁带回到价带时释放的光子波长刚好在可见光波段。这样的材料称为荧光材料。
此外,若电路中含有电容电感等储能元件,断电瞬间它们会继续释放电能,也可能导致LED不立即熄灭,而是继续发光一段时间。若在本项目中余辉效应存在,则可能会对指示灯状态的智能识别产生干扰。无论是元件放电或电子跃迁导致的余辉,其发光强度均明显低于通电时。因此通过监测LED指示灯熄灭瞬间的亮度变化情况,可以分析是否发生了余辉效应。截取某指示灯熄灭瞬间的亮度曲线,如图8所示。
图8 指示灯熄灭瞬间亮度变化情况
由图8可见,该指示灯在第56 043帧到56 044 帧出现了由亮起到熄灭的状态变化,亮度从250下降到50以下发生在1帧之内,由视频帧率为120可知,该过程仅耗时约8 ms。由此可以推断,指示灯并未发生余辉效应,无需在算法中考虑该效应可能造成的状态判别误差。
需要说明的是,人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,而是延续0.1~0.4 s 时间。这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”,或“余晖效应”。这种由人眼结构造成的现象与上文所述“余辉效应”不同,但对指示灯状态进行人工判读时,判读结果会受该效应影响而出现误差。本文提出基于计算机视觉技术的飞行时序判读技术则不会受余晖效应影响,相比人眼判别有较高的准确性提升,充分体现了人工智能技术在该任务应用的优越性。
2.2 LED灯光波长红移现象分析
发光二极管是由p型和n型半导体组成的二极管,其基本结构如图9所示。
图9 发光二极管原理结构
在LED的p-n结附近,n型材料中多数载流子是电子,p型材料中多数载流子是空穴。p-n结上未加电压时构成一定的势垒,当加正向偏压时,在外电场作用下,p区的空穴和n区的电子就向对方扩散运动, 构成少数载流子的注入, 从而在p-n结附近产生导带电子和价带空穴的复合,同时释放出相对应的能量hν(h为普朗克常数,ν为光子频率)而发光[1]。该能量相当于半导体材料的带隙能量Eg(Ev),其与发光波长λ(nm)的关系为
(19)
因此,只要有理想的半导体材料就可以制成各种光色的LED。波长红移的原因是温度升高产生的热效应引起带隙收缩。随着温度升高,电子在晶体中的公有化运动加快,能级分裂严重,使得禁带宽度Eg变小[2]。由上文的波长公式可知,峰值波长向长波方向移动,即峰值波长红移。在飞行时序识别工作中,随着LED指示灯亮起时间的增加,可以明显观察到灯光蓝色通道的衰减,如图10所示。
图10 LED灯光红移现象
其中,x1y7表示火工品等效器第1行第7列的指示灯,红绿蓝三色曲线分别代表此灯亮度曲线3个通道的亮度值,可以看出,在指示灯亮起的时间段内,蓝色通道亮度值出现了显著衰减,即发生了波长红移现象。
2.3 LED亮度散射分析
LED属于朗伯型光源,其各方向上的辐射亮度不变,辐射强度随观察方向与面源法线之间的夹角θ的变化遵守余弦规律。光源亮度的定义如图11所示。
图11 光源亮度定义情况
对于角度θ处的观察者而言,其接收到的辐射亮度情况为
(20)
该值为一定值。在如图1所示LED灯呈较密集排布的火工品等效器上,某个指示灯亮起后,会对其周围指示灯产生影响,使它们的亮度发生一定程度的改变。在实际测试中,观察到的现象如图12所示。
图12 LED指示灯亮度散射现象
从指示灯红色通道像素值变化情况可知,第7行第10列的指示灯在约第33 000帧时亮起,在约第55 000帧处熄灭。相对应地,在它处于亮起状态时,与之相邻的第7行第11列的指示灯的红色通道像素值均值存在明显的上升情况。LED亮度散射导致的相邻指示灯亮度的异常变化可能会造成对其状态的判断失误进而影响飞行时序的正确判读,但由于本文的设计方案具有较强鲁棒性,这个误差处于容忍范围之内,因此并未对时序判读结果产生不利影响。
3 结论
本文通过模板匹配、圆心检测、亮度建模、时序判读等步骤,实现了基于图像识别技术的火箭飞行时序自动判读方法,将计算机视觉技术应用到火箭靶场测试工作,解决当前自动化测试设备判读过程中人眼长时间工作时易疲劳,从而造成误判,而导致测试结果不准确和信号保持时间短、后端状态采集不到等无法准确获得指示灯闪烁结果的问题。本文提出的基于图像处理技术的自动测试方法能够识别判断火工品等效器指示灯的状态变化,进而精确判读飞行时序。该方法能够提髙测试效率和测试精度,保证测试性和可追溯性,在提供可靠的辅助决策支持的同时节约大量的人力和时间成本。该方法飞行时序判读准确率可达98.89%,精度可达0.0 083 s量级。