掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度学习与3D点云的焊缝识别方法

文献发布时间:2023-06-19 19:28:50


一种基于深度学习与3D点云的焊缝识别方法

技术领域

本发明涉及机器人焊接技术领域,尤其是一种基于深度学习和3D点云的焊缝识别方法。

背景技术

随着自动化技术的层层突破,机器人产业迎来了蓬勃的发展。焊接行业由于其行业对于精度,质量效率要求较高的特点,衍生除了焊接机器人的产品。随着焊接机器人的技术不断成熟,其焊接质量,焊接效率以及焊接精度得到了大幅的提高,同时机器人成本相对于人工而言更低,机器人代替人工进行焊接已经成为不可避免的趋势。

焊接机器人需要图像的深度信息才能进行焊接,而常规的与视觉传感器在焊接领域应用的图像都是二维图像,并不包含图像的深度信息,从而采用来自结构光相机的点云数据,点云数据包括工件表面的三维坐标信息且精度更高,研究结构光传感器利用点云数据将之与焊接机器人相结合,应用在焊接领域提高我国智能焊接机器人的发展是非常重要的研究方向。

当下基于3D点云技术的焊缝识别方法层出不穷,技术的实施也逐渐完善。但是由于物体的结构光反光,相机与物体相对位置角度等特殊情况的存在,导致点云中出现数据缺失,点云图像分割速度较慢,速率不够高等等问题,此时我们需要用到深度学习。传统点云补全方法没有考虑点云分布的均匀性,预测的结果在部分位置存在聚集情况,随着深度学习的高速发展,对于深度学习的研究愈发成熟,以深度学习技术作为基本工具的点云补全方法,相比于其他点云补全方法而言显著的提高了点云补全的准确性,充分考虑了点云的空间分布情况,可以更好地预测物体细节部位并生成均匀的结果,并且对于数据集中少见的模型,也能进行精准地预测,而非简单地产生一个过拟合的“平均”结果。同时在基于深度学习的算法中进行图像分割的速度和效率以及鲁棒性也得到了极大的提升,但是现有角焊存在缝检测时精度还不够高、速度不够快的缺点,因此需要进行改进。

发明内容

针对现有技术存在的问题,本发明提供一种基于深度学习与3D点云的焊缝识别方法。

本发明具体采用以下技术方案:一种基于深度学习与3D点云的焊缝识别方法,其特征在于:包括以下步骤:

步骤S1:预设相机的拍摄位置,控制机器人去对应位置拍摄点云,通过手眼标定将点云数据从相机坐标系转换到机械臂基座坐标系下;

步骤S2:对点云数据进行点云预处理,通过基于深度学习的体素概率模型的方法,对光线等环境因素导致的点云缺失进行重建,获取完整的工件点云,通过体素采样的方法获取下采样后的点云;

步骤S3:焊缝识别,通过基于深度学习的pointnet++算法分割平面,基于距离特征进行最邻域搜索获取焊缝点云数据;所述基于深度学习的pointnet++算法是通过将标注好的点云数据送入pointnet++网络结构训练得到的,该模型可以对输入的点云进行平面分割。

步骤S4:对焊缝特征点进行直线拟合,并计算焊接位姿向量,将焊缝信息发送给机器人,机器人根据得到的位姿信息进行焊接。

在上述的一种基于深度学习与3D点云的焊缝识别方法中,所述步骤S1的具体方法为:

步骤S1-1:控制机器人到相应的拍摄位置,通过3d相机拍摄获取点云数据;

步骤S1-2:利用眼在手上的安装方式,固定相机与机器人末端的位置,利用手眼标定,将标定板固定在工作台上,相机拍多张机器人不同姿态下标定板的照片,获得相机坐标系与机器人末端坐标系的转换矩阵,由于机器人末端与机器人的基座坐标系的转换矩阵已知,即可转换点云数据的坐标系;

基于各个坐标系之间的转换关系,根据如下关系式引入原始点云数据Q1,得到坐标变换后点云数据Q2:

其中

在上述的一种基于深度学习与3D点云的焊缝识别方法中,所述步骤S2的具体方法为:

步骤S2-1:首先预测残缺点云的尺度大小,将点云数据Q2转化为体素化数据F1;

步骤S2-2:通过体素概率模块预测每个体素中包含点的概率p

步骤S2-3:使用体素滤波器,设置体素栅格大小,将每个体素栅格里面的h从小到大按顺序排列,计算出栅格重心,并以重心代替栅格内所有点;在可以降低点云密度的情况下,不破坏点云本身的结构,最后使用细化模块对点的三维坐标进行微调,得到最终的完整点云;

步骤S2-4:最后使用细化模块对点的三维坐标进行微调得到坐标数据Q3,将Q3与Q2进行叠加得到最终的完整点云。最终我们的预测概率化的点云结果Q4可以表示为:Q4=Q2+Q3。

在上述的一种基于深度学习与3D点云的焊缝识别方法中,所述步骤S3的具体方法为:

步骤S3-1:基于pointnet++算法分割平面,引入Q4,构建平面模型,得到焊接的两个平面点云Q5与Q6;

在两个平面模型的点云数据中分别随机的抽取三个点,然后根据平面方程计算平面模型参数A1、B1、C1、D1和A2、B2、C2、D2;用剩下的所有数据验证步骤平面参数模型,计算误差并与所设定的误差阈值进行比较,若误差小于阈值则该点确定为内点,找到含内点数量最多的平面模型参数

AC+BY+CZ=D;

步骤S3-2:基于三维空间点到面距离公式,引入点云Q5和Q6到得到焊缝点云Q7。

