韩 冰, 刘贡平, 郝 巨, 杜坤鹏, 王彦哲, 魏燕定*
1.中航西安飞机工业集团股份有限公司,陕西 西安 710089; 2.浙江大学 机械工程学院,浙江 杭州 310027)
飞机总装配阶段机载系统功能检测是通过试验和检测,获取被测对象的光、电、声、机械、理化等各类参数并感知其特性和功能信息的过程,实现对产品状态和特性的获取、传输、分析、处理和显示等任务。飞机总装测试技术用于获取飞机在总装阶段试验过程定性、定量的数据和信息,确定和验证飞机的性能和状态,其技术的先进与否直接影响到航空产品的先进性和可靠性,同时也会对产品的研制和生产周期产生影响。
显示控制系统是飞行员与航电系统交互的人机接口,也是感知任务系统、飞控系统、机电系统和环控系统等非航电系统实时状态的关键桥梁[1-3]。大量飞机机载系统功能测试先由外部信号激励机载系统,再由驾驶舱内显示控制系统判读飞机响应状态。传统飞机总装测试采用测试人员在环,由人工判读和记录的开环测试方法存在测试效率低、数据无法溯源、误判风险和无法记录测试全部动态响应过程等诸多问题。
为了解决上述问题,本文基于机器视觉方法,提出了一种飞机总装测试显控板显示自动识别技术,可自动获取和判读机载系统测试过程中驾驶舱内部显示信息,构建从外部测试激励到机载系统信息反馈的闭环测试系统,能够有效提高总装测试效率。同时,本文所提出的自动化测试方法对相机的安装布置无特殊要求,待识别显控板画面只需处于相机视野内即可,算法自动将视野内任意位置的畸变显控画面校正到标准状态,故与一般的工业领域图像识别系统相比,对安装角度和位置没有要求,极大降低了人工布置相机设备的难度,增加了相机在驾驶舱内可用的布局空间和灵活性。
因此,本文对革新飞机总装测试设备和测试方法,推动飞机总装测试技术向集成化、程序化、少人化发展起到推动作用。
飞机总装测试涵盖飞控测试、航电测试和机电测试,现行的测试方法根据测试任务书或测试技术条件指导人工实际操作,测试步骤依据工艺人员编辑生成的纸质测试用例。现场测试人员按文件中的测试步骤逐一操作对应的外部设备或舱内操纵机构,观察显控板显示画面与其他外部测量设备反馈,判断系统测试响应的正确性和是否满足功能要求,并填写纸质试验测试记录。由此可见,传统测试手段自动化程度较低,完全依赖人工评价测试响应和记录试验结果,降低了飞机总装测试效率,且纸质记录无法复现和溯源原始测试过程界面,当出现特定故障时,分析排故效率低。
飞机显示控制板(显示控制系统)由显示终端、显示控制组件和显示处理单元组成[2]。显示控制组件根据不同系统功能和交联的外系统模块,由几十种控制板组成。本文所述显控板识别主要针对显控系统的显示终端识别,根据测试需求识别显示终端上的显示画面,自动获取对应测试步骤的显示反馈。图1为某机型飞机驾驶舱及显示终端画面示意图。如图1所示,飞机驾驶舱前端红色框区域为显示控制系统的显示终端,其显示画面包含多功能显示页面、主飞行显示页面、发动机参数信息页面、飞行管理页面和主状态显示页面等,可依据显示需求进行切换。
图1 某机型飞机驾驶舱及显示终端画面示意图
以飞机总装测试中飞控系统的测试步骤为例,分析测试流程和人工判读需求。首先,进行舵面传动比与极性检查,通过操作控制面板设置舵面处于不同工作状态;之后操纵驾驶盘、驾驶柱或脚蹬等操纵机构,使对应舵面按一定方向旋转至最大极限位置;最后,通过外部测量设备记录舵面实际偏转角度,并通过驾驶舱内显控板显示终端,人工判读舵面偏转角度大小和极性是否正确。对某些功能进行检查测试时,通过设置能源、供电或系统处于特定模式下,人工判读显控板状态是否达到显示要求,并通过人工触发某些特定故障,检查显控板显示页面是否出现相关故障显示、告警和提示。与上述类似的测试用例和步骤,都存在大量人机交互的过程,判读显示页面结果是飞机总装测试检验测试结果反馈正确性的必要手段。
为了实现飞机总装测试的显控板显示页面自动识别功能,需要明确测试相关的显示页面特点和自动判读需求。以某型飞机显控板显示页面为例,飞控系统、航电系统和机电系统相关显示信息具有以下共同特点:
① 同一页面的显示内容和显示位置固定。
② 显示页面由图块、字符和指针等元素组成。
③ 通过页面图块颜色、显示字符内容和指针位置等可判读相关测试反馈。
根据上述页面特点和识别需求,显控板显示页面自动识别的整体方案如图2所示。显控板显示页面自动识别的过程为:首先,工业相机自动采集待识别显控板区域图像,图像识别系统对原始图像进行特征提取,与待识别目标页面基准图像的特征向量进行特征匹配,获取页面区域在原始图像中的定位;然后,基于页面定位参数,通过仿射校正提取出待识别页面,并使其校正为标准大小的正视页面图像;由于该页面上各个模块显示位置固定,根据每个模块已知的区域位置,可准确定位到待识别的目标模块,进而从图像中依据区域坐标或双向投影法查找区块边缘,并分割出待识别目标模块;最后,根据待识别目标模块类型,将分割好的待识别目标输入过对应模型进行识别。识别结果通过数据库管理,可自动生成测试结果报告,显著提高了测试效率。
图2 显控板显示页面自动识别的整体方案
根据测试项目的需求,图像采集设备布置在总装生产线上的不同架次的飞机上。技术人员在布置相机安装位置过程中,只能够将图像采集区域控制在一定范围内,使待识别目标位于相机视野中,无法保证每一次安装后拍摄目标固定于图像同一位置。为了降低技术人员配置图像采集设备的操作要求,解决待识别目标的旋转、倾斜、缩放和光照变化等问题,提高显控板显示页面识别的准确性和鲁棒性,本文采用具有尺度不变性和旋转不变性的SIFT (Scale Invariant Feature Transform,尺度不变特征转换)算法[4]进行待识别页面特征点的提取,为后续页面定位和校正提供稳定特征描述子。显控板显示页面图像的SIFT特征提取步骤如下。
2.1.1 构建尺度空间
为了模拟图像数据的多尺度特征,采用高斯核函数对图像进行尺度变换,获得图像在尺度空间下的多尺度序列表示。
定义输入二维图像为I(x,y),尺度参数为σ,该图像尺度空间L(x,y,σ)获取过程可表示为
L(x,y,σ)=G(x,y,σ)*I(x,y)
(1)
式中:G(x,y,σ)为高斯平滑核函数;*为卷积符号。G(x,y,σ)表达式为
(2)
为了有效在尺度空间检测图像稳定的关键点,采用高斯差分(Difference of Gaussian,DoG)尺度空间极值作为判断依据。将高斯金字塔图像中同一尺度相邻的两层图像相减,可得DoG算子为
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)
=L(x,y,kσ)-L(x,y,σ)
(3)
式中:k为两个相邻尺度图像的尺度比。
2.1.2 检测极值点
在DoG空间中搜索图像像素极值点,除DoG最顶层和最底层外,每层图像的每个采样像素点均要与周围26个邻域点进行比较,这26个邻域点包括:同尺度层相邻的8个像素点、上下相邻尺度层各9个像素点。当采样像素点较这26个点大或小时,则为极值点,将其视为候选的关键点,标记其位置和相应尺度空间。为了获得稳定的特征点,会对候选极值点的原图精确位置进行插值定位,剔除不稳定点、消除边缘响应。
2.1.3 提取特征
为了保证获得的描述符具备旋转不变性,基于图像局部特征为关键点分配基准方向。采用图像梯度法计算关键点邻域内所有点的梯度值和梯度方向:
(4)
(5)
其中:
fx(x,y)=L(x+1,y)-L(x-1,y)
fy(x,y)=L(x,y+1)-L(x,y-1)
式中:m(x,y)为点(x,y)处梯度模值;θ(x,y)为点(x,y)处梯度方向。
像素点在平面内的梯度方向在0~360°量化为8个方向,选取关键的点8×8邻域,统计邻域内各点梯度方向和幅值,利用梯度直方图找到最大值最为关键的点邻域内的主方向,以此为SIFT特征关键点的基准方向。利用关键点周围邻域内的像素点描述关键点特征,在关键点8×8邻域内,将4×4划分为一个区块,使整个邻域划分为2×2个区块。每个区块由8个方向进行描述,故关键点8×8邻域可生成4×4×8=128维的特征描述子。这个128维特征向量具备尺度不变性、旋转不变性,归一化后具备光照不变性,能够稳定描述显控板不同显示页面的图像特征。
为了展示特征点计算结果,将检测图像转为灰度图,特征点通过彩色圆圈绘制在对应图像上,圆圈大小表示特征点大小,圆圈内部线段表示特征点的方向。显控板两张显示页面特征点计算结果如图3所示。
图3 显控板页面特征点计算结果示意
基于上文所述SIFT特征提取方法,可以获得显控板显示页面基准图像和相机采集的输入图像的特征描述子,通过对输入图像特征描述子进行与基准图像特征描述子最近邻搜索[5],达到图像特征点匹配的目的,即可找到显示页面基准图像在输入图像中的位置。为此,本文采用FLANN(Fast Library for Approximate Nearest Neighbors,快速近似最近邻搜索库)算法[6],基于 K-D Tree在高维矢量之间进行相似性检索,n维空间的欧式距离定义式如式(6)所示,计算结果d(x,y)值越小,则说明特征点之间的相似程度越高。
(6)
将数据点在n维空间Rn进行层次划分,通过将数据点划分成多个索引结构能够大大加快检索速度,在K-D Tree中检索数据点与查询点距离最近的欧式距离。向量空间Rn中所有的欧式距离d(x,y)通过K-D Tree结构存储,与参考点距离最邻近点的搜索过程是K-D Tree由上至下的递归过程[7]:首先以某一特定维数为基准将目标点和分割点的值进行比较,判别目标点是在左区域还是在右区域;然后循环与对应节点进行比较,直到目标搜索成功为止。
为了展示特征点匹配效果,将基准图像(左侧)与相机采集的输入图像(右侧)水平排列,在符合算法要求的最佳匹配点之间绘制蓝色直线,即从基准图像到输入图像对应匹配点之间的匹配线。根据匹配点的对应关系,可以在输入图像上准确找到基准图像(检测页面)的位置(用红色实线将页面框出)。显控板页面特征点匹配结果如图4所示,图4中匹配点对应准确,匹配线平行无交叉,表明匹配算法适合显控板页面特征点匹配。
图4 显控板页面特征点匹配结果示意
2.3.1 页面校正
工业相机采集的原始图像是将三维空间中显控板显示页面投影到二维图像平面上,透视投影使原本为矩形的标准显示页面在成像过程中发生透视变形,产生缩小效应、灭点效应和图像信息失真[8]。为了便于对待识别目标进行分割和目标识别,需要通过透视变换,把存在角度视差的显示页面图像转换为正视的标准显示页面,达到校正页面的目的。透视变换数学模型[9]为
[x′,y′,1]=[u,v,1]A
(7)
式中:A为3×3的变换矩阵;[u,v,1]为变换前的图像点坐标;[x′,y′,1]为变换后的图像点坐标。
变换矩阵A的参数包含了线性变换、平移变换和透视变换的转换关系。由于处理目标为二维图像,所以a33恒为1。由每一对匹配点可得到两个参数方程,通过提取源图像4个点坐标和目标图像4个点坐标,可以构造8个方程,故可以解出变换矩阵A的8个未知参数。根据求解出的透视变换矩阵能够对产生透视变形的显示页面进行校正,获得标准尺寸的显示页面正视图。显控板页面校正结果示意如图5所示。
图5 显控板页面校正结果示意
2.3.2 目标定位与分割
基于上文算法可以准确获取显控板待识别页面标准尺寸的正视图像,由于显示页面具有显示内容和显示位置在同一页面上固定的特点,可根据图像区域坐标分割页面上的目标区块。通过制定目标区域坐标映射表,将不同页面的坐标参数与对应页面绑定,根据目标页面标记能够快速查找待识别目标区块位置,进而进行分割。为了保证目标区块位置准确,通过快速检索提取的图像区块需要进行位置精确定位和分割。下面以显控板显示页面字符精确分割为例介绍分割算法。
采用双向投影法进行字符的精确定位和分割,为后续字符识别做准备。投影法分割[10]是将图像分别在横坐标方向和纵坐标方向进行逐行扫描,求取相应列和行的灰度累加和,再根据灰度累计分布,采用门限法或峰谷值法获取单个字符。快速检索提取的主飞控页面下方字符ROI(Region of Interest,感兴趣区域)示例如图6(a)所示,灰度化后的字符ROI如图6(b)所示。
图6 主飞控页面下方字符ROI区域及其灰度化
采用双向投影法分别进行水平方向扫描和竖直方向扫描,两个方向上的投影曲线分别如图7(a)和图7(b)所示。根据投影曲线的峰谷值,可以确定每个字符在水平方向和竖直方向的分割线,图7(c)和图7(d)为两个方向的字符分割线。从图7可以明显看出双向投影的累积灰度值和字符间隔大小,故双向投影法适用于显控板显示页面字符分割。字符分割结果如图8所示。
图7 字符投影曲线和分割线
图8 字符分割结果
2.4.1 图块颜色识别
飞机总装测试过程中,测试人员需根据显控板某些显示页面上的区域颜色进行飞机状态监测。以主飞控系统测试为例,副翼状态判定、水平安定面状态判定和液压系统状态判定等测试内容都需要根据对应位置的显示颜色进行结果判读。RGB颜色空间采用红、绿、蓝三原色表示,物理意义清晰,但表达的色度与感知有差距,且颜色分量受光照强度影响很大。HSV颜色空间基于相互独立的色调(Hue)、饱和度(Saturation)和明度(Value)表达颜色,彩色信息(色调和饱和度)与明度分量无关联,这种表示方式相对人眼自然且直观[11-12]。为了使机器视觉判定颜色的过程更接近人眼感知、不受光照强度的影响,本文采用HSV颜色空间进行显控板显示页面图块颜色的识别。
显控板显示页面的区块主体颜色通常取决于中心区域的颜色,边缘部分一般会与背景色产生模糊,因此在区块颜色识别的过程中,首先将快速检索提取的图像区块应用数学形态学腐蚀缩小轮廓范围,提取核心区域,以提高颜色识别准确率。相机获取的原始图像是RGB图像,在提取出待识别的核心区域后,将RGB图像区块的R、G、B分量转换为H、S、V分量。无须关注V分量,根据H分量和S分量所处范围区间判断像素点颜色,最后通过颜色和显示页面目标状态的映射关系判断识别结果。
定义max=max(R,G,B),min=min(R,G,B)。当max≠min时,RGB颜色空间到HSV颜色空间的映射过程为
(8)
2.4.2 指针位置识别
显控板多功能显示页面中包含大量指针类型的图块,通过指针相对刻度尺的读数反馈飞机相关的舵面偏转角度、机构位置信息和系统状态参数等内容。各页面中此类型图块的具体细节并不相同,但主体组成元素一致,即包括三角形或类似等腰梯形的指针、指示读数的刻度尺和量程参数,故可将其归为一类目标识别模型进行设计。以主飞控页面右副翼偏转角度识别为例,描述本文提出的指针类型图像自动识别算法。
为了实现自动判读右副翼偏转角度,需要准确识别刻度尺的线段起止点坐标和线段长度,以及指针三角块的顶点坐标,由已知量程即可自动判读右副翼当前偏转角度。通过快速检索提取的右副翼偏转角度图块如图9(a)所示。
刻度尺识别采用Canny变换与Hough变换的直线提取算法。首先基于Canny变换,对刻度尺指针图块区域进行轮廓提取,将原始图像转换为镂空线条图像,如图9(b)所示。然后,基于Hough变换,提取图9(b)中的各个线段,通过设定参数、调节阈值,提取出满足要求的刻度尺线段,并读取该线段起始点和终止点的像素坐标。刻度尺线段提取结果如图9(c)所示,红色实线为识别出的刻度尺,起点像素坐标为(23,25),终点像素坐标为(23,93)。
图9 右副翼刻度尺识别示意
指针位置识别采用基于颜色的区域分割和轮廓极点提取算法。首先,根据指针颜色设定RGB阈值分割范围,图9(a)中所示的右副翼指针为黄色,根据黄色阈值范围提取出的ROI区域如图10(a)所示。将该图灰度化,转换为图10(b)所示的灰度图像。图10(b)中可清晰看见大量干扰噪声,运用数学形态学的开运算,除去此类离散微小颗粒。然后,对处理好的指针灰度图像二值化,提取三角形指针轮廓的最左极点坐标,即可得到指针顶点的像素坐标。如图10(c)所示,指针顶点的像素坐标为(30,92)。
图10 右副翼指针位置识别示意
刻度尺和指针图像的坐标系是相同的,若刻度尺起点像素坐标为(23,25),终点像素坐标为(23,93),指针顶点像素坐标为(30,92),可以计算出指针顶点相对于刻度尺的位置信息,易得示例中的指针读数为18.35°。
2.4.3 显示字符识别
显示控制系统交联逻辑复杂、显控组件种类繁多,大量飞机状态信息、系统参数和告警信息等内容通过液晶屏显示画面反馈给驾驶员,这些字符画面包括:数字、英文字符、汉字和其他相关符号。字符识别的方法有很多种,例如模板匹配法、自组织映射法、支持向量机[13]和神经网络等。其中,神经网络是目前成熟度较高、识别精度较好、应用范围较广的机器学习方法,适用于图像识别[14]、文本识别和语音识别[15]等多种应用场景。
本文采用卷积神经网络(Convolutional Neural Networks,CNN)[16-17]训练字符识别模型。CNN是一种多层前馈网络,属于深度学习的一类代表算法,与一般神经网络的区别在于其不采用全连接,而是由包含卷积层和采样层(池化层)的局部连接构成。在卷积层后一般连接非线性化的采样层,具有很强的泛化能力,能有效提取图像特征。
CNN训练过程如下:首先,制作训练样本集。在CNN训练过程中,训练数据的涵盖范围、制作样本的采样密度和样本的真实度等条件决定了CNN训练模型的效果。利用上文所述投影法字符分割方法,可将显控板显示页面上的各类字符分割为单个字符的小图像,每个字符图像尺寸转换为标准的30像素×40像素,手动为样本图像添加对应标签。随后,利用CNN模型对样本集进行训练,训练过程中每隔固定迭代次数计算损失值,并从样本集中随机抽取测试样本进行识别精度检测,直至网络模型损失值逐渐收敛接近0,精度达到识别要求为止。
为了验证本文显控板状态识别算法,在实验环境下搭建模拟飞机驾驶舱显示系统进行测试。模拟飞机驾驶舱显示系统由驾驶舱模拟显示终端、驾驶舱模拟操纵机构、显控板识别工业相机和图像处理工作站组成。采用LCD显示屏模拟飞机驾驶舱4块显控板显示终端,显示终端模拟显示飞机多种多功能页面,并在模拟操作操纵机构的驾驶盘、驾驶柱和脚蹬时,实时显示对应操作反馈,例如模拟显示各舵面运动状态、飞控系统状态和交联系统状态等画面。显控板识别工业相机通过支架固定于模拟驾驶舱后端顶板,根据实际测试需要可调整安装位置,保证能够采集到完整、清晰的待识别显示区域图像。图11(a)为模拟飞机驾驶舱显示系统各组成部分与驾驶舱内布局示意,实验针对主飞控系统测试,模拟显示页面中主飞控页面的正常状态,并以此图像作为主飞控页面的基准图像,如图11(b)所示。
图11 模拟飞机驾驶舱显示系统与主飞控测试页面
为了验证待识别页面定位技术的准确性和稳定性,不断改变工业相机的拍摄位置、角度和环境光照强度,重复测试待识别页面定位的精度。图12为待识别页面定位技术实验验证结果示例,图12(a)和图12(b)为改变工业相机图像采集角度、距离的测试结果,图12(c)为降低环境光照强度的测试结果。从重复匹配定位测试的结果来看,所提出的定位方法适用于飞机总装测试显控板识别的环境,主飞控页面定位准确度具备尺度不变性和旋转不变性,且对光照有良好的鲁棒性。
同样地,为了验证显控板识别系统在显控板或相机镜头部分遮挡情况下,待识别页面匹配定位的准确性,对待识别目标进行部分遮挡,结果如图13所示。图13中障碍物随机遮挡主飞控测试页面,系统根据未被遮挡部分的目标特征推算完整显示页面位置,完成目标页面的匹配定位。实验结果表明,本文算法在待识别目标部分遮挡情况下,仍能够准确定位目标页面,对目标未遮挡的部分仍可以进行识别。
图13 待识别目标部分遮挡实验
基于本文提出的飞机总装测试显控板状态识别方法,设计出了基于机器视觉的某型飞机总装测试显控板状态自动识别软件,并将该测试系统应用于某型飞机总装系统测试中。该测试软件主要功能包括:图像采集设备配置管理、显控板识别任务设计编辑、测试过程图像视频记录和显控板显示页面自动识别(包括:自动识别相机采集画面中的显示页面种类、自动定位待识别目标位置、自动校正和分割待识别目标、自动识别目标、显示识别结果)。该软件可识别某型飞机显控板多功能显示页面、主飞行显示页面、发动机参数信息页面、飞行管理页面和主状态显示页面等。
软件系统采用B/S架构,在测试网络内部,测试人员可通过任意移动终端获取来自视觉服务器的执行界面、下达测试项目的任务指令和查看自动识别的结果。该软件测试图片实时查看界面示例如图14所示,测试执行界面和结果查看界面示例如图15所示。
图14 软件测试图片实时查看界面示例
图15 软件测试执行界面和结果查看界面示例
应用本文图像识别算法自动判读,某次显控页面状态识别测试界面示例如图16所示,部分自动识别结果如表1所示。实验结果表明,本文所设计的算法在该应用场景下,能够准确判读显控板显示页面状态参数。
图16 显控页面状态识别测试界面示例
表1 部分识别结果
研究了基于机器视觉的飞机总装测试显控板状态自动识别方法。采用SIFT与FLANN算法进行待识别页面特征匹配与定位,基于图像区块位置提取待识别目标,并针对页面上的图块区域颜色、指针位置和字符识别需求,分别建立了识别模型,可实现飞机总装测试显控页面状态的自动识别。针对本文方法,设计了某型飞机总装测试显控板状态自动识别软件,并通过关键技术验证和应用实例测试,证明了本文方法的有效性,对飞机总装测试技术向自动化和智能化发展起到了一定的推动作用。