GraspNet 通用物品抓取数据集

GraspNet-1Billion是一个大规模的物体抓取姿态检测数据集,包含超过10亿抓取姿势,用于解决拥挤场景中抓取任务的挑战。它包含RGB-D图像、物体6Dpose标注和抓取评估系统。文章介绍了数据集构建、抓取标签表示、网络结构和优化后的模型训练,展示了在复杂场景下抓取预测的进展。

GraspNet 通用物品抓取数据集

GraspNet 是一个通用物品抓取的开源项目,现包含

下面就 GraspNet-1Billion 展开介绍

GraspNet-1Billion

物体抓取计算机视觉领域很具有挑战性的研究课题,也是人工智能可以直接影响现实生活的应用。目前对于简单背景、单个物体的研究精度基本达标,但对于拥挤场景研究较为缺乏。究其原因,一是训练数据不足,而是没有一个统一的评价标准。针对这项问题,GraspNet论文提供了一个大规模抓取姿态检测的数据集GraspNet-1Billion一个统一的评估系统GraspNet API以及一个baseline模型,供研究者研究学习快乐打榜

数据集

GraspNet-1Billion数据集包含97280张RGB-D图像和超过10亿个抓取姿势(故称1Billion)。

该数据集包含97280张RGB-D图像,这些图像取自190多个杂乱场景的不同视角,其中每一个场景512张RGB-D图像( 512 × 190 = 97280 512\times 190=97280 512×190=97280),对于数据集中88个物体提供了精确的3D网格模型,每个场景都密集标注物体的6D pose和抓取姿态。

数据集中共有88种不同物体,从YCB数据集中选取适合抓取的32个物体,从DexNet 2.0中选取13个对抗性对象,并收集自己的43个对象来构建整个物体集,包括洗发水、塑料盆、纸质包装盒等。每种物体均有准确的CAD模型。对每个物体的CAD模型,都可以通过受力分析来使用计算机自动进行标注。

数据集一共有 190 190 190个场景,对于每个场景,本文从整个物体集中随机挑选大约10个物体,将它们随意地堆在一起。数据集将场景 1 ∼ 100 1\sim100 1100定为训练集, 101 ∼ 130 101\sim 130 101130为“见过的“物体, 131 ∼ 160 131\sim160 131160为”熟悉的”物体, 161 ∼ 190 161\sim 190 161190为“没见过”的物体。每个场景由两款相机各拍摄的256张图片构成,这512张图片是一个机械臂上绑了两个相机拍出来的,机械臂沿着固定的轨迹移动,覆盖四分之一球体上的256个不同视点,因为运动轨迹是确定的,所以只需要标注第一张图片,其他都可以通过三维空间中的投影变换得到;而对于第一张图片,也只需要标注物体的姿态,将场景中的物体与模型对齐后,就可以将CAD模型的标注信息投影到RGB-D图像上了。之后需要进行碰撞检查,去掉会产生碰撞的标注。

考虑到所有物体是已知的,标注抓取姿态分为两个阶段来进行,如图3所示。首先,对每个物体都要标注抓取姿势。

