cvg / EMAP

[CVPR'24] 3D Neural Edge Reconstruction
https://neural-edge-map.github.io/
MIT License
125 stars 5 forks source link
3d-reconstruction curves edges lines nerf neural-fields neural-implicit-representations

3D Neural Edge Reconstruction

Lei Li · Songyou Peng · Zehao Yu · Shaohui Liu · Rémi Pautrat
Xiaochuan Yin · Marc Pollefeys

CVPR 2024

Paper | Video | Project Page

EMAP enables 3D edge reconstruction from multi-view 2D edge maps.


Installation

git clone https://github.com/cvg/EMAP.git
cd EMAP

conda create -n emap python=3.8
conda activate emap

conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=12.1 -c pytorch -c nvidia
pip install -r requirements.txt

Datasets

Download datasets:

python scripts/download_data.py 

The data is organized as follows:

<scan_id>
|-- meta_data.json      # camera parameters
|-- color               # images for each view
    |-- 0_colors.png
    |-- 1_colors.png
    ...
|-- edge_DexiNed        # edge maps extracted from DexiNed
    |-- 0_colors.png
    |-- 1_colors.png
    ...
|-- edge_PidiNet        # edge maps extracted from PidiNet
    |-- 0_colors.png
    |-- 1_colors.png
    ...

Training and Evaluation

To train and extract edges on different datasets, use the following commands:

ABC-NEF_Edge Dataset

bash scripts/run_ABC.bash

Replica_Edge Dataset

bash scripts/run_Replica.bash

DTU_Edge Dataset

bash scripts/run_DTU.bash

Code Release Status

License

Shield: License: MIT

The majority of EMAP is licensed under a MIT License.

Citing EMAP

If you find the code useful, please consider the following BibTeX entry.

@InProceedings{li2024neural,
  title={3D Neural Edge Reconstruction},
  author={Li, Lei and Peng, Songyou and Yu, Zehao and Liu, Shaohui and Pautrat, R{\'e}mi and Yin, Xiaochuan and Pollefeys, Marc},
  booktitle={IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2024},
}

Contact

If you encounter any issues, you can also contact Lei through lllei.li0386@gmail.com.

Acknowledgement

This project is built upon NeuralUDF, NeuS and MeshUDF. We use pretrained DexiNed and PidiNet for edge map extraction. We thank all the authors for their great work and repos.