设置距离阈值,计算Q6中所有的点到Q5的距离。当欧式距离小于距离阈值的将该点定义为两片点云的焊缝点。

在上述的一种基于深度学习与3D点云的焊缝识别方法中,所述步骤S4的具体方法为:

步骤S4-1:对焊缝特征点进行直线拟合,从焊缝特征点中提取出焊缝直线;

步骤S4-2:计算焊缝直线上焊缝点的位姿向量。

本发明的效果:

本发明即使在因光线等环境因素对3d相机形成点云数据有影响的情况下、也可以实现高精度的检测,针对角焊缝检测时精度高,在焊接之前通过设置相机的拍摄位置对工件进行拍摄以获取工件的点云信息,进而识别焊缝信息,具有识别准确,运算速度快等优点。

附图说明

下面结合附图和具体实施方式对本发明进一步详细的说明:

附图1是本发明所针对的焊缝类型示意图

附图2为本发明手眼标定坐标变换图解示意图;

附图3为本发明流程结构示意图;

附图4为本发明进行点云重建的网络结构图;

附图5为本发明进行点云分割pointnet++的网络结构图;

附图6为本发明进行点云补全的网络结构图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面对本发明进一步阐述

如图3所示基于深度学习与点云的焊缝识别方法,具体步骤如下:

步骤S1:预设相机的拍摄位置,控制机器去对应位置拍摄点云,通过手眼标定将点云数据从相机坐标系转换到机械臂基座坐标系下。

步骤S1的实现具体包括以下步骤:

步骤S1-1:控制机器人到相应的拍摄位置,通过3d相机拍摄获取点云数据;

步骤S1-2:利用眼在手上的安装方式,固定相机与机器人末端的位置,利用手眼标定,将标定板固定在工作台上,相机拍多张机器人不同姿态下标定板的照片,获得相机坐标系与机器人末端坐标系的转换矩阵,由于机器人末端与机器人的基座坐标系的转换矩阵已知,即可转换点云数据的坐标系;

基于各个坐标系之间的转换关系,根据如下关系式引入原始点云数据Q1,得到坐标变换后点云数据Q2:

其中

步骤S2:对点云数据进行点云预处理,通过基于深度学习的体素概率模型进行点云重建,提取出焊件完整点云数据对点云进行预处理,得到采样后的点云,获取完整的工件点云。

步骤S2的实现具体包括以下步骤:

步骤S2-1:首先预测残缺点云的尺度大小,将点云数据Q2转化为体素化数据F1,即将点云转化为体素化的表示方式,利用PCN中所设计的编码器通过共享参数的全连接层逐点抽取特征,然后用最大池化层获取全局特征向量f

步骤S2-2:通过体素概率模块预测每个体素中包含点的概率,再利用点的生成模块来定位点距离体素中心的偏移量,生成它的三维坐标;对于体素点数向量n

步骤S2-3:使用体素滤波器,设置体素栅格大小,将每个体素栅格里面的h从小到大按顺序排列,用体素栅格内所有点的重心来代替体素栅格内的点,在可以降低点云密度的情况下,不破坏点云本身的结构;对p

步骤S2-4:最后使用细化模块对点的三维坐标进行微调,得到最终的完整点云;p

步骤S3:焊缝识别,通过基于深度学习的pointnet++算法分割平面,基于距离特征进行最邻域搜索获取焊缝点云数据,所述基于深度学习的pointnet++算法是通过将标注好的点云数据送入pointnet++网络结构训练得到的,该模型可以对输入的点云进行平面分割。

步骤S3的实现具体包括以下步骤:

步骤S3-1:基于pointnet++算法分割平面,引入Q4,构建平面模型,得到焊接的两个平面点云Q5与Q6;

在两个平面模型的点云数据中分别随机的抽取三个点,然后根据平面方程计算平面模型参数A1、B1、C1、D1和A2、B2、C2、D2;用剩下的所有数据验证步骤平面参数模型,计算误差并与所设定的误差阈值进行比较,若误差小于阈值则该点确定为内点,找到含内点数量最多的平面模型参数:AC+BY+CZ=D;

具体为:利用深度学习卷积神经网络对由3d相机采集的点云进行特征提取,通过梯度下降的训练进行训练,对点云进行平面分割,进而由分割出的平面去提取焊缝;整个网络分为encoder和decoder部分,Encoder部分对输入维度N*(d+C)的点云在C维度上(坐标值)通过FPS(最远点采样进行下采样)输出N1个点(N1c,对特征维度进行升维,提取高维空间特征。Encoder为几组这样的组合;

Decoder部分通过encoder部分输出的global feature通过反向差值进行上采样并和encoder部分输出的loacal feature特征融合,最终还原为原点云小大,并对点云的点进行分类,以完成点云的平面分割;

步骤S3-2:基于三维空间点到面距离公式,引入点云Q5和Q6到得到焊缝点云Q7。

设置距离阈值,计算Q6中所有的点到Q5的距离,即计算平面P2中所有的点到P1的距离,当欧式距离小于距离阈值的将该点定义为两片点云的焊缝点;本发明中距离阈值为0.5。

步骤S4:对焊缝特征点进行直线拟合,并计算焊接位姿向量,将焊缝信息发送给机器人,机器人根据得到的位姿信息进行焊接。

步骤S4的实现具体包括以下步骤:

步骤S4-1:基于直线拟合算法。引入点云Q7,拟合焊缝直线Q8;

步骤S4-2:计算焊缝直线的位姿向量。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

相关技术
  • 一种基于3D点云的焊缝识别与机器人焊缝跟踪方法
  • 一种基于3D点云的管板焊缝自动检测方法
技术分类

06120115922543