PatchMatchStereo中的深度/视差传播策略
计算机视觉工坊 专注于计算机视觉、VSLAM、目标检测、语义分割、自动驾驶、深度学习、AI芯片、产品落地等技术干货及前沿paper分享。这是一个由多个大厂算法研究人员和知名高校博士创立的平台,我们坚持工坊精神,做最有价值的事~
115篇原创内容
Official Account
1.引言本文是PatchMatchStereo[1]第二篇拾遗,主要讲解PatchMatch的深度/视差传播策略,以及在其基础上,介绍几种基于PatchMatch的改进传播策略,分别是ETH的Gipuma[2]方法和华中科技大学的ACMM[3]。不同于SGM在极线纠正之后的影像上进行同名极线(核线)上搜索,PatchMatchStereo在整个视差空间内进行搜索,既保证全局搜索的准确性,又提升了算法的效率。但其本身的传播策略无法极尽GPU效能,以至于PMS的立体像对视差估计速度比较慢。直到Gipuma等方法提出新的传播策略后,才使得GPU加速和PatchMatch算法在多视图立体中应用成为可能,因此,本文主要介绍传统方法中的视差/深度传播策略,并简要介绍一个在传播方面的经典深度学习方法。
2.PatchMatchStereo——串行传播策略PMS虽然可以得到较为精确的视差估计结果,又因为随机算法的原理而使得算法本身可以以较低的显存消耗估计较大的分辨率的影像,但PMS的问题就是因为其串行传播(当前像素的传播视差必须来源于左右临近像素迭代的结果)而导致效率低下,因此,想要PatchMatch类型的算法达到秒级的深度图估计效率,需要提出一种新的传播策略。
图2 PMS串行传播策略
3.Gipuma——棋盘格传播策略PMS是按照对角线方向进行视差空间的串行传播,也就是每一个像素都受限于前一个像素,从而无法彻底利用GPU资源,ETH则提出一种可利用GPU多核结构的四周扩散传播策略。如图3所示,该方法将一张图中所有的像素,按照国际象棋格分割为红黑两组,主要思想是,每次仅更新单个组别,而且每一个像素更新的深度传播至来源于局部领域。如图3-b),标准的局部领域可以设计为20个局部邻域像素,从而利用更大的感受野来传播深度,以更快地算法收敛。图3-c)则是另一种加快传播地策略,进利用最近、最远的八个邻域像素对应的视差进行传播。
图3 红黑棋盘深度扩散示意图从图4可以看出,深度估计的精度均值会很快收敛,而完整度随着迭代次数的增加也不断提升。一般实验迭代八次可以得到很好的结果,到最后的迭代过程中,仅有一些边缘细节在改变。
图4 迭代精度结果Gipuma还有一个贡献是将PMS拓展到了多视图立体中,同时加上了多视图中的几何一致性检验,即通过共面单应变换来确定多视图的共视关系,因进行视角选择和匹配代价计算,本文不再赘述。开源代码为:https://github.com/kysucix/fusibile
4.ACMM——自适应棋盘格采样Gipuma提出的棋盘格策略不仅使得深度估计的效率不断提升,还将PatchMatch引入了多视图几何的算法之中,在其基础上,华中科技大学根据gipuma中棋盘格的固定采样问题提出了一种自适应棋盘格采样策略(图5右)。首先,ACMM采用Gipuma中的思想对中的像素进行划分,并分为红黑两组。不同与使用固定的期盼,ACMM将扩散领域扩展成四个V形区域和四个长条区域(图5 右)。每个V形区域包含7个样本,而每个长条区域包含11个样本(注:图5右图仅为示意图),论文中数值和代码吻合。然后在这样的区域重随机采样,并进行视差对比。同时引入多视图的检测,这意味着一个拥有更小的多视图匹配代价的视差可以更好的表示三维平面。通过实验表明这样的策略可以加速算法的收敛,同时提升了算法的精度。
图5 Gipuma(左)与ACMM(右)采样策略对比当然,ACMM方法中自适应传播策略仅仅是一个小改进,在深度传播之后,ACMM还进行了视角选择和多尺度、多视角的几何一致性检验,并以低分辨率下的深度图上采样后的结果,利用几何一致性指导高分辨率深度图的深度估计,文中利用前向-后向重投影误差来表示这个几何一致性,在优化后的结果,特别是弱纹理部分的完整度(图6-f)则大大增加。
图6 深度估计结果比较
5.深度学习方法——SPN传统方法固然有其精度高的优势,但还需要提及深度学习方法,这里我们介绍一种经典的深度补全应用上的传统方法——空间传播网络(Spatial Propagation Network[4],以下简称为SPN)。SPN是通过监督学习方法,学习深度/分割结果在特征上的空间临近关系,进而指导稀疏图向稠密图的转换。在该文中,SPN主要用于图像分割应用,方法与深度估计的原理一致,网络结构如图7所示,首先,利用RGB图通过一个神经网络学习在不同方向上的当前像素与临近像素的邻接关系(Affinity),图7中,guidance network输出了四个绿色的结果就表示四个传播方向的邻接关系图。然后输入一个粗略的分割掩膜,通过与四个传播方向的邻接关系卷积运算,再通过反卷积得到优化结果,本质上,是通过RGB或者高维特征,计算每个像素在邻域内与其他像素的邻接关系,从而来学习卷积核中的权重,越相似的特征,其学习到的权重越大。
图7 SPN网络图文中一开始介绍了一种单路四向传播的策略(图8-a),为了传播效率和准确度,又介绍了三路四向传播的策略(图8-b)。对于单路四向传播,以从左向右传播为例(1式),

