{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"nvidiaTeslaT4","dataSources":[{"sourceId":91498,"databundleVersionId":11655853,"sourceType":"competition"},{"sourceId":11881365,"sourceType":"datasetVersion","datasetId":7354416},{"sourceId":12050928,"sourceType":"datasetVersion","datasetId":7584131},{"sourceId":234806300,"sourceType":"kernelVersion"},{"sourceId":237364349,"sourceType":"kernelVersion"},{"sourceId":238248914,"sourceType":"kernelVersion"},{"sourceId":240721482,"sourceType":"kernelVersion"},{"sourceId":241082379,"sourceType":"kernelVersion"},{"sourceId":241289474,"sourceType":"kernelVersion"},{"sourceId":4534,"sourceType":"modelInstanceVersion","modelInstanceId":3326,"modelId":986}],"dockerImageVersionId":30919,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"Version1, VGGT with refiner\n\nVersion2, VGGT w/o refiner\n\nVersion3, LightGlue with refiner","metadata":{}},{"cell_type":"code","source":"DEBUG = False\n\nimport os\nif os.getenv('KAGGLE_IS_COMPETITION_RERUN'):\n    DEBUG = False\n\nSAVE_FLAG = (not os.getenv('KAGGLE_IS_COMPETITION_RERUN') and not DEBUG)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def install():\n\n    !dpkg -i --force-depends /kaggle/input/colmap-offline-installer/archives/*.deb >/dev/null 2>&1\n    \n    !cp -r /kaggle/input/incremental-model-refiner-binary/colmap-bin /kaggle/working\n    !chmod +x /kaggle/working/colmap-bin/bin/colmap\n\n    import os\n    os.environ[\"COLMAP_PATH\"] = \"/kaggle/working/colmap-bin/bin/colmap\"\n    \n    COLMAP_PATH = os.environ.get(\"COLMAP_PATH\", \"colmap\")\n    !{COLMAP_PATH} incremental_model_refiner -h","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def preprocess():\n    \n    !mkdir -p /root/.cache/torch/hub/checkpoints\n\n    # KeyNet - adalam\n    !cp -v /kaggle/input/kornia-local-feature-weights/* /root/.cache/torch/hub/checkpoints/\n\n    # VGGT Tracker\n    !cp -v /kaggle/input/lightglue-offline/ALIKED/aliked-n16.pth /root/.cache/torch/hub/checkpoints/\n    !cp -v /kaggle/input/lightglue-offline/ALIKED/aliked_lightglue_v0-1_arxiv.pth /root/.cache/torch/hub/checkpoints/aliked_lightglue_v0-1_arxiv-pth\n    !cp -v /kaggle/input/lightglue-offline/SuperPoint/superpoint_v1.pth /root/.cache/torch/hub/checkpoints/\n\n    # ALIKED - LightGlue\n    !cp -v /kaggle/input/lightglue-offline/ALIKED/aliked-n16.pth /root/.cache/torch/hub/checkpoints/\n    !cp -v /kaggle/input/lightglue-offline/ALIKED/aliked_lightglue_v0-1_arxiv.pth /root/.cache/torch/hub/checkpoints/aliked_lightglue_v0-1_arxiv.pth\n    \n    return","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def inference():\n\n    !python3 /kaggle/input/imc2025-exp66-vggt-with-incremental-model-refiner/inference.py \\\n        param=submission-lightglue\n\n    return","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\n\ndef postprocess():\n    \n    df = pd.read_csv(\"/kaggle/working/submission.csv\")\n    !rm /kaggle/working/*.csv\n    !rm -r /kaggle/working/outputs\n    !rm -r /kaggle/working/featureout\n    !rm -r /kaggle/working/colmap-bin\n\n    df.to_csv(\"/kaggle/working/submission.csv\", index=False)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"if SAVE_FLAG:\n    !cp /kaggle/input/image-matching-challenge-2025/sample_submission.csv /kaggle/working/submission.csv\nelse:\n    install()\n    preprocess()\n    inference()\n    postprocess()","metadata":{"trusted":true,"_kg_hide-output":true},"outputs":[],"execution_count":null}]}