CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

作者:原力 |  已授权转载(源:知乎)编辑:CVer

https://zhuanlan.zhihu.com/p/522214395

单目深度估计是从单张RGB图预测场景深度,是一个很具有挑战性的任务。现在做这个任务的方法大都是设计越来越复杂的网络来简单粗暴地回归深度图,但我们采取了一个更具可解释性的路子,就是使用优化方法中的条件随机场(CRFs)。由于CRFs的计算量很大,通常只会用于计算相邻节点的能量,而很难用于计算整个图模型中所有节点之间的能量。为了借助这种全连接CRFs的强大表征力,我们采取了一种折中的方法,即将整个图模型划分为一个个小窗口,在每个窗口里面进行全连接CRFs的计算,这样就可以大大减少计算量,使全连接CRFs在深度估计这一任务上成为了可能。同时,为了更好地在节点之间进行信息传递,我们利用多头注意力机制计算了多头能量函数,然后用网络将这个能量函数优化到一个精确的深度图。

基于此,我们用视觉transformer作为encoder,神经窗口全连接条件随机场作为decoder,构建了一个bottom-up-top-down的网络架构,这个网络在KITTI、NYUv2上都取得了SOTA的性能,同时可以应用于全景图深度估计任务,在MatterPort3D上也取得了SOTA的性能。

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第1张图片

NeW CRFs: Neural Window Fully-connected CRFs for Monocular Depth Estimation

项目:https://weihaosky.github.io/newcrfs/

论文:https://arxiv.org/abs/2203.01502

代码:https://github.com/aliyun/NeWCRFs

一、Introduction

单目深度估计是从单张RGB图预测场景深度,是一个很具有挑战性的任务。现在做这个任务的方法大都是设计越来越复杂的网络来简单粗暴地回归深度图,这使得这个任务变成了一个困难的拟合难题。

但是,在传统方法单目深度估计中,一些方法会利用马尔可夫随机场(MRFs)或者条件随机场(CRFs),来聚合观测信息,如颜色、纹理、位置等,利用这些信息和预测值来建立能量函数,迭代优化能量函数得到最终深度预测值。所以,在本文工作中,我们也想利用这样的优化思路来更好地估计深度。

不过,由于CRFs的计算量很大,通常只会用于计算相邻节点之间的势能,而很难用于计算整个图模型中所有节点之间的势能,以往的大部分方法也都是选择了邻节点CRFs。但是全连接CRFs会计算一张图模型里所有节点之间的信息交互,显然更加强大,所以在这个任务上,我们希望使用全连接CRFs而非临节点CRFs。

另一个问题是,我们希望构建一个可微分的神经CRFs,这样就可以将其嵌入到一个网络中,从而进行端到端的训练,这有利于整个网络的性能提升。但以往的很多方法,都是将CRFs作为一个后处理的模块,也就是无法嵌入到网络中进行端到端学习。

为了解决这两个问题,我们提出了神经窗口全连接条件随机场,Neural Window Fully-connected CRFs,然后基于此构建了一个bottom-up-top-down的网络,做到了高精度的单目深度估计,在各个数据集上达到了SOTA的性能。

二、Methodology

1. 全连接条件随机场

我们首先来看传统条件随机场:

eb9b5b0ee30cd2f152939f30a6f62bab.png

能量函数由两部分构成,一个是unary potential,一个是pairwise potential。Unary potential计算每个节点的能量函数。而pairwise potential计算相邻节点之间的能量函数,可能会根据两个节点之间的颜色差异、位置差异、预测值差异来计算:

e110a035ef530169ee1618547b09ea69.png

而全连接条件随机场,就是会计算所有节点之间的能量函数。

2. 窗口全连接条件随机场

与普通的条件随机场相比,全连接条件随机场可以建立一个图模型中每个节点之间的关联,从而更好地进行特征提取和信息传递,强大的多。所以在本项工作中,我们希望能够使用全连接条件随机场,但是,全连接条件随机场的计算量大到惊人,在一个高分辨率的图中是很难做到的。另一方面,我们考虑到,其实在进行深度估计的时候,当前节点的深度值受很远的像素影响较小,也就是说,并不那么需要建立起当前节点跟距离很远的节点之间的信息传递。

