DuLa-Net: A Dual-Projection Network for Estimating Room Layouts from a Single RGB Panorama (CVPR 2019)

pdf下载 项目地址
使用等距全景图和透视天花板图,各自一个encode-decoder分支,提出新颖的2分支特征融合方法。对于多角度复杂布局的房间效果较好。

2021 4.1 update

原作者没提供训练代码,借鉴layout训练代码,为dula-net增加了训练代码
fork地址:https://github.com/zhigangjiang/DuLa-Net


主要贡献

  • 提出在2个视图上进行2分支端到端学习,最后2分支进行特征融合
  • NN直接输出二维平面图的概率图。后处理比较少。
  • 引入Realtor360数据集,包含多角点的复杂房间布局。

相关

这个研究方向分为3个不同点:

  1. 假设房间布局是曼哈顿世界,即房间的墙都是垂直于全局坐标系。更强的约束是房间时4个墙角的盒子。本论文支持多角点,但还是基于曼哈顿世界假设,即墙角都是直角。
  2. 输入图片类型,根据Fov的设置,有Fov为360的全景图和正常拍摄的透视图。还有是否带深度信息。
  3. 方法上很大程度取决于输入图片的类型,其中单帧的RGB图像是很难处理。有使用几何方法:寻找墙性和墙角,使用语义分割,最后通过优化在众多假设中选择合理。而最近使用基于NN的方法取得很大进步。本论文通过概率图+曲线拟合就能得到结果。

除了LayoutNet之外,大多数方法都依赖于利用现有的技术,在从输入全景图中提取的样本上获取单视角图像。这是LayoutNet具有优越性能的一个主要原因,因为它对全景图进行了整体预测,从而提取了更多的全局信息,使输入的全景图可能包含这些信息。

本文一个核心思想是使用天花板视图具有更少杂音。和全景视图进行联合学习。

网络结构

输入图片是等距柱状投影图(Equirectangular projection),预处理使用PanoContext进行垂直矫正。主要思想就是搜索直线,使其对齐全局坐标系。

天花板视图:摄像机看向上方,Fov取160,包含天花板墙线
地板视图:摄像机看向下方,Fov取160,包含地板板墙线
全局视图:摄像机看前看Fov取360,包含天花板墙线和地板墙线

E2P得到的就是天花板视图,2个分支:

  • 全景图分支预测floor-ceiling proba- bility map和height
  • 天花板视图得到天花板墙线,但是作为floor plan probability map
  • 融合:floor-ceiling proba- bility map + floor plan probability map,在2D上曼哈顿假设,3个概率图进行加权平均。最后通过预测的房间高度恢复3D布局。

E2P(类似得到6面图的顶面)

UV坐标表示:
( p x ′ , p y ′ ) , − 1 ≤ p x ′ ≤ 1 , − 1 ≤ p y ′ ≤ 1 \left(p_{x}^{\prime}, p_{y}^{\prime}\right),-1 \leq p_{x}^{\prime} \leq 1,-1 \leq p_{y}^{\prime} \leq 1 (px′​,py′​),−1≤px′​≤1,−1≤py′​≤1

和球面坐标对应关系:
( p x ′ , p y ′ ) = ( arctan ⁡ 2 ( s x s z ) π , arcsin ⁡ ( s y ) 0.5 π ) \left(p_{x}^{\prime}, p_{y}^{\prime}\right)=\left(\frac{\arctan _{2}\left(\frac{s_{x}}{s_{z}}\right)}{\pi}, \frac{\arcsin \left(s_{y}\right)}{0.5 \pi}\right) (px′​,py′​)=⎝⎛​πarctan2​(sz​sx​​)​,0.5πarcsin(sy​)​⎠⎞​

这是右手坐标系,y轴查下,z+轴对应全景图左边x=-1和右边x=1,z-轴对应全景图中间x=0处
如果要取天花板视图,在y=-1处截取。

网络结构

Encoder

基于ResNet-18的两个分支:
E B P E_{B_{P}} EBP​​输入:全景图 512 × 1024 × 3 512 \times 1024 \times 3 512×1024×3, 输出 16 × 32 × 512 16 \times 32 \times 512 16×32×512

E B C E_{B_{C}} EBC​​输入:天花板透视图(使用E2P,Fov=160) 512 × 512 × 3 512 \times 512 \times 3 512×512×3,输出: 16 × 16 × 512 16 \times 16 \times 512 16×16×512

作者尝试ResNet-50,效果没有改善。

Decoder

由6个卷积层,前5个是 3 × 3 resize convolutions,最后一个是 3 × 3 regular convolution。为了推理高度,在 B P B_P BP​的中间特征出添加3个全连接层。 E B P E_{B_{P}} EBP​​的输出是 16 × 32 × 512 16 \times 32 \times 512 16×32×512,应用verage pooling得到512维输入全连接。为了增加robust,全连接后2层使用了dropout。最后输出的就是 M F C M_{F C} MFC​,floor-ceiling proba- bility map。 B C B_C BC​输出 M F P M_{F P} MFP​,floor plan probability map 。