a)单路四向传播策略 b)三路四向传播策略图8 SPN传播策略将预分割结果输入到三路四向SPN网络中,可以得到更为精确的结果,而且相比较基于深度学习的马尔可夫场方法效率更快且精度更高。
图9 图像分割结果
6.总结本文主要回忆了PMS的传播方法,并介绍了在此基础上的一些改进方法,例如Gipuma和ACMM等多视图立体的传统方法,还有基于深度学习的SPN网络。可以看到,虽然本质上深度传播知识一种加快收敛的策略,但却能在弱纹理的空间上,极大地提升估计精度和分割精度。目前在ETH3D高分辨率数据集跑分上,领先的方法85%以上都是基于传播和PatchMatch改进的方法,在GPU加速下,可以估计出非常完整且高精度的场景和物体模型。下一篇文章,我们将介绍最新的CVPR2021的PatchMatchNet[5],这篇文章不仅将PMS的思想深度学习化,而且是少有的将传播策略使用在多视图立体中的方法,敬请期待。
参考文献[1] Bleyer M, Rhemann C, Rother C. PatchMatch Stereo-Stereo Matching with Slanted Support Windows[C]//Bmvc. 2011, 11: 1-11.[2] Galliani S, Lasinger K, Schindler K. Gipuma: Massively parallel multi-view stereo reconstruction[J]. Publikationen der Deutschen Gesellschaft für Photogrammetrie, Fernerkundung und Geoinformation e. V, 2016, 25(361-369): 2.[3] Xu Q, Tao W. Multi-scale geometric consistency guided multi-view stereo[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019: 5483-5492.[4] Liu S, De Mello S, Gu J, et al. Learning affinity via spatial propagation networks[J]. arXiv preprint arXiv:1710.01020, 2017.[5] Wang F, Galliani S, Vogel C, et al. PatchmatchNet: Learned Multi-View Patchmatch Stereo[J]. arXiv preprint arXiv:2012.01411, 2020.
备注:作者也是我们
「3D视觉从入门到精通」特邀嘉宾:
一个超干货的3D视觉学习社区本文仅做学术分享,如有侵权,请联系删文。
下载1在「3D视觉工坊」公众号后台回复:
3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2在「3D视觉工坊」公众号后台回复:
3D视觉github资源汇总,即可下载包括
结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3在「3D视觉工坊」公众号后台回复:
相机标定,即可下载独家
相机标定学习课件与视频网址;后台回复:
立体匹配,即可下载独家
立体匹配学习课件与视频网址。
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可
申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题觉得有用,麻烦给个赞和在看~