来源:计算机视觉工坊
在公众号「计算机视觉工坊」后台,回复「原论文」可获取论文pdf、代码链接
添加微信:dddvision,备注:立体匹配,拉你入群。文末附行业细分群
PSMNet是由Jia-Ren Chang等人于2018年发表在CVPR上的论文,是一种基于金字塔的端到端立体匹配网络,用于利用立体匹配中的全局上下文信息。PSMNet使用空间金字塔池(SPP)和扩张卷积来扩大接受域,将像素级特征扩展到具有不同接受域尺度的区域级特征。这种方法使得PSMNet能够得到全局和局部的深度信息,从而提高了立体匹配的准确性。PSMNet引入了将全局上下文信息纳入图像特征的金字塔池模块和一个以扩展在成本量中的上下文信息的区域支持的堆叠沙漏3D-CNN,对后续的算法开发产生深远影响。
立体图像中的深度估计对计算机视觉应用来说至关重要,包括自动驾驶、三维模型重建以及对象检测和识别。给定一对已校准的立体图像,深度估计的目标是计算参考图像中每个像素的视差d。视差是左右图像上一对对应像素之间的水平位移。如果对于左图像中的像素(x, y),其对应的点在右图像中的位置可以找到(x-d, y),那么该像素的深度可以通过计算fB/d来确定,其中f是相机的焦距,B是两个相机中心之间的距离。其主要贡献可以总结为:
提出了一个端到端的学习框架,用于立体匹配,无需任何后处理。
引入了一个金字塔池化模块,用于将全局上下文信息纳入图像特征中。
提出了一种堆叠的hourglass 3D CNN,以扩展成本体积中的区域上下文信息支持。
在KITTI数据集上实现了最先进的准确性。
总之,本文提出的PSMNet模型在立体匹配方面取得了非常好的结果,无需后处理,并且能够更好地利用全局上下文信息来提高视差估计的准确性。
为了提高深度估算的精度,许多方法针对匹配代价计算和代价体积优化进行了研究,而当时最先进的方法则利用了卷积神经网络(CNNs)来计算匹配代价,并应用半全局匹配(SGM)来细化视差图。除此之外,还有许多关于视差图后处理的研究,例如Displets方法、DRR网络等。PSMnet端到端网络被开发出来,可以在不进行后处理的情况下,预测整个视差图,这种方法利用了多尺度特征进行深度估计。此外,本文还提到了在语义分割领域中进行上下文聚合的方法,如编码-解码体系结构和金字塔池化,并提出了一种利用金字塔立体匹配网络进行多尺度上下文聚合以提高深度估计的精度。
PSMNet是一个用于深度估计的金字塔立体匹配网络,它包含一个SPP模块和一个堆叠的沙漏模块。其中SPP模块可用于在代价计算中将全局上下文信息进行有效整合,而堆叠的沙漏模块可用于代价体积正则化。
本文提出了PSMNet,其使用三个小卷积核级联构建更深的网络,同时采用扩张卷积进一步扩大接受野。使用SPP模块来收集上下文信息,将左右特征图拼接成代价体积,并将其馈入3D CNN进行正则化。最后使用回归方法计算输出视差图。
仅从像素强度来确定上下文关系是困难的。因此,富含物体上下文信息的图像特征可以有利于对应估计,特别是对于不适定区域。在本文中,采用SPP模块学习对象(例如汽车)与其子区域(窗户,轮胎,引擎盖等)之间的关系,以纳入分层上下文信息。
空间金字塔池化(SPP)模块可以纳入层次化的上下文信息,在对应任务中起到重要作用。在池化时使用不同大小的池化块和自适应平均池化,以提取不同尺度的特征图。通过将特征图组成金字塔结构,SPP模块可以在不同尺度下学习到目标物体及其子区域的上下文信息。作者为SPP设计了四个固定大小的平均池块:64 × 64、32 × 32、16 × 16和8×8,然后进行进一步的操作,包括1 × 1卷积和上采样。
在深度学习框架下,MC-CNN和GC-Net方法使用特征拼接成本体(Cost Volume)来进行视差匹配,而不是使用距离指。作者采用SPP特征,通过在每个视差水平上将左特征图与其对应的右特征图进行连接,形成一个代价体积,最终得到一个4D体积(高×宽×视差×特征大小)。该成本体为一个四维张量,包含了图像中不同空间位置和视差之间的特征相似性。
为了沿不同维度聚合特征信息,作者提出了两种用于代价体正则化的3D CNN架构:基本和堆叠Hourglass架构。在基本架构中,网络仅使用残差块构建。基本架构包含12个3×3×3卷积层。然后通过双线性插值上采样代价体回到大小为H×W×D。最后,应用回归来计算大小为H×W的视差图。为了学习更多的上下文信息,作者使用堆叠Hourglass(编码器-解码器)架构,在中间监督的基础上,反复进行自顶向下/自底向上的处理,如图1所示。堆叠Hourglass架构有三个主要的Hourglass网络,每个网络都生成视差图。也就是说,堆叠Hourglass架构有三个输出和损失(损失1、损失2和损失3)。训练阶段的总损失为三个损失的加权求和,测试阶段的最终视差图为三个输出的最后一个。
在视觉领域中,由于成像和其他原因,对于很多场景和物体,我们无法获得系统的、连续的深度信息。因此,需要从多个图像中推断出深度信息。其中,视差回归是一种常用的方法,可以通过预测每个像素处的视差值来估计深度图。视差回归中,采用softmax函数计算每个视差的概率,通过视差和概率的加权计算得到预测的视差值。视差回归相较于基于分类的立体匹配方法更为稳健。其数学表达式如下:
在计算机视觉中,损失函数是衡量模型表现的关键因素之一,常用于训练模型和对模型进行评估。在视差回归时,因其对异常值的敏感性较低,平滑L1损失函数被广泛应用于目标检测中的边界框回归等场景。PSMNet的损失函数采用平滑L1损失函数,其数学表达式如下:
在本研究中,作者对三个立体数据集进行了评估,包括Scene Flow、KITTI 2012和KITTI 2015。使用KITTI 2015进行了消融研究,以评估由扩张卷积、不同大小的金字塔池化和堆叠的Hourglass 3D CNN所做出的性能影响。作者使用了PSMNet进行实验,并通过微调方法在KITTI数据集上取得了优秀的结果。
作者使用PyTorch实现了PSMNet体系结构。所有模型都使用Adam(β1 = 0.9,β2 = 0.999)进行端到端训练。对整个数据集进行颜色归一化以进行数据预处理。训练期间,图像被随机裁剪为大小H = 256和W = 512。最大视差(D)设置为192。从头开始使用Scene Flow数据集训练PSMNet模型,使用恒定的学习率0.001进行了10个epoch的训练。对于Scene Flow,训练好的模型直接用于测试。对于KITTI,使用在Scene Flow数据集上训练的模型,在KITTI训练集上进行300个epoch的微调后使用。微调的学习率在前200个epoch时为0.001,剩余的100个epoch时为0.0001。对于在四个nNvidia Titan-Xp GPU上进行的训练,批量大小设为12。训练过程需要大约13小时进行Scene Flow数据集的训练,5个小时进行KITTI数据集的训练。此外,作者将训练过程延长到1000个epoch以获得最终模型,并获得KITTI提交的测试结果。
作者提出了一个新颖的端到端CNN架构PSMNet,用于深度图像的立体匹配。该模型主要由两个模块组成,即SPP模块和3D CNN模块,以利用上下文信息。SPP模块采用不同级别的特征图来构建成本体积,3D CNN模块通过反复的自上而下/自下而上的过程来学习对成本体积进行规则化的能力。在实验中,PSMNet表现出比其他最先进的方法更高的性能。在2012和2015的数据集上,PSMNet曾在排行榜上排名第一。估计的视差图清楚地证明了PSMNet显著地减少了对于不适合的区域的误差。
PSMnet对现在立体匹配算法的影响非常大。它的提出通过引入深度学习的思想,打破了传统立体匹配算法的瓶颈。PSMnet在视差精度和匹配速度上的表现都很优秀,为立体匹配算法的发展指明了方向。近年来,越来越多的研究者使用深度学习相关技术,提出了许多新的立体匹配算法,其中包括了借鉴PSMnet的结构。所以我认为PSMnet也是学习基于深度学习的立体匹配算法的必读文章之一。
注:
经典的立体匹配算法主要可以分为以下几类:
基于全局优化的算法:如Belief Propagation、Graph Cuts等。这类算法通过最小化匹配代价函数,得到全局最优的匹配结果。但由于计算量大,运行速度较慢。
基于局部窗口匹配的算法:如Block Matching、Semi-Global Matching等。这类算法通过在图像中移动窗口,计算左右图像中窗口内像素之间的代价值,并通过归一化的方法、加权平均等方式进行视差求解。其速度快,常用于实时应用,但视差结果较粗糙。
基于特征匹配的算法:如特征点法、特征区域法。这类算法通过提取图像中的特征点或特征区域,并通过匹配这些特征点或特征区域得到视差信息。但该方法对于纹理较差的图像,会出现匹配失败的情况,较不稳定。
基于全卷积神经网络的算法:如PSMNet、GANet、GC-Net等。这些算法通过神经网络学习提取图像的特征,进而实现立体匹配,同时利用并行计算极大地提高了计算效率和匹配准确度。
下载1
在公众号「3D视觉工坊」后台,回复「3d001」,即可获取工业3D视觉(结构光、缺陷检测、三维点云)、SLAM(视觉/激光SLAM)、自动驾驶、三维重建、事件相机、无人机等近千余篇最新顶会论文。
下载2
在公众号「3D视觉工坊」后台,回复「3d002」,即可获取巴塞罗那自治大学3D视觉课件、慕尼黑工业大学3D视觉和视觉导航精品课件。
下载3
在公众号「3D视觉工坊」后台,回复「3d003」,即可获取相机标定、结构光、三维重建、激光-视觉-IMU-GPS多模态融合SLAM、LOAM、ORB-SLAM3,深度估计、模型部署、3D目标检测等学习课件。注:非完整版。
本文暂时没有评论,来添加一个吧(●'◡'●)