Cooperative Holistic Scene Understanding: Unifying 3D Object, Layout, and Camera Pose Estimation2018

2023-05-16

加利福尼亚大学洛杉矶分校, RGB,整体场景理解(目标检测、布局检测、相机位姿预测)

总结:

以单个RGB图像为输入,提出了一种实时(2.5fps)恢复三维室内场景的端到端模型,包括三维房间布局、相机位姿和目标边界框。引入三维目标框的参数化和二维投影loss,增强了二维与三维的一致性,设计了可微的协同loss,有助于两个主要模块的协同高效训练。

以往的三维重建和整体场景理解通过增加一些2D-3D约束来维持2D-3D的一致性,而本文使用新的参数化方法使得一开始就解决了一致性的问题。

论文摘要

3D整体室内场景的理解需要联合获取目标框、室内布局以及相机位姿多个方面的3D数据,现有方法只能解决部分问题,并不能同时解决以上三个问题。

本文提出了一个端到端的模型,能够根据输入的RGB图像 同时解决目标检测、布局检测、相机定位三个任务。

该方法的特点:

  1. 将目标参数化,而不是直接预测目标框
  2. 多个模块之间联合训练,而不是单独分开训练

该方法的优势:

  1. 参数化能够保留2D图像于三维世界之间的一致性,极大地减小了三维坐标的预测方差。
  2. 可同时对不同模块的参数化施加约束, 这些约束使联合训练和推理成为可能,因此称为“联合损失”。 作者对三维边界框、二维投影和物理约束采用三种联合损失来估计几何上一致且物理上合理的三维场景

在SUN-RGBD数据集上的实验表明,该方法在三维目标检测、三维布局估计、三维像机位置估计和整体场景理解等方面都明显优于现有方法

背景介绍

整体场景理解的困难之处在于:输入为有限的RGB信息,但是需要从其中恢复出大量未知的三维信息。整体场景理解包含三个任务:

  1. 估计三维相机位姿,以维护RGB图像于三维世界之间的一致性
  2. 估计三维房间布局,联合相机位姿则可以恢复全局几何
  3. 检测三维目标框,恢复场景中的局部细节

现有方法可以分为:

  1. 基于采样和优化的方法:计算量大,收敛慢,容易困在局部极小值,鲁棒性和泛化性均不好
  2. 基于深度学习的方法:没有采用联合训练的模式,而是分开训练,进而损失了一些约束条件
  3. 输入冗余的方法:把RGBD和相机位姿作为输入,提供了充足的几何信息,因而更少依赖于不同模块之间的协调一致。

本文方法不属于以上任何一种: 仅从一幅RGB图像中恢复真实的几何一致和物理上合理的三维场景,并以高效、协同的方式共同解决所有三个任务。 具体的,本文解决了一下三个问题:

  1. 如何维护2D-3D坐标之间的一致性?
  2. 如何设计算法使得能够协同各个任务,不同的模块相互加强?
  3. 如何以一种物理上似乎合理的方式估计三维场景,或者至少具有某种物理意义?

论文提出的解决方法是:

  1. 提出了一种新的参数化3D目标框的方法,使得能够从2D目标框的中心重建3D目标框, 因此维护了2D-3D的一致性(相比于直接预测相机位姿的方法)。 参数化的另一个优点是通过减少3D目标框预测的方差来提高训练的稳定性,因为估计的2D偏移具有相对较低的方差,并且论文采用分类和回归的混合方法来估计方差较大的变量。
  2. 联合损失函数: 除了原有的损失之外,参数化还将带来合作损失,以实现所有单个模块之间的联合训练。 具体的,在参数化上使用三个合作损失来分别约束3D边界框、投影2D边界框和物理真实性。
    • 三维目标框损失有助于精确的三维估计
    • 可导的2D投影损失度量了3D和2D边界框之间的一致性,这使得网络只需要2D标签就可以学习3D结构,而不需要3D的标签
    • 物理合理性损失负责惩罚重建的三维目标盒和三维房间布局之间的重叠,这促使网络产生物理合理的估计

在这里插入图片描述

