一种基于云边协同与深度学习的飞机表面缺陷检测系统

文档序号:909180 发布日期:2021-02-26 浏览:2次 >En<

阅读说明:本技术 一种基于云边协同与深度学习的飞机表面缺陷检测系统 (Aircraft surface defect detection system based on cloud edge cooperation and deep learning ) 是由 贺顺杰 杨博 陈彩莲 关新平 于 2020-11-23 设计创作,主要内容包括:本发明公开了一种基于云边协同与深度学习的飞机表面缺陷检测系统,涉及图像检测领域,包括云端、边缘侧、终端;所述系统使用了两种用于缺陷检测的神经网络,一种是部署在所述边缘侧的轻量化的小型神经网络,而另一种是部署在所述云端的大型神经网络;所述边缘侧先对所述终端采集到的图片进行检测,得到初步的检测结果,并将缺陷图片过滤出来,之后将所述缺陷图片上传至所述云端,利用所述大型神经网络精确检测出缺陷位置和缺陷种类,最后将结果回传至所述边缘侧。本发明通过云边协同,降低了系统整体的时延,也提高了网络资源的利用率。(The invention discloses an aircraft surface defect detection system based on cloud edge cooperation and deep learning, which relates to the field of image detection and comprises a cloud end, an edge side and a terminal; the system uses two neural networks for defect detection, one is a light-weight small neural network deployed on the edge side, and the other is a large neural network deployed on the cloud end; the edge side firstly detects the pictures collected by the terminal to obtain a preliminary detection result, filters out the defect pictures, then transmits the defect pictures to the cloud, accurately detects the defect positions and defect types by using the large neural network, and finally transmits the result back to the edge side. According to the invention, through cloud-edge cooperation, the overall time delay of the system is reduced, and the utilization rate of network resources is also improved.)

一种基于云边协同与深度学习的飞机表面缺陷检测系统

技术领域

本发明涉及图像检测领域,尤其涉及一种基于云边协同与深度学习的飞机表面缺陷检测系统。

背景技术

飞机表面缺陷检测是飞机生产制造以及日常维护中非常关键的一环,机身表面的腐蚀、坑洞、裂纹如果不及时进行补救,很可能在飞机飞行途中造成无法挽回的损失。目前,飞机表面的缺陷检测一般采用人眼观察的方式进行,通过安排有技术经验的工人对飞机表面某片区域进行检查来发现可能存在的缺陷。人工检查的方法比较稳定但是存在许多缺陷,首先人的主观意志可能会导致对缺陷的误判,疲劳的工作状态和不同的灯光环境也有可能导致工人对表面缺陷的遗漏和误判。其次,飞机的体型相对于人来说及其庞大,维修工人进行表面检测时需要借助外部的平台,极其不便,而且也很有可能导致安全事故的发生。第三,人工检测的效率及其低下,在航班班次频繁以及飞机批量生产过程中可能难以满足其企业的质检需求。

针对人工检测的不足,目前已经有研究团队提出了几种自动表面缺陷检测的方法。第一种是采用传统图像检测方法,利用图像检测技术提取图片中某种具体的缺陷。具体的操作流程是先对图像边界进行提取,去除不必要的边缘信息;再对图像进行分割,提取出潜在的缺陷存在区域;然后利用合适的滤波器滤去不必要的噪声信息;最后使用sobel算子或其他边缘检测算法提取缺陷。

第二种是使用基于深度学习的图像检测方法。深度学习是近年来人工智能领域中一个重要的研究热点,它的出现使计算机实现了一定程度上的智能化。深度学习的主要思想是通过人工给计算机搭建一个类似人脑神经网络的深度学习网络,来使机器获得一定的学习能力。通过人工搭建的深度学习网络,计算机能自主学习样本数据的内在规律和表示层次,并获得对同类型样本数据的分析和判断能力。这里的样本数据主要包括图像、文字、数据、语音等等。基于深度学习的图像检测方法首先需要选择合适的深度学习网络,其次需要大量标定好缺陷位置和缺陷种类的图片对网络进行训练,使其获得学习的能力。训练完成之后,若给网络输入同样类型的照片,它就能自主给出这张图片内的缺陷位置和缺陷种类。在实际应用中,一般在工业现场部署摄像头以采集待检测区域的表面图像,之后图像通过网络传输至云服务器。云服务器部署有训练好的深度学习网络,对上传的图片进行缺陷位置和种类的判断,之后将判断结果回传至工业现场,以辅助工程人员进行检修。

