6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints
论文地址:
6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints​arxiv.org
代码链接:
github​sites.google.com
简介
作者提出了一种基于RGB-D的深度学习方法6PACK,能够实时的跟踪已知类别物体。通过学习用少量的三维关键点来简洁地表示一个物体,基于这些关键点,通过关键点匹配来估计物体在帧与帧之间的运动。这些关键点使用无监督端到端学习来实现有效的跟踪。实验表明该方法显著优于现有方法,并支持机器人执行简单的基于视觉的闭环操作任务。

 
问题的提出
在机器人抓取任务中,实时跟踪物体6D位姿的能力影响抓取任务的实施。现有的6D跟踪方法大部分是基于物体的三维模型进行的,有较高的准确性和鲁棒性。然而在现实环境中,很难获得物体的三维模型,所以作者提出开发一种类别级模型,能够跟踪特定类别从未见过的物体。
创新点
1、这种方法不需要已知物体的三维模型。相反,它通过新的anchor机制,类似于2D对象检测中使用的proposals方法,来避免定义和估计绝对6D位姿。
2、这些anchor为生成三维关键点提供了基础。与以往需要手动标注关键点的方法不同,提出了一种无监督学习方法,该方法可以发现最优的三维关键点集进行跟踪。
3、这些关键点用于简洁的表示物体,可以有效地估计相邻两帧之间位姿的差异。这种基于关键点的表示方法可以实现鲁棒的实时6D姿态跟踪。
核心思想
作者提出的模型使用RGB-D图像,基于之前位姿周围采样的anchors(红点),来鲁棒地检测和跟踪一组基于3D类别的关键点(黄色)。然后利用连续两帧中预测的关键点,通过最小二乘优化求解点集对齐的问题,计算出6D物体的位姿变化。
问题的定义
将类别级物体6D位姿跟踪定义为:物体在连续时间t−1和t之间的位姿变化问题。初始位姿是针对相同类别的所有目标物体定义的标准框架相对于相机框架的平移和旋转。例如,对于类别“相机”,将框架放置在物体的质心处,x轴指向相机物镜的方向,y轴指向上方。
将3D关键点定义为:在整个时间序列中几何和语义上一致的点。给定两个连续的输入帧,需要从两帧中预测匹配的关键点列表。基于刚体假设的基础,利用最小二乘优化来解决点集对齐问题,从而得到位姿的变化∆p。
模型
首先在预测物体实例的周围剪裁一个放大的体积,将其归一化为一个单元;在体积块上生成anchor网格;之后使用DenseFusion计算M个点的几何与颜色融合特征;根据距离将它们平均池化成N个anchor特征;注意力机制网络使用anchor特征来选择最接近质心的点;用质心生成一组有序的关键点。将这种关键点生成方法应用在前一帧和当前帧,得到两组有序的关键点来计算帧间的位姿变化。
6-PACK算法在预测位姿周围生成anchor网格的过程中使用了注意力机制。每个点用RGB-D点单独特征的距离加权和来表示体积。使用anchor信息在新的RGB-D框架中找到物体的粗略质心,并指导对其周围关键点的后续搜索,这比在无约束的三维空间中搜索关键点效率更高。
实验结果
作者采用的数据集是NOCS-REAL275,包含六个类别。通过对比三个模型的baseline来评估作者的方法。
NOCS:类别级物体6D位姿估计sota。
ICP:Open3D中中实现的标准点对面ICP算法。
KeypointNet:直接在三维空间中生成3D关键点。
1)6-PACK指标5°5cm比NOCS高出15%以上,指标IoU25高出12%。说明与使用所有输入像素作为关键点的NOCS相比,6-PACK能够检测出最适合类别级6D跟踪的3D关键点。实验结果如下图所示:
其中,前两列为NOCS和6-PACK的定性对比,后两列为关键点匹配的结果。
2)6-PACK所有指标都优于KeypointNet,KeypointNet经常跟丢。作者的方法避免了丢失物体的轨迹(IoU25>94%),基于anchor的注意力机制提高了整体的跟踪性能。
3)为了检验不同方法的鲁棒性和稳定性,作者计算了没有前x帧的平均性能。这样就能测量出初始位姿对性能的影响(接近初始位姿的帧很容易跟踪)。如下图,除了NOCS之外,所有方法的性能都有所下降,因为NOCS是位姿估计方法,而不是位姿跟踪方法。在整个过程中,6-PACK的性能比NOCS高出10%以上,并在初始帧100后停止下降。
4)作者在机器人上进行了实时测试,超过60%的试验中,成功地跟踪了目标(目标在可视范围内),而没有丢失。