综上,论文的贡献为:

  1. 提出了一个端到端的多任务联合预测的全场景理解模型
  2. 提出了一种新颖的三维目标框的参数化方法,并结合物理约束,实现了多个任务的协同训练。
  3. 通过在二维和三维边界框之间引入可导的目标函数来缩小二维图像平面和三维世界之间的差距
  4. 该方法明显优于最新的SOTA方法,并且能够实时运行

论文方法

论文框架概述:

  1. 根据RGB输入来检测2D目标框
  2. 根据RGB图像以及预测的2D目标框,global geometric network(GGN) 负责预测三维房间布局以及相机位姿, local object network(LON) 负责推断每个目标的三维目标框
  3. 根据所估计的相机姿态将三维目标投影到图像平面上,迫使来自三维估计的投影与二维估计一致

在这里插入图片描述

1. 参数化

1.1 3D目标框Xw∈R3×8
X w= h(C w,R(θ w),S w)

其中h(.)是三维目标框的生成函数,三维中心Cw∈R3,尺寸Sw∈R3,朝向 R(θw)∈R3×3, θ 为沿着垂直轴的朝向角。

预测三维中心Cw∈R3

在这里插入图片描述

其中R(φ,ψ),T为相机位姿,K为相机内参,D为相机中心到三维目标中心的距离, CI为2D目标框的中心坐标, δI为2D目标框中心到3D目标框中心投影到2D的偏移。

当数据以第一人称视角采集时,T=0,此时上式变为一个可导的仿射变换,可以写为:

C W=p(C II,D,φ,ψ,K)

这样就实现了将3D中心CW与2D中心CI参数化的目的,减少了3D目标框预测时的误差。同时结合了目标检测与相机位姿预测模块的信息,实现了两个网络的联合预测。

1.2 预测3D房间布局

将世界坐标系中的三维房间布局参数化为一个三维目标框XL ∈R3×8

包括: 3D 中心CL∈R3, 尺寸SL∈R3, 朝向R(θL)∈R3x3,

本文通过预测与预先计算的平均布局中心的偏移量 来估计房间布局的中心

2.直接预测

  • GGN( global geometry network ):(输入:RGB图像)
    三维布局与相机位姿的预测均依赖于底层级的全局几何特征,因此使用GGN( global geometry network )预测。预测的具体参数为:3D 中心CL∈R3, 尺寸SL∈R3, 朝向R(θL)∈R3x3,以及相机的转向角 φ、ψ。

  • local object network(LON) :(输入: 2D image patches )
    LON负责目标检测,预测: 距离D,目标尺寸SW, 朝向θW, 2D 偏移δI

两个网络的损失函数为:
在这里插入图片描述
在这里插入图片描述
N为场景中的目标数目。

实际中直接预测目标的信息(如朝向角)会导致非常大的error,因此作者采用了二阶段的基于bins的检测方法。

具体来说,预先定义了几个大小模板,或者将空间平均分割成一组角度bin。模型首先将大小和航向角度分类到那些预先定义的类别,然后预测每个类别中的残差。例如,在旋转角φ的情况下,定义:
在这里插入图片描述
Softmax用于分类,smooth-L1(Huber)损失用于回归。

3.联合预测

使用三个联合损失函数实现两个网络之间的联合优化:

  1. 3D Bounding Box Loss:

    由于GGN和LON都不是直接预测出结果,因此从两个网络直接学习是不够的,这里采用目标框的8角点的损失
    在这里插入图片描述
    其中XW*表示3D目标框的真值

  2. 2D Projection Loss :

在这里插入图片描述
其中f(.)表示可导的投影函数(3D到2D),XI*j表示2D目标框真值。

  1. Physical Loss :

    该损失负责惩罚3D目标框与房间布局之间的重叠部分。

    在这里插入图片描述

    Max(·)/Min(·)函数的输入为3D目标框,输出为目标框在三个轴上的最大/最小值。

最终,总的损失函数为:

在这里插入图片描述

λcoop为权重参数,调节direct loss与cooperative loss的权重

实现细节

GGN与LON都是用ResNet34作为encoder,将256X256的图像编码为2048的特征向量。在后面加两个全连接层 (2048-1024, 1024-L) 负责输出预测值。

