复杂维修场景下飞机机号的定位识别方法

2023-07-26 12:44吴军袁少博祝玉恒刘少禹
科学技术与工程 2023年19期
关键词:细化轮廓像素

吴军, 袁少博, 祝玉恒, 刘少禹

(1.中国民航大学航空工程学院, 天津 300300; 2.天津大学精密测试技术及仪器国家重点实验室, 天津 300072;3.中国民航大学电子信息与自动化学院, 天津 300300)

航空运输业迅猛发展,飞机数量不断攀升,飞机维修任务也随之加大,在飞机维修厂内停靠大量待维修飞机需要地勤人员通过肉眼识别飞机型号和飞机机号,并引导飞机到达维修工位。在复杂工作环境下,地勤人员长期处于高压高负荷的工作状态,工作积极性和效率逐渐下降,导致飞机维修效率下降,同时也会因地勤人员的疏忽导致飞机在移动过程中发生碰撞,造成二次损伤。近年来图像处理相关技术成为了国内外研究热门领域,其中目标检测技术是最重要也是最具有挑战性的分支之一,广泛应用于监控安全[1]、自动驾驶[2-6]、交通监控[7]、无人机场景分析和机器人视觉[8-9]等方面,因此飞机检测和识别技术是机场领域的一项重要研究内容。对于飞机的识别检测是保障机场内的飞机与交通工具安全运行的基础技术。目前国内外对于飞机的检测识别技术已经有很多研究成果,比如:龙怡灿等[10]采用利用YOLOv5为基础框架,通过优化尺度信息从而提供对飞机机型的识别;Wei等[11]提出一种“分离训练、联合检测”的目标检测算法,实现了YOLOv3基于暗网框架的跨平台检测特征融合和基于张量流框架的Faster_R_CNN;陈健[12]提出了一种基于FPGA+DSP(field programmable gate array+digital signal processing)为平台的应答机,实现了主动识别飞机的功能;侯涛等[13]提出一种改进YOLOv4主干特征提取网络,保留高分辨率的特征层的算法;Cao等[14]提出一种基于YOLOv3的改进遥感影像目标检测算法;张欣等[15]则是对YOLOv4-tinyde 网络结构进行改进,强化了CSP(cross stage partial)特征提取能力;崔建国等[16]提出一种基于增量型极限学习机的飞机复合材料结构损伤识别新方法,来实现对飞机损伤进行检测识别;潘卫军等[17]提出了一种基于时空特征融合的飞机尾涡识别模型,从而实现对飞机尾涡的识别。上述对飞机的识别检测技术实现了对飞机机型的识别,飞机损伤的识别以及飞机尾涡的识别,但在机场、飞机维修厂等复杂环境中,飞机数量较多且体积庞大,飞机之间存在严重遮挡现象,导致目标飞机出现视野盲区,无法实现有效跟踪和识别,因此在特定的复杂环境下对飞机的识别跟踪存在较大问题。

针对在复杂飞机维修场景中的飞机无法实现精准识别和不间断跟踪的问题,现基于深度学习强大的特征提取能力,提出一种通过YOLOv4目标检测算法与骨架细化算法结合的飞机机号识别方法,该方法首先通过YOLOv4目标检测算法识别出飞机型号,然后骨架细化算法识别出飞机整体姿态,并依据先验知识确定飞机机号的大致位置信息,最后通过轮廓检测算法进一步消除图像噪声干扰,获得准确的机号图像信息,从而使用OCR(optical character recognition)识别出目标飞机机号信息。

1 飞机型号和机号的检测识别

飞机型号和机号的识别是对飞机进行准确监控和调度的关键环节。在深度学习理论基础上,通过YOLOv4构建多层深度卷积神经网络模型,高度提取图像中飞机特征信息,获得目标飞机的型号,通过机型和飞机骨架细化的方法获得飞机机号位置,继而使用OCR识别出目标飞机机号信息。

1.1 深度卷积神经网络飞机型号特征提取

采用YOLOv4目标检测模型识别监控区域中存在的所有飞机,并输出每架飞机的飞机型号和预测框位置,该模型以CSPDarknet53为框架,使用PANet网络对端到端检测模型的融合,将捕获到的视频转换为图像序列,将每张图像划分为若干网络结构,通过候选框对每个网络结果图进行预测,输出预测的图像类别和坐标,得到目标飞机整体的位置信息。整体结构如图1所示,输入的图像尺寸为608×1 216,图像特征提取网络CSPDarket-53网络主要是由1×1和3×3的卷积网络层组成。对于训练时因参数优化引起的相同输入但输出不同的问题采用DarknetConv2D_BN_Mish卷积块,其中激活模块采用Mish模块,并且加快网络训练速度。使用Leaky_relu函数对特征金字塔部分对CSPDarknet-53最后一个特征层进行DarknetConv2D_BN_Leaky卷积,对线性进行拟合,可以解决梯度消失的问题。其中卷积块和Leaky_relu函数的表达式为

图1 YOLOv4目标检测模型框架Fig.1 YOLOv4 object detection model framework

Mishh=x[ln(1+ex)]

(1)

(2)

式中:x和xi为神经元输入;h和yi代表激活函数的输出值;ai为可调节参数,一般取值为0.01。

1.2 飞机图像的机号识别

在YOLOv4目标检测算法得到目标飞机型号和预测框图的情况下,首先进行图像处理获得飞机轮廓的特征点集,然后通过骨架细化获知机号的大致位置,利用double-Canny算子得到飞机机号准确位置信息,最后使用OCR识别出目标飞机机号信息。

1.2.1 图像处理

在获得目标飞机的图像中,存在一定的图像噪声,图像噪声直接影响到机号轮廓的提取准确度。采用双边滤波与图像腐蚀相结合滤波方法。双边滤波是一种非线性滤波器,它的作用是保持飞机边缘清晰度,核心算法是加权平均,即将飞机轮廓周边像素值加权平均代表中心像素点的亮度值,其中权重值受空间域和像素范围域的影响,这使得在图像像素值变化不明显的区域,像素值较小,对应的像素范围域权重接近于1,而在图像像素值变化较大的区域如:边缘区域,像素范围的权重较大,因此保持了边缘信息。具体描述公式为

(3)

(4)

(5)

d(δ,x)=d(δ-x)=δ-x

(6)

(7)

且有

σ(∅,f)=σ(∅-f)=∅-f

(8)

式中:k(x)为归一化因子,是对所有像素点加权;h(x)表示滤波后的图像;x为待求的像素点;δ为待求像素点周围像素;f(x)代表滤波前的图像;c(δ,x)为closeness函数;s[f(δ),f(δ)]为similarity函数,是权重系数;σd和σr为可设定参数值,代表局部滤波的范围。

式(2)中的单位化分部k(x)结合了像素变化权重和空间位置变换权重于一起得到的,使得在采样过程中考虑像素在空间距离上的关系以及像素间的相似程度因子,从而可以保持原始图像的整体性进而保持边缘信息。图像腐蚀是通过erode函数使用像素邻域内的局部极小运算符来腐蚀一张图片,飞机图像经过处理后,可以消除大量噪声信息,有利于提高飞机轮廓特征点集的准确度。

1.2.2 骨架细化

所谓细化,就是从得到的飞机轮廓特征点集中区分出飞机中机翼、机位、机头等重要信息。细化的目的是为了精确的定位飞机各部件的具体位置,从而获得飞机姿态信息,并根据飞机型号,判断飞机机号所处具体位置。

通过Harris角点检测算法提取飞机外轮廓特征点集p(xi,yi),(i=0,1,2,…,n),如图2所示,因飞机发动机和尾翼处其特殊的结构和外形导致特征点数量明显多于飞机机头部分。计算特征点集的质心点p0(x0,y0),即

图2 飞机结构图Fig.2 Aircraft structure diagram

(9)

p0点必然落在蓝色区域,且因飞机外形的对称性,p0点位于飞机中轴线上。

设飞机机头的特征点为pk(xk,yk),则存在p1(x1,y1),即

(10)

且满足x1≈x0,y1≈y0。则认为在缺失机头特征点的情况下特征点集的中心位置不变,p0为特征点集的中心点,pk(xk,yk)为飞机机头的特征点,表达式为

(11)

因此pkp0为飞机中轴线,延长线所及端点为飞机尾翼特征点pg,根据不同机型获取该机型的尺寸,机翼机身的长宽比,从而获得飞机右翼的位置信息,以及右翼机号所在机身的相对位置。

1.2.3 目标飞机机号位置提取

通过骨架细化获得飞机右机翼的位置仍存在一定噪声,直接识别机号的准确率较低,因此通过进一步轮廓检测提纯机号位置精度,目标轮廓提取的方法有Robert算法和Laplacian算法等,Robert算法优点是边缘定位精度高,但是没有抑制噪声的能力,对于复杂的环境下很难提取准确的轮廓信息,尤其是分辨率不高的情况下,更难捕获轮廓边缘。本文中采用Canny边缘检测方法,是一种 multi-stage 算法,主要通过高斯滤波、梯度计算、非极大值抑制和双阈值检测图像中存在的边缘信息,该算法可以有效消除图像噪声,并且强化边缘信息,有利于实现对机号轮廓的准确提取。

