三维点云数据的处理方法及其用途、电子设备、存储介质与流程

文档序号:30380531发布日期:2022-06-11 03:43阅读:442来源:国知局
三维点云数据的处理方法及其用途、电子设备、存储介质与流程

1.本发明属于自动化检测技术领域,特别是涉及一种三维点云数据的处理方法及其用途、电子设备、存储介质。


背景技术:

2.产品的焊缝主要包括最小宽度、最大宽度、平均宽度、最小高度、最大高度和平均高度等,通过评估宽度、高度与标准工件之间的差别,可以判断当前工件是否合格;产品的弧度主要包括上弧度、下弧度等,通过评估弧度与标准弧度之间的差别,可以判断当前工件是否合格。
3.目前,焊缝的检测和弧度的检测主要分为人工检测和自动化检测,其中人工检测是工人使用标准工具进行测量并记录,最后对数据进行统计比较,检测的效率较低,且工人的工作精度会随工作强度的提升与工作时间的延长而不断下降;自动化检测主要是通过参数测量技术获取产品的表面数据,然后根据相应的算法对产品的表面数据进行统计和计算来获取感兴趣区域的高度参数、宽度参数和弧度参数。
4.在现有的产品参数测量技术中,有二维视觉检测和三维视觉检测两种方式,使用传统的二维视觉检测方法对三维物体进行检测时,由于三维物体的结构复杂、参数众多,因此会存在较大的限制,难以对三维物体的高度、宽度等信息进行测量;三维视觉检测技术运用了很多先进的视觉处理技术和物体采像设备,在对三维物体的高度、宽度及弧度的测量方面有着快速准确的特点,然而相比于二维图像算法,三维图像算法处理的数据量较大,处理耗时较长、效率较低,且在三维空间内很难圈取感兴趣区域。


技术实现要素:

5.本发明实施例的目的在于提供一种三维点云数据的处理方法及其用途,通过线扫相机获取待测试件的三维点云数据,并对点云数据进行一系列处理,将三维点云数据精简后进行二维映射,方便对三维点云数据中的感兴趣区域进行统计计算,降低了三维点云数据的处理难度,提升了数据处理的速度和效率。
6.本发明实施例的目的还在于提供一种电子设备、存储介质。
7.为解决上述技术问题,本发明所采用的技术方案是,三维点云数据的处理方法,包括以下步骤:
8.s1,获取待测工件的点云数据和标准工件的点云数据,对点云数据进行直通滤波使其z轴坐标为0~1;
9.s2,将线扫相机到各点云的距离值作为像素值,获得待测工件点云数据对应的第一深度图像和标准工件点云数据对应的第二深度图像;
10.s3,计算第一深度图像相较于第二深度图像的偏移量和旋转角度,据此对待测工件点云数据进行配准。
11.进一步的,所述s3包括以下步骤:
12.s31,使用下采样分别获取第一深度图像的第一图像金字塔和第二深度图像的第二图像金字塔;
13.s32,使用矩形框圈取第一图像金字塔最底层中纹理特征明显的区域作为感兴趣区域roi1,对感兴趣区域roi1的坐标、宽度和高度分别进行逐层转换,获得第一图像金字塔每一层中的感兴趣区域roii,以及roii内各像素点的像素值和特征向量;
14.roii=(pi(xi,yi),wi,hi),其中i表示第一图像金字塔和第二图像金字塔的层数变量,i=1,