于是,我们提出了一个基于窗口的全连接条件随机场。我们将一整个图模型划分为多个基于patch的窗口,每个窗口有 N x N 个图像patch,每个patch作为一个节点,由 n x n 个像素构成。在每个窗口中,所有的节点都互相连接,也就是全连接,而不同窗口之间没有连接,如下图(b):

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第2张图片 图2. (a)全连接条件随机场(b)窗口全连接条件随机场

这样一来,计算量就可以大大减少。以一张含有 h x w 个patch的图片为例,全连接条件随机场的计算复杂度与窗口全连接条件随机场的计算复杂度分别为:

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第3张图片

但是,这种窗口划分也会引入一个问题,就是本来应该有信息传递的相邻窗口之间失去了联系。为了解决这个问题,我们引入了swin-transformer里的shift window机制。也就是说,每次我们计算能量函数时,我们先基于正常窗口划分计算一个能量,然后将窗口平移半个窗口长度,再计算一个能量,这样就解决了窗口孤立的问题。

3. 神经窗口全连接条件随机场

那如何使用神经网络来计算窗口全连接条件随机场呢?

我们首先来看一个简单的传统条件随机场,unary potential通常会根据预测值的分布来计算:

4529cc3b6fb6950f5323b5825d822478.png

而pairwise potential则会根据两个节点之间的颜色差异、位置差异来惩罚预测值:

0f9b17417d2df5d8403ac5e4d76e3dd4.png

这样的设计合理,是人为设计的,但不够强大,人为设计不可能很复杂。所以我们用网络来做这样一个事情。

首先,unary potential直接由一个unary网络来计算:

719191c06c419eae7a9857197e76f22a.png

而pairwise potential比较复杂,我们意识到,它是由当前节点和其他节点的预测值,和一个权重组成的,这个权重会根据颜色、位置等信息来计算。于是我们将pairwise potential重写为:

ec000371a542e1a58424f061503580ae.png

对于每个节点,我们求它与所有其他节点的pairwise potential之和,得到:

7faa593fd6e67d6d03f73b2712b544ce.png

然后,我们用类似于transformer中的attention机制来计算权重函数 α 和 β :

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第4张图片

这样一来,Q和K的点乘计算了每个节点与其他任意节点之间的分值,加入位置P后由SoftMax输出权重,决定了信息传递权重,然后再与预测值X进行点乘,进行信息传递。

4. 网络架构

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第5张图片 图3. 网络结构

有了神经窗口全连接条件随机场,我们将它嵌入到一个bottom-up-top-down的网络中来端到端地训练。除了核心结构外,还有一个PPM Head用于聚合全局信息,Rearrange模块用于更好地上采用。详细解释可以查看论文。

三、Experiments

我们的方法在室外数据集KITTI、室内数据集NYUv2和全景图数据集MatterPort3D上均达到了SOTA的性能。

  1. 1. 在KITTI上的结果:

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第6张图片

同时,在KITTI官网榜单上位列第一:

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第7张图片

2. 在NYUv2上的结果:

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第8张图片

3. 在MatterPort3D上的结果:

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第9张图片

值得注意的是,在之前的全景图深度估计论文中提到,直接将用于透视图深度估计的方法用于全景图会表现较差,但是,我们的方法可以很好地用于全景图深度估计,效果不错。

4. 深度图可视化结果:

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第10张图片 CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第11张图片

5. 点云结果:

CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第12张图片 CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第13张图片 CVPR 2022 | 阿里提出单目深度估计新SOTA方法:NeW CRFs_第14张图片

点击进入—> CV 微信技术交流群

 
   
 
   
 
   

CVPR 2022论文和代码下载

后台回复:CVPR2022,即可下载CVPR 2022论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

深度估计交流群成立
扫描下方二维码,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申请加入CVer-深度估计微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如深度估计+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信: CVer6666,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!

▲扫码进群
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看

你可能感兴趣的:(算法,python,机器学习,人工智能,深度学习)