除此之外,采用解析计算的方法对每个抓取进行评分,力封闭度量在抓取评价中被证明是有效的:给定一个抓取姿态、关联物体和摩擦系数 μ \mu μ,力封闭度量输出二元标签,表示抓取在该系数下是否可以,评分表示为: s = 1.1 − μ s = 1.1 - \mu s=1.1μ。( μ \mu μ最小值为 0.1 0.1 0.1

通过这两个步骤,我们可以为每个场景生成密集的抓取集 G ( w ) \mathbb{G}_{(w)} G(w)。数据集中正标签和负标签的比例大约是 1:2。1

训练图片

训练图片共 100 个场景,每个场景由 Kinect 和 RealSense 相机分别拍摄 256 张 RGB-D 图片。一个场景中的信息如下

scene_0000
|-- object_id_list.txt              # 场景中的object-id
|-- rs_wrt_kn.npy                   # RealSense相对Kinect相机的位置shape: 256x(4x4)
|-- kinect                          # kinect相机数据
|   |-- rgb
|   |   |-- 0000.png to 0255.png    # 256 rgb images
|   `-- depth
|   |   |-- 0000.png to 0255.png    # 256 depth images
|   `-- label
|   |   |-- 0000.png to 0255.png    # 256 object mask images, 0 is background, 1-88 denotes each object (1-indexed), same format as YCB-Video dataset
|   `-- annotations
|   |   |-- 0000.xml to 0255.xml    # 256 object 6d pose annotation. ‘pos_in_world' and'ori_in_world' denotes position and orientation w.r.t the camera frame.
|   `-- meta
|   |   |-- 0000.mat to 0255.mat    # 256 object 6d pose annotation, same format as YCB-Video dataset for easy usage
|   `-- rect
|   |   |-- 0000.npy to 0255.npy    # 256 2D planar grasp labels
|   |
|   `-- camK.npy                    # camera intrinsic, shape: 3x3, [[f_x,0,c_x], [0,f_y,c_y], [0,0,1]]
|   `-- camera_poses.npy            # 256 camera poses with respect to the first frame, shape: 256x(4x4)
|   `-- cam0_wrt_table.npy          # first frame's camera pose with respect to the table, shape: 4x4
|
`-- realsense
    |-- same structure as kinect

train_1.ziptrain_4.zip四个压缩包中是采集的 99 个场景 Ground Truth 及其描述信息,下载下来之后将其中的内容全部解压到一个graspnet/scenes文件夹下,解压完成后目录结构如图:

|-- graspnet
    |-- scenes
    |   |-- scene_0000/
    |   |-- scene_0001/
    |   |-- ... ...
    |   `-- scene_0099/

紧接着是测试图片,其目录结构与训练图片相同,也解压到graspnet/scenes文件夹下:

|-- graspnet
    |-- scenes
    |   |-- scene_0000/
    |   |-- scene_0001/
    |   |-- ... ...
    |   `-- scene_0189/

6 DoF grasp labels 是抓取的标签,需要解压到graspnet/grasp_label文件夹下,

评价系统

同时,提供的评价系统通过分析计算可以直接反映抓取是否成功,做到不用详尽标注,就可以对任何抓取姿势进行评价。

对每一个预测的pose P ^ i \hat{\mathbf{P}}_i P^i,通过检查位于pose夹爪之间的点云来确定其抓取的是哪个物体。然后,和标注的过程一样,通过力封闭度量(force-closure metric2)和摩擦系数 μ \mu μ确定一个二元的label。

对于抓取,我们对准确率更加关注,所以以 P r e c i s i o n @ k Precision@k Precision@k作为评价指标, P r e s c i s i o n @ k Prescision@k Prescision@k定义为前 k k k个抓取的准确性。 A P μ AP_\mu APμ表示对于 k k k从1到50在摩擦系数为 μ \mu μ的情况下的平均准确率。并且定义 A P \mathbf{AP} AP μ = 0.2 \mu = 0.2 μ=0.2 1.0 1.0 1.0步长 0.2 0.2 0.2的平均 A P AP AP。(有点COCO mAP的意思)

为了避免全部抓到同一个点上,在评估前会跑一个pose-NMS(非极大值抑制)。

baseline模型

此外,还提出了一个端到端抓取姿态预测网络,点云作为输入,采用解耦的方式来学习 接近方向和操作参数(approaching direction and operation parameters),例如平面旋转、抓取宽度。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rSnENbmT-1646122082502)(media/graspnet-baseline/image-20220301143028250.png)]

抓取姿势表示

作者使用夹爪式机械臂进行抓取,抓取姿势 G \mathbf G G表示为
G = [ R   t   w ] \mathbf{G}=[\mathbf{R}\, \mathbf{t}\, w] G=[Rtw]
其中 R ∈ R 3 × 3 \mathbf R \in \mathbb R^{3\times 3} RR3×3标志夹爪的方向, t ∈ R 3 × 1 \mathbf t \in \mathbb R^{3\times 1} tR3×1为抓取的重心, w ∈ R w \in \mathbb R w

评论 23
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值