论文地址:https://arxiv.org/abs/1901.02970
    github链接:https://github.com/hughw19/NOCS_CVPR2019

类别级6D物体位姿和尺寸估计的标准化物体坐标空间

简介

本文的目标是估计RGB-D图像中从未见过的物体实例的6D位姿和尺寸。与“实例级”6D位姿估计任务相反,作者假设在训练或测试期间没有精确的CAD模型可用。为了处理给定类别中不同的和从未见过的物体实例,作者引入了标准化物体坐标空间(简称NOCS),即同一个类别中的所有物体实例使用一个共享的标准模型来表示。然后,通过训练神经网络来推断观察到的像素与共享标准模型的对应关系以及其他信息,例如类别标签和mask。通过将预测图像与深度图相结合,共同估计杂乱场景中多个物体的6D位姿和尺寸。为了训练网络,作者提出了一种新的上下文感知技术来生成大量带注释的混合现实数据。为了进一步改进模型并评估它在真实数据上的性能,作者还提供了一个完全注释的真实场景下的数据集。大量实验表明,该方法能够鲁棒地估计真实场景中从未见过物体的位姿和大小。

问题的提出

位姿估计的现有方法中SSD-6D、latent霍夫投票、BB8、YOLO-6D和poseCNN都预先提供了物体精确的CAD模型及大小,然而从未见过的物体是没有CAD模型的。在三维目标检测的论文中不需要物体的CAD模型就可以估计类别标签和边界框。但是三维目标检测是根据视点估计的,没有编码物体的精确方向。这两种方法都不能对从未见过的物体进行位姿估计。

  1. 第一个挑战:找到特定类别物体位姿和尺寸的表示方法。
  2. 第二个挑战:缺少训练和测试数据集。(现有三维目标检测数据集缺注释,或者不包含桌面级物体类别)

创新点

  1. 作者使用一个共享的标准坐标空间(NOCS)作为参考系来表示同一类别中的所有物体实例。
  2. 提出一个可以同时预测物体类别标签、mask和NOCS图的CNN,将NOCS图与深度图进行对应来估计从未见过物体的位姿和大小。
  3. 使用空间上下文感知的混合现实方法来自动生成大量数据用来训练和测试。

图1 作者的方法进行位姿估计

核心思想

作者定义了一个共享的标准坐标空间,可以为从未见过的物体定义位姿和尺寸。标准物体坐标空间是包含在单位立方体中的三维空间。对于给定的物体类别,作者将物体实例放到NOCS中标准化(相当于所有相机都使用同一个模型,将中心和方向对齐后进行缩放来表示)。作者通过NOCS在RGB图像上的投影训练作者的网络。在测试时,网络回归NOCS图,然后将其与深度图一起用于6D位姿和尺寸估计。

图2 标准物体坐标空间

数据集

因为现有的三维目标检测数据集NYU v2 和SUN RGB-D只关注三维边界框,无法获得6D位姿和大小的ground truth。作者提出空间上下文感知的混合现实方法来自动生成大量数据用来训练和测试。选取31个真实的室内场景共553张图像,从ShapeNetCore数据集中挑选了6种物体:瓶子、碗、相机、罐子、笔记本电脑和杯子。作者还创建了一个干扰物类别,由上面没有列出的类别中的物体类别组成,如显视器、电话和吉他。使场景中存在其他物体,这也提高了对主要类别进行预测的鲁棒性。

上下文感知合成:为了提高真实感,作者以上下文感知的方式合成虚拟物体,将物体放在支撑平面上,使用合理的光照。使用平面检测算法对真实图像进行像素级平面分割。随后,在分割平面上随机采样位置和方向。然后放置几个虚拟光源来模拟真实的室内照明条件。最后,将渲染图像和真实图像结合起来,生成一个具有ground truth NOCS图、mask和类别标签的合成图。作者总共渲染了30万张图片。

图3 合成图像

为了评估在真实世界下的性能,作者提供了真实场景下的数据集,并提出一种自动标注ground truth物体位姿和大小的方法。(但是作者没有说真实场景中的NOCS图的ground truth是怎么得到的)

模型

作者的网络结构是基于Mask R-CNN框架构建的,增加了预测NOCS图的分支。RGB图和深度图作为输入,CNN通过RGB图预测物体的类别标签、mask和NOCS图,之后将NOCS图与深度图进行拟合得到物体的6D位姿和大小(作者在CNN中没有使用深度图,因为作者使用COCO数据集来提高网络的鲁棒性,而COCO不包含深度图)。 

