论文地址: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. 查漏补缺:Vector中去重

    对于STL去重,可以使用<algorithm>中提供的unique()函数. unique()函数用于去除相邻元素中的重复元素(所以去重前需要对vector进行排序),只留下一个.返回去重 ...

  2. 每天一个linux命令(15)-tail

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新, ...

  3. LeetCode【面试题 16.17. 连续数列】

    ------------恢复内容开始------------ 题目描述 给定一个整数数组(有正数有负数),找出总和最大的连续数列,并返回总和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5 ...

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

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

  5. Java2变量和运算符

    课后作业:[必做题] 1√AB互换 已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序.(知识点:变量和运算符综合应用) [必做题] package com.two; public clas ...

  6. JZOJ 5258. 友好数对 (Standard IO)

    5258. 友好数对 (Standard IO) Time Limits: 1000 ms Memory Limits: 524288 KB Detailed Limits Description I ...

  7. 广告行业中那些趣事系列6:BERT线上化ALBERT优化原理及项目实践(附github)

    摘要:BERT因为效果好和适用范围广两大优点,所以在NLP领域具有里程碑意义.实际项目中主要使用BERT来做文本分类任务,其实就是给文本打标签.因为原生态BERT预训练模型动辄几百兆甚至上千兆的大小, ...

  8. Linux命令之解压缩命令tar,zip,rar

    一.tar命令 1.压缩命令 1)压缩为.tar格式 tar -cvf destination.tar source 2)压缩为.tar.gz格式 tar -cvf destination.tar.g ...

  9. ubuntu 安装flask+nginx+gunicorn 待定

    第一步 先检查服务器环境   pip python3 mysql redis 能下就下,该升级就升级 第二步 如果你的flask程序在github上 请使用git clone 地址 下载下来(如果是私 ...

  10. 为.net Core 3.0 WebApi 创建Linux守护进程

    前言 我们一般可以在Linux服务器上执行 dotnet <app_assembly.dll> 命令来运行我们的.net Core WebApi应用.但是这样运行起来的应用很不稳定,关闭终 ...