/Render2Loc

This repository contains the official implementation of the Render2loc localization algorithm.

Primary LanguagePython

Render-and-Compare: Cross-view 6-DoF Localization from Noisy Prior

This repository contains the official implementation of the Render2loc localization algorithm.

Please make sure you have access to the AirLoc dataset and have set it up properly before proceeding.

The Render2Loc localization algorithm is officially presented in the paper accepted to ICME 2022
Render-and-Compare: Cross-view 6-DoF Localization from Noisy Prior
Links: arXiv | code repos

Get started

Installation

you can refer to hloc, which provides some installation guide ,and you have to install immatch. please refer to immatch. You'll also need to download blender, a rendering tool.

python3 -m venv venvrender2loc
source venvrender2loc/bin/activate
pip3 install pip -U && pip3 install -r setup/requirements.txt

How To Run?

Data Preparation

  1. We will provide our AirLoc dataset, you can download from baidu cloud password:egkh. And the data structure is as follows.
-- data # (you should make new dir to put all dataset)
    -- 3D Model 
    -- Query
        -- image
            -- phone
                -- day
                -- night
            -- UAV
                -- day
                -- night
        -- queries_gt # (pose gt .txt)
        -- queries_intrinsics # (intrinsic.txt)
        -- queries_prior # (pose prior.txt)

Performance Testing

python3 -m pipeline.pipeline_image

Citation

If you find our code useful for your research, please cite the paper:

@article{yan2023render,
  title={Render-and-Compare: Cross-View 6 DoF Localization from Noisy Prior},
  author={Yan, Shen and Cheng, Xiaoya and Liu, Yuxiang and Zhu, Juelin and Wu, Rouwan and Liu, Yu and Zhang, Maojun},
  journal={arXiv preprint arXiv:2302.06287},
  year={2023}
}