Multi-view stereo helpers (pytheia.mvs)¶
pyTheia exposes a small MVS-oriented API from the C++ Theia tree. Bindings: mvs.cc.
ViewSelectionMVSNet¶
pt.mvs.ViewSelectionMVSNet(reconstruction, num_neighbors, theta0=5.0, sigma1=1.0, sigma2=10.0)
Selects, for each view, a ranked list of neighbor views suited for MVSNet-style depth inference, using covisibility and triangulation angle cues as in:
Yao et al., MVSNet: Depth Inference for Unstructured Multi-view Stereo, ECCV 2018.
Returns: dict[int, dict[float, int]] — outer key is a view id; each inner dict maps a score (float) to a neighbor view id (int), with scores ordered for best-first iteration (C++ std::map<double, ViewId, std::greater<double>>).
Parameters:
num_neighbors— how many neighbors to retain per view (interpreted with the scoring function in C++).theta0,sigma1,sigma2— angular / weighting parameters (seeview_selection_mvsnet.hand the.ccimplementation).
This does not run a learned MVS network; it only proposes view subsets given an existing Reconstruction with cameras and tracks.
See also¶
- SfM — building a
Reconstructionbefore view selection - Triangulation — structure needed for meaningful covisibility