ECCV 2022 | PanoFormer: 首个360°全景定制的单目深度估计Transformer

efe9e634c21061320e84b83b26def1ae.gif

©作者 | 申志杰,廖康

单位 | 北京交通大学

研究方向 | 计算机视觉

a851a7621637a3582f7ce106293d0f46.png

论文标题:

PanoFormer: Panorama Transformer for Indoor 360° Depth Estimation

论文链接:

https://arxiv.org/pdf/2203.09283.pdf

代码链接:

https://github.com/zhijieshen-bjtu/PanoFormer

be5d3f7a4db60e937ef5f5e7cc1aa7cd.png

▲ PanoFormer简介图

5513a855dfddd6ea27df5678aaddf9a2.png

研究背景及动机

单目全景深度估计(monocular omnidirectional depth estimation, MODE)是三维场景理解中的一个子领域,其任务设定为给定一张 360° 全景 RGB 图像,通过网络建模推理得到对应的 360° 深度图,相较于立体视觉而言具有更好的便利性。 

MODE 使用更为常见的等距柱状投影(ERP)全景图作为输入。这与正常的 2D perspective 图像存在较大差异:ERP 全景图的 360° 视角增益是以畸变为代价,因此导致整幅图像存在规律性的扭曲(畸变程度由图片水平轴线向垂直边逐渐增大)。受限于 CNN 有限的感受野和固定的采样位置,这种畸变特性使得 MODE 具有独立于传统单目深度估计任务之外的挑战性。 

当然,此前的一些工作提出基于 CUBE 和 ERP 投影的双分支融合结构来增强网络对于大畸变区域的特征提取和建模能力,但需要注意的是,CUBE 格式的全景图在投影过程中会有 25% 像素的丢失,这直接导致 CUBE 分支深度图的模糊。如此两个分支的有限结果决定了其性能上限。为了解决像素损失这一问题,后续有工作提出基于旋转 CUBE 设计双分支结构,一定程度上缓和了这一矛盾。 

随着 Transformer 网络框架的兴起,其独特的 long-range 建模能力为解决大畸变问题提供了一个新的思路。但“拿来主义”真能行得通吗?

556e0726506fad68b09f34e60947206f.png

应用挑战

首先,我们回顾一下传统的视觉 Transformer 在处理图像时的步骤并分析一下其在 ERP 图像上的应用挑战: 

1. 划分 patch。在以 ERP 格式作为输入的前提下会有两种划分 patch 的方法:1)直接等间距划分 patch;2)将球面全景图投影成重叠的 perspective 视口自然地作为 patch。首先,直接划分 patch 的方法会显著破坏大畸变区域的结构,而 perspective 视口可以将跨度非常大的物体投影回一个 patch。这样对比来看似乎后者更有趣且合理。 

2. Patch->Embedding->Token。视觉 Transformer 中做位置嵌入是通过线性层压缩特征维度实现的,那这种特征维度的压缩对于深度估计这一类像素级回归任务来说会不会造成信息的丢失,从而导致性能的下降? 

3. 位置嵌入。此前的一些工作指出,在视觉领域位置嵌入能够贡献的力量似乎并没有很大,且比较鸡肋,很多工作甚至直接摒弃了位置嵌入模块,他们认为网络中所引入的卷积结构会暗含位置信息。但考虑步骤 1,如果我们采用 perspective 视口 patch 的划分方式,其真实的空间位置已经发生了改变,因此一个合适的位置嵌入策略在 MODE 中是迫切需要的。那么如何设计一个合理的位置嵌入方式呢? 

4. Self-attention。自注意力模块通过压缩后的特征生成 q, k, v 依次查询计算全局注意力,如果我们的 embedding 设计成像素级,将会带来很大的计算复杂度,如何解决? 

为了解决这些问题我们提出了一种 360° 全景定制的 Transformer 框架。

594b34bafd9b0107bed110d9f9c04ada.png

方法

51c24864ea4fd92f5b48cb4bed4c9370.png

▲ Spherical Token Locating Model (STLM)

划分 patch:如前所述,我们划分 patch 可以尽可能地通过投影的方式划分 patch 而不是直接在 ERP 图上划分。投影我们选择 CUBE 格式的 perspective 视口。那么问题是,我们如何选择 CUBE patch 的切点?以及如何确定 patch的大小?

不考虑计算复杂度,我们可以将每个像素点都作为一次切点,这样信息会尽可能地全部保留。至于大小,我们在前面讨论了 CUBE 投影的弊端之一是像素丢失,在这里我们还要讨论一种弊端:对于 CUBE 投影面,理想情况下仅有 CUBE 的中心点(即切点)不存在畸变,除此之外,其他位置会呈现出由切点向四周逐渐增大的畸变趋势。考虑一种极端的情况,当 CUBE 的大小收缩到极致,即每个 CUBE 面仅由中心切点及其周围的八个点组成,CUBE 面近似贴近球面,畸变影响降至最小。我们将此时的 CUBE 面称为 Tangent patch。 

