/Awesome-PatchMatch-MVS

πŸ“‘ A list of awesome PatchMatch multi-view stereo papers

Awesome-PatchMatch-MVS (Algorithms and Softwares)

Timeline of PatchMatch MVS Algorithms

timeline_for_PatchMatch_MVS

( πŸ’» means code available)

PatchMatch Stereo

PatchMatch MVS

Plane Prior Assistance

Multi-view Reconstruction Softwares

  • Academic Softwares
    • πŸ’» MVE (an image-based reconstruction environment)
    • πŸ’» OpenMVG (open Multiple View Geometry library)
    • πŸ’» OpenMVS (open Multi-View Stereo reconstruction library)
    • πŸ’» COLMAP (a general-purpose Structure-from-Motion and Multi-View Stereo pipeline) [sparse] [dense]
  • Commercial Softwares
  • Visualization (visualization of point cloud & triangle mesh)

More about PatchMatch for Multi-view Stereo

πŸ“ƒ PatchMatch for MVS (from Section 2 of TAPA-MVS paper)

The PatchMatch seminal paper by Barnes et al. proposed a general method to efficiently compute an approximate nearest neighbor function defining the pixelwise correspondence among patches of two images. The idea is to use a collaborative search which exploits local coherency. PatchMatch initializes each pixel of an image with a random guess about the location of the nearest neighbor in the second image. Then, each pixel propagates its estimate to the neighboring pixels and, among these estimates, the most likely is assigned to the pixel itself. As a result the best estimates spread along the entire image.

Bleyer et al. re-framed this method into the stereo matching realm. Indeed, for each image patch, stereo matching looks in the second image for the corresponding patch, i.e. the nearest neighbor in the sense of photometric consistency. To improve its robustness the matching function is not limited to fixed sized squared windows, but it extends PatchMatch to estimate a pixel-wise plane orientation adopted to define the matching procedure on slanted support windows. Heise et al. integrated the PatchMatch for stereo into a variational formulation to regularize the estimate with quadratic relaxation. This approach produces smoother depth estimates while preserving edges discontinuities.

The previous works successfully applied the PatchMatch idea to the pair-wise stereo matching problem. The natural extension to Multi-View Stereo was proposed by Shen. Here the author selects a subset of camera pairs depending on the number of shared points computed by Structure from Motion and their mutual parallax angle. Then he estimates a depth map for the selected subset of camera pairs through a simplified version of the method of Bleyer et al.. The algorithm refines the depth maps by enforcing consistency among multiple views, and it finally merges the depth maps into a point cloud.

A different multi-view approach by Galliani et al. modifies the PatchMatch propagation scheme in such a way that computation can better exploit the parallelization of GPUs. Differently, from Shen, they aggregate, for each reference camera, a set of matching costs compute from different source images. One of the major drawbacks of these approaches is the decoupled depth estimation and camera pairs selection. Xu and Tao recently proposed an attempt to overcome this issue; they extended with a more efficient propagation pattern and, in particular, their optimization procedure jointly considers all the views and all the depth hypotheses.

Rather than considering the whole set of images to compute the matching costs, Zheng et al. proposed an elegant method to deal with view selection. They designed a robust method framing the joint depth estimation and pixel-wise view selection problem into a variational approximation framework. Following a generalized Expectation Maximization paradigm, they alternate depth update with a PatchMatch propagation scheme, keeping the view selection fixed, and pixel-wise view inference with the forward-backward algorithm, keeping the depth fixed.

Schonberger et al. extended this method to jointly estimate per-pixel depths and normals, such that, differently from Zheng et al., the knowledge of the normals enables slanted support windows to avoid the fronto-parallel assumption. Then they add view-dependent priors to select views that more likely induce robust matching cost computation.

More about Traditional Methods of Multi-view Stereo

MVS Traditional Methods

Welcome to contribute to this Repo!