,i,i表示第一图像金字塔和第二图像金字塔的总层数,第i层即最高层,pi(xi,yi)表示第一图像金字塔第i层感兴趣区域左上角点,wi表示第一图像金字塔第i层感兴趣区域宽度,hi表示第一图像金字塔第i层感兴趣区域高度;
15.s33,以第二图像金字塔最高层中每个像素点为中心点,以wi、hi为宽高构造匹配区域,获得各匹配区域在不同旋转角度下的新匹配区域,将各匹配区域及其在不同旋转角度下的新匹配区域作为元素共同构成数据集合;
16.根据第一图像金字塔最高层感兴趣区域roii内像素点的像素值和特征向量,获得与roii对应的数据集合中的最优匹配区域,将其中心点作为最优匹配点,对最优匹配点进行扩充和坐标值转换得到其在第二图像金字塔第i-1层的最优匹配点集合;
17.s34,遍历第二图像金字塔第i-1层中的每个最优匹配点,以各最优匹配点为中心,以w
i-1
、h
i-1
为宽、高构建匹配区域,并获取各匹配区域在不同旋转角度下的新匹配区域,共同构成匹配区域数据集合;
18.根据第一图像金字塔第i-1层感兴趣区域roi
i-1
内像素点的像素值和特征向量,获得第二图像金字塔第i-1层中与感兴趣区域roi
i-1
对应的最优匹配区域和最优匹配点,对最优匹配点进行扩充和坐标值转换获得第二图像金字塔第i-2层的最优匹配点集合;
19.重复s34得到第二图像金字塔最底层中最优匹配点的坐标值;
20.s35,根据感兴趣区域roi1内中心点的坐标值与第二图像金字塔最底层中最优匹配点的坐标值,计算第一深度图像相对于第二深度图像的偏移量和旋转角度;
21.s36,根据偏移量和旋转角度获取待测工件点云数据与标准工件点云数据间的变换矩阵,基于此对待测工件点云数据进行配准。
22.进一步的,所述最优匹配区域的获取过程如下:
23.遍历第二图像金字塔第i层中的每个最优匹配点,以各最优匹配点为中心,以wi、hi为宽、高构建匹配区域,并获取各匹配区域在不同旋转角度下的新匹配区域,共同构成匹配区域数据集合;
24.计算匹配区域数据集合中各匹配区域与感兴趣区域roii的相似度s,若所有匹配区域与roii的相似度均小于等于0.9,则匹配失败,若匹配区域与roii的相似度大于0.9,则该匹配区域为最优匹配区域,其中心点为最优匹配点。
25.进一步的,所述对最优匹配点进行扩充和坐标值转换的过程如下:
26.对第二图像金字塔第i层中的最优匹配点进行扩充得到对中各匹配点进行坐标值转换,得到第二图像金字塔中上一层深度图像的最优匹配点集合u,集合u中的元素为p
i-1
(m
i-1
,n
i-1
,θ);
27.所述坐标值转换公式如下:
28.p
i-1
(m
i-1
,n
i-1
,θ)=k
·
pi(mi,ni,θ)
29.其中pi(mi,ni,θ)表示图像金字塔第i层的最优匹配点,p
i-1
(m
i-1
,n
i-1
,θ)表示图像金字塔第i-1层的最优匹配点,k表示构建第二图像金字塔时的下采样系数,k=2,(mi,ni)表示pi(mi,ni,θ)的坐标值,(m
i-1
,n
i-1
)表示p
i-1
(m
i-1
,n
i-1
,θ)的坐标值,θ表示匹配区域的旋转角度。
30.进一步的,所述相似度s的计算如下:
[0031][0032][0033]
mi、ni分别表示第二图像金字塔第i层中匹配区域内像素点的行总数、列总数,derxr、deryr分别表示像素点pixelr(xi,yi)在x方向、y方向上的向量,derxm、derym分别表示像素点pixelm(mi,ni)在x方向、y方向上的向量,pixelm(mi,ni)表示匹配区域中坐标(mi,ni)上的像素点,pixelr(xi,yi)表示与坐标(mi,ni)对应的roii中的像素点,sim(xi,yi)表示pixelm(mi,ni)与pixelr(xi,yi)两个像素点的相似度。
[0034]
三维点云数据的处理方法的用途,用于对待测工件中的焊缝进行测量,具体还包括以下步骤:
[0035]
s41,根据配准后待测工件的点云数据生成第三深度图像,第三深度图像中的感兴趣区域就是焊缝,以焊缝为中线,将第三深度图像分为左侧区域和右侧区域;
[0036]
s42,将左侧区域和右侧区域映射回点云数据,获得位于焊缝左侧的点云数据和右侧的点云数据;
[0037]
s43,使用ransac算法对点云数据进行平面拟合,得到焊缝左侧点云数据对应的左拟合平面和右侧点云数据对应的右拟合平面;
[0038]
s44,通过坐标转换算法获得焊缝区域的点云数据,计算焊缝区域中各点云数据到左拟合平面距离d
li
、右拟合平面的距离d
ri
,根据距离d
li
和距离d
ri
对点云数据进行过滤,获取焊缝区域最终的点云数据;
[0039]
s45,遍历焊缝点云数据中每个点云,统计各点云在x轴、y轴、z轴上的分布,获得焊缝的宽度、长度和高度信息。
[0040]
三维点云数据的处理方法的用途,用于对待测工件中的圆弧弧度进行测量,具体还包括以下步骤:
[0041]
s51,过滤待测工件点云数据的z轴信息,将其投影到xoy平面,获得平面点云数据;
[0042]
s52,生成平面点云数据对应的第四深度图像,对第四深度图像进行灰度化和二值化处理,获得第四深度图像的二值图,使用canny算子提取二值图中的边缘信息,获得圆弧像素点集合;
[0043]
s53,获取圆弧像素点的坐标值,使用最小二乘法进行曲线拟合,得到曲线拟合方程;
[0044]
s54,计算各圆弧像素点的曲率,得到待测工件的弧度信息。
[0045]
一种电子设备,包括处理器、存储器和通信总线,其中,处理器、存储器通过通信总线完成相互间的通信;
[0046]
存储器,用于存放计算机程序;
[0047]
处理器,用于执行存储器上所存放的程序时,实现上述的方法步骤。
[0048]
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
[0049]
本发明的有益效果是:使用三维图像算法来解决二维图像算法对于空间中物体形状测量的缺陷,同时使用二维图像算法辅助三维图像算法来提升三维图像算法的效率;图像采集使用线结构光提高稳定性与精度,使用二维图像算法的定位技术来辅助三维点云数据进行配准,极大地提升了三维点云数据的配准速度,使用二维图像与三维点云数据的映射关系来实现感兴趣区域的选取,极大地提升了焊缝测量与弧度检测的效率。
附图说明
[0050]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051]
图1是本发明实施例的流程图。
[0052]
图2是待测点云数据配准的流程图。
[0053]
图3是本发明实施例对焊缝进行测量的流程图。
[0054]
图4是本发明实施例对弧度进行测量的流程图。
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
如图1所示,三维点云数据的处理方法,具体包括以下步骤:
[0057]
步骤1,以工件底面所在平台为xoy平面,以平台的垂直方向为z轴建立坐标系,使用线扫相机扫描待测工件、标准工件获得待测工件点云数据和标准工件点云数据。
[0058]
步骤2,由于线扫相机的结构光是线性的,获得的原始点云数据在x、y方向上的分布处于有限范围内,沿z轴方向的分布较广,在z轴方向上存在很多冗余数据和噪声数据,降低了使用该数据进行焊缝测量和弧度检测的准确性和效率,因此使用直通滤波分别对待测工件点云数据、标准工件点云数据进行过滤和精简。
[0059]
直通滤波时将点云数据的z轴滤波范围设置为0~1,这样既能保留点云数据的大部分特征,又能极大程度的精简原始点云数据。
[0060]
步骤3,为了加速后续感兴趣区域的选取和配准速度,将待测工件点云数据映射为第一深度图像,将标准工件点云数据映射为第二深度图像,具体过程如下:
[0061]
设置图像采集器的参数,使用pcl点云库中的库函数生成在特定角度上的深度图像,即获取线扫相机到点云数据中每个点云的距离,在相机默认拍摄角度下点云在三个维度上具体数值的平方和,将所述距离值作为深度图像中各像素点的像素值,获得待测工件
点云数据对应的第一深度图像和标准工件点云数据对应的的第二深度图像。
[0062]
所述参数包括:1、选定图像采集器的角度即位姿(sensor_pose),一般默认为线扫相机拍摄的角度,设置该参数主要是为了获取在俯视角度上工件的深度图像,如果测量需求有变化,可通过在预览页面旋转三维点云模型来获取工件正视或侧视角度的深度图像;2、设置角度分辨率,就是深度图像中一个像素点对应角度的大小;3、设置深度传感器的水平最大采样角度和垂直最大采样角度,由于线扫相机的特性,在传感器后侧没有三维点云数据,因此将水平最大采样角和垂直最大采样角均设置为180
°
;4、设置默认坐标系统为camera_frame;5、设置获取深度图像深度时,近邻点对查询点距离值的影响水平为5,表示将z轴缓冲区中5cm内所有点的平均值作为像素点的像素值,以确保数据不丢失;6、设置最小获取距离,一般默认为0,表示在z轴方向上小于当前值的为图像采集器的盲区,不做处理。
[0063]
在一般情况下,可以直接对线扫相机扫描到的数据做深度图像处理,如果线扫相机采集的数据不理想,或者期望获取所采集数据其他角度的深度图像,则可以通过调整上述参数获取。
[0064]
步骤4,使用二维图像算法计算第一深度图像相较于第二深度图像的偏移量和旋转角度,如图2所示对待测点云数据进行配准的具体过程下:
[0065]
步骤41,通过下采样分别生成第一深度图像的第一图像金字塔和第二深度图像的第二图像金字塔,两个图像金字塔层数相同,其最底层是深度图像原图,即第一深度图像和第二深度图像,图像金字塔的层数越高,深度图像中的像素点数越少,图像金字塔中每一层深度图像的大小均为低一层深度图像的1/2,图像金字塔层数减少,会使算法的处理速度变慢,计算的精度提高,图像金字塔层数增多可以适当提升算法的处理速度,但深度图像中的特征信息损失较多,处理结果较差,综合考虑算法的处理速度和效果,将图像金字塔层数设置在2-6层内。
[0066]
步骤42,使用矩形框圈取第一图像金字塔最底层中纹理特征明显的区域作为感兴趣区域roi1,使用公式(1)对感兴趣区域roi1进行逐层转换,获得第一图像金字塔中每一层的感兴趣区域roii:
[0067][0068]
第一图像金字塔第i层中感兴趣区域roii=(pi(xi,yi),wi,hi),其中i表示图像金字塔的层数变量,i表示图像金字塔的总层数,i=1,2,

