点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

文 / 软件工程师 Kurt Konolige,Google 机器人团队

计算机视觉应用领域的核心问题是 3D 物体的位置与方向的估计,这与对象感知有关(如增强现实和机器人操作)。在这类应用中,需要知道物体在真实世界中的 3D 位置,以便直接对物体进行操作或在其四周正确放置模拟物。

围绕这一主题已有大量研究,但此类研究虽然采用了机器学习 (ML) 技术,特别是 Deep Nets,但直接测量与物体的距离大多依赖于 Kinect 等深度感应设备。而对于表面有光泽或透明的物体,直接采用深度感应难以发挥作用。例如,下图包括许多物体(左图),其中两个是透明的星星。深度感应设备无法很好的为星星测量深度值,因此难以重建 3D 点云效果图(右图)。

  • Deep Nets
    https://arxiv.org/abs/1901.04780

左图:透明物体的 RGB 图像;右图:左侧场景的深度重建效果四格图,上排为深度图像,下排为 3D 点云,左侧图格采用深度相机重建,右侧图格是 ClearGrasp 模型的输出。需要注意的是,虽然 ClearGrasp 修复了星星的深度,但它却错误地识别了最右边星星的实际深度

要解决这个问题,可以使用深度神经网络来 修复 (Inpainting) 透明物体的错误深度图,例如使用 ClearGrasp 提出的方法:给定透明物体的单个 RGB-D 图像,ClearGrasp 使用深度卷积网络推断透明表面法线、遮挡和遮挡边界,然后通过这些信息完善场景中所有透明表面的初始深度估计(上图 最右)。这种方法很有前景,可以通过依赖深度的位置姿态估计方法处理具有透明物体的场景。但是修复可能会比较棘手,仍然可能导致深度错误,尤其是完全使用合成图像进行训练的情况。

我们与斯坦福大学 AI 实验室在 CVPR 2020 上合作发表了“KeyPose: Multi-View 3D Labeling and Keypoint Estimation for Transparent Objects”,论文描述了直接通过预测 3D 关键点来估计透明物体深度的 ML 系统。为了训练该系统,我们以半自动化方式收集了真实世界中透明物体图像的大型数据集,并使用人工选择的 3D 关键点标记有效姿态。然后开始训练深度模型(称为 KeyPose),从单目或立体图像中估计端到端 3D 关键点,而不明确计算深度。

  • 论文
    https://openaccess.thecvf.com/content_CVPR_2020/html/Liu_KeyPose_Multi-View_3D_Labeling_and_Keypoint_Estimation_for_Transparent_Objects_CVPR_2020_paper.html

在训练期间,模型在见过和未见过的物体上运行,无论是单个物体还是几类物体。虽然 KeyPose 可以处理单目图像,但立体图像提供的额外信息使其结果提高了两倍,根据物体不同,典型误差在 5 毫米至 10 毫米之间。它对这些物体的姿态预测远高于当前最先进水平,即使其他方法带有地面真实深度。我们将发布关键点标记的透明物体数据集,供研究界使用。

  • 关键点标记的透明物体数据集
    https://sites.google.com/corp/view/transparent-objects

透明物体数据集

为了方便收集大量真实世界图像,我们建立了一个机器人数据收集系统。系统的机械臂通过轨迹移动,同时使用立体摄像头和 Kinect Azure 深度摄像头拍摄视频。

使用带有立体摄像头和 Azure Kinect 设备的机械臂自动捕捉图像序列

目标上的 AprilTags 可以让摄像头准确跟踪姿态。通过人工标记每个视频中少量图像 2D 关键点,我们可以使用多视角几何图形为视频的所有帧提取 3D 关键点,将标记效率提高 100 倍。

我们捕捉了五种类别的 15 个不同透明物体的图像,对每个物体使用 10 种不同的背景纹理和 4 种不同的姿势,总计生成 600 个视频序列,包括 4.8 万个立体和深度图像。我们还用不透明版本的物体捕捉了相同的图像,以提供准确的深度图像。所有图像都标有 3D 关键点。我们将公开发布这一真实世界图像数据集,为 ClearGrasp 合成数据集提供补充。

  • 真实世界图像数据集
    https://sites.google.com/corp/view/transparent-objects

使用前期融合立体的 KeyPose 算法

