SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2406.09756 · 2024

Grounding Image Matching in 3D with MASt3R

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 17 functions out of this paper's own repositories and ran 14 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
naver/mast3r canonical 14 of 17
FunctionStatusWhere it lives
apply_log_to_norm Ran naver/mast3r/mast3r/losses.py
pointer only (licence: NONE) · get_code("f3fd659d5f95c771")
batched_triangulate Ran naver/mast3r/mast3r/cloud_opt/triangulation.py
pointer only (licence: NOASSERTION) · get_code("474afb3f38b2c1bc")
bruteforce_reciprocal_nns Ran naver/mast3r/mast3r/fast_nn.py
pointer only (licence: NOASSERTION) · get_code("60d067ba9a3fb4a6")
convert_dust3r_pairs_naming Ran naver/mast3r/mast3r/cloud_opt/sparse_ga.py
pointer only (licence: NOASSERTION) · get_code("f6b7e329975502ed")
gamma_loss Ran naver/mast3r/mast3r/cloud_opt/utils/losses.py
pointer only (licence: NOASSERTION) · get_code("a28441649e04c270")
get_similarities Ran naver/mast3r/mast3r/losses.py
pointer only (licence: NONE) · get_code("6e6b3f8c6d2c3d69")
how_select_local Ran naver/mast3r/mast3r/retrieval/model.py
pointer only (licence: NOASSERTION) · get_code("eaadf59dfacc29f6")
l05_loss Ran naver/mast3r/mast3r/cloud_opt/utils/losses.py
pointer only (licence: NOASSERTION) · get_code("fdeb9a710048befb")
l1_loss Ran naver/mast3r/mast3r/cloud_opt/utils/losses.py
pointer only (licence: NOASSERTION) · get_code("57af2b727ab331be")
merge_corres Ran naver/mast3r/mast3r/fast_nn.py
pointer only (licence: NOASSERTION) · get_code("6575a76869abe3b3")
pcawhitenlearn_shrinkage Ran naver/mast3r/mast3r/retrieval/model.py
pointer only (licence: NOASSERTION) · get_code("68208f1e15cc2916")
reg_desc Ran naver/mast3r/mast3r/catmlp_dpt_head.py
pointer only (licence: NOASSERTION) · get_code("2e16111f6a6717ac")
sel Ran naver/mast3r/mast3r/image_pairs.py
pointer only (licence: NOASSERTION) · get_code("a2c256044b1ba139")
weighted_spoc Ran naver/mast3r/mast3r/retrieval/model.py
pointer only (licence: NOASSERTION) · get_code("f8448367aee10bcc")
filter_pairs_seq Not yet run naver/mast3r/mast3r/image_pairs.py
pointer only (licence: NONE) · get_code("d07895a2f6ed02f8")
load_model Not yet run naver/mast3r/mast3r/model.py
pointer only (licence: NOASSERTION) · get_code("9a09f31d98cc4d88")
matches_to_depths Not yet run naver/mast3r/mast3r/cloud_opt/triangulation.py
pointer only (licence: NOASSERTION) · get_code("c030fad7954a65d2")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Image Matching is a core component of all best-performing algorithms and pipelines in 3D vision. Yet despite matching being fundamentally a 3D problem, intrinsically linked to camera pose and scene geometry, it is typically treated as a 2D problem. This makes sense as the goal of matching is to establish correspondences between 2D pixel fields, but also seems like a potentially hazardous choice. In this work, we take a different stance and propose to cast matching as a 3D task with DUSt3R, a recent and powerful 3D reconstruction framework based on Transformers. Based on pointmaps regression, this method displayed impressive robustness in matching views with extreme viewpoint changes, yet with limited accuracy. We aim here to improve the matching capabilities of such an approach while preserving its robustness. We thus propose to augment the DUSt3R network with a new head that outputs dense local features, trained with an additional matching loss. We further address the issue of quadratic complexity of dense matching, which becomes prohibitively slow for downstream applications if not carefully treated. We introduce a fast reciprocal matching scheme that not only accelerates matching by orders of magnitude, but also comes with theoretical guarantees and, lastly, yields improved results. Extensive experiments show that our approach, coined MASt3R, significantly outperforms the state of the art on multiple matching tasks. In particular, it beats the best published methods by 30% (absolute improvement) in VCRE AUC on the extremely challenging Map-free localization dataset.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2406.09756")
get_code_for_paper("2406.09756")
have("2406.09756")

Connect an agent — have() is free.