摘要
PatchMatch 算法是多视密集匹配中一种常用的算法,但其核心算法以随机数为基础展开,匹配结
果存在稳定性过低的问题。本文对 PatchMatch 多视密集匹配算法进行了改进,在匹配代价、深度
信息初始化和深度信息随机搜索中充分应用了点线信息,尽可能避免随机数带来的不确定性。最后
本文使用 Strecha 数据集进行了测试,结果表明,本文算法能有效避免由于随机数导致的匹配结
果不稳定的问题,获得了非常稳健的重建结果。
Abstract
The PatchMatch Algorithm is very common in Multi-View Dense Matching, but it's
reconstruction result is not stable due to the random part in the algorithm. In this
paper, we improve the PatchMatch Algorithm by Line and Point Information, which is
used in the Calculation of Matching Cost, the Initialization of Depth Data and the
Random Searching of Depth Data. Finally, we test our algorithm on the Strecha
Dataset and the results show that our algorithm can avoid the instability caused by
the random and has a much more stable reconstruction result.
译
关键词
三维重建; 多视密集匹配; PatchMatch
Keywords
3D Reconstruction; Multi-View Dense Matching; PatchMatch
译
多视密集匹配是一种在已知相机位姿信息的前提下,重建稠密三维点云的技术,可以分为 4 种类型,
其中较为常用的是特征点扩张法
[1]
和深度图融合法
[2-4]
;除此之外,近年来还出现了基于深度学习的
方法
[5]
。何豫航等
[1]
使用 CMVS\PMVS 密集匹配方法,通过匹配、膨胀、过滤 3 个步骤,在局部
光度一致性和全局可见性约束下完成密集匹配。闫利等
[2]
使用影像重叠关系构建立体相对,并引入
导向中值滤波改进了 SGM 算法。Yao 等
[5]
提出了一种端到端框架,先使用 2 维卷积网络生成初始
深度图,然后使用 3 维卷积神经网络优化深度图。
PatchMatch 算法简单高效,被广泛应用于多视密集匹配中;该算法由 Barnes 等
[6]
最先提出,当
时主要应用在图像间寻找相似图像块;之后,Bleyer 等
[7]
将其应用在双目密集匹配上;Shen
[3]
基
于深度图融合法将其引入多视密集匹配中,实现了大规模三维重建;Galliani 等
[4]
使用 GPU 提高
了该算法的重建效率。经典 PatchMatch 算法基于随机数进行重建,导致匹配结果稳定性不高,重
建 质 量 较 低 。 针 对 此 问 题 , 本 文 提 出 了 基 于 点 线 信 息 的 PatchMatch 算 法 , 使 用 CNCC
(constrained normalized cross correlation)匹配代价,并对深度信息初始化和随机搜索进行
了改进。实验结果表明本文改进的 PatchMatch 算法能够显著提高匹配结果的稳定性,提高重建结
果质量。
1 算法概述