,i,pi(xi,yi)表示第一图像金字塔第i层感兴趣区域左上角点,p
i+1
(x
i+1
,y
i+1
)表示第一图像金字塔第i+1层感兴趣区域左上角点,wi表示第一图像金字塔第i层感兴趣区域宽度,w
i+1
表示第一图像金字塔第i+1层感兴趣区域宽度,hi表示第一图像金字塔第i层感兴趣区域高度,h
i+1
表示第一图像金字塔第i+1层感兴趣区域高度,k表示构建第一图像金字塔时的下采样系数,k=2。
[0069]
步骤43,获取第一图像金字塔每一层中感兴趣区域roii内每个像素点的像素值
pxi,并使用sobel算子对深度图像进行处理获得每个像素点的特征向量vei。
[0070]
步骤44,在第二图像金字塔最高层中构造匹配区域,根据感兴趣区域roii内像素点的像素值和特征向量,获得与感兴趣区域roii相似度最高的最优匹配区域,将其中心点作为最优匹配点。
[0071]
步骤45,为了避免计算误差,对获取的最优匹配点进行扩充得到根据最高层匹配到的最优匹配点进行坐标值转换,获得第二图像金字塔中上一层的最优匹配点集合u,集合u中的元素为p
i-1
(m
i-1
,n
i-1
,θ);
[0072]
同样地,在第二图像金字塔的第i-1层,以最优匹配点集合u中每个像素点为中心,以w
i-1
、h
i-1
为宽、高构造匹配区域,将所有匹配区域及其在不同旋转角度下的匹配区域构成新匹配区域集合。
[0073]
重复相似度计算获得新的最优匹配点,对新得到的最优匹配点进行扩充和坐标值转换,直至到达第二图像金字塔最底层,获得最底层中最优匹配点的坐标值p
res
(m
res
,n
res
,θ
res
)。
[0074]
所述坐标值转换公式如下:
[0075]
p
i-1
(m
i-1
,n
i-1
,θ)=k
·
pi(mi,ni,θ)
[0076]
其中pi(mi,ni,θ)表示图像金字塔第i层的最优匹配点,p
i-1
(m
i-1
,n
i-1
,θ)表示图像金字塔第i-1层的最优匹配点,k表示构建第二图像金字塔时的下采样系数,k=2。
[0077]
步骤46,根据感兴趣区域roi1内中心点坐标值p
roi
(x
roi
,y
roi

roi
)与第二图像金字塔最底层中最优匹配点的坐标值p
res
(m
res
,n
res

res
),计算得到第一深度图像相比于第二深度图像的偏移量offset与旋转角度r:
[0078]
offset=(m
res-x
roi
,n
res-y
roi
)
[0079]
r=θ
res-θ
roi
[0080]
由于待测工件的旋转只在x轴与y轴所在的平面上发生,所以可以将第一深度图像相较于第二深度图像的偏移量改写为d(a,b,c),d(a,b,c)=(offset
x
,offsety,0),其中offset
x
表示工件在x方向上的偏移量,offsety表示工件在y方向上的偏移量,offset
x
=m
res-x
roi
,offsety=n
res-y
roi