对于传统图像检测方法,首先,它的泛化性不强,针对不同的缺陷需要设计不同的检测算法。其次,它非常依赖于专家知识和经验,在设计缺陷检测算法时,需要非常了解缺陷的结构和外形,对先验知识要求较高。对于基于深度学习的图像检测方法,首先,工业环境下的网络资源是有限的,上传图片到云服务器会消耗大量的网络资源,而且可能会挤占其他工业应用的网络资源。其次,表面缺陷检测的结果需要实时展示,但是在云体系下,因为现场网络的限制,会产生大量的延时,影响检测系统的实时性。

为此,本领域的技术人员致力于开发一种基于云边协同与深度学习的飞机表面缺陷检测系统,提高检测结果的准确性。

发明内容

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何提高图像检测方法的泛用性,保证准确率的同时,降低延时,以及系统在部署到现场后随着检测次数的增多能自主优化检测算法,从而提高检测的准确率。

为实现上述目的,本发明提供了一种基于云边协同与深度学习的飞机表面缺陷检测系统,包括云端、边缘侧、终端,其中,所述边缘侧部署了轻量化的小型神经网络;所述云端部署了大型神经网络;所述边缘侧先对所述终端采集到的图片进行检测,得到初步的检测结果,并将缺陷图片过滤出来,之后将所述缺陷图片上传至所述云端,利用所述大型神经网络精确检测出缺陷位置和缺陷种类,最后将检测结果回传至所述边缘侧。

本发明还公布了一种基于云边协同与深度学习的飞机表面缺陷检测系统进行缺陷检测的方法,包括如下步骤:

步骤a、训练用图片数据采集与数据增强;

步骤b、所述神经网络的挑选、训练、部署;

步骤c、所述终端数据采集;

步骤d、所述边缘侧数据处理;

步骤e、所述云端数据处理。

进一步地,所述步骤a还包括:

步骤a1、所述训练用图片数据采集;

步骤a2、缺陷标定;

步骤a3、所述数据增强。

进一步地,所述步骤a2还包括:

步骤a21、打开一张需要标定的图片;

步骤a22、点击“Create RectBox”创建一个标定框,将缺陷所在的位置框选进去;

步骤a23、注明所框选缺陷的种类;

步骤a24、保存标准图片,并且导出xml文件。

进一步地,所述数据增强的方式主要有三种,第一,对原始图片进行90度,180度,270度的旋转变换,然后对图片进行适当的向内收缩和向外扩张,生成新的图片;第二,使用300*300像素的滑动窗口将图像裁剪成若干块;第三,过度采样与细节复制,人为复制带有缺陷的图片,让所述缺陷图片被多次训练。

进一步地,所述步骤b还包括:

步骤b1、选择目标检测网络作为所述云端与所述边缘侧的所述神经网络,所述云端选择性能最好且比较稳定的YOLO V4网络,所述边缘侧选择速度较快同时准确率也不低的YOLO V4 TINY网络;

步骤b2、在选定所述神经网络后,需要对所述神经网络进行训练,通过利用所述步骤a中得到的图片数据,不断调整所述神经网络的权重,最终使识别准别率接近最高;

步骤b3、所述大型神经网络部署到所述云端,所述小型神经网络部署到所述边缘侧。

进一步地,所述步骤b3也可以选择使用容器的方式进行部署,其具体步骤如下:

步骤b31、使用docker将实现缺陷检测的程序以及运行程序的环境打包成镜像;

步骤b32、将所述镜像上传至docker hub;

步骤b33、所述边缘侧和所述云端分别从所述docker hub下载各自所需要的所述镜像;

步骤b34、分别在所述云端和所述边缘侧进行运行测试。

进一步地,所述步骤c选择使用搭载摄像头的无人机对飞机表面进行拍摄,首先将所述飞机表面划分成若干区域,然后检修人员操控所述无人机对某一块区域进行图像拍摄,拍摄完成后,所述无人机会通过图传系统将图片传输至所述边缘侧的设备。

进一步地,所述步骤d使用所述步骤b中部署的所述小型神经网络进行识别,会产生以下几个参数:候选框数量,框选位置,框内所包含缺陷的分类结果以及置信度,所述置信度表示所述框选位置和所述分类结果的可信度,它的数值处于0-1之间,越接近1表示所述可信度越高,越接近0表示所述可信度越低;所述系统在部署前会根据经验设置一个阈值,当所述置信度大于所述阈值时,选择直接使用所述小型神经网络识别出来的结果,当所述置信度小于所述阈值时,将识别的图片上传至所述云端,进行下一步的检测。