图4 网络结构

作者增加的分支分别预测NOCS图的x、y、z坐标,通过回归每个像素值或者离散化像素值,把它当做一个分类问题。实验表明,图4中B=32的像素分类比直接回归更好。

图5 NOCS分支

损失函数

网络中的类别、边界框和mask使用的损失函数与Mask R-CNN相同,NOCS部分作者使用了两个损失函数:一个标准的softmax用于分类,另一个softL1函数用于回归。 

其中y是ground truth NOCS图像素值,y*是预测的NOCS图像素值,n为感兴趣区域内的mask像素个数。

6D位姿和尺寸估计

作者的目标是通过使用NOCS图和深度图来估计被检测物体的6D位姿和大小。为此,作者使用RGB-D相机内参和外参来将深度图像与彩色图像对齐,使用预测的物体mask来获得物体的3D点云Pm,使用NOCS图来获得预测位姿Pn。然后,估计将Pn转换为Pm的比例、旋转和平移。对于这个7维刚性变换估计问题,作者使用Umeyama算法,而对于离群点去除,作者使用RANSAC。

实验和结果

作者使用IoU来评估三维目标检测和尺寸的估计,使用平均精度来评估平移误差小于m厘米,旋转误差小于n°的物体位姿估计。将目标检测与位姿估计解耦,将检测阈值设为10%来保证大部分物体都包含在评估中。因为不知道其他类别级6D位姿和大小估计的方法,所以作者使用Mask RCNN+ICP建立baseline来帮助比较性能。

在合成数据集(CAMERA*)上测试:对于50%的3D IoU,mAP为83.9%,位姿使用(5cm,5°)度量,mAP为40.9%。 

图6 合成测试集的结果

在真实数据集(REAL)上测试:在COCO的弱监督下,使用CAMERA* 与REAL* 共同训练网络,并在真实世界的测试集中对其进行评估。由于COCO没有ground truth NOCS图,在训练中不使用NOCS损失。为了平衡这些数据集,作者从三个数据源中为每个小批次选择图像,CAMERA* 的概率为60%,COCO 为20%,REAL*为20%。对于50%的3D IoU, mAP为76.4%,位姿使用(5cm,5°),mAP为10.2%,使用(5cm,10°) ,mAP为23.1%。相比之下,baseline在50%的3D IoU时,mAP为43.8%,而(5cm,5°)和(5cm,10°)的mAP为0.8%,明显低于本文的性能。 

图7 真实测试集的结果

作者还创建了一个CAMERA* 的变体,其中图像是以非上下文感知的方式合成的(在表中由B表示)。如表中所示,仅在REAL* 或REAL* 和COCO上进行培训,由于数据集较小,会产生过拟合。CAMERA* 与COCO和REAL* 一起进行训练,可以获得最佳效果。

作者给出了5个不同指标的AP,其中3D25和3D25分别代表25%和50%的3D IoU。

作者还与PoseCNN进行了比较。使用2D重投影误差(测量ground truth和估计目标位姿之间的平均像素距离小于5个像素),作者的方法2D重投影误差的mAP为30.2%。PoseCNN 2D重投影误差的mAP为17.2%。 

图8 与最新的方法效果对比

不足

存在缺失检测、错误分类和预测坐标图不一致。

图9 错误估计

欢迎关注和转载!

