悉灵杯”课题研究报告-基于深度学习方法和虚拟仿真数据的机械臂引导方案
抓取是工业机器人的重要应用之一,其中目标检测与识别是实现自动化抓取的关键步骤。本课题旨在采用基于深度学习的方法,针对工业场景下的拆码垛和工件抓取场景。通过RGB图像实现自动检测与实例分割,并结合采集的Depth图像信息实现抓取目标位姿的估计,为机械臂的抓取提供充分的引导信息。

1.开发环境

Linux 16.04.7 LTS :                       代码开发平台

Visual Studio Code 1.78.2:            IDE代码撰写调试工具

Meshlab v2022.02:                        工件模型编辑工具,用于模型的重建和后处理

Blender   3.3.1                              物理仿真和渲染引擎

BlenderProc 2.5.0                          基于blender的python接口开发的仿真渲染工具箱,用于与blender实现指令交互

OpenCV-Python 4.7.0                     用于渲染图像的后处理,生成用于训练的图像和图像标签

Pytorch1.9.0/Cuda10.2                    神经网络训练框架

2.方法实现

    工件抓取场景的主要挑战在于:

    (1)堆叠情况复杂,需要根据工件的遮挡情况对抓取目标进行判定。

    (2)金属工件存在反光问题,可能导致深度图像信息的缺失,使得十分依赖于深度信息的目标检测和配准方法面临挑战。

    (3)传统算法的步骤繁琐,无法快速对目标位姿进行判定。但基于深度学习的方法依赖于大量标注的训练数据,工件场景的工件数目过大,标注成本十分昂贵。

    本课题针对以上三个问题设计了有效的解决方案,总体流程如图1所示:


图1 项目总体实现方法和技术流程

    首先我们使用工件的模型或者基于工件场景点云制作的网格模型,结合blender虚拟仿真引擎生成训练数据。接着我们根据工件的抓取规则对训练标签进行了过滤,生成适用于抓取目标检测和分割的神经网络。最后我们采用BlenderMask实例分割网络训练模型,并在RobotPilot平台进行了现实场景的工件抓取实验测试。

2.1 虚拟仿真数据生成与处理

    我们通过 悉灵杯”课题研究进展(二)-基于三维模型/场景点云的虚拟仿真数据生成(审核中,暂时无法添加链接)中的虚拟数据生成管道,生成了三套不同场景的模型训练数据及数据标签,详情如表1所示:

表1 工件场景虚拟仿真数据详情

场景名称

模型类型

场景类型

图像数目

连杆场景

完整模型

杂乱堆叠

10955

薄片场景

手工重建单面点云

杂乱堆叠

10471

转子场景

手工重建单面点云

阵列

20121

    在杂乱堆叠场景中,工件的无序摆放导致部分工件被严重遮挡,在实际抓取过程中,我们并不会对这类工件进行抓取,因此,需要在后处理过程中剔除这类工件的标签,仅保留未遮挡目标的标签。

    被遮挡率计算模块:剔除遮挡目标的直接方法就是计算目标的被遮挡率,其可以定义为:1-(目标的实际掩膜面积/目标未遮挡情况下的掩膜面积),因此在虚拟场景中已知模型位姿和相机参数的情况下,可以采用点云投影的方法计算每个实例在未遮挡情况下的掩膜面积,与实际的渲染掩膜计算得到。同时由于离散点云投影会导致掩膜存在间隙,我们在投影后还对掩膜进行了孔隙填充,但会导致边界存在略微差异,即当物体遮挡率为0时,实际遮挡率约为0.02-0.1。在后续实验中,我们将遮挡率小于0.3的目标定义为我们的可抓取对象。处理过程示例如图2所示。