训练分为2步:

  1. 首先用最常见的30个目标类别fine-tune二维目标检测器。
  2. 训练GGN和LON。为了更好的初始化,先在 SUNCG 上单独训练这两个网络。然后固定他们的6个blocks,在 SUN RGBD 上进行联合的训练。

实验评估

数据集: SUN RGB-D
在这里插入图片描述
分为5个方面进行评估:

  1. 3D layout estimation
  2. 3D object detection
  3. 3D boxestimation
  4. 3D camera pose estimation
  5. holistic scene understanding
3D layout estimation

在这里插入图片描述

3D object detection

在这里插入图片描述

3D box estimation

在这里插入图片描述

3D camera pose estimation

在这里插入图片描述

holistic scene understanding

在这里插入图片描述

实时性:2.5fps,on a single titan Xp

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cooperative Holistic Scene Understanding: Unifying 3D Object, Layout, and Camera Pose Estimation2018 的相关文章

  • Scene-Graph-Benchmark.pytorch服务器部署

    未采用md编辑 xff0c 望见谅 目录 序言 部署 数据集制作 数据准备 xff1a VG数据集 数据转换 xff08 参考issue xff09 预测 xff08 还未使用模型预测 xff0c 后续添加 xff09 引用 xff08 T
  • Understanding ECMAScript 6

    原文 内容列表 简介 浏览器与 Node js 兼容性这本书的受众概述帮助与支持Block Bindings var 声明与提升 Hoisting 块级声明循环中的块级绑定全局块级绑定
  • Unifying Flow, Stereo and Depth Estimation论文阅读

    1 序言 上篇文章中我们提到了一种在线标定光学防抖主摄和ToF方法 其中使用RAFT作为光流估计网络来进行密集匹配 xff0c 本文我们来介绍一种更新的光流估计算法GMFlow xff0c 其被CVPR2022接收为Oral 同时也将介绍其
  • Note for Understanding Neural Networks Through Deep Visualization

    Note for Understanding Neural Networks Through Deep Visualization Abstract 近年来 xff0c 在训练大型深度神经网络方面取得了巨大进展 xff0c 其中包括训练卷积
  • Phaser笔记-scene中的preload、create、update、player、键盘控制

    一般phaser最简单的配置文件如下 xff1a let config 61 type Phaser AUTO width 800 height 600 scene preload preload create create update
  • 论文笔记之Understanding Deformable Alignment in Video Super-Resolution

    这篇文章是2021年的AAAI xff0c 和EDVR BasicVSR BasicVSR 43 43 是同一批作者 文章最重要的贡献在于 用一个统一的数学表达式去归纳flow based对齐 如TSTN 和flow free对齐 如TDC
  • MGNet:自动驾驶的单目几何场景理解 MGNet: Monocular Geometric Scene Understanding for Autonomous Driving

    MGNet Monocular Geometric Scene Understanding for Autonomous Driving MGNet xff1a 自动驾驶的单目几何场景理解 ok xff0c 浅浅的点评一下好吧 xff0c
  • Cooperative Holistic Scene Understanding: Unifying 3D Object, Layout, and Camera Pose Estimation2018

    加利福尼亚大学洛杉矶分校 RGB xff0c 整体场景理解 xff08 目标检测 布局检测 相机位姿预测 xff09 总结 xff1a 以单个RGB图像为输入 xff0c 提出了一种实时 xff08 2 5fps xff09 恢复三维室内场
  • Holistic++ Scene Understanding论文翻译解析笔记

    Holistic 43 43 Scene Understanding 摘要 我们提出了一个新的3D整体场景理解问题 xff0c 它l共同解决了单视角图片的两个问题 xff08 1 xff09 整体场景的语义分析和重建 xff08 2 3D人
  • EAST: An Efficient and Accurate Scene Text Detector翻译

    Abstract 用于场景文本检测的先前方法已经在各种基准测试中获得了良好的性能 然而 xff0c 在处理具有挑战性的场景时 xff0c 即使配备了深度神经网络模型 xff0c 它们通常也会达不到很好性能 xff0c 因为整体性能取决于管道
  • Scene窗口—Scene视图导航

    Scene 视图导航 Scene 视图具有一组可用于快速有效移动的导航控件 场景视图辅助图标 场景视图辅助图标 Scene Gizmo 位于 Scene 视图的右上角 此控件用于显示 Scene 视图摄像机的当前方向 并允许快速修改视角和投
  • 将图像添加到 JavaFX TableView 列中

    我是 Java 和 OOP 新手 并且陷入了向 tableview 列添加图像的困境 代码似乎有效 我可以看到学生的姓名正确 但图像未显示在列中 我收到此错误并且无法理解如何使其工作 javafx scene control cell Pr
  • Swift、SpriteKit:如何保存场景的整个进度

    我用 GameViewController swift 构建了一个快速游戏 import UIKit import SpriteKit class GameViewController UIViewController override f
  • 禁用舞台按钮 X

    我正在学习 javafx 我希望当我在关闭后单击 X 的窗口时 它会出现警告 我知道要在窗口中间创建的按钮中执行此操作 但我不知道如何控制用户何时按 X 关闭程序 谢谢 您不应该关注 X 而应该关注常见的关闭请求 如下所示 primaryS
  • iOS 中场景和视图的区别

    我是 iOS 新手 无法理解场景和视图之间的区别 不幸的是苹果的文档对我没有帮助 我读到场景就是你在屏幕上看到的 但这不正是视图吗 这两个术语可以互换吗 如果不是 功能和最佳实践有何区别 ViewController 如何在这两者中发挥作用
  • javaFX中切换场景

    当选择 menuItem 时尝试关闭当前场景并打开另一个场景时 我遇到问题 我的主要阶段编码如下 public void start Stage primaryStage throws Exception primaryStage setT
  • 使矩形透明

    我需要使鼠标绘制的矩形透明 以便看到桌面 下面的代码绘制了我的矩形 我应该添加什么才能得到这个 感谢帮助 public void start Stage primaryStage Group group new Group Rectangl
  • 收到远程通知后重新加载/刷新场景 swiftUI

    我有这个问题 我在 AppDelegate 中使用 application didReceiveRemoteNotification 收到来自 CloudKit 的通知 我能够接收 recordId 获取它并成功保存它 问题是 场景没有刷新
  • 在同一场景中加载新的 fxml

    我有 2 个 fxml 文件 布局 标题 菜单栏和内容 Anchorpane 它应该放置在其他 fxml 文件的内容中 我想知道如何从 Master 场景加载内容空间内的第二个文件 在 javaFX 中工作是一件好事还是加载新场景更好 我正
  • JavaFX 场景的显示随机延迟

    我创建了一个 JavaFX 应用程序 在 Ubuntu Java SE 运行时环境 版本 1 8 0 131 b11 上运行 并制作了一个简单的测试应用程序 public class DelayedSceneApplication exte

