|
| 1 | +<p align="center"> |
| 2 | + <h1 align="center">3D Neural Edge Reconstruction</h1> |
| 3 | + <p align="center"> |
| 4 | + <a href="https://github.com/rayeeli/"><strong>Lei Li</strong></a> |
| 5 | + · |
| 6 | + <a href="https://pengsongyou.github.io/"><strong>Songyou Peng</strong></a> |
| 7 | + · |
| 8 | + <a href="https://niujinshuchong.github.io/"><strong>Zehao Yu</strong></a> |
| 9 | + · |
| 10 | + <a href="http://b1ueber2y.me/"><strong>Shaohui Liu</strong></a> |
| 11 | + · |
| 12 | + <a href="https://rpautrat.github.io/"><strong>Rémi Pautrat</strong></a> |
| 13 | + <br> |
| 14 | + <a href=""><strong>Xiaochuan Yin</strong></a> |
| 15 | + · |
| 16 | + <a href="https://people.inf.ethz.ch/pomarc/"><strong>Marc Pollefeys</strong></a> |
| 17 | + </p> |
| 18 | + <h2 align="center">CVPR 2024</h2> |
| 19 | + <h3 align="center"><a href="https://arxiv.org/pdf/2405.19295">Paper</a> | <a href="https://youtu.be/ONXfu2b4Nug">Video</a> | <a href="https://neural-edge-map.github.io/">Project Page</a></h3> |
| 20 | +</p> |
| 21 | + |
| 22 | +<p align="center" style="display: flex; justify-content: center;"> |
| 23 | + <img src="./media/replica.gif" style="width: 80%;" /> |
| 24 | +</p> |
| 25 | + |
| 26 | +<p align="center"> |
| 27 | +EMAP enables 3D edge reconstruction from multi-view 2D edge maps. |
| 28 | +</p> |
| 29 | +<br> |
| 30 | + |
| 31 | +## Installation |
| 32 | + |
| 33 | +``` |
| 34 | +git clone https://github.com/cvg/EMAP.git |
| 35 | +cd EMAP |
| 36 | +
|
| 37 | +conda create -n emap python=3.8 |
| 38 | +conda activate emap |
| 39 | +
|
| 40 | +conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=12.1 -c pytorch -c nvidia |
| 41 | +pip install -r requirements.txt |
| 42 | +``` |
| 43 | + |
| 44 | +## Datasets |
| 45 | +Download datasets from [huggingface](https://huggingface.co/datasets/rayeeli/EMAP): |
| 46 | +``` |
| 47 | +python scripts/download_data.py |
| 48 | +``` |
| 49 | +The data is organized as follows: |
| 50 | + |
| 51 | +``` |
| 52 | +<scan_id> |
| 53 | +|-- meta_data.json # camera parameters |
| 54 | +|-- color # images for each view |
| 55 | + |-- 0_colors.png |
| 56 | + |-- 1_colors.png |
| 57 | + ... |
| 58 | +|-- edge_DexiNed # edge maps extracted from DexiNed |
| 59 | + |-- 0_colors.png |
| 60 | + |-- 1_colors.png |
| 61 | + ... |
| 62 | +|-- edge_PidiNet # edge maps extracted from PidiNet |
| 63 | + |-- 0_colors.png |
| 64 | + |-- 1_colors.png |
| 65 | + ... |
| 66 | +``` |
| 67 | + |
| 68 | +## Training and Evaluation |
| 69 | +To train and extract edges on different datasets, use the following commands: |
| 70 | + |
| 71 | +#### ABC-NEF_Edge Dataset |
| 72 | +``` |
| 73 | +bash scripts/run_ABC.bash |
| 74 | +``` |
| 75 | + |
| 76 | +#### Replica_Edge Dataset |
| 77 | +``` |
| 78 | +bash scripts/run_Replica.bash |
| 79 | +``` |
| 80 | + |
| 81 | +#### DTU_Edge Dataset |
| 82 | +``` |
| 83 | +bash scripts/run_DTU.bash |
| 84 | +``` |
| 85 | + |
| 86 | +## Code Release Status |
| 87 | +- [x] Training Code |
| 88 | +- [x] Inference Code |
| 89 | +- [x] Evaluation Code |
| 90 | +- [ ] Custom Dataset Support |
| 91 | + |
| 92 | +## License |
| 93 | + |
| 94 | +Shield: [](https://opensource.org/licenses/MIT) |
| 95 | + |
| 96 | +The majority of EMAP is licensed under a [MIT License](LICENSE). |
| 97 | + |
| 98 | +## <a name="CitingEMAP"></a>Citing EMAP |
| 99 | + |
| 100 | +If you find the code useful, please consider the following BibTeX entry. |
| 101 | + |
| 102 | +```BibTeX |
| 103 | +@InProceedings{li2024neural, |
| 104 | + title={3D Neural Edge Reconstruction}, |
| 105 | + author={Li, Lei and Peng, Songyou and Yu, Zehao and Liu, Shaohui and Pautrat, R{\'e}mi and Yin, Xiaochuan and Pollefeys, Marc}, |
| 106 | + booktitle={IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, |
| 107 | + year={2024}, |
| 108 | +} |
| 109 | +``` |
| 110 | + |
| 111 | +## Contact |
| 112 | +If you encounter any issues, you can also contact Lei through lllei.li0386@gmail.com. |
| 113 | + |
| 114 | +## Acknowledgement |
| 115 | + |
| 116 | +This project is built upon [NeuralUDF](https://github.com/xxlong0/NeuralUDF), [NeuS](https://github.com/Totoro97/NeuS) and [MeshUDF](https://github.com/cvlab-epfl/MeshUDF). We use pretrained [DexiNed](https://github.com/xavysp/DexiNed) and [PidiNet](https://github.com/hellozhuo/pidinet) for edge map extraction. We thank all the authors for their great work and repos. |
0 commit comments