《NeW CRFs:Neural Window Fully-connected CRFs for Monocular Depth Estimation》论文笔记

参考代码:NeWCRFs

1. 概述

介绍:在这篇文章中对单目有监督深度估计算法提出了新的解码单元,该解码单元设计的灵感源自于CRFs(Conditional Random Fields)和Swin-Transformer。首先,在该解码单元中在local-window(文中也将其称之为 N ∗ N N*N NN个patch的组合)中计算CRFs,这样可以显著减少因全局CRFs带来的计算量巨大问题,这是基于深度本身也存在一定的局部信息依赖性,同时也引入shift-window用于关联不同的local-window。然后,借鉴Swin-Transformer中的多头注意力机制,增强特征图pixel之间的关联性,相当于是在多角度去做信息整合。因而文章从高维度特征开始使用这种window CRFs进行特征优化,极大提升了网络的表达能力,自然也带来深度估计结果的提升。这里使用的是NYU、MatterPort3D和KITTI数据集作为benchmark。

总体来看文章提出的深度估计网络是一个U型的编解码网络,其主要的创新点在于对编码器和解码器中特征优化单元的改进,其结构大体见下图:
在这里插入图片描述
比较显著的一些idea归纳为:

  • 1)使用local-window内计算CRFs替换全局CRFs,极大减少计算量,贴合深度局部相似性假设。同时针对local-window划分带来window之间隔离的问题,通过shift-window实现window间信息传递
  • 2)借鉴Transformer中的multi-head attention在特征多角度上优化特征图;

对于刚才说到在local-window上做CRFs,其与传统上的全图CRFs进行比较见下图所示:
在这里插入图片描述

从现有的benchmark排行榜来看文章的算法排名靠前,说明堆料还是能带来具体场景下性能的提升的,不过这样的提升幅度越来越小了。

2. 方法设计

2.1 网络结构

文章提出的网络结构见下图所示:
在这里插入图片描述
可以看到上述的结构就是一个典型的编解码结构,其具体的组件有:

编码器:
这里对于编码器使用的是Swin-Transformer。对于输入的图像输出的最小stride为4,最大stride为32。对于不同stage上输出的特征会将按照方格大小 N ∗ N , N = 7 N*N,N=7 NN,N=7划分为一个window,则特征图上得到的window数量计算为 H S t r i d e ∗ N ∗ W S t r i d e ∗ N \frac{H}{Stride*N}*\frac{W}{Stride*N} StrideNHStrideNW

全局特征提取:
这里使用PPM(pyramid pooling module)其参数scale=[1, 2, 3, 6]。

Local-window CRFs:
这里是在multi-head基础上计算CRFs所需的参数。

上采样操作:
对于上采样操作文章中使用的PixelShuffle的形式在channel维度编码spatial信息,从而实现可学习的上采样。

损失函数:
对于深度回归的损失采用的是尺度无关的Log损失,其描述为:
L = α 1 K ∑ i Δ d i 2 − λ K ( ∑ i Δ d i ) 2 ,    Δ d i = l o g d i ^ − l o g d i ∗ L=\alpha\sqrt{\frac{1}{K}\sum_i\Delta d_i^2-\frac{\lambda}{K}(\sum_i\Delta d_i)^2},\ \ \Delta d_i=log\hat{d_i}-logd_i^{*} L=αK1

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值