针对关键点估计,本项目独立开发出直接使用立体图像的概念;这一概念最近也出现在手动跟踪的环境下。下图为基本思路:来自立体摄像头的两张图像的物体被裁剪并馈送到 KeyPose 网络,该网络预测一组稀疏的 3D 关键点,代表物体的 3D 姿态。KeyPose 网络使用 3D 关键点标记完成监督训练。

  • 手动跟踪
    https://bmvc2019.org/wp-content/uploads/papers/0219-paper.pdf

立体 KeyPose 的一个关键是使用允许网络隐式计算视差的前期融合来混合立体图像,与后期融合不同。后期融合是分别预测每个图像的关键点,然后再进行组合。如下图所示,KeyPose 的输出图像在平面上是 2D 关键点热力图,以及每个关键点的视差(即逆深度)热力图。这两张热力图的组合会为每个关键点生成关键点 3D 坐标。

Keypose 系统图:立体图像被传递到 CNN 模型,为每个关键点生成概率热力图。此热力图输出关键点的 2D 图像坐标 (U,V)。CNN 模型还为每个关键点生成一个视差(逆深度)热力图,与 (U,V) 坐标结合时,可以给出 3D 位置 (X,Y,Z)

相较于后期融合或单目输入,前期融合立体通常可以达到两倍的准确率。

结果

下图显示了 KeyPose 对单个物体的定性结果。左侧是一个原始立体图像,中间是投射到图像上的预测 3D 关键点。在右侧,我们将 3D 瓶子模型中的点可视化,并放置在由预测 3D 关键点确定的姿态上。该网络高效准确,在标准 GPU 上仅用 5 ms 的时间就预测出瓶子的 5.2 mm MAE (Mean Absolute Error) 和杯子的 10.1 mm MAE 关键点。

下表为 KeyPose 类别级别估计的结果。测试集使用了训练集未见过的背景纹理。注意,MAE 从 5.8 mm 到 9.9 mm 不等,这表明该方法的准确率非常高。

在类别级别数据上,KeyPose 与最先进的 DenseFusion 系统进行定量比较。我们为 DenseFusion 提供了两个版本的深度:透明物体与不透明物体。<2cm 是误差小于 2cm 的估计百分比。MAE 是关键点的平均绝对误差,以 mm 为单位。

  • DenseFusion
    https://arxiv.org/abs/1901.04780

有关定量结果以及消融研究的完整说明,请参见论文和补充材料以及 KeyPose 网站。

  • 论文和补充材料
    https://openaccess.thecvf.com/content_CVPR_2020/html/Liu_KeyPose_Multi-View_3D_Labeling_and_Keypoint_Estimation_for_Transparent_Objects_CVPR_2020_paper.html

  • KeyPose 网站
    https://sites.google.com/corp/view/keypose/

结论

该研究表明,在不依赖深度图像的情况下,从 RGB 图像中可以准确估计透明物体的 3D 姿态。经过验证,立体图像可以作为前期融合 Deep Net 的输入。在其中,网络被训练为直接从立体对中提取稀疏 3D 关键点。我们希望提供广泛的带标签透明物体数据集,推动这一领域的发展。最后,尽管我们使用半自动方法对数据集进行了有效标记,但我们希望在以后的工作中能够采用自监督方法来消除人工标记。

致谢

感谢合著者:斯坦福大学的 Xingyu Liu 以及 Rico Jonschkowski 和 Anelia Angelova;以及在项目和论文撰写过程中,与我们一起讨论并为我们提供帮助的人,包括 Andy Zheng、Suran Song、Vincent Vanhoucke、Pete Florence 和 Jonathan Tompson。

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

觉得有用,麻烦给个赞和在看~  