随机推荐

  • RabbitMQ入门 用途说明和深入理解

    RabbitMQ 在上一家公司已经接触过了 但是懵懵懂懂的 不是很清楚 具体怎么个逻辑 这次公司打算搭建新的系统 领导要求研究一下MQ 经过研究得出的结论是 MSMQ的设计理念不适合做系统的底层框架 他不适合做分布式系统 最主要的是 MSM
  • KEIL软件的Error: Flash Download failed - Could not load file '..\OBJ\Template.axf'解决思路

    第一个知识点 axf是编译后生成的文件 这个文件是用来写入单片机的 如果不存在这个文件 首先要看一下 是不是有编译错误 编译错误肯定不会出这个文件的 第二个知识点 这个文件的路径是可以指定的 在Options for Target Temp
  • 数学分析 反函数存在性定理,连续性定理与求导定理

    反函数存在性定理 若函数 y 61 f x x D f 是严格单调增加 xff08 减少 xff09 的 xff0c 则存在它的反函数 x 61 f 1 y R f X xff0c 并且 f 1 y 也是严格单调增加 xff08 减少 xf
  • css高度塌陷和外边距塌陷的原因及解决办法

    1 高度塌陷 xff08 原因 xff0c 如何解决 xff09 概念介绍 高度塌陷 xff1a 子元素设置浮动后就会脱标 脱离标准流进入浮动流 xff0c 如果此时父元素没有设置高度 xff0c 那么父元素高度就会为0 xff0c 形成所
  • 黎曼可积的充分必要条件 (3)

    推论 1 闭区间上的连续函数必定可积 证明 xff1a f x 在闭区间 a b 连续 xff0c 则有界且一致连续 因此 xff0c gt 0 gt 0 x x a b 若 x x lt 则
  • 定积分的基本性质4 绝对可积性

    性质4 绝对可积性 若 f x 在 a b 上可积 xff0c 则 f x 也在 a b 上可积 xff0c 且 b a f x d x b a f x d x 证明
  • trace (矩阵的迹) 的性质

    trace 矩阵的迹 的性质 性质1 t r A m n B n m 61 t r B A t r A m
  • 可逆线性变换

    线性变换的逆变换 对于线性空间 V V 上的任意一个线性变换 f f 若存在 V V 上的一个变换 g g 使得 f g 61 g f 61 I f
  • 矩阵的秩的性质

    定理 1 对于任意一个矩阵 A m n A m n 对于 A A 的任意一个 s s 行
  • 向量范数的等价性

    向量范数的等价 对于任意两个有限维线性空间 V V 上的范数 若存在常数 C 1 gt 0 C 2 gt 0 C 1 gt
  • 矩阵范数的等价性(原创)

    矩阵范数的等价 设 F 61 R F 61 R 或 C C 对于任意两个 F n n
  • Pro Git Notes

    This post include notes to Pro Git book Git Introduction Git is a Distributed Version Control Systems DVCSs Clients full
  • Deep Learning Notes: Chapter 1 Introduction

    前言 最近开始读 Deep Learning 一书 这让我有了一个边读书边写笔记的动机 xff1a 能够让人很轻松流畅的把握住这本书的脉络 xff0c 从而读懂这本书的核心内容 由于终究是英文表达更地道 xff0c 因此该笔记都是节选自书中
  • gRPC

    Protocol buffer data is structured as messages where each message is a small logical record of information containing a
  • 介绍 VSCode

    vscode 是什么 免费 xff0c 开源 xff0c 高性能 xff0c 跨平台 xff0c 轻量级的代码编辑器 优点 免费 xff0c 开源海量的扩展插件轻量 xff08 不会占用大量的内存和CPU xff09 本文摘要 用户配置 x
  • 关于maven项目打包缓存的问题

    今天在修改了代码跟鞋项目打包的换成问题 鼠标右击fnc package包 gt run as gt mavne install 然后把导入的图标2包fnc pessage 5 1 0 jar导入到服务器 xff0c 发现项目修改的代码不生效
  • Linux磁盘分区的详细步骤(图解linux分区命令使用方法)

    前言 磁盘是怎么分区的在文章后面会谈到 xff0c 先谈一下Linux文件系统的简单操作 不过在阅读本文之前 xff0c 我假定读者们对Linux的磁盘与文件系统以及目录树已经有了初步的了解 操作文件系统 介绍操作文件系统的几个命令 查看磁
  • 命令行方式进行teamviewer安装与服务启动

    1 Ubuntu KaLi 获取下载 xff1a wget c url 2 sudo dpkg i filename 安装下载的文件 3 sudo apt get f install 4 停止服务 执行命令 sudo teamviewer
  • Windows通过VNC或SSH远程登录Mac

    一 Windows通过VNC访问Mac共享屏幕 Mac上的屏幕共享使用的是VNC xff08 VirtualNetwork Computer xff0c 虚拟网络计算机 xff09 协议 xff0c 这种虚拟屏幕协议是支持跨平台的 xff0
  • Cooperative Holistic Scene Understanding: Unifying 3D Object, Layout, and Camera Pose Estimation2018

    加利福尼亚大学洛杉矶分校 RGB xff0c 整体场景理解 xff08 目标检测 布局检测 相机位姿预测 xff09 总结 xff1a 以单个RGB图像为输入 xff0c 提出了一种实时 xff08 2 5fps xff09 恢复三维室内场