Skip to content

Place-NeRFs, a scalable approach for large-scale 3D scene reconstruction that intelligently subdivides scenes into non-overlapping regions, allowing each region to be handled independently by off-the-shelf Neural Radiance Field (NeRF) models.

License

Notifications You must be signed in to change notification settings

Prograf-UFF/Place-NeRFs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Place-NeRFs: A smart approach to divide large and complex scenes into multiple regions of locally related views

Place-NeRFs is a scalable approach for large-scale 3D scene reconstruction that intelligently subdivides scenes into non-overlapping regions, allowing each region to be handled independently by off-the-shelf Neural Radiance Field (NeRF) models.

Overview

The codebase has 3 main process:

  • Extracting depth maps from the COLMAP sparse model;
  • Processing our Place-NeRFs approach,
  • Prepare the Place-NeRFs output to be used in NeRF training.

For these experiments we use public datasets that can be found on SMeRF-3D.

Platforms

We have compiled and tested the sample application on Linux andd Windows using Python 3.8 and COLMAP 3.12.

Requirements

Make sure that you have all the following tools and libraries installed and working before attempting to compile.

Required tools:

Required Python packages:

Building, Compiling, and Running

Use the git clone command to download the project:

# HTTPS
$ git clone https://github.com/Prograf-UFF/Place-NeRFs.git 
$ cd Place-NeRFs

Extracting depth maps from the COLMAP sparse model:

$ python ./utils/depth_utils.py --base_dir <path to COLMAP>

The depth_utils.py script generates the depthmaps files in .npy format and the frames.json file (which contains information about the images).Then, we run our Place-NeRFs approach:

$ python main.py --base_dir <path to COLMAP> --far_distance <far value>

Place-NeRFs generates the file place_nerfs.json, where all generated communities are saved, and each community has an identifier nerf_id. Each community is used to train a NeRF. The following command is used to prepare the necessary files for training one community with a NeRF.

$ python ./utils/prepare2nerf.py --base_dir data/nyc/ --nerf_id <NeRF-ID>

Funding and Acknowledgments

This research work was conducted in association with the Petrobras R&D project (SAP #4600671059 and #4600684055) in accordance with the regulations on investments in research, development, and innovation by the Brazilian National Petroleum Agency (ANP). The author acknowledges support from CNPq (302938/2025-7). Jose L. Huillca was sponsored by a CAPES fellowship.

About

Place-NeRFs, a scalable approach for large-scale 3D scene reconstruction that intelligently subdivides scenes into non-overlapping regions, allowing each region to be handled independently by off-the-shelf Neural Radiance Field (NeRF) models.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •