APP下载

基于ROS的飞机表面缺陷检测系统

2021-03-07胡浩鹏

电子技术与软件工程 2021年19期
关键词:图像处理卷积飞机

胡浩鹏

(纽约大学New York University 纽约 10003)

飞机蒙皮是包围在飞机骨架结构外且用粘接剂或铆钉固定于骨架上,形成飞机气动力外形的维形构件,在飞机正常工作状态下扮演着重要的角色,一旦飞机蒙皮出现缺陷等问题,需要及时的反馈出来并且维修。传统的飞机表面缺陷检测方式大多数是由人工来完成,会存在效率低、成本高等缺点,甚至会出现检测失误的情况。本文就针对铝合金表面缺陷检测方面,提出一种基于ROS的飞机表面缺陷检测系统,采用移动机器人底盘定位和导航技术,结合深度学习、图像处理等技术检测出存在缺陷的位置并标记出来,通过机器代替传统人工的方式,旨在提高检测效率和检测精度,为飞机表面缺陷检测提供一种方式。

1 系统的总体设计

飞机表面缺陷检测系统主要由检测模块、ROS机器人模块、图像处理模块三大部分组成,系统的总体结构框图如图1所示。

图1:飞机表面缺陷检测系统总体设计方案

系统的具体工作原理为:在某一区域范围内,检测模块以树莓派为核心控制器,通过检测模块中的图像采集系统对铝合金材料表面进行图像采集,将采集到的图像通过TCP通信传输到图像处理模块上[4]。图像处理模块利用深度学习中设计的卷积神经网络进行数据训练,得到检测模型,将检测模型应用到图像预处理上。此时,OpenCV对检测模块得到的图像进行图像处理[5],最终得到缺陷出现的位置。当前区域检测完毕后,通过ROS机器人模块的定位和导航功能,驱动运动执行机构工作,并移动到相邻下一块检测区域,直到所有位置都检测完毕。上述工作原理可实现飞机表面缺陷检测系统,下文将对其包括的三大模块进行说明介绍。

2 检测模块设计

如图2所示,系统的检测模块主要是包括树莓派和摄像头,其中树莓派作为检测模块的处理器,搭建的有Ubuntu系统,是系统实现的重要组成部分。树莓派可以提供普通计算机的功能,并且功耗低。可直接在树莓派上安装Keil进行开发,具有很好的开发效果,运行稳定。本次飞机表面缺陷检测系统实现了树莓派将摄像头拍摄的图片发送到图像处理模块上,同时也搭载ROS系统实现了移动底盘的定位和导航功能。

图2:检测模块的硬件组成

3 ROS机器人模块设计

ROS随着机器人技术发展愈发受到关注,采用分布式框架结构来处理文件,这种方式允许开发者单独设计和开发可执行文件。ROS还以功能包的形式封装功能模块,方便移植和用户之间的共享。下面将介绍其建图和导航功能的实现。

3.1 建图设计

本文在ROS系统中使用Gmapping算法软件包实现建图[7],在ROS系统中设计了建图过程中各节点及节点间的话题订阅/发布的关系如图3所示。

在图3建图节点话题关系图上,其中椭圆形里代表节点,矩形框里代表的是主题,节点指向主题代表着该节点发布了主题消息,主题指向节点代表着该节点订阅了主题消息。在建图过程中,主要涉及激光雷达节点、键盘控制节点、底盘节点、Gmapping节点和地图服务节点。

图3:建图节点话题关系图

3.2 导航设计

ROS提供的Navigation导航框架结构如图4所示,显然MOVE_BASE导航功能包中包括全局路径规划和局部路径规划两部分,即在已构建好的地图的基础上,通过配置全局和局部代价地图,从而支持和引导路径规划的实施。为了保证导航效果的准确,通过AMCL定位功能包进行护理床的位置定位[8]。获取目标点的位置后,MOVE_BASE功能包结合传感器信息,在路径规划的作用下,发布控制指令,控制护理床完成相应的运动。

图4:导航设计示意图

4 图像处理模块设计

图像处理模块设计主要分为图像预处理、模型训练和卷积神经网络三大部分,通过TCP通信协议进行通信,TCP通信是一种面向连接的通信,可完成客户端(树莓派)和服务端(PC)的信息传递[9]。下面主要对卷积神经网络部分进行介绍。

4.1 卷积神经网络训练流程

通过相机采集到的缺陷和问题图像作为训练样本,这部分是检测飞机表面缺陷的关键一步,然后对训练样本进行训练,具体步骤如下所示。

(1)训练标记数据:首先使用图像预处理中标记好的道路故障提取出来,通过卷积神经网络对标记框内的目标数据进行训练;

(2)提取特征数据:将道路故障的类型统计并归纳;

(3)误差反馈学习:对测试样本进行误差反馈学习,并进行测试;

(4)优化训练数据:将得到的测试结果与设定的故障分类结果进行误差对比,不断优化训练集,最终得到理想的训练数据。

4.2 缺陷检测流程

缺陷检测流程如图5所示,首先输入缺陷原始图像,通过特征提取网络,将处理后的图像使用检测器进行检测,其中检测器里为卷积神经网络训练后得到的模型,最终缺陷检测后得到的识别后的图像,并反馈出来。

图5:缺陷检测流程示意图

4.3 实验测试

铝合金表面缺陷主要有碰伤、刮花、凸粉、脏点等常见的缺陷,下面将以这四种为主要对象进行检测训练,各自训练集数量为1000张。通过卷积神经网络对缺陷的特征进行提取和分类,最终实现了缺陷的检测。本次实验测试的样本为200张,每种缺陷50张,均采集自铝合金材料表面且与训练样本一致,实验结果如表1所示。

表1:实验测试结果

由表1可知,检测脏点的准确率高达98%,刮花和凸粉的准确率也达到94%,但碰伤的准确率相对较低,只有88%。可能造成的原因是:①硬件原因导致采集的图像清晰度比较低;②碰伤缺陷不明显,无人机难以识别;③训练的数据集较少,特征学习误差大;但最后结果是满足了设计需求,还需进一步改进。

5 总结与展望

本文设计了一种基于ROS的飞机表面缺陷检测系统,主要完成了以下工作:

(1)通过分析当前飞机表面检测方法的发展现状,对现有的检测方式进行优缺点对比,最终利用ROS集成组件实现移动机器人定位和导航,使用摄像头采集图像信息,深度学习为技术手段的方式进行研究。

(2)查询了相关技术的发展,搭建了系统软件平台和硬件控制系统平台,从检测模块、ROS机器人模块、图像处理模块三大部分进行分析研究。

(3)着重介绍了图像预处理、模型检测工作原理,并对铝合金材料表面情况进行特征提取与分类,最终完成相关实验验证。

本系统实现了飞机表面缺陷检测系统的相关功能,能识别并检测出表面缺陷的情况,进而提醒相关工作人员进行维修,在接下来的工作中,将对系统的硬件进行升级,增加卷积神经网络训练系统的训练集,同时进一步移动机器人的机械臂功能,达到机器人可直接在检测位置处进行维修。

猜你喜欢

图像处理卷积飞机
飞机失踪
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
“拼座飞机”迎风飞扬
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于傅里叶域卷积表示的目标跟踪算法
乘坐飞机
神奇飞机变变变
基于图像处理的定位器坡度计算