李飞飞团队最新论文:基于anchor关键点的类别级物体6D位姿跟踪的更多相关文章

  1. ICRA 2019最佳论文公布 李飞飞组的研究《Making Sense of Vision and Touch: Self-Supervised Learning of Multimodal Representations for Contact-Rich Tasks》获得了最佳论文

    机器人领域顶级会议 ICRA 2019 正在加拿大蒙特利尔举行(当地时间 5 月 20 日-24 日),刚刚大会公布了最佳论文奖项,来自斯坦福大学李飞飞组的研究<Making Sense of ...

  2. 李飞飞确认将离职!谷歌云AI总帅换人,卡耐基·梅隆老教授接棒

    https://mp.weixin.qq.com/s/i1uwZALu1BcOq0jAMvPdBw 看点:李飞飞正式回归斯坦福,新任谷歌云AI总帅还是个教授,不过这次是全职. 智东西9月11日凌晨消息 ...

  3. 李飞飞、吴恩达、Bengio等人的15大顶级深度学习课程

    目前,深度学习和深度强化学习已经在实践中得到了广泛的运用.资源型博客sky2learn整理了15个深度学习和深入强化学习相关的在线课程,其中包括它们在自然语言处理(NLP),计算机视觉和控制系统中的应 ...

  4. 2017年度好视频,吴恩达、李飞飞、Hinton、OpenAI、NIPS、CVPR、CS231n全都在

    我们经常被问:机器翻译迭代了好几轮,专业翻译的饭碗都端不稳了,字幕组到底还能做什么? 对于这个问题,我们自己感受最深,却又来不及解释,就已经边感受边做地冲出去了很远,摸爬滚打了一整年. 其实,现在看来 ...

  5. DTCC 2020 | 阿里云李飞飞:云原生分布式数据库与数据仓库系统点亮数据上云之路

    简介: 数据库将面临怎样的变革?云原生数据库与数据仓库有哪些独特优势?在日前的 DTCC 2020大会上,阿里巴巴集团副总裁.阿里云数据库产品事业部总裁.ACM杰出科学家李飞飞就<云原生分布式数 ...

  6. CVPR2020最新论文扫描盘点(下)

    CVPR2020最新论文扫描盘点(下) 最近计算机视觉三大顶会之一CVPR2020接收结果已经公布,一共有1470篇论文被接收,接收率为22%,相比去年降低3个百分点,竞争越来越激烈.这里整理来自Tw ...

  7. CS231n 斯坦福李飞飞视觉识别课程

    本文是个人在学习<CS231n 斯坦福李飞飞视觉识别课程>的学习笔记. 第一讲:课程简介 课时1 计算机视觉概述 课时2 计算机视觉历史背景 课时3 课程后勤 选读书籍<DeepLe ...

  8. CVPR2020最新论文扫描盘点(上)

    CVPR2020最新论文扫描盘点(上) 最近计算机视觉三大顶会之一CVPR2020接收结果已经公布,一共有1470篇论文被接收,接收率为22%,相比去年降低3个百分点,竞争越来越激烈.这里整理来自Tw ...

  9. 物体的三维识别与6D位姿估计:PPF系列论文介绍(三)

    作者:仲夏夜之星 Date:2020-04-08 来源:物体的三维识别与6D位姿估计:PPF系列论文介绍(三) 文章“A Method for 6D Pose Estimation of Free-F ...

随机推荐

  1. JavaScript值类型和引用类型有哪些

    JavaScript值类型和引用类型有哪些 (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数.

  2. “淘宝技术这十年”

    "少时淘气,大时淘宝" 时势造英雄 起因eBay 易趣 在资本方面对仗,阿里想趁此崛起新项目就要求能在短时间内做出一个 个人对个人的商品交易网站(C2C)2003年4月7日-5月1 ...

  3. Linux sed && awk

    sed sed -i '/exit 0/i\ip route add 10.0.0.0/8 via '$gateway_ip'' /etc/sysconfig/network-scripts/ifup ...

  4. 蚂蚁金服招聘-无线测试开发(20k-36k/月)

    蚂蚁金服-支付宝国际事业部-高级测试开发工程师/测试专家 工作年限:三年以上学历要求:本科期望层级:P6/P7工作地点:上海,杭州,深圳等为什么选择加入我们? 我们的岗位有何不同?1.国际化远景:随着 ...

  5. BFC 浅谈

    写在前面 Block formatting context (块级格式化上下文) 页面文档由块block构成 每个block在页面上占据自己的位置使用新的元素构建BFC overflow:hidden ...

  6. Vue内置组件keep-alive的使用

    本文主要介绍Vue内置组件keep-alive的使用. Vue内置组件keep-alive的使用 keep-alive接收三个props:●include - 字符串或正则表达式.只有名称匹配的组件会 ...

  7. C++走向远洋——41(深复制体验,3,)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  8. C++走向远洋——25(项目二,游戏类)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:game.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  9. python爬虫-smtplib模块发送邮件

    1.代码如下: import smtplib from email.message from EmailMessage # smtplib模块负责发送邮件服务 # email.message模块负责构 ...

  10. SpringCloud Ribbon组成和负载均衡规则

    Ribbon饥饿加载 默认情况下Ribbon是懒加载的.当服务起动好之后,第一次请求是非常慢的,第二次之后就快很多. 解决方式:开启饥饿加载 ribbon: eager-load: enabled: ...