机器人收集 + Keypose 算法:准确估计透明物体的 3D 姿态相关推荐

  1. 准确估计透明物体的 3D 姿态:机器人收集 + Keypose 算法

    文 / 软件工程师 Kurt Konolige,Google 机器人团队 计算机视觉应用领域的核心问题是 3D 物体的位置与方向的估计,这与对象感知有关(如增强现实和机器人操作).在这类应用中,需要知 ...

  2. AAAI论文首发:几何驱动的自监督的人体3D姿态估计方法

    徐亦达团队和北理工李侃老师的共同博士生李杨在AAAI 的发表了一篇机器学习论文,本人得到徐老师授权在本站发布论文. Geometry-driven Self-supervised Method for ...

  3. 物体抓取位姿估計算法綜述_大盘点|6D姿态估计算法汇总(上)

    1.DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion (CVPR2019) 原文链接:https://arxiv.org ...

  4. 文献阅读-ICRA2020-从单眼内窥镜图像中对手术机器人器械的柄姿势估计

    文章序号.所属单元及链接:1630-Computer Vision for Medical Robots 一作所属单位:University of Tokyo 读后体会:以我浅薄的学术认知来看这篇论文 ...

  5. ECCV 2022 | 面向高光和透明物体感知与抓取的域随机化增强的深度仿真与修复

    关键词:深度仿真 深度修复 高光透明物体 导  读 本文是计算机视觉顶级会议 ECCV 2022入选论文 Domain Randomization-Enhanced Depth Simulation ...

  6. 基于Transformer对透明物体进行分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 小白导读 论文是学术研究的精华和未来发展的明灯.小白决心每天为大家 ...

  7. 90后斯坦福博士论文登Science封面!AI算法准确预测RNA三维结构

    来源:七月在线实验室本文约1200字,建议阅读5分钟 本文介绍了Science 封面的这项研究的最新成果,利用目前先进的神经网络技术,成功开发出了一种全新 RNA 三维结构预测模型--ARES. 前言 ...

  8. 机器人学习--定位算法AMCL全局定位方案

    ROS中已经集成了AMCL(自适应蒙特卡洛定位)的解决方案,按照要求测试一般都没问题. 源码或者相关细节分析参考:机器人学习--定位算法AMCL详解_GGY1102的博客-CSDN博客_amcl定位 ...

  9. a算法和a*算法的区别_机器人路径规划算法,全局路径规划与局部路径规划究竟有哪些区别?...

       若步智能                  移动这一简单动作,对于人类来说相当容易,但对机器人而言就变得极为复杂,说到机器人移动就不得不提到路径规划,路径规划是移动机器人导航最基本的环节,指的是 ...

  10. 年薪20-65W|瓦特曼3D感知、图像、机器人、无人机算法工程师等岗位招聘

    瓦特曼智能算法研发岗位火热招募中 公司官网:www.wattman.cn 福利待遇: 入职七险一金(全额基数),绩效奖.项目奖.年终奖.员工评优.期权激励通通都有,年假.司龄假.孝亲假也都齐全,除此之 ...

最新文章

  1. 语言准备客票问题_菲律宾出国留学需要准备什么?
  2. linux mint 19 内核4.9,检查Linux Mint 19系统版本号和代号的方法
  3. 一本算法刷题必读配套书(附链接)
  4. HashMap中ConcurrentModificationException异常解读
  5. 从实例入手学习Shiro与Web的整合
  6. python cmd窗口名字_python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)
  7. 计算机网络TCP与UDP的区别
  8. WordPress数据库error establishing a database connection错误
  9. 小米路由器3 保姆级救砖回忆录及实操技巧演示
  10. Ubuntu下载Linux源码 编译Linux源码
  11. 轻量级分布式日志管理系统Graylog、Loki及ELK的分析和对比
  12. 第六章:组合数据类型练习[人名独特性统计]学习思考
  13. LeetCode | 面试题04. 二维数组中的查找【剑指Offer】【Python】
  14. Rap2 模拟接口 常见规则示例
  15. vue项目执行命令npm run serve运行项目时 停在 98% after emitting CopyPlugin
  16. pandas pandas中stack()与unstack()函数用法
  17. LNK1181:无法打开输入文件“release/.obj“
  18. KVM详细介绍及搭建KVM虚拟化平台构建Centos7系统
  19. 数据库查询速度优化技巧及解决方案
  20. 【Nexus】通过Nexus搭建Npm私库

热门文章

  1. ios -- 极光推送《2》--极光推送消息推送成功,但是手机收不到的解决方法
  2. Synchronized与ReentrantLock的区别
  3. android布局及其常用属性
  4. 常用js框架,js库
  5. 消息队列技术终结者(三)—ActiveMQ的特性及优势
  6. 绝对定位实现漂浮工具条停靠在内容旁边
  7. 服务器监视Zabbix 5.0 - Window Agent安装
  8. BeanUtils组件使用小指南
  9. python 自动抢红包_用二十行代码实现微信自动抢红包
  10. php post重复提交session,PHP加Session防止表单重复提交的解决方法