Embedding:从尽可能提高性能的角度出发,我们可以通过等价映射将每个像素点映射成一个 Token。区别于传统 Transformer 中将每个 Patch 嵌入为每个 Token,我们直接将每个 Tangent Patch 上的采样点当作 Token。直观的理解,我们的 patch 和 token 都是手工划分的,patch 在我们的网络中多为一种抽象的概念,我们直接的操作对象是 Token(采样点),即每个切点及其周围的八个点。 

位置嵌入:Tangent Patch 是相对于球面而言,为了定义其空间位置属性,我们将手工划分的 patch 反投影到 ERP 图上。注意在球面全景图上每个 patch 由切点及其周围的八个投影点组成,而在 ERP 图上这种空间对应关系发生了改变,由于畸变的存在,他们在 ERP 上几乎不再相邻。这种位置投影对应关系恰恰提供了我们 Transformer 里面所需要的位置嵌入。

051cd5d237886ce16902488a5b4a0357.png

▲ Panoramic Structure-guided Transformer (PST) block

计算注意力:首先如果我们像传统 Transformer 那样计算注意力,其计算开销非常大,但得益于我们 patch 划分方式和位置嵌入策略,我们似乎找到了其最相关的位置对应关系,即切点 token 及与其最相关的 8 个 token。那么我们可以仅仅通过计算切点 token(或中心 token)与这 8 个 token 的注意力即可。

但问题如果这样做,我们会犯了一个非常大的错误,即把 token 的位置锁死了,使得我们的网络架构丧失了传统 Transformer 固有的灵活性。为了解决这一问题,我们提出了 token flow 的概念,即通过学习一个偏移来弥补其结构上灵活性的丧失。意外之喜是,这种流式的概念可以使网络更好地建模全景结构这一重要的深度线索。 

最后,我们基于设计的 PST block 构建最终的 PanoFormer 网络框架:

bc47b1e78785729a039bd3e314f70511.png

▲ PanoFormer网络架构图

003536fbad68c4363a3256396b864852.png

新指标

为了突出模型对于大畸变区域的建模能力,我们通过选取 6 个 CUBE 投影面的上下两个面来设计 Pole-RMSE 指标(注意此指标的应用的一个前提条件是全景相机水平放置,目前的流行的数据集大都遵循这一假设)。

考虑到 ERP 全景图的特性,左右可以实现无缝拼接,我们提出 LRCE 指标来反映模型的长距离建模能力。

详细计算过程请参考论文。

05afbf4745264fcca9179c9eaa3f76ca.png

实验结果

我们在四个主流的 MODE 数据集上对我们的模型进行了评估,结果显示我们的模型取得了更有竞争力的结果。但由于 Stanford2D3D 以及 Matterport3D 数据集的固有缺陷导致我们没有办法在这两个数据集上评测我们的新指标(P-RMSE),因此我们在这两个数据集上只报道了 MRE 和 MAE 的指标性能,这两个指标的计算参照 SliceNet(CVPR'21)所开源的代码执行。此外,关于数据集的一些讨论详情见 gihub 代码链接。 

值得一提的是,PanoFormer 可以很容易地迁移到全景视觉其他 dense prediction 任务上,比如全景图像语义分割,无需改变任何网络结构便能取得 SOTA 性能。

b8c3b77e254b26a6f49365f9eee400da.png

▲ 客观指标

d392079f2d87ea267a46b0e3285c8e04.png

▲ 主观对比

ebb9269ab67a762d0dbb9537981674ae.png

▲ 全景语义分割客观指标

57583c2531effbb467a3af1e1ae3e3ca.png

局限性

关于更高分辨率的扩展计算复杂度可能是我们工作的一个待提升的点。这可以通过在 encoder 阶段增加下采样层,在 decoder 阶段增加插值操作得到缓解。此外,如果仔细观察可以发现 attention 计算部分存在比较多重复计算的情况,这可能是优化我们网络的一个方向。

希望我们的工作可以为该领域带来启发。

更多阅读

b7fdb140e1db68e5808e669a0088ed6c.png

9cb35959ed2e30195c32902c7197780d.png

6e9452f9cb348abff25c54a4a276e610.png

c7d8a3efeed4c3676ab4abb2d1f0055f.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

9e6213a847606597243210a51a1022c2.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

38ab2e6d71ea6eaa7567160017fc6938.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值