进一步地,所述步骤e还包括:

步骤e1、在所述云端收集到所述边缘侧上传的所述缺陷图片,使用所述大型深度学习网络对所述图片数据进行识别,并将识别出的各个缺陷的位置和种类回传至所述边缘侧;

步骤e2、所述检测结果不再以图片形式回传,而是直接将所述缺陷位置和所述缺陷类型以xml的形式回传给所述边缘侧。当所述边缘侧接收到后,可以根据所述缺陷位置与所述缺陷类型信息自行绘制出与所述云端识别结果一模一样的结果图;

步骤e3、所述缺陷图片存储与所述神经网络更新,所有上传到所述云端的所述缺陷图片,及其标定结果,在确定无误后,将存储在所述云端的数据库中;在所述步骤b中训练的所述神经网络虽然已经达到了当时所能达到的最大准确率,但是当所述缺陷图片数据的数量增加时,再次训练必定可以使所述神经网络的准确率得到一定的提升;但是频繁的训练网络会造成计算资源的过度浪费,所以仅当新增的图片数量达到上次训练图片数量的百分之十时,再次训练网络;当新的所述神经网络训练完成后,利用测试集对新生成的所述神经网络的识别准确率进行测试,若准确率高于上一次,那么将新的所述神经网络分别部署到所述边缘侧和所述云端;若准确率与上一次生成的相差不大,那么选择不部署,以此减少频繁部署带来的资源浪费。

本专利主要公开了一种基于云边协同与深度学习的飞机表面缺陷检测系统,其中,云边协同是指云端,边缘侧相互协作处理终端的数据。云端拥有强大的算力,但是和终端距离较远,传输数据有一定的延迟,不能满足实时性的要求。边缘侧和终端同在工业现场,传输数据速度较快,但是边缘侧的任务处理能力有限。云边协同系统将同时利用二者的优点,将终端发布的简单任务交给边缘侧进行处理,边缘侧难以处理的则交给云端进行处理,以此降低了系统整体的时延,也提高了网络资源的利用率。根据云边协同的特点,本系统将分别在云端和边缘侧部署相应的深度学习网络,协作完成缺陷检测任务。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的一个较佳实施例的飞机表面缺陷检测系统结构图;

图2是本发明的一个较佳实施例的系统前期准备工作流程图;

图3是本发明的一个较佳实施例的系统运行流程图。

具体实施方式

以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。

如图1和图2所示本发明的一个较佳实施例包括云端、边缘侧、终端,其中,所述边缘侧部署了轻量化的小型神经网络;所述云端部署了大型神经网络;所述边缘侧先对所述终端采集到的图片进行检测,得到初步的检测结果,并将缺陷图片过滤出来,之后将所述缺陷图片上传至所述云端,利用所述大型神经网络精确检测出缺陷位置和缺陷种类,最后将检测结果回传至所述边缘侧。

如图3所示,基于云边协同与深度学习的飞机表面缺陷检测系统,进行缺陷检测的方法,包括以下步骤:

步骤一:训练用图片数据采集与数据增强,该步骤主要可以分为以下三步:

S1,训练用图片数据采集

S2,缺陷标定

S3,数据增强

S1,用于缺陷图像检测的深度学习网络需要大量的图片进行训练。一般来说,图片的数量越多、质量越好,那么训练出来的网络识别准确率越高。所以在训练网络之前,需要先采集用于训练网络的图片数据。这些图片数据应该包含系统所要识别的缺陷。同时,这些图片的拍摄角度,光照环境,以及其他的拍摄条件应该尽量和之后真正检测表面缺陷时的拍摄条件基本一致。拍摄图片中应该包含缺陷图片和正常图片,如果有不同的缺陷需要识别,那么不同种类的缺陷数量应该做到尽可能一致。为了保证网络的识别准确率,根据经验,图片的数量起码在一千张左右。拍摄完成后,将图片进行整理,以便下一步对图片进行标定。