[0081]
根据偏移量d(a,b,c)和待测工件在y轴上的旋转角度构造变换矩阵如下:
[0082][0083]
其中r
x
、ry、rz分别代表待测工件的点云数据在x轴、y轴、z轴上的旋转角度,a、b和c分别代表待测工件的点云数据在x、y和z方向上的偏移量,a=offset
x
,b=offsety,c=0。
[0084]
通过上述变换矩阵对待测工件点云数据进行变换,获取配准后的待测工件点云数据,在本实施例中,使用深度图像来间接计算待测工件点云数据相对于标准工件点云数据的偏移量与旋转角度,这样可以提高算法的处理速度,方便对三维点云数据进行处理。
[0085]
步骤44中构建匹配区域和获取最优匹配区域过程如下:
[0086]
将超出边缘位置的像素点的像素值和特征向量赋值为0,遍历第二图像金字塔第i
层深度图像中的每个像素点pi(mi,ni),以各像素点pi(mi,ni)为中心点,以wi、hi为宽、高构造匹配区域,在预设角度范围0-180
°
内,获取匹配区域在不同旋转角度下的新匹配区域,将所有匹配区域及其在不同旋转角度下的新匹配区域作为元素共同构成第i层中匹配区域的数据集合match_rotatei。
[0087]
匹配区域的旋转公式如下:
[0088][0089][0090]
其中(m
i ni)表示旋转前第i层内像素点的坐标,(mi′ꢀ
ni′
)表示旋转后第i层内像素点的坐标,表示以像素点(m
i ni)为中心点构建的匹配区域,表示匹配区域旋转角度θ后得到的新匹配区域。
[0091]
使用数据集合中每一个元素与感兴趣区域roii进行匹配,计算内的像素点pixelm(mi,ni)与感兴趣区域roii内的像素点pixelr(xi,yi)的相似度sim(xi,yi),感兴趣区域roii与匹配区域的宽、高相同,像素点pixelm(mi,ni)与pixelr(xi,yi)在各深度图像中的位置相同,即mi=xi、ni=yi,进而获得各匹配区域与感兴趣区域roii的相似度s。
[0092][0093][0094]
其中mi、ni分别表示第二图像金字塔第i层中匹配区域内像素点的行总数、列总数,derxr、deryr分别表示像素点pixelr(xi,yi)在x方向、y方向上的向量,derxm、derym分别表示像素点pixelm(mi,ni)在x方向、y方向上的向量。
[0095]
当数据集合中所有匹配区域与roii的相似度均小于等于0.9时,则认为匹配失败;当某匹配区域与roii的相似度高于0.9时,则视为该匹配区域为最优匹配区域,其中心点为最优匹配点。
[0096]
如图3所示,使用经过上述方法处理的点云数据进行焊缝测量,具体过程如下:
[0097]
步骤51,根据配准后的待测工件点云数据生成对应的第三深度图像,第三深度图像中的感兴趣区域就是焊缝,以焊缝所在平面为中线将第三深度图像分为左侧区域和右侧区域。
[0098]
步骤52,根据左侧区域和右侧区域在第三深度图像中位置坐标,获得位于焊缝左侧的点云数据和右侧的点云数据。
[0099]
第三深度图像位置坐标与点云数据的坐标转换关系如下:
[0100][0101]
其中x、y、z表示点云的三维坐标数据,x

