一种基于视觉的飞机线缆支架装配状态检测方法
技术领域
本发明涉及飞机线缆支架装配状态检测的研究领域,特别涉及是一种基于深度卷积神经网络进行特征提取以及特征表示的飞机线缆支架漏装判断方法。
背景技术
现阶段,在很多航空航天的装配场景中,在飞机线缆支架装配完成后,需要对安装状态进行检测,检查是否存在飞机线缆支架的漏装、错装、以及方位是否安装正确。目前采用的一般方法大部分为使用目测和进行卡尺测量,这些操作需要进行大量的人力操作并且需要多人协同,大大浪费人力物力,在多人操作的过程中会出现理解错误和操作失误,造成信息记录的错误。在装配过程中,考虑到实际工况,有时会存在可操作空间小,测量人员操作空间受限等因素,更加加大了人力负担,与高效率的要求背道而驰,难以适应当今快速生产的需要。
目前航空航天的装配过程中,对于位置等的测量主要利用激光跟踪仪等精密测量仪器作为辅助测量工具,但是由于装配元器件种类多样,外形和大小存在较大差异。各个元器件之间具有严格的相对位置要求,以及激光跟踪仪设备较为庞大,激光跟踪仪无法获得完整的这些数据信息。且激光跟踪仪只能测量位置而不能识别元器件种类,无法检测出元器件的错装。所以单一使用激光跟踪仪无法满足元器件安装状态检测的功能。中国专利201610496560.X公开了一种视觉检测方法及系统。其涉及的视觉检测方法中,主要包括:获取待检品的灰度图与目标圆的已知条件;其中,已知条件包括第一圆心位置、第一半径、目标圆的极性、第一偏差值与第二偏差值,对灰度图进行边缘检测获取灰度图的图像轮廓;根据已知条件对图像轮廓进行极性筛选,获取第一轮廓;根据第一轮廓上各点到目标圆的圆心位置范围内每个点的距离,确定第二圆心位置与第二半径;其中,第二圆心位置为确定的目标圆的圆心位置,第二半径为确定的目标圆的半径。其还提供了一种视觉检测系统,使得在检测待检品的图像上的圆时可以提高圆心和半径提取的准确度以及速度,进而提高提取效率。
近年来使用多目视觉结合结构光设备进行元器件空间参数测量的研究也很多,但是多目视觉结合结构光设备普遍设备庞大,对于装配场景要求比较好,难以在复杂的工业装配场景下使用。中国专利201810242277.3提出了一种视觉检测机构及视觉检测系统,该视觉检测机构包括平台基座、相机调整装置和产品调节装置;相机调整装置设置于平台基座,用于移动相机;产品调节装置设置于平台基座,用于移动待检测产品;相机调整装置与产品调节装置相配合,以移动相机和/或移动待检测产品使相机对待检测产品进行视觉检测。中国专利201810991696.7公开了一种基于双目立体相机的成像处理方法及成像处理系统,双目立体相机内置一个可见光摄像头和一个红外摄像头,该方法包括:利用可见光摄像头获取当前场景的彩色图像,利用红外摄像头获取当前场景的红外图像;利用预置的标定数据对彩色图像和红外图像分别进行校正,得到彩色校正图像和红外校正图像;对彩色校正图像和红外校正图像进行立体匹配,得到当前场景的深度信息;检测当前场景的光照条件;在当前场景处于低光照条件时,将彩色图像的彩色信息和红外图像的亮度信息进行图像融合得到复原图像,并输出复原图像及深度信息。其能够在低光照条件下获得高质量的成像效果,可以解决场景过暗、过曝等问题,达到宽动态的成像效果。
综上所述,目前普遍使用的测量仪器无法独立完成对于装配场景中元器件的安装状态的检测,自动化程度不高,虽然有很多基于视觉的检测算法应用于工业上的零部件检测,但是工业检测环境复杂且有很多不稳定的因素,一是待检测零部件种类繁多且形状大小不一,二是待检测工业零件表面纹理特征很少很难提取到有效的特征,并且检测的背景和待检测目标较为相似易存在漏检。目前现行设备无法同时实现对工业支架进行漏装、错装以及位置检测的功能,而基于视觉工业支架检测仍然拥有众多问题要解决。
发明内容
本发明主要目的在于克服现有的技术缺陷和不足,提供一种基于视觉的飞机线缆支架装配状态检测方案,结合深度学习的特征提取及特征表示的飞机线缆支架的方法,结合双目立体视觉;涉及到利用深度卷积神经网络进行特征提取以及特征表示的飞机线缆支架错装判断方法,涉及到利用双目立体视觉进行支架特征表示与飞机线缆支架空间定位,涉及到飞机线缆支架的位姿判断方法。
同时解决以下问题:
1.需要在复杂多变的装配场景下能够检测出支架是否存在漏装;
2.需要确定安装好的线缆支架是否为正确支架的种类;
3.需要对元器件进行空间位置求解以确定线缆支架是否安装在正确的位置。
实现复杂装配场景中存在线缆支架的安装状态检测,完成对线缆支架的漏装、错装和安装位置的检测,与标准数据库文件进行比对,生成结构化的安装报告,反馈给操作人员。可以大大减少人力劳动以及由于多人协作造成的操作失误和记录错误。
为了达到上述目的,本发明采用以下技术方案:
一种基于视觉的飞机线缆支架装配状态检测方法,该检测方法包含以下步骤:
S1、利用两个相同型号的相机(焦距,像素等)构建双目立体成像系统,双目立体成像系统还包括相机固定支架,通过相机固定支架使两个相同型号的相机能够满足飞机线缆支架装配场景中的景深和成像要求,完成双目立体成像系统的搭建。
S2、基于双目立体成像系统,对双目立体成像系统进行立体标定,确定内参、外参矩阵,利用相机固定支架上的两个相同型号的相机对飞机线缆支架装配场景进行照片采集。
S3、对采集的照片通过适应于飞机线缆支架安装场景构建目标检测深度网络结构,深度网络结构以飞机线缆支架图像为输入,并进行飞机线缆支架的目标检测,找到在图像坐标系下飞机线缆支架的位置,输出其ROI区域。
S4、将检测出的飞机线缆支架从飞机线缆支架安装场景的照片中进行裁剪,调整照片大小并输入到适应于飞机线缆支架种类识别的分类网络中,求得已经安装的飞机线缆支架的种类,并最后存储在数据库中。
S5、对S3中的检测出的飞机装配场景中飞机线缆支架的ROI进行飞机线缆支架特征识别,利用双目立体成像系统的视差获得飞机线缆支架的中心以及特征参数的三维位置。
S6、对检测出的飞机装配场景中飞机线缆支架进行姿态判定,获得其安装姿态,判断是否存在正反装等现象。
S7、将得到的飞机线缆支架装配场景下的飞机线缆支架的装配信息,装配信息包括:飞机线缆支架安装位置、飞机线缆支架种类、飞机线缆支架安装姿态等信息与标准模型文件作比对,判断在此飞机线缆支架安装场景下,飞机线缆支架是否存在漏装、错装以及方位错误,将结果输出展示在人机交互界面上,供装配质检人员使用。
步骤S1包括:
S1.1、根据需要检测的飞机线缆支架安装场景的视场大小,以及需要检测精度,选择相机分辨率,根据飞机线缆支架安装场景视场景深的变化以及视距,进行坐标误差分析,选定满足要求的最佳基线距离。
步骤S2包括:
S2.1、利用人机交互界面控制相机设备拍摄照片,分别获得飞机线缆支架对应的左图像和右图像,利用已经标定好的双目立体相机的旋转矩阵和平移矢量,将拍摄的飞机线缆支架的左图像和右图像进行立体校正。
步骤S3包括:
S3.1、构建适应于飞机线缆支架装配场景的神经网络结构,进行特征提取与信息表征。
S3.2、构建适应于飞机线缆支架装配场景的损失函数用来分离飞机线缆支架装配背景和飞机线缆支架。
S3.3、利用预训练神经网络中的coco数据集进行预训练,获得预训练权重的模型。
S3.4、制作飞机线缆支架装配场景的训练样本,利用双目立体视觉设备对飞机线缆支架装配场景进行图像样本采集。
S3.5、读取S3.3中的预训练权重作为模型初始化,利用S3.4制作的样本集作为输入,利用反向传播算法进行模型参数训练,待收敛后进行保存模型。
S3.6、利用Web人机交互界面控制相机采集飞机线缆支架装配现场照片,输入到S3.5预训练权重的模型当中,找到其在图像坐标系下的飞机线缆支架,并求得ROI区域。
步骤S4包括:
S4.1、构建适应于飞机线缆支架种类识别的神经网络模型。
S4.2、构建适应于飞机线缆支架种类识别的损失函数,用来引导S4.1中的神经网络模型进行神经网络训练。
S4.3、将S3中制作的飞机线缆支架装配场景样本集中的飞机线缆支架进行裁剪,调整大小到适应于飞机线缆支架种类是被的神经网络的输入大小。
S4.4、利用FaceScrub数据集对S4.1中神经网络进行预训练,保存预训练参数。
S4.5、对S4.3中生成的数据样本输入到S4.1所述的神经网络中,利用S4.4中的预训练参数作为权重初始化,利用反向传播算法进行模型训练,待模型收敛后保存模型参数。
S4.6、将S3.6处理过的飞机线缆支架场景照片对其中的飞机线缆支架进行裁剪,作为输入,输入到S4.5生成的网络当中,得出飞机线缆支架的种类。
步骤S5包括:
S5.1、对S3.6处理完成后的飞机线缆支架的ROI区域进行滤波处理,利用边缘算子提取边缘。
S5.2、将提取的边缘,利用直线检测算子检测飞机线缆支架的外边缘,提取到的的边缘进行偏移,得到图像坐标系下飞机线缆支架的中心。
S5.3、将提取的边缘,利用圆形检测算子检测飞机线缆支架的安装孔边缘,提取其安装孔中心。
S5.4、利用极点极线约束,对左图像中飞机线缆支架中心寻找右图像中的匹配点。利用标定好的内参矩阵,外参矩阵对其求三维点。
S5.5、利用极点极线约束,对左图像中飞机线缆支架安装孔中心寻找右图像中的匹配点。利用标定好的内参矩阵,外参矩阵对其求三维点。
步骤S6包括:
S6.1、计算S5.5中飞机线缆支架安装孔与飞机线缆支架中心的偏移量确定飞机线缆支架的安装姿态。
本发明与现有技术相比,具有如下优点和有益效果:
1.本发明针对现有方法的不足,通过深度学习和双目立体视觉的方法,建立起飞机线缆支架装配场景与飞机线缆支架种类、三维坐标的模态关系,将飞机线缆支架原始图片进行输入,即可以得出飞机线缆支架的空间定位以及种类信息,这种方法大大加快了对于飞机线缆支架装配状态检测的准确率与识别速度。
2.实现复杂装配场景中存在线缆支架的安装状态检测,完成对线缆支架的漏装、错装和安装位置的检测,生成结构化的安装报告,反馈给操作人员。可以大大减少人力劳动以及由于多人协作造成的操作失误和记录错误。
3.本发明采用方法只需要单人即可操作,不需要操作人员具备很强的专业知识,能够节省多人协作、专业培训等人力成本。
附图说明
图1为本发明的整体流程图以及检测方法逻辑示意图。
图2为本发明的实例图。
图3为本发明人机交互界面。
具体实施方法
下面结合实施例及附图对本发明进行进一步的详细的描述,但本发明的实施方式不限于此。
参考图1至图3对本发明实例进行进一步阐述说明。
S1、利用两个相同型号的相机(焦距,像素等)构建双目立体成像系统,包括相机固定支架,使其能够满足飞机线缆支架装配场景中的景深和成像要求。
S1.1、根据需要检测的飞机线缆支架安装场景的视场大小,以及需要检测精度,选择相机分辨率,根据飞机线缆支架安装场景视场景深的变化以及视距,进行坐标误差分析,选定满足要求的最佳基线距离。
本实例中采用的飞机线缆支架装配场景为飞机中机身下隔板1:1仿真装置,测量视场大约为1500*1500mm2,飞机机舱弯曲程度在1500*1500mm2的面积上不超过100mm。双目测量仪器的测量空间范围应该尽量大于1500*1500*100mm3,为了减少狭小区域的影响,相机到待检测平面应当大于1800mm,但是不能超过2000mm。根据要求,选用的相机型号为MU3HS2000M/C(MRYYO),有效像素为20MP,相元尺寸为2.4μm。
不同的基线距离会影响测量精度和测量视场,空间点中一点表示为:
计算XYZ三向空间点误差
计算基线距离与测量精度的关系,绘制关系图。
综合考虑双目立体成像系统的体积以及大的基线带来的噪声敏感度将相机见得基线距离定为600mm,随后求出光轴与基线之间的夹角α=81.5°。
S2、对双目立体成像系统进行立体标定,确定其内参、外参矩阵,利用立体成像设备对支架进行飞机线缆支架装配场景进行照片采集。
S2.1、利用人机交互界面控制相机设备拍摄照片,分别获得飞机线缆支架对应的左图像和右图像,利用已经标定好的双目立体相机的旋转矩阵和平移矢量,将拍摄的飞机线缆支架的左图像和右图像进行立体校正。
首先需要对双目立体成像设备进行标定,本方法拟采用张正友基于2D平面靶标的相机标定方法进行双目立体相机的标定。首先制作平面2D棋盘格靶标,将靶标制作成标定板。利用以基于Flask框架的Web人机交互界面控制左右相机拍摄平台上棋盘格靶标,利用相机捕捉矩阵的角点。然后相机位置不变,改变标定板的位置,通过改变标定板的位置、角度以及与相机之间的距离。
靶标平面上的点C与图像坐标系中图像点c之间存在矩阵变换H
如果对靶标平面拍摄n幅图像,将n个这样的方程叠加在一起,求解b;
Vb=0
b=[B11,B12,B22,B13,B23,B33]T
利用下面式子求解A矩阵
A矩阵求解后求解内外参数,建立左相机图像坐标系中特征点与右相机图像坐标系中特征点对应映射关系,利用极大似然法优化结果。
利用立体成像设备对飞机线缆支架装配场景进行图像采集。
S3、利用适应于飞机线缆支架安装场景的目标检测深度网络结构,深度网络以飞机线缆支架图像为输入,利用其进行飞机线缆支架的目标检测,找到在图像坐标系下飞机线缆支架的位置,输出其ROI区域。
S3.1、构建适应于飞机线缆支架装配场景的神经网络结构,进行特征提取与信息表征。
综合考虑飞机线缆支架装配场景情况以及平衡运行时间,采用resnet50作为特征提取网络,对飞机线缆支架装配现场做特征提取和信息表述。
S3.2、构建适应于飞机线缆支架装配场景的损失函数用来分离飞机线缆支架装配背景和飞机线缆支架。
使用Sigmoid函数作为损失函数用分类前后背景分类,将所有类型的支架统一看成为前景,装配场景中的其它物体看做为背景。利用Focal loss进行样本不均匀性抑制,通过调节超参数来调整适应于飞机线缆支架装配场景。
S3.3、利用coco数据集进行预训练,获得预训练权重的模型。
使用coco数据集对S3.1构建的网络进行预训练,利用反向传播算法进行参数调整,训练完成后保存预训练模型权重参数。
S3.4、制作飞机线缆支架装配场景的训练样本,利用双目立体视觉设备对飞机线缆支架装配场景进行图像样本采集。
利用Web人机交互界面控制S1构建的双目立体视觉设备对飞机线缆支架的装配场景进行图像采样。
由于考虑到现场环境的复杂性,飞机线缆支架可能会存在不同的安装角度和安装状态,飞机线缆支架也可能会被不同角度拍摄,为了能够保证各种安装状态的线缆支架能够被检测出来,需要对飞机线缆支架场景的照片进行随机旋转和随机仿射变换,以便能够生成各种安装状态和视角的下的飞机线缆支架场景照片,提高样本的多样性。
在工业现场中由于存在遮挡等因素,为了模拟真实环境下的飞机线缆支架的情况对支架进行随机丢失样本图像的一部分,对样本的照片随机添加高斯噪声并进行高斯模糊。
对上述的飞机线缆支架场景照片利用LabelImg工具进行标定,对飞机线缆支架场景中的飞机线缆支架框定,将其生成结构化文件。本案例中采用的文件类型是xml文件,文件包含图像名称,图像尺寸信息,包含支架名称和支架在图像坐标系下的区域。
S3.5、读取预训练权重作为模型初始化,利用S3.4制作的图像样本集作为输入,利用反向传播算法进行模型参数训练,待收敛后进行保存模型。
S3.6、利用Web人机交互界面控制相机采集飞机线缆支架装配现场照片,输入到S3.5训练好的模型当中,找到其在图像坐标系下的飞机线缆支架,并求得ROI区域。
S4、将检测出的飞机线缆支架从飞机线缆支架安装场景的照片中进行裁剪,调整大小输入到适应于飞机线缆支架种类识别的分类网络中,求得已经安装的飞机线缆支架的种类,存储在数据库中。
步骤S4包括:
S4.1、构建适应于飞机线缆支架种类识别的神经网络模型。
综合考虑飞机线缆支架的特征以及平衡时间性能,使用Mobile net作为飞机线缆支架的特征提取和特征表达。在前面三层采用较小的Kernel读取飞机线缆支架的结构细节和纹理细节。
S4.2、构建适应于飞机线缆支架种类识别的损失函数,用来引导S4.1中的神经网络的训练。
参考Fisher准则,作为飞机线缆支架的种类识别的损失函数,用来尽量缩小同类飞机线缆支架的特征向量距离,尽量增大不同类飞机线缆支架的特征向量的距离。通过优化此函数来进行引导S4.1构建的网络的参数学习。
S4.3、将S3中制作的飞机线缆支架装配场景样本集中的飞机线缆支架进行裁剪,调整大小到适应于飞机线缆支架种类是被的神经网络的输入大小。
本案例中利用Opencv对飞机线缆支架装配场景中的飞机线缆支架进行裁剪,为了防止由于多尺度缩放引入的误差,使用飞机线缆装配场景中的使用的RGB:114/187/90作飞机线缆支架的边缘填充,使其满足的S4.1所述的网络的输入要求。
S4.4、利用FaceScrub数据集对S4.1中神经网络进行预训练,保存预训练参数。
本案例中采用FaceScrub数据集对S4.1中的网络进行预训练,为了使得能够学到细粒度样本的特点,待模型收敛后将网络参数进行保存。
S4.5、对S4.3中生成的数据样本输入到S4.1所述的神经网络中,利用S4.4中的预训练参数作为权重初始化,利用反向传播算法进行模型训练,待模型收敛后保存模型参数。
S4.6、将S3.6处理过的飞机线缆支架场景照片对其中的飞机线缆支架进行裁剪,作为输入,输入到S4.5生成的神经网络中,得出飞机线缆支架的种类。
S5、对S3中的检测出的飞机装配场景中飞机线缆支架的ROI进行支架特征识别,利用视差原理获得其飞机线缆支架的中心以及特征参数的三维位置。
步骤S5包括:
S5.1、对S3.6处理完成后的飞机线缆支架的ROI区域进行滤波处理,利用边缘算子提取边缘。
本案例中对S3.6处理完成后的飞机线缆支架的ROI区域先进行高斯滤波操作,用来消除飞机线缆支架的拍摄过程的噪声,使用双阈值canny算子进行边缘计算,提取飞机线缆支架的边缘。
S5.2、将提取的边缘,利用直线检测算子检测飞机线缆支架的外边缘,提取到的的边缘进行偏移,得到图像坐标系下飞机线缆支架的中心。
将S5.1提取的飞机线缆支架的边缘利用Hough line检测飞机线缆支架的外边缘,对提取到的边缘进行偏移拟合,得到的图像坐标系下飞机线缆支架的中心。
S5.3、将提取的边缘,利用圆形检测算子检测飞机线缆支架的安装孔边缘,提取其安装孔中心。
将S5.1提取的飞机线缆支架的边缘利用hough circle检测飞机线缆支架的安装孔,提取安装孔的边缘,得到的图像坐标系下安装孔的中心。
S5.4、利用极点极线约束,对左图像中飞机线缆支架中心寻找右图像中的匹配点。利用标定好的内参矩阵,外参矩阵对其求三维点。
左图像中的安装孔有N个,对于左图像上每个像素点,对应于右图像像素点在一条特征极线上,左图像中安装孔中心Pi,i∈(0,N]在右图像中的特征极线与右图像中的安装孔中心最接近的中心Pri为Pi在右图像中对应的中心孔位置。
摄像机的左右投影矩阵分为M1,M2。Pi(u1,v1)和Pri(u2,v2)为P点在左右图像坐标系上的像素坐标。M1,M2为投影矩阵,下文中的m为投影矩阵里面的元素。
求得其三维坐标为(KTK)-1KTl;
S6、对检测出的飞机装配场景中飞机线缆支架进行姿态判定,获得其安装姿态,判断是否存在正反装等现象。
步骤S6包括:
S6.1、计算S5.5中飞机线缆支架安装孔与飞机线缆支架中心的偏移量确定飞机线缆支架的安装姿态。
本案例中,一般线缆支架安装位姿错误主要存在于正装和反装的形式,因为在两个小的定位孔已经能够将线缆支架约束在一个平面上,其安装错误类型大部分为正反装的问题。
设两个定位孔的位置为X1(x1,y1,z1)、X2(x2,y2,z2),飞机线缆支架中心的位置为X3(x3,y3,z3)。计算X1、X2、X3三个点的位置偏移量来得到飞机线缆支架是否正反装。
S7、将上述步骤得到的飞机线缆支架装配场景下的飞机线缆支架的装配信息,主要包括:飞机线缆支架安装位置、飞机线缆支架种类、飞机线缆支架安装姿态等信息与标准模型文件作比对,判断在此飞机线缆支架安装场景下,飞机线缆支架是否存在漏装、错装以及方位错误,将结果输出展示在人机交互界面上,供装配质检人员使用。
对Mysql数据库中的存储的飞机线缆支架安装场景中的标准模型文件进行提取,将上述步骤S3、S4、S5、S6得到的待检测飞机线缆支架安装场景中的飞机线缆支架信息与模型文件的信息进行比对。
判断在此飞机线缆支架安装场景下,飞机线缆支架是否存在漏装、错装以及方位错误,将结果输出展示在人机交互Web界面上,供装配质检人员使用。