EMAP
EMAP copied to clipboard
[CVPR'24] 3D Neural Edge Reconstruction
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 Edge Extraction
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
Evaluation
To evaluate extracted edges on ABC-NEF_Edge dataset, use the following commands:
ABC-NEF_Edge Dataset
python src/eval/eval_ABC.py
Code Release Status
- [x] Training Code
- [x] Inference Code
- [x] Evaluation Code
- [ ] Custom Dataset Support
License
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 [email protected].
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.