一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种制造件的孔位测量方法、装置、设备及介质与流程

2023-02-04 12:14:08 来源:中国专利 TAG:


1.本技术涉及制造件的孔位测量技术领域,尤其涉及制造件的孔位测量方法、装置、设备及介质。


背景技术:

2.在工业制造领域孔的加工制造是较为常见的加工对象,通常可基于加工的孔进行零部件的装配与二次再加工(如加工锪窝)。现今在航空制造领域,越来越多的大型复材蒙皮应用于飞机外形零件,而这些蒙皮和骨架之间的连接方式以铆钉与螺栓连接为主,该连接方式需要在蒙皮上加工连接孔位,连接孔位的加工分为制孔和锪窝。
3.目前航空制造件,如飞机蒙皮的锪窝主要由人工手动完成,由于手工制孔的孔位与零件模型上的理论孔位之间存在较大误差,不能直接采用理论孔位编制孔精加工程序。因此在孔精加工之前,还必须精确测量初孔的孔位,然后根据孔位实测值进行精加工或二次加工。然而,现有技术中对航空制造件的孔位测量精度不够,从而导致其他零件与航空制造件装配时的精度不够,进而影响到整个产品的质量。


技术实现要素:

4.本技术的主要目的在于提供制造件的孔位测量方法、装置、设备及介质,旨在解决现有技术中对航空制造件的孔位测量精度不够,从而导致其他零件与航空制造件装配时的精度不够,进而影响到整个产品质量的技术问题。
5.为实现上述目的,本技术第一方面提供了一种制造件的孔位测量方法,所述方法包括:
6.获取目标制造件图像;其中,所述目标制造件图像包括孔位区域;
7.将所述目标制造件图像输入识别模型中,以识别出所述目标制造件图像中的背景区域;其中,所述背景区域包括所述目标制造件图像的孔位区域;
8.将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等;
9.基于等尺度映射后的所述目标制造件图像中的背景区域,对所述目标制造件图像的孔位区域进行测量。
10.可选地,在所述将所述目标制造件图像输入识别模型中,以识别出所述目标制造件图像中的背景区域的步骤之前,还包括:
11.获取若干历史制造件图像;其中,所述历史制造件图像包括孔位区域;
12.将若干所述历史制造件图像分为训练样本和测试样本;
13.对所述训练样本进行标注,以标识所述历史制造件图像的孔位区域;
14.设置架构网络的超参数;
15.将标注后的所述训练样本输入所述架构网络中,以对架构网络进行训练;
16.将所述测试样本输入训练好的所述架构网络中进行测试,以获得识别模型。
17.可选地,所述对所述训练样本进行标注,以标识所述历史制造件图像的孔位区域,包括:
18.使圆形标注框覆盖所述历史制造件图像的孔位区域;其中,所述圆形标注框为标注系统中的标注框;
19.基于局部微调方法,使所述圆形标注框与所述历史制造件图像的孔位区域重合;
20.为所述圆形标注框内的区域与所述圆形标注框外的区域设置不同的灰度值,以标识所述历史制造件图像的孔位区域。
21.可选地,所述基于局部微调方法,使所述圆形标注框与所述历史制造件图像的孔位区域重合,包括:
22.获得所述圆形标注框的起始微调角度;
23.设置所述圆形标注框的局部微调角度单位;其中,所述局部微调角度单位为所述圆形标注框每次微调时的角度;
24.基于所述圆形标注框的起始微调角度和所述圆形标注框的局部微调角度单元,对所述圆形标注框进行局部微调,以使所述圆形标注框与所述历史制造件图像的孔位区域重合。
25.可选地,在将标注后的所述训练样本输入所述架构网络中,以对架构网络进行训练的步骤之前,还包括:
26.将标注后的所述训练样本进行数据增强;
27.所述将标注后的所述训练样本输入所述架构网络中,以对架构网络进行训练,包括:
28.将进行数量增强后的所述训练样本输入所述架构网络中,以对架构网络进行训练。
29.可选地,在所述将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等的步骤之前,还包括:
30.将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行加权求和融合;
31.所述将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等,包括:
32.将加权求和融合后的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等。
33.可选地,所述基于等尺度映射后的所述目标制造件图像中的背景区域,对所述目标制造件图像的孔位区域进行测量,包括:
34.获得所述目标制造件图像中的孔位区域的坐标;
35.基于聚类方法,获得所述目标制造件图像中孔位区域的中心坐标。
36.可选地,所述基于聚类方法,获得所述目标制造件图像中孔位区域的中心坐标,包括:
37.通过如下公式,获得所述目标制造件图像中孔位区域的中心坐标:
[0038][0039][0040][0041]
其中,sum
x
表示与目标制造件图像同尺度映射图像中满足灰度关系像素点的x值的总和,sumy表示与原图同尺度映射图像中满足灰度关系像素点的y值的总和,sum
x
和sumy对应的初始值均为0;cols表示采集的图像列数;rows表示采集的图像行数;times表示满足灰度关系像素点的数量,times对应的初始值为0;o
x
表示目标制造件图像中孔位区域中心的x坐标,oy表示目标制造件图像中孔位区域中心的y坐标。
[0042]
可选地,所述所述基于等尺度映射后的所述目标制造件图像中的背景区域,对所述目标制造件图像的孔位区域进行测量,包括:
[0043]
基于一阶差分,获得所述孔位区域的轮廓图像;
[0044]
基于所述孔位区域的轮廓图像,获得所述目标制造件图像中孔位区域的半径。
[0045]
可选地,所述基于所述孔位区域的轮廓图像,获得所述目标制造件图像中孔位区域的半径,包括:
[0046]
通过如下公式,获得所述目标制造件图像中孔位区域的半径:
[0047][0048]
其中,l
p
(i,j)表示满足特定灰度值且属于孔所在区域轮廓像素点与孔位区域中心o的距离;x表示目标制造件图像中任意一像素点的x轴坐标,y表示目标制造件图像中任意一像素点的y轴坐标;i表示在目标制造件图像中满足灰度关系像素点的x轴坐标,j表示在目标制造件图像中满足灰度关系像素点的y轴坐标;p表示满足所属灰度关系轮廓点的数量;red channel表示在rgb颜色空间中的红色通道;h(x,y)表示在目标制造件图像中r颜色通道对应(x,y)处像素点的灰度值;sort表示对所有满足关系的l
p
(i,j)进行从大到小排序;l
l
(i,j)表示距离的最大值;ls(i,j)表示距离的最小值;r
circle
表示目标制造件图像中孔位区域的半径;scale表示每个像素点表示的长度。
[0049]
第二方面,本技术提供了一种制造件的孔位测量装置,所述装置包括:
[0050]
获取模块,用于获取目标制造件图像;其中,所述目标制造件图像包括孔位区域;
[0051]
识别模块,用于将所述目标制造件图像输入识别模型中,以识别出所述目标制造件图像中的背景区域;其中,所述背景区域包括所述目标制造件图像的孔位区域;
[0052]
映射模块,用于将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等;
[0053]
测量模块,用于基于等尺度映射后的所述目标制造件图像中的背景区域,对所述
目标制造件图像的孔位区域进行测量。
[0054]
第三方面,本技术提供了一种计算机设备,该计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现实施例中所述的方法。
[0055]
第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现实施例中所述的方法。
[0056]
通过上述技术方案,本技术至少具有如下有益效果:
[0057]
本技术实施例提出的制造件的孔位测量方法、装置、设备及介质,该方法通过先获取目标制造件图像;其中,所述目标制造件图像包括孔位区域;然后将所述目标制造件图像输入识别模型中,以识别出所述目标制造件图像中的背景区域;其中,所述背景区域包括所述目标制造件图像的孔位区域;然后将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等;最后基于等尺度映射后的所述目标制造件图像中的背景区域,对所述目标制造件图像的孔位区域进行测量。即,当需要对目标制造件进行孔位测量时,先获得目标制造件的图像,然后将目标制造件的图像输入到提前训练好的识别模型中进行识别,通过识别模型识别出目标制造件图像中的孔位区域,然后将带孔位区域的背景区域与原目标制造件图像进行等尺度映射,这样可以使带孔位区域的背景区域的大小与原目标制造件图像的大小相等,然后再通过等尺度映射后背景区域,测量出目标制造件的孔位。即,由于该方法事先训练出了准确度的识别模型,因此通过识别模型可以更准确的识别出目标制造件的孔位区域;由于识别出目标制造件的孔位区域后,将带孔位区域的背景区域与原目标制造件图像进行等尺度映射,这样可以还原孔位区域原来的大小,因此孔位区域的大小更接近实际大小。基于更准确的识别出目标制造件的孔位区域,以及更准确的还原孔位区域的大小,因此可以更精度的对目标航空制造件的孔位区域进行测量。由于可以更精度的测量出目标航空制造件的孔位区域,因此可以使其他零件与目标航空制造件更精度的装配在一起,从而可以使整个产品的质量更好。
附图说明
[0058]
图1为本技术实施例涉及的硬件运行环境的计算机设备结构示意图;
[0059]
图2为本技术实施例的一种制造件的孔位测量方法的流程图;
[0060]
图3为本技术实施例提供目标制造件图像的示意图;
[0061]
图4为本技术实施例的构建识别模型的流程图;
[0062]
图5为本技术实施例提供的孔位训练样本快速标注系统的界面示意图;
[0063]
图6为本技术实施例的训练样本通过数据增加后与对应标注数据的示意图;
[0064]
图7为本技术实施例提供的具有强背景干扰下的孔位识别效果示意图;
[0065]
图8为本技术实施例提供的获得目标制造件的孔位区域的中心坐标的示意图;
[0066]
图9为本技术实施例提供的目标制造件图像满足梯度阈值点组成的孔位轮廓的示意图;
[0067]
图10为本技术实施例提供的获得目标制造件的孔位区域的半径的示意图;
[0068]
图11为本技术实施例的一种制造件的孔位测量装置的示意图。
[0069]
本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0070]
应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0071]
在工业制造领域孔的加工制造是较为常见的加工对象,通常可基于加工的孔进行零部件的装配与二次再加工(如加工锪窝)。现今在航空制造领域,越来越多的大型复材蒙皮应用于飞机外形零件,而这些蒙皮和骨架之间的连接方式以铆钉与螺栓连接为主,连接孔位的加工分为制孔和锪窝。目前飞机蒙皮的锪窝主要由人工手动完成,但人工锪窝存在锪窝质量一致性差、加工效率低、操作人员要求高等问题。由于手工制孔的孔位与零件模型上的理论孔位之间存在较大误差,不能直接采用理论孔位编制孔精加工程序。因此在孔精加工之前,还必须精确测量初孔的孔位,包括孔心坐标与孔的半径,然后根据孔位实测值进行精加工或二次加工。
[0072]
在加工过程中若孔位加工的精度较低,通常会导致其他零部件难以装配甚至无法装配的问题。若需基于加工的孔进行锪窝,初始孔位的加工质量与孔位的识别与定位测量对最终零件的质量会产生决定性的影响。对于航空航天制造件,任何一微小误差都有可能对最终的产品产生决定性的影响,因此,的航空制造件孔位的识别与定位测量对生产质量合格的产品具有重要意义。孔的识别与测量主要包含基于探针的接触式与基于视觉的非接触式。
[0073]
现今基于图像方式的孔位识别,其中以hough变换识别检测最为常见。hough变换识别圆的主要步骤包含:孔位彩色图像灰度化、高斯滤波处理、基于阈值或是灰度分布的策略二值化、基于形态学实现二次滤波和设定圆上点数阈值实现圆的识别。由于该识别方法需要设定大量的阈值鲁棒性较差,同时由于孔位周围的灰度值与孔在图像中的灰度值差异较小,通常很难得到理想中的孔位区域。尤其对于现今航空制造领域的复合材料容易出现毛刺与反光等情况很难实现孔位的准确识别与检测。
[0074]
总结现有的方法可知,探针测试的缺陷主要有测量效率低下、测量结果对毛刺等干扰敏感和成套设备的价格昂贵等。而现有的基于机器视觉技术为代表的非接触式测量技术可完全消除了传统接触式探头碰撞蒙皮的风险,测量的效率提升明显。但由于在制造车间不均匀的光照、尘埃、切屑和切削液等外界干扰因素的存在,拍摄的孔照片往往质量不高(理想中的高对比度、低噪声),导致现有的通用图像处理方法,无法准确计算孔的孔位坐标(表现为算法对环境的适应性差)。综上,目前对航空制造件的孔位测量精度不够,从而导致其他零件与航空制造件装配时的精度不够,进而影响到整个产品的质量。
[0075]
为了解决上述技术问题,本技术提供了一种制造件的孔位测量方法、装置、设备及介质,在介绍本技术的具体技术方案之前,先介绍下本技术实施例方案涉及的硬件运行环境。
[0076]
参照图1,图1为本技术实施例方案涉及的硬件运行环境的计算机设备结构示意图。
[0077]
如图1所示,该计算机设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏
(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
[0078]
本领域技术人员可以理解,图1中示出的结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0079]
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及电子程序。
[0080]
在图1所示的计算机设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明计算机设备中的处理器1001、存储器1005可以设置在计算机设备中,所述计算机设备通过处理器1001调用存储器1005中存储的制造件的孔位测量装置,并执行本技术实施例提供的制造件的孔位测量方法。
[0081]
参照图2,基于前述实施例的硬件环境,本技术的实施例提供了一种制造件的孔位测量方法,该方法包括:
[0082]
s10:获取目标制造件图像;其中,所述目标制造件图像包括孔位区域。
[0083]
在具体实施过程中,目标制造件图像是指需要进行孔位区域测量的制造件的图像,制造件包括航空制造件等。具体的,本技术的程序基于windows7系统64位,处理器为intel(r)xeon(r)w-2223 3.60ghz,内存(ram)大小为32gb,对应的显卡为nvidia-p2200(现存容量5gb),硬盘为三星(mz7lh)256gb。软件编译与界面开发平台基于visual studio 2017,对应的图像处理库为opencv3.4.5,对应的界面开发软件qt版本为5.9.9,深度学习平台基于pytorch框架,python版本为3.7.1,pytorch版本为1.5.0,torchvision版本为0.6.0,矩阵运算工具库numpy版本为1.21.4,cuda核心版本为10.2,显卡驱动版本为441.66。孔位彩色图像采集采用海康威视摄像头,摄像头芯片类型为cmos,采集的图像分辨率为4608*3288(1500万像素),镜头为大景深远心镜头,相机的曝光模型、自动增益、白平衡等参数设为自适应调节,采用环形同轴白色光照明。获取的待识别与测量表面孔位的目标制造件图像,如图3所示。
[0084]
s11:将所述目标制造件图像输入识别模型中,以识别出所述目标制造件图像中的背景区域;其中,所述背景区域包括所述目标制造件图像的孔位区域。
[0085]
在具体实施过程中,识别模型用于识别目标制造件图像中的孔位区域,识别模型事先训练、测试好,使识别模型具有准确的识别能力。具体的,将训练好的模型参数去初始化整个检测网络的特征提取参数,对于任意输入尺寸的待识别的目标制造件图像采用三次样条(cubic spline)差值(y=ai bix cix2 dix3)的方式归一化到1024*1024的大小,识别模型设置为eval()评估模式。加载模型权重参数model_path=r'./logs/ep120-loss0.002-val_loss0.001.pth,读取待识别的目标制造件图像image=image.open(image_path),得到识别结果r_image=unet.detect_image(image)。最后输出的结果包含了背景区域与前景区域,背景区域即预测结果中孔位所在的区域,前景区域即预测结果中除孔位之外的其他区域,将识别的结果映射到输入的目标制造件图像即可得到最后的结果。识别的孔位区域设置的灰度值为(0,255,0),背景区域的灰度值为(0,0,255)。由于通过具有精度度较高
的识别模型对目标制造件图像进行识别,因此可以更准确的识别出目标制造件图像的孔位区域;同时,由于通过识别模型进行识别,而不需要人工对目标制造件的孔位区域进行识别,因此可以极大的提高对目标制造件的孔位区域识别效率。
[0086]
s12:将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等。
[0087]
在具体实施过程中,由于识别出的待孔位区域的背景区域的大小与原目标制造件图像的大小可能不同,这样识别出来的孔位区域的大小与实际大小就会有所差别,因此需要将目标制造件图像中的背景区域与目标制造件图像进行等尺度映射。具体的,识别后的图像的大小与输入的原图必须相等,否则会导致测量的出现偏差,从而影响精度与准确率。等尺度映射采用opencv的resize函数处理库,实现方式为resize(out_result,preposed_image,size(org_image.cols,org_image.rows))。这样通过目标制造件图像中的背景区域与目标制造件图像进行等尺度映射后,可以使目标制造件图像中的背景区域与目标制造件图像的大小相等,这样识别区域与原图等尺度映射的作用在于评估所提出方法的识别效果,同时基于等尺度映射纯色背景图,可以更便于进一步计算出孔所在区域的孔心坐标与孔所在区域对应圆的半径数值。
[0088]
s13:基于等尺度映射后的所述目标制造件图像中的背景区域,对所述目标制造件图像的孔位区域进行测量。
[0089]
在具体实施过程中,对目标制造件图像的孔位区域进行测量包括对孔位区域的中心点坐标测量,以及对孔位区域的半径进行测量。由于是基于等尺度映射后的目标制造件图像中的背景区域,对目标制造件图像的孔位区域进行测量,而背景区域中的孔位区域通过识别模型得到更准确的识别,以及背景区域中的孔位区域通过等尺度映射后与实际孔位区域的大小更接近,因此,可以更准确的测量出目标制造件图像的孔位区域。
[0090]
综上,当需要对目标制造件进行孔位测量时,先获得目标制造件的图像,然后将目标制造件的图像输入到提前训练好的识别模型中进行识别,通过识别模型识别出目标制造件图像中的孔位区域,然后将带孔位区域的背景区域与原目标制造件图像进行等尺度映射,这样可以使带孔位区域的背景区域的大小与原目标制造件图像的大小相等,然后再通过等尺度映射后背景区域,测量出目标制造件的孔位。即,由于该方法事先训练出了准确度的识别模型,因此通过识别模型可以更准确的识别出目标制造件的孔位区域;由于识别出目标制造件的孔位区域后,将带孔位区域的背景区域与原目标制造件图像进行等尺度映射,这样可以还原孔位区域原来的大小,因此孔位区域的大小更接近实际大小。基于更准确的识别出目标制造件的孔位区域,以及更准确的还原孔位区域的大小,因此可以更精度的对目标航空制造件的孔位区域进行测量。由于可以更精度的测量出目标航空制造件的孔位区域,因此可以使其他零件与目标航空制造件更精度的装配在一起,从而可以使整个产品的质量更好。同时,解决了现有的基于图像处理技术在航空航天领域零部件孔位识别精度低与噪声干扰导致的鲁棒性差问题,提高了对目标制造件的孔位区域的识别效率。
[0091]
为了更准确的获得识别模型,在一些实施例中,如图4所示,在所述将所述目标制造件图像输入识别模型中,以识别出所述目标制造件图像中的背景区域的步骤之前还包括:
[0092]
s20:获取若干历史制造件图像;其中,所述历史制造件图像包括孔位区域。
[0093]
在具体实施过程中,历史制造件图像是指在对目标制造件的孔位区域进行测量之前的制造件的图像。具体的,采用visual studio 2017调用opencv的相机图像捕获函数videocapture(),设定while循环次数为30ms,并保存所获取的制孔的历史制造件图像(capture frame),历史制造件图像保存的格式为mat,相机对应的id=0。采集不同制孔在不同光照(明暗差异、环境差异)条件下的rgb彩色历史制造件图像,历史制造件图像的数量在允许的情况下尽量多些。
[0094]
s21:将若干所述历史制造件图像分为训练样本和测试样本。
[0095]
在具体实施过程中,为了对架构网络进行更好的训练和测试,得到准确度更高的识别模型,将若干历史制造件图像分为训练样本和测试样本。具体的,训练样本的总数优选占比0.8,测试样本的总数优选占比0.2,训练样本为深度学习模型提供需要学习的孔位特征,其中包含了常见的不同孔位特征信息图像(不同光照、背景噪声、含有毛刺、制孔缺陷、反光等);测试样本作用为验证所提出方法对孔位区域的识别与孔参数的测试效果。
[0096]
s22:对所述训练样本进行标注,以标识所述历史制造件图像的孔位区域。
[0097]
在具体实施过程中,训练样本的目标是对架构网络进行训练,因此需要将训练样本上的孔位区域进行标注。具体的,先使圆形标注框覆盖所述历史制造件图像的孔位区域;其中,所述圆形标注框为标注系统中的标注框;然后基于局部微调方法,使所述圆形标注框与所述历史制造件图像的孔位区域重合;最后为所述圆形标注框内的区域与所述圆形标注框外的区域设置不同的灰度值,以标识所述历史制造件图像的孔位区域。其中,所述基于局部微调方法,使所述圆形标注框与所述历史制造件图像的孔位区域重合的步骤包括:先获得所述圆形标注框的起始微调角度;然后设置所述圆形标注框的局部微调角度单位;其中,所述局部微调角度单位为所述圆形标注框每次微调时的角度;最后基于所述圆形标注框的起始微调角度和所述圆形标注框的局部微调角度单元,对所述圆形标注框进行局部微调,以使所述圆形标注框与所述历史制造件图像的孔位区域重合。
[0098]
更为具体的,制作训练样本标签作为识别模型的输入数据(annotations label)。由于制孔在历史制造件图像中呈现的特征为圆形,采用现有的labelimg标注工具难以达到理想的标注效果,因为标注的边由若干条直线组成,为使标注更加准确,直线段应尽可能的短,最短为1个像素,但采用该种方式标注方式工作量巨大,标注的效率极低。为此,通过visual studio 2017与qt5.9.9开发一套孔位训练样本快速标注系统,标注系统的核心特征结构元素为圆,如图5所示,图5为本技术实施例提供的孔位训练样本快速标注系统的界面示意图。本技术的快速样本标注方式为,首先在标注系统中打开训练样本图像所在的文件夹,载入所有的待标注训练样本图像,从工具栏中选择圆形标注框,并选择圆形标注框与填充区域的颜色,拖动标注框使框覆盖训练样本图像的孔位区域,然后采用局部精调的方式使圆形标注框与孔位区域完全重合。具体的,局部精调实现方式为:首先在局部微调界面选择需要调节圆所在的局部角度,角度以圆心o与半径方向为参考逆时针为正,顺时针为负,起始角度(0度)为圆心o与圆在x轴正向的夹角。局部微调的最小角度为10度,角度范围为0-360度。圆形标注框的内部区域被填充成相同的灰度值,对应的rgb值分别为0、255、0,对应的轮廓线为红色rgb值分别为255、0、0,而标注框之外的区域灰度值全设为统一的值,对应的rgb值分别为0、0、0。圆的轮廓、圆所在区域的内部与外部的填充灰度可采用不同的值,但对应的灰度值应具有差异。由于圆形标注框通过局部精调的方式,使圆形标注框与训
练样本图像中孔位区域更精度的完全重合在一起,因此,可以更精度的标注出训练样本图像的孔位区域,从而可以使识别模型的精度更高。
[0099]
s23:设置架构网络的超参数。
[0100]
在具体实施过程中,架构网络是是识别模型未训练和测试前的架构,为了得到精度更高的识别模型,需要对架构网络设置超参数。具体的,在深度学习中需要预先设定的参数皆为超参数,超参数设置的好坏直接影响着识别模型的识别效果,超参数的设置可以通过常规手段完成。
[0101]
s24:将标注后的所述训练样本输入所述架构网络中,以对架构网络进行训练。
[0102]
在具体实施过程中,识别模型的采用改进的vgg架构网络,下采样提取特征,然后采用反卷积的形式进行上采样,最后对训练样本图像中所有的像素点进行分类。训练的迭代epoch次数设置为100,模型的输入图片大小为1024*1024,使用的损失函数为交叉熵(其中l表示损失,y表示真实值,表示预测值)。num_classes=2、torch.cuda.is_available()=true、lr=1e-6、数据格式vocdevkit、lr_scheduler=optim.lr_scheduler.steplr(optimizer,step_size=1,gamma=0.96)、optimizer=optim.adam(model_train.parameters(),lr)、torch.nn.linear(512*5*5,4096)、torch.nn.relu(true)、torch.nn.dropout()、torch.nn.linear(4096,4096)、torch.nn.relu(true)、torch.nn.dropout()、torch.nn.linear(4096,2)。迭代100次后模型的损失函数下降较小,整体模型已经收敛,可提前停止防止过拟合,以此次训练的模型权重作为孔位所在区域识别的特征提取参数参数。迭代100个epoch后的损失累计为对于不同的识别数据集收敛时对应迭代的epoch次数可能存在差异,只要模型以后收敛可提前停止训练。
[0103]
s25:将所述测试样本输入训练好的所述架构网络中进行测试,以获得识别模型。
[0104]
在具体实施过程中,对应的测试样本数量为100张包含制孔的彩色图像,将测试样本图像输入架构网络中,若通过架构网络可以识别出测试样本图像中的孔位区域,并且识别的精度达到一定的要求,则表示架构网络的训练达到了要求,训练达到要求的架构网络即为识别模型。
[0105]
通过上述方法可以获得精度更高的识别模型,从而可以更准确的识别出目标制造件图像中的孔位区域,进而为更准确的测量出目标制造件图像中的孔位区域做好了更好的基础。同时通过训练好的高精度的识别模型可以更快速的识别出目标制造件图像中的孔位区域,从而可以降低相关人员的工作量,提高对目标制造件图像中的孔位区域的识别效率。
[0106]
为了进一步提高训练后识别模型的精度,在一些实施例中,给出了如下技术方案:在将标注后的所述训练样本输入所述架构网络中,以对架构网络进行训练的步骤之前还包括:
[0107]
将标注后的所述训练样本进行数据增强;
[0108]
所述将标注后的所述训练样本输入所述架构网络中,以对架构网络进行训练的步骤包括:将进行数量增强后的所述训练样本输入所述架构网络中,以对架构网络进行训练。
[0109]
本实施例中,为了提高识别模型的精度,需要更多数量的训练样本,为了增加训练样本,可以对训练样本进行数据增强。具体的,样本增强即采用图像处理的手段获得数量更
多的训练样本,以得到不同孔位具有不同特征差异的训练样本,可进一步提高识别模型的学习与泛化能力。增强的方式包含采用拉普拉斯增强(kernel=3、4、5)改变图像全局灰度、三通道局部像素抖动(-10,10)、添加加性噪声、添加乘性噪声、添加高斯噪声、水平翻转、竖直翻转和图像的尺度缩放(比例尺包含1:1、1:2、1:3、1:4,但对应图像的长宽比保持不变)。共13种方式种随机的选择1到13种,具体选择的种类根据随机数number%13求于得到的数选择对应的增强策略。值得说明的是对于标签,除了含有像素值增强方式其标签图像特征不变外,对于翻转与缩放会改变标签相对位置的增强方式,标注数据也需进行相同的变换操作,以保证样本与标注的一一映射对应关系。增强后的训练样本与对应标注数据,如图6所示。训练的原始样本数量为586个,采用样本增强的方式得到足够数量的样本,共1000个训练样本。
[0110]
为了更便于识别出孔位区域,在一些实施例中,给出了如下方案:在所述将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等的步骤之前还包括:
[0111]
将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行加权求和融合。
[0112]
所述将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等的步骤包括:将加权求和融合后的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等。
[0113]
本实施例中,识别的孔位区域设置的灰度值为(0,255,0),背景区域的灰度值为(0,0,255),识别的结果与原图采用加权求和的方式融合(采用pil库中image.blend的函数),识别结果融合权值占比0.3,原图融合权值占比0.7。纯背景图像rgb通道的灰度值0、0、0,识别的结果对应的rgb通道的灰度值为200、200、200。具有强背景干扰下的孔位识别效果,如图7所示。
[0114]
对目标制造件图像的孔位区域进行测量包括测量目标制造件图像中孔位区域的中心坐标,具体的,所述基于等尺度映射后的所述目标制造件图像中的背景区域,对所述目标制造件图像的孔位区域进行测量的步骤包括:先获得所述目标制造件图像中的孔位区域的坐标;然后基于聚类方法,获得所述目标制造件图像中孔位区域的中心坐标。
[0115]
具体的,基于获取的同原图像等尺度纯色背景映射图像,首先通过计算得到图像中满足灰度关系grayr=200的像素点,分别记录其对应的横纵坐标值,然后基于聚类的思想获得其聚类中心即为孔所在区域的中心坐标。具体的,通过如下公式,获得所述目标制造件图像中孔位区域的中心坐标:
[0116][0117][0118][0119]
其中,sum
x
表示与目标制造件图像同尺度映射图像中满足灰度关系像素点的x值
的总和,sumy表示与原图同尺度映射图像中满足灰度关系像素点的y值的总和,sum
x
和sumy对应的初始值均为0;cols表示采集的图像列数;rows表示采集的图像行数;times表示满足灰度关系像素点的数量,times对应的初始值为0;ox表示目标制造件图像中孔位区域中心的x坐标,oy表示目标制造件图像中孔位区域中心的y坐标,基于上述公式计算得到目标制造件图像中孔位区域的中心坐标,如图8所示。
[0120]
对目标制造件图像的孔位区域进行测量还包括测量目标制造件图像中孔位区域的中心坐标,具体的,所述所述基于等尺度映射后的所述目标制造件图像中的背景区域,对所述目标制造件图像的孔位区域进行测量的步骤包括:先基于一阶差分,获得所述孔位区域的轮廓图像;然后基于所述孔位区域的轮廓图像,获得所述目标制造件图像中孔位区域的半径。
[0121]
具体的,在计算机视觉中为实现目标的识别轮廓是最重要的特征信息,对于获取的纯色背景孔区域图像为了准确得到其轮廓,可采用一阶梯度的计算方式得到。图像中点的梯度可用表示。由于在图像中梯度具有方向性,梯度的方向α(x,y)=arctan[gy/g
x
],梯度的大小为m(x,y)=(|gy| |g
x
|)
1/2
。为计算任意一像素点的梯度值应先计算其x轴与y轴方向上的导数,结合导数的定义与图像中最小间隔为1pixel单位,方向导数可进一步表示为g
x
=f(x-δx)-f(x)/δx,gy=f(y-δy)-f(y)/δy。δx=1与δy=1对应的导数式子可称为一阶差分,即g
x
=f(x-1)-f(x)/1、gy=f(y-1)-f(y)/1。由于纯色背景图像为3通道应先转化为1通道采用cvtcolor(input_image,output_image,cv_rgb2gray)实现,灰度转化rgb各个通道的权重分别为0.5、0.0、0.5。由于背景的灰度值为0而前景(孔)所在区域的灰度为200,因此可进一步得到所有像素点处的梯度大小值。设定梯度阈值threshold=100,以最近邻准则连接所有像素点即可得到满足梯度阈值组成的图像,即为孔所在区域的轮廓图像,如图9所示。
[0122]
具体的,通过如下公式,获得所述目标制造件图像中孔位区域的半径:
[0123][0124]
其中,l
p
(i,j)表示满足特定灰度值且属于孔所在区域轮廓像素点与孔位区域中心o的距离;x表示目标制造件图像中任意一像素点的x轴坐标,y表示目标制造件图像中任意一像素点的y轴坐标;i表示在目标制造件图像中满足灰度关系像素点的x轴坐标,j表示在目标制造件图像中满足灰度关系像素点的y轴坐标;p表示满足所属灰度关系轮廓点的数量;red channel表示在rgb颜色空间中的红色通道;h(x,y)表示在目标制造件图像中r颜色通道对应(x,y)处像素点的灰度值;sort表示对所有满足关系的lp(i,j)进行从大到小排序;ll(i,j)表示距离的最大值;ls(i,j)表示距离的最小值;rcircle表示目标制造件图像中孔位区域的半径;scale表示每个像素点表示的长度,在原图中计算得到的孔径数值,如图10所示。值得说明的是为了保证测量的准确性,测量过程中采用的图像大小应与输入图像大小一致。
[0125]
综上,设计的标注系统完美解决了labelme标注工具不能很好的适用于圆形识别
对象的快速准确标注问题,提出的孔心坐标与孔径计算式子是基于识别的全局特征实现数值的计算,摒弃了传统的阈值判断方式具有较好的孔区域适应性与较高的测量精度特性。达到了航空航天零部件制孔快速检测的需要,为进一步方法的落地奠定了基础。
[0126]
在另一实施例中,如图11所示,基于与前述实施例相同的发明思路,本技术的实施例还提供了一种制造件的孔位测量装置,该装置包括:
[0127]
获取模块,用于获取目标制造件图像;其中,所述目标制造件图像包括孔位区域;
[0128]
识别模块,用于将所述目标制造件图像输入识别模型中,以识别出所述目标制造件图像中的背景区域;其中,所述背景区域包括所述目标制造件图像的孔位区域;
[0129]
映射模块,用于将识别出的所述目标制造件图像中的背景区域与所述目标制造件图像进行等尺度映射,以使所述目标制造件图像中的背景区域与所述目标制造件图像的大小相等;
[0130]
测量模块,用于基于等尺度映射后的所述目标制造件图像中的背景区域,对所述目标制造件图像的孔位区域进行测量。
[0131]
需要说明的是,本实施例中制造件的孔位测量装置中各模块是与前述实施例中的制造件的孔位测量方法中的各步骤一一对应,因此,本实施例的具体实施方式和达到的技术效果可参照前述制造件的孔位测量方法的实施方式,这里不再赘述。
[0132]
此外,在一种实施例中,本技术还提供一种计算机设备,所述计算机设备包括处理器,存储器以及存储在所述存储器中的计算机程序,所述计算机程序被处理器运行时实现前述实施例中方法。
[0133]
此外,在一种实施例中,本技术还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器运行时实现前述实施例中方法。
[0134]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。
[0135]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0136]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0137]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0138]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该
要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0139]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0140]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台多媒体终端设备(可以是手机,计算机,电视接收机,或者网络设备等)执行本技术各个实施例所述的方法。
[0141]
以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献