申请号 | CN202310066309.X |
公开号(公开) | CN116109587A |
申请日 | 2023.01.12 |
申请人(公开) | 超音速人工智能科技股份有限公司(833753) |
发明人(公开) | 张俊峰(总); 陈炯标 |
原文摘要
本发明公开了一种复杂环境下密封钉焊缝质量检测方法,3D机器视觉采集焊缝点云数据,转化为深度图像,对焊缝进行滤波,搜索和定位焊缝位置,然后对焊缝进行积分,得到焊缝具体形态。去除由于机械抖动原因造成图像存在波浪纹干扰信号,从而得到焊缝精确的模型和焊缝的具体形态。根据焊缝的数学模型在焊缝区域内进行搜索,并对焊缝进行初步处理,计算与分析,如果出现有小凹坑或凸起情况,3D软件把搜索到的位置和缺陷形态发送给2D软件。2D软件采用深度学习方法,对采集到的灰度图像,在3D机器视觉发送过来的位置区域内搜索,进行计算和预测,判断与识别是否存在缺陷,如果存在缺陷,对结果进行处理。本发明缺陷判断准确率高,误判率低。
大致步骤
本发明提供一种复杂环境下密封钉焊缝质量检测方法,包括如下步骤:
第一步、初始化系统参数和设置硬件参数,包括3D相机采集参数、2D相机采集参数和运动机构参数,系统进入等待开始检测状态;
第二步、产品运动到2D相机下方,拍摄图像,进行深度学习,找到密封钉中心,发送给运行机构,3D相机运动到密封钉中心上方,PLC发送到位置,准备好信号给3D软件,3D软件接到命令后,反馈准备好信号给PLC,PLC接收到信号后,带动3D相机绕旋转中心旋转,采集点云数据,并把点云数据上传给计算机,计算机把点云数据转换成深度图像,并显示;
第三步、按照客户检测要求和采集到缺陷的深度图像,结合焊缝的剖面轮廓线对焊缝进行数学建模,通过数学建模得到焊缝的实际表现形态,3D机器视觉根据这些焊缝数学模型,在焊缝区域内进行搜索;
第四步、把深度图像划分成若干个区域,按照实际情况确定区域个数,每个区域作为一个单独的线程进行计算处理;
第五步、在每个检测区域内,根据产品的高度图像分布情况,在每个区域焊缝以外一定距离的位置,选择一个ROI矩形区域作为检测基准,并生成区域图像;
第六步、在焊缝区域内,根据焊缝的分布情况,对焊缝进行积分,得到焊缝表面的剖面轮廓线,在焊缝的剖面轮廓线上,根据焊接工艺和焊缝的深度信息,实现焊缝定位;
第七步、如果搜索到缺陷,把搜索到的缺陷记录下来,然后对这些缺陷进行联通性分析,实现缺陷区域连通,形成一个整体;
第八步、在可能出现缺陷的区域里,随机选取水平方向和垂直方向的剖面轮廓线,计算这些剖面轮廓线的最大值和最小值,以区域内的最值差作为判断该区域是否存在缺陷;
第九步、每个划分的区域都按照步骤S4、S5、S6、S7、S8进行处理、分析、计算和识别;分区域统计每个区域内的信息,然后确定整个焊缝是否存在缺陷;
第十步、发送结果信息给外设,并把结果显示在显示屏上,如果存在缺陷,进行报警,并把产品送到NG箱里;如果是OK产品,把产品送到下一个工位。
作为优选地,步骤S3之前,还包括去除高亮反光伪缺陷的步骤,具体包括如下步骤:
首先,在3D相机参数设置里面,需要全面优化设置,把参数设置到最佳值,以避免由于相机参数设置带来的干扰信号;
利用2D相机对不同高度成像造成灰度值变化的特点,采用2D相机在蓝色碗光源的照射下成像得到清晰的图像,如果存在凹坑,该位置图像的灰度值会变暗,避免高反带来缺陷图像;
使用3D机器视觉算法搜索焊缝中存在凹坑缺陷时,调用该产品的2D图像,把3D机器视觉算法搜索到的缺陷形态映射到2D图像上,在缺陷可能出现的区域中,采用深度学习算法对缺陷进行二次搜索、确认、复判,复判结果作为最终结果;
如果该区域存在凹坑缺陷,对应的2D图像中,像素值会产生明显的变化,2D算法就是根据这个凹坑造成图像灰度值变暗的原理判断该处是否存在缺陷。
扩展阅读
我想对大家说的话 |
---|
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。 |
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作 |
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注 |
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。 |
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。 |
如果程序是一条龙,那算法就是他的是睛 |
失败+反思=成功 成功+反思=成功 |
视频课程
先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176
测试环境
操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。