(1)高斯滤波。由于微分算子对噪声很敏感,用高斯滤波平滑图像,滤除图像中的部分噪声。

(2)梯度计算。一幅图像可以表示为函数I=f(x,y),其中(x,y)为坐标,I表示该像素点的灰度值,梯度G(x)表示函数f(x,y)在点(x,y)处的最大变化率,计算的表达式为

(12)

(3)非极大值抑制。梯度计算得到的边缘很粗,一条边缘中央一般很亮,两边亮度逐渐降低,可以根据这个特点去掉非局部灰度最高的“假边”,达到细化边缘的目的,从而提高轮廓准确度。

1.2.4 机号识别

对于飞机机号的提取是实现飞机维修厂智能化的关键一步,本文中采用OCR对获取到的飞机机号图像进行扫描,然后对飞机机号图像进行分析处理获取文字信息,识别流程如图3所示。

图3 机号识别流程图Fig.3 Aircraft number recognition flowchart

连通区域分析检测出字符区域轮廓外形,以及子轮廓,由字符轮廓和块区域得出文本行,以及通过空格识别出数字字母。固定字宽文本通过字符单元分割出单个字符,而对数字字母符号的文本(proportional text)通过一定的间隔和模糊间隔(fuzzy spaces)来分割,继而再对每个字符继续分析,采用自适应分类器,分类器有一定的学习能力,分析满足条件的单词时也作为训练样本,强化之后的识别能力。

2 基于沙盘模型的实验验证

本实验采用在1∶750定制的机场沙盘模型上进行,沙盘长2 m,宽0.6 m,沙盘实物如图4所示。该沙盘上飞机共有5种机型,飞机模型比例为1∶750,机型包括A380、B787-800、 B757-200、 B747-400、B737-800,共计50架。采用双相机拍摄,并固定相机位置,如图5所示。

图4 机场沙盘实物Fig.4 Airport sand table physical objects

图5 双相机固定Fig.5 Dual camera fixation

实验过程首先通过相机获得飞机机场图像,然后使用YOLOv4目标检测算法获得飞机预测框信息,并识别出飞机型号,再通过图像处理算法分割飞机轮廓,使用骨架细化的方法获得飞机机头和机翼的位置信息。

通过自建数据集,训练最优的飞机型号模型,代入YOLOv4目标检测算法中,得到目标飞机预测框和飞机型号。提取飞机预测框内图像信息,通过骨架细化区分飞机机头,机尾,机翼的位置,如图6所示。

图6 骨架细化Fig.6 Skeleton refinement

根据目标检测算法获得飞机型号信息和骨架细化算法得到飞机姿态信息,通过已知机型可判断机号在机翼的大致位置,从而锁定机号检索范围,如图7所示,为机号检索范围,通过图像处理对该区域进一步提纯,获取准确的机号轮廓如图8所示,并采用OCR识别目标飞机机号信息,通过采集500张测试集的飞机图像信息,得出该算法对飞机识别的准确率在94%左右,对飞机机号的识别准确度为75%左右。

图7 机号检索范围Fig.7 Range of machine number searches

为检测本文算法的实时性,模拟飞机移动过程,实验中采用细线捆绑飞机前轮并较为匀速的拖拽目标飞机,使其平稳移动,如图9所示,在此过程中实时监测沙盘图像,并对获得图像信息进行处理,检测出图像中的飞机机号信息,图像处理帧率为30帧左右,可以满足实时性的要求。

图9 飞机移动模型图Fig.9 Aircraft movement model diagram

3 结论

飞机机号是飞机的“身份证”,存在唯一性,识别到机号则可以获得飞机所有信息。基于深度学习的原理,通过将YOLOv4目标检测算法与飞机骨架细化算法相结合,实现了对目标飞机机号的精确定位和准确识别。该方法通过在飞机维修车间安装俯视监控设备,对监控范围内的所有飞机实现实时检测识别的功能,不仅可以准确检测出飞机,还可以识别出飞机机号,通过机号信息即可实现对飞机的不间断跟踪,极大提高飞机维修效率。同时该方法可应用于遥感图像下飞机的识别,通过检测飞机机号信息,获得不同时刻目标飞机的位置信息,从而有效估计飞机运行轨迹。

猜你喜欢
细化轮廓像素
像素前线之“幻影”2000
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
“像素”仙人掌
中小企业重在责任细化
“细化”市场,赚取百万财富
ÉVOLUTIONDIGAE Style de vie tactile
“住宅全装修”政策亟需细化完善
高像素不是全部
在线学习机制下的Snake轮廓跟踪