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. Docker容器虚拟化

    Docker容器虚拟化 目录 Docker容器虚拟化 虚拟化网络 单节点容器间通信 不同节点容器间通信 虚拟化网络 Network Namespace 是 Linux 内核提供的功能,是实现网络虚拟化 ...

  2. Nebula Graph介绍和SpringBoot环境连接和查询

    Nebula Graph介绍和SpringBoot环境连接和查询 转载请注明来源 https://www.cnblogs.com/milton/p/16784098.html 说明 当前Nebula ...

  3. 使用 Apache Hudi 实现 SCD-2(渐变维度)

    数据是当今分析世界的宝贵资产. 在向最终用户提供数据时,跟踪数据在一段时间内的变化非常重要. 渐变维度 (SCD) 是随时间推移存储和管理当前和历史数据的维度. 在 SCD 的类型中,我们将特别关注类 ...

  4. 测试Thread中的常用方法:

    测试Thread中的常用方法:start():启动当前线程:调用当前线程的run()run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中currentThread ...

  5. 17.MongoDB系列之了解应用程序动态

    1. 查看当前操作 mongos> db.currentOp() { "inprog" : [ { "shard" : "study" ...

  6. 十、RHEL Podman命令

    Podman介绍 Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用.Podman 提供与 Docker 非常相似的功能.正如前面提到的那样,它不需要在你的系统上运行任何守护 ...

  7. 六、Kubernetes节点与 Pod 亲和性

    Kubernetes节点与 Pod 亲和性 一.节点亲和性策略介绍 ​pod.spec.nodeAffinity preferredDuringSchedulingIgnoredDuringExecu ...

  8. .NET 7 中 LINQ 的疯狂性能提升

    LINQ 是 Language INtegrated Query 单词的首字母缩写,翻译过来是语言集成查询.它为查询跨各种数据源和格式的数据提供了一致的模型,所以叫集成查询.由于这种查询并没有制造新的 ...

  9. 4.django-模板

    在django中,模板引擎(DTL)是一种可以让开发者将服务端数据填充到html页面中的完成渲染的技术 模板引擎的原理分为以下三步: 在项目配置文件中指定保存模板文件的的模板目录,一般设置在项目根目录 ...

  10. 2022春每日一题:Day 7

    题目:Fire 先预处理出每个F蔓延的时间,再bfs走迷宫. 代码: #include <cstdio> #include <cstdlib> #include <cst ...