基于3D工业相机的角焊缝识别检测方法与流程
- 国知局
- 2024-07-31 23:26:30
本发明涉及图像处理和工业自动化领域,以及涉及一种工件角焊缝点云识别处理方法。
背景技术:
1、在工业生产和工厂中,由于手工焊接的效果很大程度上取决于工人的技能水平和工作状态,因此很难保证焊接的效率和质量。另外,焊接会产生强光与有害物质,会对工人的健康造成伤害。与手工焊接相比,自动化焊接具有更高的效率、更加统一的焊接质量、更安全的生产方式。焊接的自动化、智能化可以提升生产效率和产品质量,同时还能够缩短生产周期,减小成本。焊接机器人显著提高了焊接效率,还降低了工人的劳动强度和企业的生产成本,被广泛应用于简单、稳定、大批量工件生产中。
2、在传统工业生产中,通常是由人眼进行焊缝识别,单纯通过人工识别检测工件的焊缝区域的焊接质量效率低下,并且主观性较强,同时容易受到环境干扰,影响检测结果的准确性。因此利用3d相机进行焊缝检测可以降低对人工操作和人工判断的依赖。自动化的3d视觉系统和几何测量系统可以实现高效、准确和一致的焊缝检测,减少人为错误的可能性,提高生产效率和一致性。在焊缝检测方面具有更全面、准确和稳定的优势,能够提供更好的质量控制和生产效率。
3、但是在目前角焊缝识别处理技术中,还存在着诸多问题,例如相机拍摄工件焊缝的精度不高、提取焊缝不够精确、点云处理的速度过慢、判断焊缝缺陷不够准确等问题。
技术实现思路
1、本发明的目的在于提供一种基于3d工业相机的角焊缝识别检测方法,具体在于提供一种可对焊件焊缝的三维数据进行过滤筛选,对焊缝的区域进行识别、提取、测量的方法。针对传统识别方法提高了角焊缝点云的切割精度和点云的处理速度。在实际工业运用中提高了角焊缝的处理效率,提高了焊缝缺陷检测的准确度。
2、为达到上述目的,本发明采用如下技术方案:基于3d工业相机的角焊缝识别检测方法,包括如下步骤:
3、第一步,先利用三维相机对工件焊缝进行检测获得焊缝的原始三维数据
4、第二步,根据实际情况对原始三维数据进行裁剪中心区域
5、第三步,使用均匀降采样法对点云进行降采样处理从而减少点云数据的密度,降低计算复杂度并减少点云噪声。首先确定下采样因子s,在水平方向上,将图像的宽度除以下采样因子s,得到新的宽度sx,在垂直方向上,将图像的高度除以下采样因子s,得到新的高度sy。最后通过将原始图像的像素位置与取整操作结合,得到最终的下采样的像素位置和值。其数学表达式为:
6、
7、第四步,使用ransacz(随机采样一致性)点云分割算法对点云进行切割以此来提取平面工件,去除掉除工件以外多余的地方。首先点云数据中随机选择一个最小样本集,根据最小样本集计算一个平面模型并使用最小二乘法来拟合一个平面模型,使用三个点(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)来计算平面的法向量n,计算所有点到拟合平面的距离d,将这些距离与预定义的阈值比较,根据阈值过滤掉不满足条件的点(即不在同一个平面上的点),如果满足的点数大于预定义的最小样本点数阈值,那么将这些点作为内点,并利用所有内点重新估计平面模型,一直重复迭代执行步骤,直到达到预先设定的最大迭代次数或达到收敛条件后选择具有最大内点数量的平面作为最终的分割结果。通过迭代过滤掉不满足条件的点,最终得到符合条件的平面模型。这种方法对于包含噪声和外点的数据集有较好的鲁棒性。其数学表达式为:
8、
9、d = -(ax + by + cz) (4)
10、第五步,针对第四步步骤,为了提高切割效果,本发明改进了ransac迭代过程,在每次迭代中,除了计算内点数量,还计算外点数量,并设置一个外点阈值t。假设在当前迭代中有ni个内点和no个外点。若外点大于阈值点,则终止当前迭代。如果外点数量超过阈值,可以中断该次迭代,重新选择采样点进行下一轮迭代。这样可以排除更多的离群点,提高平面提取效果。其数学表达式为:
11、no>t (5)
12、第六步,提取完工件焊板点云后通过计算焊缝与焊板之间的夹角获得焊趾角度数据。假设点云的拟合直线处存在左极值点p1,母板材平面点为p2,左侧焊缝坡上的点为p3,则焊趾角度ω为焊缝起止点与母板拟合直线上的点组成的向量和向量之间所形成的角度。右侧焊趾角度计算方式同理。在本发明中首先将点云获取后转为数组,然后对点云数据按照x坐标排序,并选取前一部分的点,用于拟合直线并对拟合得到的直线向量进行单位化,最后计算直线向量与水平方向的夹角。针对点云复杂度的情况下,可使用ransac进行平面分割,然后从平面上的点中提取出拟合的直线,提高拟合直线的精度。其数学表达式为:
13、
14、第七步,提取到焊板点云之后对焊板进行统计滤波,以此来过滤掉除了焊缝以外的点云。首先遍历点云,对每个点计算其与最近的k个邻居点的平均距离来估计点云中点的局部密度。再根据计算得到的平均距离,计算整个点集距离容器的平均值μ和样本标准差,这一步用于确定距离阈值。如果点的平均距离超过阈值dm,则将其标记为离群点。否则,将其视为正常点(内点)。其数学表达式为:
15、 dm=μ+std×σ (7)
16、
17、
18、第八步,针对第七步步骤,为了提高滤波效果进行了数据结构优化改进了统计滤波算法,对于大型点云数据使用kd树(kd-tree)来加速邻域搜索操作,可以快速定位到待处理的点,而不需要逐个比较和计算所有点的属性、哈希表可以提供快速的查找操作,通过将点云中的点索引到哈希表的桶中,可以快速地定位到待处理的点、红黑树是一种自平衡的二叉搜索树,对于已有序的数据,红黑树可以加速查找和插入操作。通过使用哈希表或红黑树,可以将时间复杂度从线性搜索的o(n)降低到近似常数时间复杂度o(1)或对数时间复杂。o(logn)。这样可以大大提高滤波算法的处理速度,减少了计算量和内存消耗,提高了算法的速度和执行效率。
19、第九步,提取完焊缝后对焊缝进行空间索引,以此过滤掉无关的杂毛点云。首先针对点云文件创建了一个索引列表进行点云的检索,再者我们可以选用kd树或者八叉树等索引方法进行点云领域关系的检索,并划分为内点与外点,筛选过滤杂质的点云。
20、第十步,在提取完焊缝后开始测量焊缝的熔宽l,假设点云的拟合直线处存在左极值点p2和右极值点p3,则熔宽l为p2、p3之间横坐标的差值。本发明中首先将点云获取后转为数组,再获取点云数组中x坐标的最小值和最大值,计算熔宽l。其数学表达式为:
21、l=|xp2-xp3| (10)
22、第十一步,如果角焊缝焊接过程中参数控制不当或操作不准确会出现余高的极端情况。那么则假设点云的拟合直线处存在左极值点p2和右极值点p3,以及顶点p1,则余高即为点p2、p3、p1之间纵坐标距离较大的差值。本发明本发明中首先将点云获取后转为数组,再获取点云数组中y坐标的最小值和最大值,计算余高h。其数学表达式为:
23、h=max{|yp1-yp2|,|yp1-yp3|} (11)
24、第十二步,在第十步的假设上计算焊缝错边z,则错边z为俩个端点y轴的差值。本发明本发明中首先将点云获取后转为数组,再获取焊缝点云数组中y坐标的最小值和最大值,计算错边z。其数学表达式为:
25、z=yp2-yp3 (12)
26、第十四步,假设点云的拟合直线处存在上端极值点p2和下端极值点p3,则焊缝宽度w为p2、p3之间纵坐标的差值。本发明中首先将点云获取后转为数组,再获取点云数组中y坐标的最小值和最大值,计算焊缝宽度w。其数学表达式为:
27、w=|yp2-yp3| (14)
28、第十五步,提取焊缝后为提高焊缝表面的可视化程度,本发明将对点云图像进行三角网格剖分达到曲面重建的效果。三维空间将点集分为均匀分布点和离散点两类,其中离散点的点与点之间相互独立、非均匀分布。本发明提高焊缝表面可视化程度的原理就是将三维点集进行三角化操作。首先,从点云中选择一个起始点作为三角网格的种子点,并创建一个空的三角形网格。再从点云中选择一个未被处理的点,将其投影到当前的三角网格上,根据投影点和其所在的三角形,在三角网格中更新三角形的拓扑结构,直到所有点都被处理。本发明在加速搜索算法上使用了增量算法和kd树,提高了算法的效率和精确性。
29、第十六步,结合测量的到的角焊缝几何数据,以及曲面重建的点云图像分析判断焊接缺陷。
本文地址:https://www.jishuxx.com/zhuanli/20240730/197576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表