S2,在收集到图片之后,需要对缺陷图片进行标定。标定的目的是标明一张图片中缺陷的位置以及缺陷的类型。所以首先列出需要识别的缺陷的种类,确定其具体的名称和划分标准。然后借助软件标定图片上的缺陷,一般使用labelImg进行标定的工作。其具体过程如下:第一步,打开一张需要标定的图片;第二步,点击“Create RectBox”创建一个标定框,将缺陷所在的位置框选进去;第三步,注明所框选缺陷的种类,注意这里注明的缺陷种类必须在最开始列举的缺陷种类中;第四步,保存标准图片,并且导出xml文件。xml是可扩展标记语言的简称,用xml语言编写的文件称为xml文件,其内容一般呈树状结构。除了必须的结构外,标定缺陷图片之后生成的xml文件包含图片中的缺陷位置和缺陷种类信息。缺陷的位置由四个数字表示,分别是xmin、ymin、xmax、ymax。它们分别表示标定框的两个对角的坐标,通过这四个数字即可推断出整个标定框的位置。缺陷的种类由事先约定的字符或数字表示。

S3,数据增强。S1采集的图片中,带缺陷的图片一般占比不会太高,因为产生缺陷本就是个小概率事件。此外,也有可能采集不到足够数量的图片,因为千张图片本就是一个很大的数量级。这里就可以通过数据增强来解决以上的问题。

数据增强是为了解决在深度学习过程中用于训练的数据过少而对原始数据进行处理来获取更多数据的方法。主要可以采用以下几种方式来进行数据增强。第一,旋转伸缩变换。对原始图片进行90度,180度,270度的旋转变换,生成新的图片。对图片进行适当的向内收缩和向外扩张,生成新的图片,以此扩大数据集,有利于提升模型的泛化能力。第二,滑窗裁剪。用于缺陷检测的相机通常具有高分辨率。因此,图像的尺寸会非常大。虽然网络允许任意大小的图像作为输入,但是太大的图像会影响网络的计算效率。然而直接降低分辨率会丢失图像中的细节信息。因此,使用300*300像素的滑动窗口将图像裁剪成若干块。两个连续的窗口之间有部分重叠,以确保边缘区域周围的细节完好无损。第三,过度采样与细节复制。过度采样即人为复制带有缺陷的图片,让缺陷图片被多次训练,这在一定程度上能提高模型的精确度。针对小目标检测的问题,可以将图片中的缺陷进行复制,在保证不影响其他物体的基础上,人工增加缺陷在图片中出现的次数。

步骤二:网络的挑选、训练、部署,该步骤主要可以分为以下三步:

S1,云端与边缘侧网络的挑选

S2,网络的训练

S3,网络的部署

在得到了训练用图片数据集后,需要选择合适的网络进行训练。在飞机表面缺陷检测场景中,一般选择目标检测网络。目标检测可分为两个关键的子任务:目标分类和目标定位。目标定位用于判断图片中感兴趣目标的位置,并用候选框的形式框选出来;目标分类用于判断候选框中物体的种类。目前比较流行的目标检测网络可以分为两类:第一类是是以R-CNN系为代表的两阶段网络;第二类是以YOLO,SSD为代表的单阶段网络,随着研究的发展,两类算法均在准确度以及速度上有自己的优势。下面将具体阐述步骤二的每个步骤:

S1,云端与边缘侧网络的挑选。根据开头对系统的描述,在云端和边缘侧需要分别部署一个准确率高的大型神经网络和速度快的小型神经网络。根据目前国内外的研究现状,大型神经网络选择性能最好且比较稳定的YOLO V4网络,而小型神经网络则选择速度较快同时准确率也不低的YOLO V4-tiny网络。

S2,网络的训练。在选定网络后,需要对网络进行训练。通过对网络输入步骤一中得到的图片数据,不断调整网络的权重,最终使网络的识别准别率接近最高。在训练过程中,为了提高网络最终的准确率,会用到迁移学习的技术。迁移学习是指让计算机把其他热门领域习得的知识和方法迁移到我们感兴趣的领域,这样,计算机就不必在每个领域都依赖该领域内的数据从头学起。

迁移学习的具体过程如下:第一步,利用成熟的数据集或者类似的缺陷数据集先对目标网络进行训练,使网络获得初始权重。这里使用的数据集一般是COCO数据集或者是VOC数据集,这两者都是常用的目标检测数据集。第二步,利用步骤一中采集到的图片数据对第一步得到的网络进行训练,获得最终的网络权重。

S3,网络的部署。在将大型神经网络和小型神经网络训练完之后,需要将二者分别部署到云端和边缘侧。大型神经网络部署到云端,小型神经网络部署到边缘侧。在部署前,需要保证云端和边缘侧的环境满足系统的运行条件。

