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. ant:如何用ant将web project打包成war包

    说明:src中的文件将不会呈现出来,诸位可以自己写一个简单的web项目,然后依照我所提供的ant脚本配置来设置. 文件结构如图所示:               配置为下: build.xml < ...

  2. 添砖加瓦:Linux系统监测

    前言 前段时间因为项目需求,需要实时获取系统当前的运行状态,遂查阅了不少资料,基于/proc目录下的部分文件,实现了系统CPU.内存.网络和磁盘的实时监测. 一.CPU使用情况获取 获取CPU使用情况 ...

  3. android-interview

    如何减小安装包的大小 主要是减小资源的大小 不常使用的资源,使用时再从网络下载. 绘制代替图片资源 OOM (Out Of Memory) https://www.zhihu.com/question ...

  4. 学习HEXO的历程

    前言: 简介 开始搭建 命令 API测试 逛github相关的帖子时,发现了hexo.正好想要做一个个人的博客,用来记录自己的各类感悟,所以花一些时间学习学习,以后博客可以放github,省得去注册c ...

  5. Java里观察者模式(订阅发布模式)

    创建主题(Subject)接口 创建订阅者(Observer)接口 实现主题 实现观察者 测试 总结 在公司开发项目,如果碰到一些在特定条件下触发某些逻辑操作的功能的实现基本上都是用的定时器 比如用户 ...

  6. 从0开发3D引擎(十二):使用领域驱动设计,从最小3D程序中提炼引擎(第三部分)

    目录 上一篇博文 继续实现 实现"DirectorJsAPI.init" 实现"保存WebGL上下文"限界上下文 实现"初始化所有Shader&quo ...

  7. 【Spring Data 系列学习】Spring Data JPA 自定义查询,分页,排序,条件查询

    Spring Boot Jpa 默认提供 CURD 的方法等方法,在日常中往往时无法满足我们业务的要求,本章节通过自定义简单查询案例进行讲解. 快速上手 项目中的pom.xml.application ...

  8. 200行代码,7个对象——让你了解ASP.NET Core框架的本质[3.x版]

    2019年1月19日,微软技术(苏州)俱乐部成立,我受邀在成立大会上作了一个名为<ASP.NET Core框架揭秘>的分享.在此次分享中,我按照ASP.NET Core自身的运行原理和设计 ...

  9. 神奇的 SQL 之 ICP → 索引条件下推

    开心一刻 楼主:来,我们先排练一遍 小伙伴们:好 嘿.哈.嚯 楼主:非常好,就是这个节奏,我们开始吧 楼主:啊.啊.啊,疼 ! 你们是不是故意的 ? 回表与覆盖索引 正式讲 ICP 之前了,我们先将相 ...

  10. Feign 在 SpringCloud 中的使用 四

    此处就单纯写一个消费者服务,通过Feign来调用生产者中的接口,生产者中的接口可以自己随便定义一个,前面博客中也有代码 1.导入springcloud Feign的jar包 <parent> ...