常见场景的ATOM模版图文档

整体概览

image1

如上图所示,整一个操作流程可以被简单划分成五个部分:

  • 输入

  • 预处理操作: 这一部分主要是对输入信息进行筛选过滤,比如设定一些ROI

  • 识别/匹配操作:核心操作,主要进行智能感知,发现物体的位置和姿态信息

  • 结果后处理操作:主要针对位置姿态生成后续操作,比如抓取点生成。当然也会对结果进行过滤,提高准确度

  • 输出

根据调试需求,atom图可分为两种,两种图的差别主要是在于输入输出,可通过调整输入输出进行转换:

  • ATOM调试图,输入为读取EpicRaw节点EpicEye相机节点读取点云+读取彩色图节点测试数据节点,输出大多为生成抓取点节点+抓取点排序节点+绘制抓取点节点,根据不同需求可任意调整

  • EpicPro调试运行图,输入输出为EpicPro输入EpicPro输出,配合epicPro运行

这两种图之间的转换主要在于输入输出的变化,同时ATOM调试图中,配置3维ROI节点可删除,改为从EpicPro输入节点获取3维ROI,以避免ROI出现

根据操作依赖输入的种类的不同,大致可以分为四种:

  • 纯图像识别

  • 纯点云识别

  • 图像点云混合识别

  • 大模型探索

分类

描述

使用场景

优点

缺点

纯图像识别

利用深度学习目标检测、实例分割方法或2d图像形状匹配方法进行图像分割,再结合点云信息进行后处理得到结果

袋子,箱子等木目标表面纹理特征明显,易于区分的场景,或目标形变无法用点云匹配的场景

(1) 能够应对非刚体

(2) 针对点云效果不好的情况可能有一定优势

(1) 需要采集图像进行标注训练

纯点云识别

直接用目标匹配

适用于表面不平整或难以提取目标边缘的的刚体场景,如曲轴,角阀等表面不平整的零件等

(1) 能够应对复杂姿态下的物体

(1) 精度依赖于点云的质量

用目标提取边缘做匹配

适用于目标表面平整且边缘明显的刚体场景,如耐火砖场景

(1) 相比较直接点云匹配速度更快

(1) 精度依赖点云质量

(2) 依赖目标的边缘

多视角方法进行匹配

适用于遮挡情况较多的场景

(1) 对遮挡场景效果较好

(2) 需要调参少

(3) 可根据工件设置视角

(1) 速度受尺度影响较大

图像点云混合

用2d方法先将目标附近区域提取出来再进行匹配

针对一些没有形变但是可能目标间缝隙太小难以很好匹配的场景,如和泰有序棒料场景

(1) 能够应对物体间缝隙小造成的匹配困难

(1) 需要图像和点云的操作,总体耗时可能较高

大模型(探索性)

检测或分割结果+sam

可通过点云分割或目标检测得到目标框和中心点坐标,将这两个结果(可只用一个)输入到Sam分割节点进行分割

(1) 可减少标注和训练

(1)模型效果不能完全保证现场使用

(2)对GPU要求较高,直接用CPU运行时间会很长

常用atom模板图列表

以下链接若打不开,则需复制地址到chrome浏览器打开

常用模板图

  • 1.1.3版本ATOM在*EpicPro输入*节点中加入了本地读取功能,可以在节点中*开启本地读取*参数从本地文件夹读取.epicraw文件,每次运行会重新读取一个epicraw文件,便于多图测试。

  • 为了便于复现现场问题,该文件夹下应该至少包含一个epicraw文件,并包含一个带3维ROI和手眼标定矩阵的json文件,若没有,则按默认值运行,手眼标定矩阵为单位阵,该JSON文件命名为runSpace.json,格式为{'3DROI': [{'min':[min_x, min_y, min_z], 'max': [max_x, max_y, max_z], 'transform': cam2ROIFrame}], 'cam2baseMatrix': [[], [], [], []]}。

  • 以下模板图使用时,需要在EpicPro节点中修改EpicRaw文件夹路径为本地路径,可对应下载表格中的zip数据解压,也可指定包含epicraw的路径,若需要完整复现,需要在文件夹内按要求放入runSpace.json文件来提供ROI和手眼标定矩阵。若需要与EpicPro软件联调,可直接关闭开启本地读取开关,从EpicPro软件进行调用

模板ATOM文件

链接地址

模板类型

相关数据

所用场景

袋子分割

bag_segment.atom

纯图像识别

bag-segment

袋子拆垛

箱子检测

box_detect.atom

纯图像识别

box-detect

箱子检测

SFM点云匹配

sfm_point_matching.atom

纯点云识别

sfm-point_matching

小料框无序抓取

SFM点云匹配-多视角

sfm-point_matching-multiview.atom

纯点云识别

sfm-point-matching-multiview

无序抓取

SFM点云匹配-边缘

sfm-matching-edg.atom

纯点云识别

sfm-point_matching-edge

无序抓取

2d形状匹配+点云匹配

2dshape_match-3dmatching.atom

图像点云混合

2dshape_match-3dmatching

圆环测试-2d+3d匹配

点云分割-蒸发器

point_segment-evap.atom

图像点云混合

point_segment-evap

格力美的蒸发器分割

点云分割+SAM

point_segment-SAM.atom

大模型(探索性)

point_segment-SAM

探索中,暂无实际应用

点云分割+掩膜处理+SAM

point_segment-mask_process-SAM.atom

大模型(探索性)

point_segment-mask_process-SAM

探索中,暂无实际应用

GroundDino+SAM

GroundDino-SAM.atom

大模型(探索性)

GroundingDino-SAM

探索中,暂无实际应用

法向位姿估计

法向位姿估.atom

法向位姿估计流程

法向位姿估计

带子图的模板图

模板ATOM文件

链接地址

模板类型

相关数据

所用场景

条件分支

条件分支.atom

条件判断

条件分支

可用于同一个垛盘可能更换物料的场景

袋子分割

bag_segment-subgraph.atom

纯图像识别

bag-segment

袋子拆垛

箱子检测

box_detect-subgraph.atom

纯图像识别

box-detect

箱子检测

法向位姿估计

法向位姿估计.atom

法向位姿估计流程

法向位姿估计

常用子图模板图

模板ATOM文件

链接地址

所用场景

搬运位姿过滤子图

valid_objects_filter.atom

搬运位姿的过滤操作,可根据需要打开或关闭部分节点的使能开关

法向位姿估计子图(过滤+点云包围框)

add_normal-filter-bbox.atom

可用于目标点云包围框法向与实际抓取方向相近的场景

法向位姿估计子图(聚类+点云包围框)

add_normal-cluster-bbox.atom

可用于目标点云包围框法向与实际抓取方向相近的场景

法向位姿估计子图(平面拟合)

add_normal-plane-fit.atom

主要可用于近平面物体的法向估计

法向位姿估计子图(过滤+法向估计)

add_normal-filter-normal.atom

可用于目标中心处法向与实际抓取法向相近的场景

此表格中的图是一些常用的搬运位姿过滤和法向位姿估计的流程,可直接导入为本地图后,在其他图中子图部分选中拖入将其变成子图节点连线后运行。