1. 论文简介

论文题目:GeoLayout: Geometry Driven Room Layout Estimation Based on Depth Maps of Planes

Paper地址:paper

Paper简单评论:这篇论文核心是提出了将pixel-level surface参数化,还提出了一个新的数据集。

2. 摘要

房间布局估计的任务是确定墙壁地板、墙壁天花板和墙壁的边界。

目前解决这一问题的方法大多基于边缘/关键点检测或语义分割。

然而,这些方法对主要平面的几何结构和它们之间的交叉点关注有限,这对房间布局有重大影响。

在这项工作中,我们建议将几何推理结合到深度学习中进行布局估计。

我们的方法通过预测像素级表面参数来学习推断场景中主要平面的深度图,并且可以通过深度图的交集来生成布局。

此外,我们提出了一个新的数据集像素级深度标注的主导平面。

它比现有的数据集更大,包含长方体和非长方体房间。实验结果表明,我们的方法在2D和3D数据集上都产生了相当大的性能增益。

3. 引言

室内场景不同于自然场景,它通常包含地板、天花板和墙壁等主导平面。这些平面可能彼此正交。

因此,室内场景的空间结构往往具有一定的规律性,可以通过房间布局来表现。目前,房间布局估计的任务是确定墙壁-地板,墙壁-天花板和墙壁-墙壁的边界。

它可以为广泛的计算机视觉任务提供有用的先验,如场景重建[26,2,17]和增强现实[35,18,24]。

最近的方法取得了显著的性能提升,主要集中在学习深度网络的特征映射,如全卷积网络(FCNs)[33]。一个流行的想法是学习墙壁-地板,墙壁-天花板和墙壁的边缘[25,31,40]。

另一种是学习地板、天花板、前墙、左墙、右墙等语义表面标签[5,38]。此外,也有尝试推断布局角(关键点)的方法[20,43]。

但是,来自边缘/关键点检测或语义分割的自下而上信息可能无法反映房间布局的底层几何结构,例如正交平面。

从本质上讲,两个表面之间的理想边界出现是因为三维空间中的两个平面相交于一条直线。这促使我们关注室内场景中主要表面(如地板、天花板和墙壁)的几何模型。

基于这一关键见解,我们建议预测主导曲面的深度图,并通过深度图的交集生成布局,如图1所示。首先分析了三维平面在深度图中的投影原理,得到了不带显式相机intrinsic的平面深度参数化表示。

与一般的3D坐标系(例如,相机坐标系)相比,我们的参数化可以忽略相机固有参数的需要。

同时,该方法也适用于Hedau[13]、LSUN[39]等现有布局数据集中未提供固有参数的情况。然后我们训练一个深度网络来预测每个平面的像素级表面参数。

像素级参数进一步聚合为实例级参数以计算相应的深度图,并根据预测的深度图生成布局。我们的方法通常需要平面的深度图进行学习。

然而,通过我们的参数化和几何约束,模型也可以只用二维分割来训练。

然而,现有的布局估计数据集并不完全支持所提出的三维几何感知模型的学习,因为没有提供三维标签。所有的图像都是简单的长方体布局。

这些数据集的缺陷严重限制了布局估计算法的发展和实际应用。因此,我们生成了一个用于房间布局估计的新数据集,提供了主要平面的像素级深度注释。

采用人工标注与平面拟合相结合的方法半自动采集地面真相,数据集包含复杂非长方体布局的室内场景

这项工作的主要贡献总结如下:

(1)我们提出将几何推理纳入深度学习,以完成布局任务估计,它被重新表述为预测主导平面的深度图。

(2)我们证明了所提出的模型可以有效地训练来预测表面参数,并且还可以利用学习到的3D知识提高2D布局性能。

(3)提出了一种带三维标签的布局估计数据集。该数据集规模大,与以往数据集互补,有利于房间布局估计领域的研究

3 方法

在这项工作中,我们打算通过预测房间中主要平面(例如地板、墙壁、天花板)的深度图来解决布局估计问题。

然后通过相互相交的平面深度图的相交得到平面布局。在3.1节中,我们首先分析了平面的深度图,给出了(u, v, Z)坐标系下的一般方程,可用于参数化任意平面的深度图。

然后,我们使用深度网络学习优势平面的表面参数并生成布局估计。我们的方法如图所示。

 3.1 Parameterizing Depth Maps of Planes

通过法线将3D Point投影到图像平面。最后得到深度图(depth map)Z。

在实际应用中,室内场景的全局尺度是模糊的,这使得这三个参数与尺度有关。因此,我们引入一个比例因子去归一化平面参数。

 

3.2 Learning Depth Maps of Planes

让网络估计平面参数。优化函数包括平面参数Loss,深度Loss。

