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天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

PatchMatchStereo中的深度/视差传播策略相关推荐

  1. 计算机位置隐私保护的书,移动群智感知中基于深度强化学习的位置隐私保护策略...

    [摘要] 群智感知服务的广泛应用带来了个人隐私的泄漏,然而现存的隐私保护策略不能适应群智感知环境.针对相关缺陷,提出了一种移动群智感知中基于深度强化学习的隐私保护策略.该策略通过泛化任务,使得攻击者无 ...

  2. 4.2 深层网络中的前向传播-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 4.1 深层神经网络 回到目录 4.3 核对矩阵的维数 深层网络中的前向传播 (Forward Propagation in a Deep Network) 跟往常一样,我们 ...

  3. 图像识别中的深度学习【香港中文大学王晓刚】

    深度学习发展历史 深度学习是近十年来人工智能领域取得的重要突破.它在语音识别.自然语言处理.计算机视觉.图像与视频分析.多媒体等诸多领域的应用取得了巨大成功.现有的深度学习模型属于神经网络.神经网络的 ...

  4. 论文阅读:(2020版)A Survey on Deep Learning for Named Entity Recognition 命名实体识别中的深度学习方法

    A Survey on Deep Learning for Named Entity Recognition 命名实体识别中的深度学习方法 目录 A Survey on Deep Learning f ...

  5. 【综述】分子表示与性质预测中的深度学习方法

    Deep learning methods for molecular representation and property prediction 目录 总结 一.Introduction 二.Se ...

  6. 图像超分中的深度学习网络

    图像超分中的深度学习网络 质量评估 操作通道 有监督算法 预上采样 后采样超分 逐步上采样 迭代上下采样 上采样的学习方式 残差块 递归学习 多路径学习 密集连接 通道注意力机制 其他卷积 像素递归网 ...

  7. 从原理到应用落地,一文读懂推荐系统中的深度学习技术

    作者丨gongyouliu.zandy 来源丨大数据与人工智能(ID:ai-big-data) 2016年DeepMind开发的AlphaGo在围棋对决中战胜了韩国九段选手李世石,一时成为轰动全球的重 ...

  8. 脑影像中的深度学习研究:前景与挑战

    深度学习(DL)在应用于自然图像分析时非常成功.相比之下,将其用于神经影像学数据分析时则存在一些独特的挑战,包括更高的维度.更小的样本量.多种异质模态以及有限的真实标签(ground truth).在 ...

  9. 《Python自然语言处理-雅兰·萨纳卡(Jalaj Thanaki)》学习笔记:09 NLU和NLG问题中的深度学习

    09 NLU和NLG问题中的深度学习 9.1 人工智能概览 9.1.1 人工智能的基础 9.1.2 人工智能的阶段 9.1.3 人工智能的种类 9.1.4 人工智能的目标和应用 9.2 NLU和NLG ...

最新文章

  1. mysql 5.7.18-winx64_mysql 5.7.18 winx64安装配置方法图文教程
  2. nova6的4g版能支持鸿蒙,鸿蒙公测新增6款手机,都是nova系列,包括一款4G手机
  3. 独家 | ​多项式回归:从零开始学习梯度下降
  4. JAVA语言基础组成(2)
  5. 第三十一篇:SOUI布局之相对于特定兄弟窗口
  6. 在服务器搭建深度学习环境随笔
  7. 一款嵌入式监听地图测试软件(开发)
  8. SAP Commerce(原Hybris)的订单处理框架和SAP CRM One Order框架
  9. html画布 缩放的正方形,html5-canvas – 在动画HTML5画布中缩放和平移
  10. Win+Tab键实现自定义程序列表间的窗口切换
  11. 的标题形状工具在哪里_一分钟教你做一款让人眼前一亮的标题!你想学吗?「Word技巧」...
  12. 【水管规格】4分管、6分管水管的直径,丝口螺纹,铝塑管接头
  13. 【VTK】装配体Assembly的使用
  14. ab网站压力测试命令的参数、输出结果的中文注解
  15. HTML-简单表单制作
  16. win7用友u8安装教程_用友u8怎么安装?分享一组用友u8安装教程(图文)
  17. Python实现qq邮箱自动登录
  18. css 文字发光效果
  19. day03 数据预处理
  20. DKN: Deep Knowledge-Aware Network for News Recommendation阅读笔记

热门文章

  1. get_date.sh
  2. 提高性能:用RequireJS优化Wijmo Web页面
  3. JFinal 源码build脚本
  4. 虚函数表指针,虚函数表
  5. 某资深互联网人分析:支付宝面临巨大困难,被微信争夺市场,年轻用户流失严重...
  6. 聊聊数据库中的那些锁
  7. 骑士卡:基于Kafka搭建消息中心,上亿消息推送轻松完成
  8. Java 工程师必须掌握的 JVM 类加载机制!
  9. 本来想用“{{”秀一波,结果却导致了内存溢出!
  10. 腾讯离职,迪士尼给发了offer