cvg / Hierarchical-Localization

Visual localization made easy with hloc
Apache License 2.0
3.24k stars 599 forks source link

superpoint_inloc uses superglue with outdoor weights #392

Closed jytime closed 6 months ago

jytime commented 6 months ago

Hi Team,

In the example of pipeline_InLoc, we are using

feature_conf = extract_features.confs["superpoint_inloc"]
matcher_conf = match_features.confs["superglue"]

where the default dict for "superglue" is

    "superglue": {
        "output": "matches-superglue",
        "model": {
            "name": "superglue",
            "weights": "outdoor",
            "sinkhorn_iterations": 50,
        },
    },

Is this a bug or specially designed? Should we change it to below?

feature_conf = extract_features.confs["superpoint_inloc"]
matcher_conf = match_features.confs["superglue"]
matcher_conf['model']['weights'] = "indoor"
sarlinpe commented 6 months ago

I recommend not using the SuperGlue's outdoor weights for anything else than ScanNet-like data (low res, motion blur, low texture, no illumination changes). For any other data, including IncLoc (higher res, high texture, illumination changes due to different cameras), I think that the outdoor model works better.