[CVPR 2019]Normalized Object Coordinate Space for Category-Level 6D Object Pose and Size Estimation的更多相关文章

  1. [CVPR 2019]NOCS代码训练、检测与评估

    Normalized Object Coordinate Space for Category-Level 6D Object Pose and Size Estimation 训练.检测与评估 本文 ...

  2. 自动驾驶研究回顾:CVPR 2019摘要

    我们相信开发自动驾驶技术是我们这个时代最大的工程挑战之一,行业和研究团体之间的合作将扮演重要角色.由于这个原因,我们一直在通过参加学术会议,以及最近推出的自动驾驶数据集和基于语义地图的3D对象检测的K ...

  3. Relation-Shape Convolutional Neural Network for Point Cloud Analysis(CVPR 2019)

    代码:https://github.com/Yochengliu/Relation-Shape-CNN 文章:https://arxiv.org/abs/1904.07601 作者直播:https:/ ...

  4. CVPR 2019轨迹预测竞赛冠军方法总结

    背景 CVPR 2019 是机器视觉方向最重要的学术会议,本届大会共吸引了来自全世界各地共计 5160 篇论文,共接收 1294 篇论文,投稿数量和接受数量都创下了历史新高,其中与自动驾驶相关的论文. ...

  5. CVPR 2019 行人检测新思路:

    CVPR 2019 行人检测新思路:高级语义特征检测取得精度新突破 原创: CV君 我爱计算机视觉 今天 点击我爱计算机视觉置顶或标星,更快获取CVML新技术 今天跟大家分享一篇昨天新出的CVPR 2 ...

  6. CVPR 2019细粒度图像分类竞赛中国团队DeepBlueAI获冠军 | 技术干货分享

    [导读]CVPR 2019细粒度图像分类workshop的挑战赛公布了最终结果:中国团队DeepBlueAI获得冠军.本文带来冠军团队解决方案的技术分享. 近日,在Kaggle上举办的CVPR 201 ...

  7. CVPR 2019|PoolNet:基于池化技术的显著性检测 论文解读

    作者 | 文永亮 研究方向 | 目标检测.GAN 研究动机 ​ 这是一篇发表于CVPR2019的关于显著性目标检测的paper,在U型结构的特征网络中,高层富含语义特征捕获的位置信息在自底向上的传播过 ...

  8. cvpr 2019 workshop&oral session

    1. Verification and Certification of Neural Networks神经网络的验证与认证 2. Automated Analysis of Marine Video ...

  9. MnasNet:经典轻量级神经网络搜索方法 | CVPR 2019

    论文提出了移动端的神经网络架构搜索方法,该方法主要有两个思路,首先使用多目标优化方法将模型在实际设备上的耗时融入搜索中,然后使用分解的层次搜索空间,来让网络保持层多样性的同时,搜索空间依然很简洁,能够 ...

随机推荐

  1. hexo创建新文章的正确方法

    起因 之前我一直是通过复制以前的文章的形式来创建一个新的文档,但是这一次似乎遇到了一些问题.我将文章写完之后,准备进行预览,输入hexo s命令.在预览页面却没有显示出新的文章,还是和之前的页面是一样 ...

  2. 码海拾遗:基于MySQL Connector/C++的MySQL操作(连接池)

    1.MySQL安装及简单设置 (1)安装:在OSX系统下,可以使用万能的“brew install”命令来进行安装:brew isntall mysql(默认安装最新版的MySQL) (2)启动:br ...

  3. NERDTree快捷键

    切换工作台和目录 ctrl + w + h 光标 focus 左侧树形目录ctrl + w + l 光标 focus 右侧文件显示窗口ctrl + w + w 光标自动在左右侧窗口切换ctrl + w ...

  4. FPGA小白学习之路(2)error:buffers of the same direction cannot be placed in series

    锁相环PLL默认输入前端有个IBUFG单元,在输出端有个BUFG单元,而两个BUFG(IBUFG)不能相连,所以会报这样的错: ERROR:NgdBuild:770 - IBUFG 'u_pll0/c ...

  5. Java入门教程十三(多线程)

    线程的概念 单纯种以一个任务完成以后再进行下一个任务的模式进行,这样下一个任务的开始必须等待前一个任务的结束,只有一个任务完成后才能进行下一个任务.Java 语言提供了并发机制,允许开发人员在程序中执 ...

  6. python递归用法

    需求:4的阶乘 4*3*2*1计算.通过递归算法,c=4*getnums(4-1),然后调用自己本身的函数,形成递归,就等于3*getnums(3-1),2*getnums(2-1),依次递归调用,最 ...

  7. AI:拿来主义——预训练网络(二)

    上一篇文章我们聊的是使用预训练网络中的一种方法,特征提取,今天我们讨论另外一种方法,微调模型,这也是迁移学习的一种方法. 微调模型 为什么需要微调模型?我们猜测和之前的实验,我们有这样的共识,数据量越 ...

  8. Angular 从入坑到挖坑 - 表单控件概览

    一.Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验. 对应官方文档地址 ...

  9. 第三章、vue基础精讲

    3.1VUE实例 组件:全局组件,局部组件,vue的每个组件也是一个实例,有自己的实例属性和实例方法. 在console中调试vue,vm为vue的实例,凡是以$开头的都是vue的实例属性或者vue的 ...

  10. Java基础面试系列(一)

    Java基础面试总结(一) 1. 面向对象和面向过程的区别 面向过程 面向对象 性能 高于面向对象 类加载的时候需要实例化,比较消耗资源 三易(易维护,易复用,易扩展) 不如面向对象 具有封装,继承, ...