3.3 Training on 2D Layout Datasets

Lyout估计。

3.4 Generating Layout Estimates

训练阶段完成后,采用后处理步骤获得参数化布局估计结果。由于判别损失(式(5)-(7)),预测的像素级表面参数可能是分段常数,并且可以很容易地分组以产生表示表面实例的分割图。

我们使用标准的均值偏移聚类,因为簇的数量不需要预先定义。聚类完成后,将放弃占总像素不足1%的小簇。接下来,我们提取每个聚类内参数的平均值以获得实例级参数。然后生成每个平面的深度图。

为了在相互相交的深度图中找到真正的布局,我们根据布局估计与聚类分割的一致性来评估布局估计。具体来说,我们对不同表面的深度图按照每个像素的升序进行排序,而指示表面实例的索引将构成多层分割图。

从第一层开始,我们将当前分割与聚类分割进行比较。

对于当前分割的每个区域,如果标签与聚类分割的优势标签,我们使用下一层的标签来替换不一致的标签。这个过程一直持续到当前分割与聚类分割一致为止。

然后得到预测的布局分割、深度图以及相应的表面参数。利用摄像机固有参数,还可以根据深度图生成代表布局的三维点云。最后,根据预测深度图的方程计算布局角,即布局角为三个曲面的交点,或两个曲面与图像边界的交点。

4. 新数据集Matterport3D-Layout Dataset

在本节中,我们将介绍我们的大规模数据集,用于我们的训练目的,名为Matterport3D-Layout。我们使用来自Matterport3D数据集[3]的图像,因为数据集包含来自复杂场景的真实照片,这提供了良好的布局多样性。

它还提供了可用于恢复三维布局地面真相的深度图像。我们对每个平面的可见区域进行标注,并使用式(1)对每个曲面进行参数拟合。然后用式(1)计算平面的深度图。

Annotation.我们首先过滤掉没有可识别的布局的图像。然后,我们使用LabelMe[32]在地板、天花板和墙壁的可见区域上为每张图像绘制2D多边形。

不同表面上的多边形具有不同的语义类别。我们也放弃了表面完全被室内物体遮挡的图像,因为表面的真实深度是不可用的。

Layout generation. 给定深度图和区域标注,提取每个标注区域的深度值和像素坐标,采用RANSAC算法[9]进行曲面拟合,得到实例级曲面参数。然后可以按照第3.4节中描述的类似方式生成布局

原始的Matterport3D数据集包含90个不同的建筑物,因此我们根据建筑物ID随机将数据集分为训练集、验证集和测试集。训练集包括64座建筑,共计4939张图像。验证集包括6栋建筑和456张图像。

测试集包括剩下的20座建筑,总共有1965张图像。所有图像的分辨率为1024×1280。数据集包含以下字段:

(1)彩色图像;(2)平面深度图;(3)布局二维分割;(4)包含室内物体的原始深度图;(5)可视区域标注;(6)摄像机的内禀矩阵;(7)各平面p, q, r的曲面参数;(8)布局角的坐标(u, v, Z);(9)原表面法线。

图4显示了我们数据集的一些例子。在我们的数据集之前,有两个基准布局数据集:Hedau[13]和LSUN[39]。表1汇总了现有数据集的统计数据。可以看出,所提出的数据集是最大的数据集,提供了最丰富的事实。

此外,所提出的数据集包含非长方体布局样本其他数据集。我们希望这个数据集能够造福社会,并推动室内布局估计和相关任务的研究。

5. 总结

提出了一种新的几何驱动室内布局估计方法。关键思想是学习平面表面的深度图,然后通过应用几何规则生成布局。我们证明了该模型可以有效地使用2D或3D地面事实进行训练。

该方法在2D和3D布局的基准数据集上都取得了最先进的性能。我们还提出了一个新的三维布局真实数据集,我们认为这对房间布局估计领域是有益的。

