zju3dv/manhattan_sdf
Code for "Neural 3D Scene Reconstruction with the Manhattan-world Assumption" CVPR 2022 Oral
Manhattan‑SDF – Neural 3D Reconstruction with a Manhattan‑world Prior
What it is – A research codebase that reconstructs indoor 3‑D scenes from RGB‑D images by learning a signed‑distance‑function (SDF) representation. It extends recent neural rendering approaches (NeRF, VolSDF, NeuS, etc.) with a Manhattan‑world assumption, i.e., most surfaces are aligned with three orthogonal axes, which helps regularise the geometry and improve reconstruction quality on cluttered indoor scans.
Key components
- Neural SDF model built on the VolSDF framework, modified to enforce axis‑aligned planar priors.
- Training pipeline that ingests multi‑view ScanNet data (or custom datasets) and optimises the SDF together with camera poses.
- Mesh extraction script that converts the learned SDF into a watertight
.objmesh. - Evaluation utilities for quantitative comparison against baselines such as COLMAP, ACMP, NeRF, UNISURF, NeuS, and VolSDF.
Getting started
- Environment – Run
conda env create -f environment.ymland activate withconda activate manhattan. - Data – Download the pre‑processed ScanNet scenes from the provided Google‑Drive link and place them under
data/as required by the config files. - Training – Example command:
python train_net.py --cfg_file configs/scannet/0050.yaml gpus 0, exp_name scannet_0050 - Mesh extraction – After training, run:
python run.py --type mesh_extract --output_mesh result.obj \ --cfg_file configs/scannet/0050.yaml gpus 0, exp_name scannet_0050 - Evaluation – Use the same
run.pywith--type evaluateto reproduce the paper’s numbers.
Custom data – The repository includes a docs/CUSTOM.md guide that explains how to adapt the pipeline to your own image sets (camera intrinsics, pose format, etc.).
Why it matters – By leveraging the Manhattan‑world prior, the method achieves sharper, more accurate indoor reconstructions than vanilla neural SDF/NeRF approaches, especially in scenes with many axis‑aligned walls and furniture. This makes it useful for applications such as indoor mapping, AR/VR content creation, and robotics perception.
Citation – If you use the code, cite the CVPR‑2022 paper:
@inproceedings{guo2022manhattan,
title={Neural 3D Scene Reconstruction with the Manhattan-world Assumption},
author={Guo, Haoyu and Peng, Sida and Lin, Haotong and Wang, Qianqian and Zhang, Guofeng and Bao, Hujun and Zhou, Xiaowei},
booktitle={CVPR},
year={2022}
}
Acknowledgements – Builds on VolSDF (Lior Yariv), COLMAP, and several open‑source implementations referenced in the README.
Related
- Project
- Project
- Project
- Project