、y

表示像素点在第三深度图像中的位置坐标,d表示深度值,表示相机内参。
[0102]
步骤53,根据焊缝左侧的点云数据、右侧的点云数据,按照以下过程分别进行平面拟合,得到左拟合平面和右拟合平面:
[0103]
创建模型参数对象用于保存平面拟合结果;
[0104]
设置平面分割阈值为0.7,将与拟合平面的距离超过阈值的点,判定为无效数据;
[0105]
使用ransac算法对点云数据进行平面拟合,最后通过不断更新设置模型来获取平面拟合的最佳结果。
[0106]
ransac算法具体过程如下:
[0107]
具体地,采用迭代的方式从一组包含离群的待测工件点云数据中估算出数学模型的参数,ransac算法假设数据中包含正确数据和异常数据(或称为噪声),正确数据记作内点(inliers),异常数据记作外点(outliers),同时ransac还假设给定一组正确数据,存在可以计算出符合这些数据的模型参数的方法。
[0108]
ransac算法的核心思想就是随机性和假设性,随机性是根据正确数据的出现概率去随机选取抽样数据,根据大数定律,随机性模拟可以近似得到正确结果;假设性是假设选取的抽样数据都是正确数据,然后用这些正确数据通过满足问题的模型计算其他点,最后对这次结果进行评分,如果局内点太少,不如上一次的模型,则舍弃,如果比现有模型更好则选择当前模型。
[0109]
本实施例选择ransac算法的原因如下:数据经过直通滤波处理后数据量减少,ransac算法具有鲁棒性,可以从大量局外点的数据集中估计高精度的参数,本实施例为了能更精确地统计关键区域的点云数据,需要先派出非关键区域的点云数据,所以需要对关键区域两边的点云数据进行平面拟合,获得焊缝左边点云数据的拟合平面和右边点云数据的拟合平面,其方程式表达如下:a
l
x+b
l
y+c
l
z=d
l
、arx+bry+crz=dr,其中a
l
,b
l
,c
l
,d
l
与ar,br,cr,dr分别为ransac算法计算出左拟合平面与右拟合平面的公式常数。
[0110]
步骤54,根据焊缝区域在第三深度图像中的位置坐标,使用步骤52中的坐标系转换关系获得其对应的点云数据,计算焊缝区域各点云数据与左拟合平面的距离d
li
、右拟合平面的距离d
ri
,对点云数据进行过滤得到最终的焊缝点云数据。
[0111]
设置焊缝点云数据过滤阈值为0.1,当某一点云距离左拟合平面或右拟合平面的距离小于等于0.1时,则认为是平面点,也就是焊缝的边缘毛刺,需要滤除,当某一点云距离左拟合平面和右拟合平面的距离都大于0.1时,则认为该点云是非平面点,需要保留;当过滤阈值的数值过小时,会统计到焊缝边缘的毛刺点,产生冗余数据,当过滤阈值的数值过大
时,会将部分焊缝点云数据过滤掉,影响最终的统计结果。
[0112]
步骤55,遍历焊缝点云数据中每个点,统计每个点云数据在x轴、y轴、z轴上的坐标值,获得每两个点在x轴、y轴上距离值的最大值、最小值和平均值,以及在z轴上坐标值的最大值、最小值和平均值,得到焊缝的高度、宽度和高度信息。
[0113]
如图4所示,使用经过上述方法处理的点云数据进行圆弧弧度测量,具体过程如下:
[0114]
步骤61,在z轴方向上对点云数据进行投影,将待测点云数据投影到xoy平面,过滤待测点云数据的z轴信息,获取平面点云数据。
[0115]
步骤62,通过可视化窗口拖拽3d模型,调整平面点云的位姿至正视角度,在上述位姿条件下,使用步骤3中的方法生成其对应的第四深度图像,对第四深度图像进行灰度化和二值化处理,获得第四深度图像的二值图。
[0116]
设置canny中的输入为二值图,输出为圆弧图像,低阈值为90,高阈值为110,图像通道为1,调用canny接口提取二值图中的边缘信息,获得圆弧像素点集合;
[0117]
步骤63,根据圆弧像素点集合中每个像素点的坐标值,使用最小二乘法进行曲线拟合。
[0118]
具体地,假设最小二乘法的拟合多项式为:y=a0+a1x+...+akxk,各像素点到曲线的距离之和,即偏差平方和如下:最终在一组合适的系数(a0,a1,...,ak)下,偏方差和最小,则拟合出来的曲线效果越好。
[0119]
其中k表示拟合多项式中项的数目变量,a0、a1、ak分别表示拟合多项式第1项、第2项、第k项的系数,其值是未知的,q表示圆弧像素点的数目变量,q表示圆弧像素点的总个数,q=1,2,