图2 遮挡率计算示例

    截断工件去除:在场景中有部分虽然遮挡率满足条件,但是被其他工件截断为了两部分。这类工件在抓取过程中也是不进行抓取的,因此我们采用OpenCV计算每个工件掩膜的封闭区域数目,当数目大于等于2,且两部分面积比大于1:4我们认为工件被截断并进行了剔除。

    歧义位姿去除:在实际抓取中,一些工件即使未被遮挡和截断,受限于机械臂的抓取自由度(例如只能采用平面抓取),其特殊的位姿导致无法进行抓取,对于这类工件,我们基于其位姿计算抓取平面轴向,当理想抓取平面轴向与实际工件抓取平面轴向大于某个角度时(根据实际确认,本课题中选用60°)认为其不满足抓取条件,进行剔除。

    结合前面的过滤步骤后,我们最终的训练数据标签如图3:


图3 过滤后训练数据示例

2.2 实例分割网络模型训练

    在完成训练数据生成和过滤之后,我们使用 悉灵杯”课题研究进展(二)-基于三维模型/场景点云的虚拟仿真数据生成审核中,暂时无法添加链接中介绍的BlendMask进行实例分割模型的训练。其网络模型结构如图4:


图4 BlednMask网络模型框架

    其训练过程主要包含以下步骤:

    (1)将渲染得到的图像resize为固定分辨率(本课题中为1024*1024*3)的图像作为模型的输入

    (2)通过backbone网络提取图像的高维特征并使用FPN(Feature Pyramid Network)网络对底部特征图进行上采样,同时拼接融合对应尺度的浅层特征。本课题中我们使用八倍下采样后的特征P3(128*128)作为后续目标检测网络的输入。

    (3) 使用FCOS预测目标的中心点位置,中心度,包围盒尺寸,同步输出每个实例的注意力特征。

    (4)使用blender module整合从Bottom module从FPN输出特征提取的图像Base(全局特征)以及FCOS的输出信息对每个实例掩膜进行预测,输出最终的实例分割结果。

    损失函数设计:模型的训练依赖于损失函数的设计,在实例分割任务中,我们使用了多种损失函数组合用于拟合不同的任务:

    (1)分类损失:FCOS会在输入特征的每个像素点预测目标的类别置信度,本课题中将目标在特征图的正样本点定义为边界盒中心点以及附近的四个点,导致与负样本点的数量差距较大,因此我们使用Sigmoid Focal Loss(SFL) 作为分类损失函数:


p_t:模型预测的概率,对于正样本为p_t,对于负样本则为1-p_t

α_t:平衡系数,用于调节处理类别不平衡问题

γ:调焦参数,用于调整调制因子的权重,当γ增加时,模型会更加关注难以分类的样本。

    (2)中心度损失:中心度用于表示预测框的中心点与真实框的中心点之间的接近程度,本课题中使用二元交叉熵(BCE)损失来学习中心度分数,有助于减少接近目标边界的低质量预测。

    (3) 边界框回归损失:FCOS中使用了中心度加权的IOU损失来计算预测框与真实框之间的定位差异,其中IOU为预测包围框和实际包围框相交区域面积与合并面积的比值:



 

     其中pre为模型预测的包围盒,gt为标签包围盒。

    模型训练配置:

    训练平台:

    CPU: Intel(R) Xeon(R) CPU E5-2660 v4 @ 2.00GHz,

    GPU: NVIDIA GeForce 2080ti-12G

    训练参数配置:

    base learning rate(初始学习率):0.005

    Learning Rate Scheduler(学习率衰减):10倍/45epoch

    Optimizer(优化器):SGD

    Batch Size(批次大小):8

    我们设置最大训练轮次为600,并采用早停的方法避免模型过拟合。

3. 项目成果

3.1 实例分割模型性能测试

    为了直观展示我们的模型性能,我们使用离线采集的数据对模型进行了性能测试,评价指标主要包含:

    目标检测评价指标:

    (1)Precision(查准率): 实际正样本占模型预测正样本比例,越高说明模型预测越准确。

    (2)Recall(召回率):模型预测的正样本占所有正样本的比例,越高说明模型漏检的目标越少。

    (3)F1Score:  结合Precison和Recall综合评价模型性能。

    (4)Average Precision,AP(平均精度):根据不同的置信度阈值,模型会得到不一样的召回率和查准率,定义两者对应关系绘制PR曲线, AP越高说明模型预测结果越稳定。

    分割质量评价指标:

    (1)IOU(交并比): 真值掩膜与模型预测掩膜的交集面积占并集面积的比例,预测时根据IOU的阈值确认目标是否被正确检测到。

    (2)COVER(覆盖率):真值掩膜与模型预测掩膜重叠面积占真值掩膜的比例。

    (2)EXTRA (超出率):  预测的掩膜不属于真值掩膜的比例。越低说明边界分割效果越好

    需要注意的是,测试数据为真实数据,而训练模型使用的完全是虚拟仿真数据,并且未使用现实数据进行模型的微调,最终的测试结果如表2中所示:

