Paper name
OmniFusion: 360 Monocular Depth Estimation via Geometry-Aware Fusion
Paper Reading Note
URL: https://arxiv.org/pdf/2203.00838.pdf
TL;DR
- 首先将 360° 图像转换到低程度畸变的的 perspective patches,然后基于 CNN 获得 patch-wise predictions,最后通过合并得到最终预测结果,解决了 CNN 结构难以处理球面畸变的问题
Introduction
- 在全方位图像中基于普通的 CNN 进行深度估计会因为球面畸变引起信息损失,本文提出了一种处理球面畸变的方案:OmniFusion
- 基于等距圆柱投影展开的全景图存在几何畸变,不同垂直位置的畸变程度不同,对于 non-distorted perspective 图像设计的 CNN 较难处理这种图像。之前的解决方案主要有:
- distortion-aware convolutions,但是这种方式解决的程度一般
- 针对 spectral domain 专门设计的 spherical CNNs,计算量较大
- 将等距圆柱投影展开替换成畸变程度更小的展开方式(BiFuse、UniFuse)
- 使用 tangent images,便于 perspective image 上训练的模型能够迁移到 360° 图像上
- 基于等距圆柱投影展开的全景图存在几何畸变,不同垂直位置的畸变程度不同,对于 non-distorted perspective 图像设计的 CNN 较难处理这种图像。之前的解决方案主要有:
- 具体方案流程:首先将 360° 图像转换到低程度畸变的的 perspective patches,然后基于 CNN 获得 patch-wise predictions,最后通过合并得到最终预测结果
- 为了避免将不同 patch 合并时的不一致问题,本文提出了几种创新
- geometry-aware 的特征融合机制,结合三维几何特征和二维图像特征,补偿 patch-size 不一致性
- 采用 self-attention transformer 结构来对 patch-wise 信息进行全局聚合,提升了一致性
- 迭代精修的机制来提升深度估计的质量
Dataset/Algorithm/Model/Experiment Detail
实现方式
- 输入是等距圆柱展开(ERP)的全景图,将该图映射到多个视角上的多个 patches,对于每个 patch 可以认为畸变很小,将 patch 送入 encoder-decoder 网络预测每个 patch 的深度,这些不同 patch 的深度会被整体合并为一个 ERP 形式的深度预测。上述的整体流程中包含了三个额外的优化点
- 每个patch 对应在球面上的位置会基于一个 geometric embedding network (fc) 来生成 geometric features,与 patch 的图像特征进行融合
- transformer 结构对不同 patch 的特征进行全局聚合
- iterative refining mechanism,在图表中使用虚线表示,在前一次预测的深度基础上再次进行预测
-
切面投影示意图,投影的不同 patch 之间有一定重叠区域,相同物体在不同 patch 上的样子可能不一致
-
分块处理 ppl,共分为 18 块处理
-
geometry-aware 特征融合的有效性
数据集
- Stanform2D3D:1413 真实场景全景图,6 个大尺度室内场景
- Matterport3D:10800 室内全景 RGBD 图像
- 360D:RGBD 全景图,包含两个合成场景(SunCG、SceneNet)和两个真实场景(Stanford2D3D、Matterport3D),35977 张全景图
实验结果
- 三个数据集上取得了 sota 效果
- 消融实验,迭代 refine 带来的精度提升有限,并且速度降低了一倍
Thoughts
- transformer 结构确实对于涨点非常友好
- 基于 transformer 的尺度一致性保证方式和特斯拉方案比较类似