System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及3d检测领域中的缺陷检测,具体涉及基于基准三维数据的焊缝表面检测方法、设备及介质。
技术介绍
1、在新能源领域中,锂电池外壳需要焊缝技术,如果焊接不达标会导致锂电池外壳密封性不好,存在很大的安全隐患。针对于这一需要,诞生了如何检测焊缝是否达标的需求。目前,焊缝缺陷主要存在漏焊和虚焊,其对于锂电池外壳密封性的影响很大,存在质量问题。
2、现如今针对于上述焊接缺陷检测主要存在以下两个方向:
3、第一种方向为:从整体上采用识别技术对整个焊缝来进行缺陷检测,例如:采用深度学习和模型配准技术对整个焊缝进行整体缺陷检测。其中,主要采用icp算法进行配准,配准后比较对应点之间的距离之和。但对于该方法,模型配准的主要问题在于计算量很大、速度很慢,而且存在有很多不受控制的因素,例如:配准的本身就存在误差,如果检测的缺陷很小会导致检测结果不符合要求;而深度学习需要大量的样本,不能进行快速部署。
4、第二种方向为:对焊缝进行切片,按照每一个切片进行对比,该方法主要是将焊缝分割成很多段,依次检测每一段是否满足设定的要求。但对于该方法,目前大部分是将采集设备放置到一个匀速运动装置上,每隔一段时间或者每隔一段位移取出一部分,直接作为切片点云。但是这部分存在一个很大的局限性在于运动装置的路径需要和焊缝的路径保持一致,如果焊缝的路径是直线或者圆环,理论上是可以控制运动装置的路径的,但是如果焊缝的路径为复杂路径,该方法就无法实现。
技术实现思路
1、基于上述
技术介绍
2、本专利技术通过下述技术方案实现:
3、本专利技术第一方面提供了基于基准三维数据的焊缝表面检测方法,包括如下步骤:
4、步骤s1、获取点云数据,基于包围盒算法对所述点云数据进行栅格化处理,得到深度信息图像;
5、步骤s2、提取所述深度信息图像的感兴趣区域,将所述感兴趣区域作为待检测区域,对所述待检测区域进行高斯滤波处理,生成待检测图像;
6、步骤s3、对所述待检测图像进行局部凹凸检测,得到凹凸区域;
7、步骤s4、采用四领域连通性对所述凹凸区域进行区域分割,得到分割区域,所述分割区域进行缺陷区域判定,得到缺陷检测结果。
8、在上述技术方案中,通过包围盒算法对点云数据进行栅格化处理,以采用的栅格化的方式,重新生成的一张深度信息图,其不需要考虑相机外参和内参这些繁琐的参数,仅仅需要点云数据和设定每一个栅格的大小就会生成新的深度信息图。在深度信息图中可以快速获取每一个点的相邻点,有利于后续进行凹凸检测以及凹凸判断,同时,在深度信息图中也可以进行快速卷积操作,对具有深度信息的图片进行高斯滤波和均值滤波。由于在图像上面利用卷积技术已经很成熟,其可以实现对于图像数据的快速处理。脱离了从常规三维数据来判断是否有误差,通过投影和栅格化将三维数据降维成有序的图片格式来处理,通过高斯过滤的方式预处理图片,利用均值滤波后的图像与原图像之间差距,设定合适阈值来筛选凹凸区域,根据区域的大小过滤一些不明显的凹凸区域,从而筛选出焊缝缺陷区域。需要关心整个焊缝区域是否处于同一高度的信息,因为本次检测缺陷是利用的局部区域计算得出的特征参数,是否超出设定的阈值区域来判断是否有缺陷。在只关心是否有缺陷不考虑焊缝的宽度和高度的情况下,可以快速得到准确的结果。采用本方法无需使运动装置的路径需要和焊缝的路径保持一致,也无需进行模型配准,可以通过处理图像后与原图像的差距寻找凹凸区域并利用四邻域连通性对凹凸区域进行区域分割,即可得到焊缝缺陷结果。
9、在一种可选的实施例中,基于包围盒算法对所述点云数据进行栅格化处理包括如下步骤:
10、步骤s11、遍历所述点云数据,找到所述点云数据中所有点的最小坐标值和最大坐标值生成最小包围盒aabb;
11、步骤s12、提取所述最小包围盒aabb的右上顶点和左下顶点,确定栅格边长,对右上顶点、左下顶点和栅格边长进行计算,得到图片尺寸;
12、步骤s13、根据所述图片尺寸创建深度图,将所述点云数据投影至所述深度图相应的栅格单元中,生成深度信息图。
13、在一种可选的实施例中,对右上顶点、左下顶点和栅格边长进行计算的计算公式表示如下:
14、row = (max_point.y - min_point.y) / step;
15、col = (max_point.x - min_point.x) / step;
16、上式中,row为行数,col为列数,max_point.y为右上角顶点的纵坐标,min_point.y为左下角顶点的纵坐标,max_point.x为右上角顶点的横坐标,min_point.x为左下角顶点的横坐标,step为栅格边长。
17、在一种可选的实施例中,对所述待检测区域进行高斯滤波处理包括如下步骤:
18、建立卷积核为3*3、sigma为1的高斯滤波器;
19、利用所述高斯滤波器对所述待检测区域进行卷积操作,得到待检测图像。
20、在一种可选的实施例中,对所述待检测图像进行局部凹凸检测包括如下步骤:
21、创建边长为2*n+1的卷积核,使用所述卷积核对所述待检测图像进行均值滤波,得到矩阵mat_m;
22、计算所述深度信息图像与所述矩阵mat_m之间差异,得到差值矩阵mat_s;所述差值矩阵mat_s用于表示凹凸变化;
23、对所述差值矩阵mat_s进行归一化处理,得到矩阵mat_d;
24、设置阈值threshold,遍历所述矩阵mat_d,将所述矩阵mat_d中的每个元素与所述阈值threshold进行比较,通过比较结果确定凹凸区域。
25、在一种可选的实施例中,对所述差值矩阵mat_s进行归一化处理的表达式如下:
26、mat_s = mat_m - mat_o;
27、mat_d = mat_s / mat_o;
28、上式中,mat_s为差值矩阵;mat_m为检测图像的w*h矩阵;mat_o为计算差值矩阵;mat_d为计算比值矩阵。在一种可选的实施例中,将所述矩阵mat_d中的每个元素与所述阈值threshold进行比较包括:
29、如果mat_d中的元素小于-threshold,则认为该区域是凹区域,将所述凹区域标记为红色;
30、如果mat_d中的元素大于threshold,则认为该区域是凸区域,将所述凸区域标记为红色。
31、在一种可选的实施例中,采用四领域连通性对所述凹凸区域进行区域分割包括如下步骤:
32、从所述凹凸区域的边界开始逐像素对本文档来自技高网...
【技术保护点】
1.基于基准三维数据的焊缝表面检测方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于基准三维数据的焊缝表面检测方法,其特征在于,基于包围盒算法对所述点云数据进行栅格化处理包括如下步骤:
3.根据权利要求2所述的基于基准三维数据的焊缝表面检测方法,其特征在于,对右上顶点、左下顶点和栅格边长进行计算的计算公式表示如下:
4.根据权利要求1所述的基于基准三维数据的焊缝表面检测方法,其特征在于,对所述待检测区域进行高斯滤波处理包括如下步骤:
5.根据权利要求1所述的基于基准三维数据的焊缝表面检测方法,其特征在于,对所述待检测图像进行局部凹凸检测包括如下步骤:
6.根据权利要求5所述的基于基准三维数据的焊缝表面检测方法,其特征在于,对所述差值矩阵Mat_S进行归一化处理的表达式如下:
7.根据权利要求6所述的基于基准三维数据的焊缝表面检测方法,其特征在于,将所述矩阵Mat_D中的每个元素与所述阈值threshold进行比较包括:
8.根据权利要求7所述的基于基准三维数据的焊缝表面检测方法,其特征
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8任一所述的基于基准三维数据的焊缝表面检测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8任一所述的基于基准三维数据的焊缝表面检测方法。
...【技术特征摘要】
1.基于基准三维数据的焊缝表面检测方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于基准三维数据的焊缝表面检测方法,其特征在于,基于包围盒算法对所述点云数据进行栅格化处理包括如下步骤:
3.根据权利要求2所述的基于基准三维数据的焊缝表面检测方法,其特征在于,对右上顶点、左下顶点和栅格边长进行计算的计算公式表示如下:
4.根据权利要求1所述的基于基准三维数据的焊缝表面检测方法,其特征在于,对所述待检测区域进行高斯滤波处理包括如下步骤:
5.根据权利要求1所述的基于基准三维数据的焊缝表面检测方法,其特征在于,对所述待检测图像进行局部凹凸检测包括如下步骤:
6.根据权利要求5所述的基于基准三维数据的焊缝表面检测方法,其特征在于,对所述差...
【专利技术属性】
技术研发人员:秦鹏,李旭,钱天昊,刘波,
申请(专利权)人:矽瞻科技成都有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。