当然,也可以选择使用容器的方式进行部署。其具体步骤如下:第一步,使用docker将实现缺陷检测的程序以及运行程序的环境打包成镜像;第二步,将生成的镜像上传至docker hub(docker hub是用来存储docker镜像的官方网站);第三步,边缘侧和云端分别从docker hub下载各自所需要的镜像;第四步,分别在云端和边缘侧进行运行测试。使用docker的方法减少了运行环境不匹配带来的麻烦。

至此,表面缺陷检测系统所有的前期准备已经完成。

步骤三:终端数据采集

传统的飞机表面缺陷检测需要搭建平台供维修人员攀爬至需要检修的机身附近进行检查。这是因为飞机的体积和人的体型差距过大导致的。这么做的弊端是当从一个区域移动至另一个区域进行检查时,需要先调整检修平台的位置,再将人员送到平台上去检查。在本专利设计的系统中,选择使用搭载摄像头的无人机对飞机表面进行拍摄。无人机可以任意调整自己在空间中的位置,根据检修的需要选择拍摄的区域,减少了前期搭设平台的麻烦。而且目前的无人机在可操控性、拍摄性能、成本上都取得了阶段性的成果,完全能胜任飞机表面拍摄的任务。

无人机拍摄时遵循传统的检修流程。首先将飞机表面划分成若干区域,然后检修人员操控无人机对某一块区域进行图像拍摄,拍摄完成后,无人机会通过图传系统将图片传输至边缘侧的设备,对图片进行缺陷检测。

步骤四:边缘侧数据处理

边缘侧接收到无人机传过来的图片,使用步骤二中部署的小型神经网络进行识别。因为在边缘侧部署的网络是小型神经网络,所以并不期望边缘侧能完全将每张图片中包含的缺陷识别出来。部署在边缘侧的小型神经网络是为了在众多拍摄图片中筛选出包含缺陷的图片。因为在拍摄的图片中,包含缺陷的图片仅仅是所有图片中的一小部分,那么通过边缘侧小型神经网络的筛选,就能将大部分拍摄图片在本地得到过滤。减少了传输到云端的数据量。

在小型神经网络对缺陷进行识别之后,会产生以下几个参数:候选框数量,每个候选框的位置,框内所包含缺陷的类别,该分类的置信度。置信度表示框选位置和分类结果的可信度,它的数值处于0-1之间,越接近1表示可信度越高,越接近0表示可信度越低。本系统在部署前会根据经验设置一个阈值,当置信度大于阈值时,选择直接使用小型神经网络识别出来的结果。当置信度小于阈值时,将识别的图片上传至云端,进行下一步的检测。

步骤五:云端数据处理,该步骤主要可以分为以下两步:

S1,缺陷图片检测

S2,结果反馈

S3,缺陷图片存储与深度学习网络更新

S1,缺陷图片检测。在云端收集到边缘侧上传的缺陷图片数据,使用大型深度学习网络对图片数据进行识别。大型深度学习网络能准确识别出图片中各个缺陷的位置和种类,并将识别出的结果回传至边缘侧。

S2,结果反馈。为了减少传输的数据量,检测结果将不再以图片形式回传,而是直接将候选框的位置与缺陷的类型以xml的形式回传给边缘侧。当边缘侧接收到回传的图片后,可以根据候选框的位置与缺陷的类型信息自行绘制出与云端识别结果一模一样的结果图。

S3,缺陷图片存储与深度学习网络更新。所有上传到云端的缺陷图,及其标定结果,在确定无误后,将存储在云端的数据库中。这些图片将用于缺陷成因的分析与深度学习网络的更新。在步骤二中训练的深度学习网络虽然已经达到了当时所能达到的最大准确率,但是当图片数据的数量增加时,再次训练必定可以使深度学习网络的准确率得到一定的提升。但是频繁的训练网络会造成计算资源的过度浪费,所以仅当新增的图片数量达到上次训练图片数量的百分之十时,再次训练网络。

当新网络训练完成后,利用测试集对新生成的深度学习网络的识别准确率进行测试。若准确率高于上一次生成的深度学习网络,那么将新的网络分别部署到边缘端和云端;若准确率与上一次生成的深度学习网络相差不大,那么选择不部署,以此减少频繁部署网络带来的资源浪费。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于多光谱影像和激光点云的定位方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!