需要注意的是 B P B_P BP​也输出了height,通过 M F C M_{F C} MFC​可以估算平均高度。

Feature fusion

使用特征融合可以提升准确度,作者认为对于 B C B_C BC​分支,再靠近边缘的地方扭曲会非常严重,影响精度。特征融合时在 B P B_P BP​和 B C B_C BC​的前5个卷积层:
f B C ∗ = f B C + α β i × f B P , i ∈ { 0 , 1 , 2 , 3 , 4 } f_{B_{C}}^{*}=f_{B_{C}}+\frac{\alpha}{\beta^{i}} \times f_{B_{P}}, i \in\{0,1,2,3,4\} fBC​∗​=fBC​​+βiα​×fBP​​,i∈{0,1,2,3,4}
其中, f B C f_{B_{C}} fBC​​是 B P B_P BP​特征做了E2P后输出。 α \alpha α 和 β \beta β是衰减系数。

Loss function

L = E b ( M F C , M F C ∗ ) + E b ( M F P , M F P ∗ ) + γ E L 1 ( H , H ∗ ) L=E_{b}\left(M_{F C}, M_{F C}^{*}\right)+E_{b}\left(M_{F P}, M_{F P}^{*}\right)+\gamma E_{L 1}\left(H, H^{*}\right) L=Eb​(MFC​,MFC∗​)+Eb​(MFP​,MFP∗​)+γEL1​(H,H∗)

其中,带星号是真实值。

概率图使用二分类交叉熵损失:
E b ( x , x ∗ ) = − ∑ i x i ∗ log ⁡ ( x i ) + ( 1 − x i ∗ ) log ⁡ ( 1 − x i ) E_{b}\left(x, x^{*}\right)=-\sum_{i} x_{i}^{*} \log \left(x_{i}\right)+\left(1-x_{i}^{*}\right) \log \left(1-x_{i}\right) Eb​(x,x∗)=−i∑​xi∗​log(xi​)+(1−xi∗​)log(1−xi​)

高度使用L1损失:
E L 1 ( x , x ∗ ) = ∑ i ∣ x i − x i ∗ ∣ E_{L 1}\left(x, x^{*}\right)=\sum_{i}\left|x_{i}-x_{i}^{*}\right| EL1​(x,x∗)=i∑​∣xi​−xi∗​∣

布局估计

主要分为2步骤

  1. 使用概率图估计2D曼哈顿平面图

假设相机到地面高度固定为1.6m,那么相机到天花板的距离为 H − 1.6 H-1.6 H−1.6,由此可以得到 M F C F M_{F C}^{F} MFCF​和 M F C C M_{F C}^{C} MFCC​的比例为: 1.6 / ( H − 1.6 ) 1.6 /(H-1.6) 1.6/(H−1.6)

最终融合3个概率图:
M F P f u s e = 0.5 ∗ M F P + 0.25 ∗ M F C C + 0.25 ∗ M F C F M_{F P}^{f u s e}=0.5 * M_{F P}+0.25 * M_{F C}^{C}+0.25 * M_{F C}^{F} MFPfuse​=0.5∗MFP​+0.25∗MFCC​+0.25∗MFCF​

融合后的概率图进行二值化,阈值取0.5,取最大连通分量。
取连通分量的外轮廓使用 Douglas-Peucker 算法简化轮廓,得到简化边界后的二值图像b。
我们对边缘进行回归分析,并将它们聚成轴对齐的水平和垂直直线。这些直线划分成网格,图像c,单单元格的填充面积>0.5时合并到平面图形状里,图像d。

  1. 根据布局高度,沿着其法线得到3D布局

对于标注数据,作者专门开发了标注工具,先是使用已有方法故居深度图和线段,个人认为一种主动学习方法。然后利用这些数据初始化一个3D的曼哈顿世界布局。标注工具基于此进行调整。

实验结果


可以看见对于多角点的房间布局也可以进行估计,对于遮挡部分也能进行估计。


LayoutNet,只能预测4个点。

和LayoutNet相比,在多角点情况下提升明显。分支联合学习和特征融合都提升了准确度。

时间上,主要费时在垂直矫正阶段。

总结

本文的方法和以往相比确实进步很大,但是作者也提出限制:

  1. 会误认镜像和大物体遮挡
  2. 引入一些假设比如曼哈顿世界

作者提出发展建议:

  1. 进行语义分割,忽略遮挡物
  2. 移除曼哈顿世界假设,甚至考虑曲面墙

个人测试结果:

使用作者提供resnet18权重测试:
误差比较大情况:

而HorizonNet会更robust的多

