3D双目感知深度估计之PSMNet解读

PSMNet是一种端到端的双目深度估计方法,通过空间金字塔池化和3DCNN正则化提高准确性。网络包括特征提取、CostVolume构建、三维卷积和视差匹配四个模块。使用该网络可以从输入图像中直接估计每个像素的深度信息,尤其在处理视差和深度计算时表现优秀。损失函数采用了平滑L1损失,训练时考虑了不同输出的加权平均损失。尽管有局限性,如硬件配准要求和计算复杂度,PSMNet在处理3D感知任务时提供了有效解决方案。

3D视觉感知之双目深度估计PSMNet: Pyramid Stereo Matching Network

论文地址: [1] Pyramid Stereo Matching Network (arxiv.org)

代码地址: JiaRenChang/PSMNet: Pyramid Stereo Matching Network (CVPR2018) (github.com)

Git链接: 计算机知识汇总

课程来源 : 深蓝学院-环境感知

1. 背景

3D感知任务相比于2D感知任务的情况更为复杂,而相比于单目相机双目相机的感知能力拥有以下几个特点:

  • 优点
    • 双目感知无需依赖强烈的先验知识和几何约束
    • 能够解决透视变化带来的歧义性(通俗的讲就是照片是由3D真实世界投影到2D图像然后再转换成3D,由于深度信息的丢失本身就十分困难)
    • 无需依赖物体检测的结果,对任意障碍物均有效
  • 缺点
    • 硬件: 摄像头需要精确配准,车辆运行过程中同样需要保持
    • 软件: 算法需要同时处理来自两个摄像头的数据,计算复杂度较高



而双目相机是如何实现3D视觉感知的呢?如下图:

B : 两个相机之间的距离

f : 相机的焦距

d: 视差(左右两张图象上同一个3d点之间的距离)

z: 物体相对于相机的深度,也是我们需要求解的值。

在这里插入图片描述


根据几何的知识我们可以得到 视差d 与 深度z是成反比的,所以双目相机的3D感知其实就是基于视差的估计来的,那么接下来核心来了,我们应该怎么得到每个像素点的视差呢?PSMNet 横空出世,它是一个利用端到端的卷积神经网络学习如何从输入的pair图像中获取每个像素点的视差
在这里插入图片描述


PSMNet 在原文中提到了以下几个亮点:

  • 端到端无需后处理的双目深度估计方法
  • 利用空间金字塔池化模块(SPP)和空洞卷积有效地整合全局上下文信息,从而提高了深度估计的准确性。
  • 采用三维卷积神经网络(3D CNN)stacked hourglass 对cost map进行正则化处理,进一步提高了深度估计的精度。
  • 使用堆叠多个hourglass网络,并结合中间监督,进一步优化了3D CNN模块的性能。


2. 网络结构

在这里插入图片描述

整体的网络结构如上图所示,首先网络的输入是成对的双目相机拍摄出来的左右片,通过一系列权重共享的特征提取网络提取特征,然后叠加构建costmap,然后经过一个3D卷积最后通过上采样恢复到原始输入大小的特征图即可。此文将网络结构分成4个模块然后会分别进行介绍


2.1 特征提取

第一个CNN模块,比较简单就是一个带残差模块和空洞卷积的卷积神经网络,将原始的H * W * 3 (kitti数据集里是375 X 1242 * 3)的图像下采样至 H/4 * W/4 * 128。所以整体的分辨率降低了4倍。

在这里插入图片描述

第二个是SPP模块,这里可以看到下面有4个branch这里用的就是4个不同大小尺度的averagepooling,去收集不同分辨率下的局部的信息,然后通过双线性插值恢复到原始图像的1/4大小,然后与输出进SPP网络的原始输入进行拼接,这样SPP网络最后的输出就整合了全局(CNN网络的输出)以及局部(4个branch的pooling)的信息。

在这里插入图片描述
PS: 这里查了查相关资料有关于AveragePooli

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曼城周杰伦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值