,q,yq表示第q个圆弧像素点的最小二乘拟合结果。
[0120]
为了求得符合条件的拟合多项式系数,对等式右边求aq偏导数,因而得到了:
[0121][0122][0123]
...
[0124][0125]
将上式的多项式系数表示为矩阵形式,如下:
[0126][0127]
其中xq表示第q个圆弧像素点的x轴坐标,表示在计算第q个圆弧像素点到拟合
曲线距离时在第k项系数的表现,使用上式求解出系数矩阵即a
0-ak,进而确定曲线的拟合方程。
[0128]
步骤64,通过下式获得拟合曲线上每个像素点的曲率κq,得到待测工件上的弧度信息。
[0129][0130]
其中y
′q表示yq的一阶导数,y
″q表示yq的二阶导数,本实施例将拟合曲线中的最高曲率值作为该曲线的曲率特征值。
[0131]
在本实施例的初期分别尝试了template_alignment方法和alignment_prerejective方法直接对3d点云数据进行匹配,然后对点云数据进行校准,经过测试,每次测量焊缝宽度高度的时间高达30分钟,随后在同样的电脑配置下改为使用二维图像算法来辅助三维点云校准,整个测量时间缩减到20秒左右,极大地加快了算法的处理速度;对比前后不同处理方式的处理结果,两种方法的结果均将误差控制在1%之内。
[0132]
同样地,在本实施例初期是通过直接对三维点云数据进行曲面重建的方式来计算曲面的曲率,使用kd-tree方法对三维点云数据进行曲面重建,同时使用pcl中的getmodelcurvatures接口计算曲面曲率,整个计算过程需要一个小时,在同样的电脑配置下,使用3d转2d的方式辅助计算曲面曲率,整个计算过程缩减到20s左右,极大地加快了算法的处理速度。
[0133]
本发明还包含一种电子设备,包括存储器和处理器,所述存储器用于存储各种计算机程序指令,所述处理器用于执行所述计算机程序指令完成上述全部或部分步骤;电子设备可以与一个或多个外部设备通信,还可与一个或多个使用户与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其他计算设备进行通信的任何设备通信,电子设备还可以通过网络适配器与一个或多个网络(例如局域网、广域网和/或公共网络)通信。
[0134]
本发明还包括一种存储有计算机程序的计算机可读介质,该计算机程序可以被处理器执行,所述计算机可读介质可以包括但不限于磁存储设备、光盘、数字多功能盘、智能卡及闪存设备,此外本发明所述的可读储存介质能代表用于存储信息的一个或多个设备和/或其他机器可读介质,术语“机器可读介质”包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线通道和各种其他介质(和/或存储介质)。
[0135]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0136]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1