zjwzcx / GenNBV

[CVPR 2024] GenNBV: Generalizable Next-Best-View Policy for Active 3D Reconstruction

Home Page:https://gennbv.tech/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


GenNBV: Generalizable Next-Best-View Policy for Active 3D Reconstruction

CVPR 2024
Xiao ChenQuanyi LiTai WangTianfan XueJiangmiao Pang
Shanghai AI Laboratory The Chinese University of Hong Kong

arXiv

📋 Contents (Coming Soon)

  1. About
  2. Getting Started
  3. Model and Benchmark
  4. TODO List
  5. Citation
  6. License
  7. Acknowledgements

🏠 About

Dialogue_Teaser
While recent advances in neural radiance field enable realistic digitization for large-scale scenes, the image-capturing process is still time-consuming and labor-intensive. Previous works attempt to automate this process using the Next-Best-View (NBV) policy for active 3D reconstruction. However, the existing NBV policies heavily rely on hand-crafted criteria, limited action space, or per-scene optimized representations. These constraints limit their cross-dataset generalizability. To overcome them, we propose GenNBV, an end-to-end generalizable NBV policy. Our policy adopts a reinforcement learning (RL)-based framework and extends typical limited action space to 5D free space. It empowers our agent drone to scan from any viewpoint, and even interact with unseen geometries during training. To boost the cross-dataset generalizability, we also propose a novel multi-source state embedding, including geometric, semantic, and action representations. We establish a benchmark using the Isaac Gym simulator with the Houses3K and OmniObject3D datasets to evaluate this NBV policy. Experiments demonstrate that our policy achieves a 98.26% and 97.12% coverage ratio on unseen building-scale objects from these datasets, respectively, outperforming prior solutions.

📚 Getting Started

Installation

We test our codes under the following environment:

  • Ubuntu 20.04
  • NVIDIA Driver: 545.29.02
  • CUDA 11.3
  • Python 3.8.12
  • PyTorch 1.11.0+cu113
  • PyTorch3D 0.7.5
  1. Clone this repository.
git clone https://github.com/zjwzcx/GenNBV
cd GenNBV
  1. Create an environment and install PyTorch.
conda create -n gennbv python=3.8 -y  # pytorch3d needs python>3.7
conda activate gennbv
# Install PyTorch, for example, install PyTorch 1.11.0 for CUDA 11.3
# For more information, please refer to https://pytorch.org/get-started/locally/
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch
  1. Install GenNBV.
# TODO

Data Preparation

Please refer to the guide for downloading and organization.

📦 Model and Benchmark

Model Overview

Benchmark Overview

📝 TODO List

🔗 Citation

If you find our work helpful, please cite:

@inproceedings{chen2024gennbv,
  title={GenNBV: Generalizable Next-Best-View Policy for Active 3D Reconstruction},
  author={Chen, Xiao and Li, Quanyi and Wang, Tai and Xue, Tianfan and Pang, Jiangmiao},
  year={2024}
  booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
}

📄 License

Creative Commons License
This work is under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

👏 Acknowledgements

About

[CVPR 2024] GenNBV: Generalizable Next-Best-View Policy for Active 3D Reconstruction

https://gennbv.tech/