6. 结语

  努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获! 给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!

  如果客官喜欢小生的园子,记得关注小生哟,小生会持续更新(#^.^#)(#^.^#)。

GeoLayout: Geometry Driven Room Layout Estimation Based on Depth Maps of Planes的更多相关文章

  1. 房屋布局分析《Physics Inspired Optimization on Semantic Transfer Features: An Alternative Method for Room Layout Estimation》

    视觉算法在智能审核系统上的演进与实践 刘天悦 贝壳找房 / 资深工程师 https://static001.geekbang.org/con/56/pdf/1088777747/file/%E8%A7 ...

  2. Wideband Direction of Arrival Estimation Based on Multiple Virtual Extension Arrays

    基于多重虚拟扩展阵列的宽带信号DOA估计[1]. 宽带DOA估计是阵列信号处理领域的一个重要研究方向.在DOAs估计的实际应用中,信号总是会被噪声破坏,在某些情况下,源信号的数量大于传感器的数量,因此 ...

  3. CSharpGL(14)用geometry shader渲染模型的法线(normal)

    +BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(14)用geometry shader渲染模型的法线(normal) +BIT祝威+悄悄在此留下版了个权的信息说: 2016-08-13 ...

  4. 手势估计- Hand Pose Estimation

    http://blog.csdn.net/myarrow/article/details/51933651 1. 目前进展 1.1 相关资料      1)HANDS CVPR 2016      2 ...

  5. 深入理解Auto Layout 第一弹

    本文转载至 http://zhangbuhuai.com/2015/07/16/beginning-auto-layout-part-1/ By 张不坏 2015-07-16 更新日期:2015-07 ...

  6. Auto Layout压缩阻力及内容吸附讲解

    Auto Layout压缩阻力及内容吸附讲解 本文为投稿文章,作者:梁炜V 在Auto Layout的使用中,有两个很重要的布局概念:Content Compression Resistance 和  ...

  7. 泡泡一分钟:Visual Odometry Using a Homography Formulation with Decoupled Rotation and Translation Estimation Using Minimal Solutions

    张宁 Visual Odometry Using a Homography Formulation with Decoupled Rotation and Translation Estimation ...

  8. paper 154:姿态估计(Hand Pose Estimation)相关总结

    Awesome Works  !!!! Table of Contents Conference Papers 2017 ICCV 2017 CVPR 2017 Others 2016 ECCV 20 ...

  9. 文献阅读笔记——group sparsity and geometry constrained dictionary

    周五实验室有同学报告了ICCV2013的一篇论文group sparsity and geometry constrained dictionary learning for action recog ...

  10. 泡泡一分钟:Towards real-time unsupervised monocular depth estimation on CPU

    Towards real-time unsupervised monocular depth estimation on CPU Matteo Poggi , Filippo Aleotti , Fa ...

随机推荐

  1. PHP全栈开发(四): HTML 学习(1.基础标签+表格标签)

    简单的学习一下HTML 学习HTML采用在www.runoob.com上学习的方法. 而且该网站还提供在线编辑器. 然后HTML编辑器使用Notepad++ 记得上Emmet的官网http://emm ...

  2. C++面向对象编程之虚函数与多态和继承和复合下的构造和析构

    1.对于非虚函数,是不希望派生类对该函数重新定义: 对于virtual函数,在父类已经有默认定义后,并希望子类重新定义它: 对于pure virtual函数,父类没有默认定义,派生类必须要重新定义它: ...

  3. python-D2-计算机与编程语言

    计算机五大核心 控制器 计算机的指挥系统,可以控制计算机硬件的整体运行 运算器 实现算术运算和逻辑运算 控制器和运算器结合起来就是cpu,也称为中央处理器,是整个电脑的核心. 存储器 分为两类,非永久 ...

  4. bean文档类型定义

    ELEMENT:表示当前 (bean*):表示0到多个bean元素 (property*):表示0到多个property元素 ATTLIST:表示属性 #REQUIRED:表示不可缺少 #IMPLIE ...

  5. 成功 解决 @keyup.enter=“search()“ 在el-input 组件中不生效的问题

    1.问题描述 在输入框中.输入内容.点击回车.没有效果 问题代码 2.问题解决思路 查看官网的解释说明: 要使用.native修饰符 3.问题解决 修改后的代码 修改后的效果

  6. Eclipse插件RCP桌面应用开发的点点滴滴

    Eclipse插件开发的点点滴滴 新公司做的是桌面应用程序, 与之前一直在做的web页面 ,相差甚大 . 这篇文章是写于2022年10月底,这时在新公司已经入职了快三月.写作目的是:国内对于eclip ...

  7. 二、.Net Core搭建Ocelot

    上一篇文章介绍了Ocelot的基本概念:https://www.cnblogs.com/yangleiyu/p/15043762.html 本文介绍在.net core中如何使用ocelot. Oce ...

  8. nodered获取简单的时间

    1.添加simpletime 的节点 2. 添加一个inject节点用来每1s循环获取当点的信息 3.添加一个函数节点对simpletime发来的msg进行解析 var payload=msg;var ...

  9. FHE学习笔记 #2 多项式环

    https://en.wikipedia.org/wiki/Polynomial_ring https://zhuanlan.zhihu.com/p/419266064 这篇知乎文章讲的比较透彻,但是 ...

  10. springcloud组件梳理之hystrix

    在微服务架构体系中,各服务中间的相互调用是常态,没有哪个服务能保证自身百分百不会出问题,然后再加上网络的波动以及环境等问题,服务间调用的稳定性无法保证,这时候就需要一个有容错能力的组件来介入,当调用出 ...