拆麻袋
拆麻袋是将托盘上的麻袋拆放到指定位置,托盘上的麻袋大小、种类、形状均不固定。
场景要求
麻袋紧密摆放
麻袋表面纹理未知
该场景需要使用3D相机得到的彩色图进行深度学习识别,同时使用3D相机得到的点云进行位姿计算。
流图配置
拆麻袋场景的视觉标准流图如下。
创建工作空间,使用 拆麻袋 模板创建流图,具体方法请参见 模块结构。
配置 相机 模块,获取彩色图、深度图及点云。详细设置请参考 连接相机。
配置 加载标定信息 模块,加载env文件中的标定信息。详细设置请参考 标定。
配置 变换点云坐标系 和 去除料筐外点云 模块,将点云从相机坐标系转换到料筐坐标系,并去除料筐以外的点云。在进行点云切割时,需要测量料筐的实际尺寸,并输入Max,如下图所示。
配置 计算最高层高度 模块,根据层厚对点云进行分层,计算出最高层点云的高度,再结合步骤3输出的彩色图,配置 加载料箱区域信息 模块,计算2D图像中给定高度上的工作空间。
结合步骤3输出的彩色图和步骤5输出的矩形图像,配置 目标检测 模块以检测目标物体,并输出物体的2D Primitive计算结果和彩色图。
计算实例物体位姿。
结合步骤4中 去除料筐外点云 模块输出的点云和步骤6输出的2D primitive计算结果,使用 根据2D检测结果提取点云 模块输出点云。
利用该点云,再结合步骤3输出的彩色图和步骤6输出的2D primitive,配置 计算实例物体pose 模块,使用深度学习结果计算位姿,并输出3D primitive计算结果,如下图所示。
综合 根据2D检测结果提取点云 模块输出的点云、 计算实例物体pose 模块输出的3D primitive和物体内点比例,使用 凸起优化 模块对图片进行处理,并输出3D primitive计算结果。
使用 物体长宽一致性检查 模块对上一步的输出结果进行检查,并输出3D primitive。
结合步骤4输出的点云和步骤6输出的彩色图,以及上一步的输出结果,配置 对分组(分区)的点云和primitives进行过滤 模块,输出3D Primitive计算结果和彩色图。
输出或保存结果。
针对步骤10中输出的3D primitive使用 变换物体位姿3D 模块,将计算结果从料筐坐标系转换到世界坐标系,并使用 输出结果 模块查看。
使用 保存图像 和 可视化图像 模块,保存或查看步骤10输出的彩色图即可。