表2 现实场景下模型实例分割性能测试


    由表中数据可以看出,采用虚拟数据训练的工件实例分割模型能够泛化到现实场景的目标检测和实例分割任务当中,并且召回率均能保持在95%以上,查准率较低的原因在于对于工件遮挡率的定义使得模型会检出部分被遮挡的工件,在抓取过程中我们可以通过 点云配准和轮廓匹配等方法将其剔除。其中薄片场景的性能与其他两个场景的性能差距较大,考虑是由于薄片为杂乱堆叠的复杂场景,并且其工件模型由三维重建得到,与实际的工件特征存在更大的差异性。

    现实场景下的测试结果与标签对比(图5):




图5 现实场景下模型分割效果示例


3.2 RobotPilot工件位姿估计测试

    Robotpilot是海康机器人自主研发的机器人视觉引导软件,集视觉处理、轨迹规划、机器人托管、渲染仿真四大功能于一体,其中也包含了AI模块,结合深度学习模型对工件位姿进行估计。我们将训练的模型导入到Robotpilot中,使用离线采集的RGBD数据进行位姿估计实验,并与Robotpilot内置的位姿估计算法进行实验对比。

    测试结果示例(图6):



图6 Robotpilot有无AI模型目标检测与位姿估计效果对比



    位姿估计结果示例可参考附件(连杆.mp4,薄片.mp4,转子.mp4

4 项目总结

    本项目采用基于深度学习的方法,使用结合三维模型和物理仿真引擎生成的虚拟数据进行模型训练,并对现实场景下的工件进行检测和实例分割,解决了现实场景下数据采集不便与标注困难的问题,并且通过实验验证在杂乱堆叠场景以及阵列场景下有着良好的性能表现。目前存在的主要问题是杂乱堆叠场景下,模型训练数据与实际场景不匹配,为了保证较高的召回率需要提高遮挡率阈值,导致查准率较低,需要过多的后处理来剔除不合理目标。但是总体而言,在现实场景下具有很好的应用前景。

课题阶段性成果:

    悉灵杯”课题研究进展(一)-实例分割网络模型搭建与实验场景介绍 

    悉灵杯”课题研究进展(二)-基于三维模型/场景点云的虚拟仿真数据生成

团队信息

团队名称:东华老乡

团队成员:章高华、张诗迪、陈泓傑



附件:
版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
上一篇

悉灵杯”课题研究进展(二)-基于三维模型/场景点云的虚拟仿真数据生成

下一篇

“悉灵杯”课题研究—手眼标定方案

评论请先登录 登录
全部评论 5

或者请问什么时候可以出一个完整的视频内容完整的讲解一下吗?😂感觉视频会更容易理解一些

2023-09-23 23:07:21 浙江省
回复

多谢前辈!

2023-09-23 23:06:15 浙江省
回复

前辈,您这篇文章写的很清晰很有深度!就是有两个细节我感觉没理解透,可以加您联系方式细问一下吗?

2023-09-23 23:06:07 浙江省
回复

学到了学到了?

2023-09-20 16:46:24 浙江省
回复

请问是怎么把自己训练的AI模型导入RobotPilot里的呢?RobotPilot+AI的检测效果是怎么实现的呢

2023-09-20 16:12:03 广东省
回复
  • 1
Lv.0
0
关注
4
粉丝
3
创作
7
获赞
所属专题
  • 使用3D相机MV-EB435i基于OpenCV的客流检测与异常识别的实现
  • 悉灵杯”课题研究进展(一)通过海康RGB-D相机获取带RGB信息的点云
  • “悉灵杯”课题研究-基于RGB_D相机的物品位置计算
  • “悉灵杯”课题研究-对RGB_D相机采集的三维点云处理
  • “悉灵杯”课题研究-RGB_D相机SDK集成及Open3d点云基本处理
  • “悉灵杯”课题研究-集成RGB_D相机SDK的Open3d点云可视化
  • “悉灵杯”课题研究-集成RGB_D相机SDK的Open3d点云功能UI项目开发(项目demo)
  • “悉灵杯”课题研究-RGB_D相机SDK三维点云存储
  • “悉灵杯”课题研究-OpenNI集成及示例代码开发
  • 悉灵杯”课题研究-MV-EB435i立体相机基于opencv图像处理使用yolov5的物体识别
  • “悉灵杯”课题研究-基于opecv的集成RGB_D相机SDK的基础小样物品颜色检测及人脸识别
  • OpenCV中利用knn进行数字(0-9)识别--RGB-D相机采集
  • “悉灵杯”课题研究-基于MV-EB435i的落差边缘检测算法开发记录
  • 悉灵杯”课题研究-LabVIEW集成及示例代码开发
  • “悉灵杯”课题研究-MV-EB435i立体相机集成Apriltags发布相机位姿
  • “悉灵杯”课题研究-MV-EB435i立体相机图像处理UI界面开发
  • “悉灵杯”课题研究-基于ROS1的RGB-D相机SDK集成及示例代码开发
  • 第二届“悉灵杯”课题移动机器人感知研究进展
  • “悉灵杯”课题研究—手眼标定方案
  • 第二届“悉灵杯”课题研究-基于RGB_D相机的室内环境建模
  • 悉灵杯”课题研究进展(二)-基于三维模型/场景点云的虚拟仿真数据生成
  • 悉灵杯”课题研究进展(一)-实例分割网络模型搭建与实验场景介绍
  • “悉灵杯”课题研究报告-基于RGB-D相机的2D和3D抓取定位方案研究
  • “悉灵杯”课题研究-基于点云配准算法GICP的3D抓取方案研究
  • “悉灵杯”课题研究-基于YOLO和GGCNN的物品平面抓取方案研究
  • 动态手势控制音频播放器-成果物
  • 第二届“悉灵杯”课题研究报告-动态手势控制音频播放器设计
  • 动态手势控制音频播放器(五)动态手势控制音频播放器exe
  • 动态手势控制音频播放器(四)动态手势识别系统的设计
  • 动态手势控制音频播放器(三)音频播放器设计
  • 动态手势控制音频播放器(二)动态手势识别系统的设计
  • 动态手势控制音频播放器(一)总体方案设计
  • 悉灵杯”课题研究进展(四)RGB-D相机引导机械臂分拣物料
  • 悉灵杯”课题研究进展(三)RGB-D相机引导机械臂分拣物料
  • 悉灵杯”课题研究进展(二)RGB-D相机引导机械臂分拣物料
  • ”悉灵杯”课题研究报告-基于RGB-D相机的机械臂物料分拣系统研究
  • 悉灵杯”课题研究报告-基于深度学习方法和虚拟仿真数据的机械臂引导方案
  • 第二届“悉灵杯”课题研究机械臂引导研究报告
  • 第二届“悉灵杯”课题研究机械臂引导研究进展(二)
  • 第二届“悉灵杯”课题研究机械臂引导研究进展(一)
相关阅读
  • 【2.5D】2.5D定位引导最强攻略-高精度版
    2024-08-26 浏览 0
  • S7通讯发送string二维码问题解决方法。
    2024-08-12 浏览 0
  • 【嵌入式开发】嵌入式算子开发
    2024-08-24 浏览 0
  • 潜伏机器人上读码头视野缩减经验分享
    2024-08-12 浏览 0

请升级浏览器版本

您正在使用的浏览器版本过低,请升级最新版本以获得更好的体验。

推荐使用以下浏览器