论文笔记:DuLa-Net(CVPR 2019)相关推荐

  1. CVPR 2019 爆款论文作者现场解读:视觉语言导航、运动视频深度预测、6D姿态估计...

    2019年计算机视觉顶会CVPR前不久刚在美国长滩闭幕.Robin.ly在大会现场独家采访20多位热点论文作者,为大家解读论文干货.本期三篇爆款文章包括: 1. CVPR满分文章.最佳学生论文奖.结合 ...

  2. CVPR 2019 Oral 论文精选汇总,值得一看的 CV 论文都在这里(持续更新中)

    CVPR 2019 即将于 6 月在美国长滩召开.今年有超过 5165 篇的大会论文投稿,最终录取 1299 篇,其中 Oral 论文近 300 篇.为了方便社区开发者和学术青年查找和阅读高价值论文, ...

  3. 告别低分辨率网络,微软提出高分辨率深度神经网络HRNet | CVPR 2019

    来源 | 微软研究院AI头条(ID:MSRAsia) 作者简介:孙可,中国科学技术大学信息学院在读博士生,目前在微软亚洲研究院视觉计算组实习,导师是王井东和肖斌老师.他的研究兴趣包括人体姿态估计.语义 ...

  4. CVPR 2019 | 告别低分辨率网络,微软提出高分辨率深度神经网络HRNet

    我爱计算机视觉曾经两次报道HRNet: 1. CVPR2019 | 微软.中科大开源基于深度高分辨表示学习的姿态估计算法 (论文出来第二天就向大家推送解读了) 2. 分割.检测与定位,高分辨率网络显神 ...

  5. Google CVPR 2019最新成果!用神经架构搜索实现更好的目标检测

    图灵TOPIA 作者:Golnaz Ghaisi等 编译:刘静 图灵联邦编辑部出品 4月16日,arXiv公布了一篇谷歌大脑的最新成果论文,已被CVPR 2019接收. 研究人员采用神经网络架构搜索, ...

  6. 论文笔记:SPADE(CVPR 2019)-Semantic Image Synthesis with Spatially-Adaptive Normalization

    论文笔记:SPADE(CVPR 2019)-Semantic Image Synthesis with Spatially-Adaptive Normalization SPADE DEMO 前言 语 ...

  7. 论文笔记 Feature Selective Anchor-Free Module for Single-Shot Object Detection - CVPR 2019

    2019 FSAF Feature Selective Anchor-Free Module for Single-Shot Object Detection Chenchen Zhu, Yihui ...

  8. 《繁凡的论文精读》(一)CVPR 2019 基于决策的高效人脸识别黑盒对抗攻击(清华朱军)

    点我一文弄懂深度学习所有基础和各大主流研究方向! <繁凡的深度学习笔记>,包含深度学习基础和 TensorFlow2.0,PyTorch 详解,以及 CNN,RNN,GNN,AE,GAN, ...

  9. 商汤62篇论文入选CVPR 2019,一览五大方向最新研究进展

    (图源自视觉中国) 作为与ICCV.ECCV并称为计算机视觉领域三大国际会议之一,本届CVPR大会共收到5265篇有效投稿,接收论文1300篇,接收率为25.2%. 商汤科技CVPR 2019录取论文 ...

最新文章

  1. 直播活动丨BMMeetup第2期:大模型计算加速技术,2场特邀和7位青年学者技术报告联袂上演...
  2. 一点历史--Python
  3. 2003 resource kit之Robocopy 高效文件复制工具
  4. 如何在PySide中使用qrc资源文件
  5. Leaflet中原生方式实现测量面积
  6. 设计模式- 策略模式
  7. R学习之——R用于文本挖掘(tm包)
  8. php符号 set,PHP 符号大全
  9. 国防科技大学计算机学院教授陈书民,国防科技大学刘新旺教授做客信息学院
  10. python shell 运行时不打印日志_shell编程
  11. Tampermonkey 油猴脚本,chrome插件
  12. libCef退出流程整理
  13. 关于自动量程万用表和自动档位万用表使用
  14. uniapp使用阿里云OSS直接上传文件
  15. 笔记 | Java 虚拟机
  16. win10系统电脑声音图标正常,但没有声音
  17. 永磁同步电机PMSM直接转矩滞环控制 采用三闭环控制:转速外环采用PI调节器,转矩环和磁链环经过滞环后得到PWM脉冲
  18. 用于图像质量评价的LIVE数据库 百度网盘地址附解压密码
  19. qt for android开发百度地图(一步步带图详解)
  20. Python的制表符和运算符

热门文章

  1. 基于opencv-python的签名抠图程序
  2. 让英语变得简单-三月
  3. Vue:Promise用法举例
  4. JavaScript简餐——关于箭头函数
  5. 【Vue3中的响应式原理】
  6. 团队精神在CMM中体现
  7. 【人人都是深度学习师】3行代码实现AI自动根据彩色图生成线稿图-图像分割
  8. python安装pandas库cmd_python数据分析之pandas安装
  9. 基于javaee珠宝购物网站的设计
  10. 整理 Vue 项目 从 0 到 1 搭建