Coder Social home page Coder Social logo

drivinggaussian's Introduction

DrivingGaussian👋

This is the official implementation of DrivingGaussian: Composite Gaussian Splatting for Surrounding Dynamic Autonomous Driving Scenes.

Paper | Xiaoyu Zhou📧, Zhiwei Lin📧, Xiaojun Shan📧, Yongtao Wang📧, Deqing Sun📧, Ming-Hsuan Yang📧

Update

  • 2024/05/10 - Code: please sign the application to obtain the code
  • 2024/03/13 - Pre-trained weights are released
  • 2024/02/27 - Paper: Accepted by CVPR 2024 👏
  • 2023/12/07 - Webpage

Weights

Pre-trained weights for certain scenes are released: Google Cloud

Requirements

Setups

Please follow the 3DGS to install the relative packages.

git clone https://github.com/VDIGPKU/DrivingGaussian
cd DrivingGaussian
git submodule update --init --recursive
conda create -n DrivingGaussian python=3.8 
conda activate DrivingGaussian

pip install -r requirements.txt
pip install -e submodules/depth-diff-gaussian-rasterization
pip install -e submodules/simple-knn

Training

For training the driving scenes dataset,

python train.py -s "data/nuscenes/sceneID/" -m "saved/checkpoints/"

Rendering

Render the images with the following script

python render_combine.py -m "saved/checkpoints/"

Tools and Preprocessing

Acknowledgements

The overall code and renderer are based on 3DGS and 4DGS. We sincerely thank the authors for their great work.

License

The project is only free for academic research purposes, but needs authorization forcommerce. For commerce permission, please contact [email protected].

drivinggaussian's People

Contributors

vdigpku avatar

Stargazers

 avatar Wu Wenhong avatar  avatar  avatar Dongyu Yan avatar Gilhwan Kang avatar Giseop Kim avatar Zhili avatar Yue Pan  avatar Devoe avatar Tosin avatar  avatar Zhaoyi Wang avatar Melan Vijayaratnam avatar  avatar Bob Wilson avatar Arek Sredzki avatar znkwong avatar WuKe avatar fenbiHE515 avatar Hiroki Kawauchi avatar Nan Huang avatar  avatar  avatar Kim He avatar  avatar Myeongcheol Kwak avatar YuanLu avatar Jacobi(Jiabo He) avatar  avatar Andepor avatar Zhiyong Wang avatar huihui1999 avatar dongxuan li avatar zuowei avatar Xiaoliang Jiao avatar Chenyu avatar JINGJUN TAO avatar Mohammad Reza Taesiri avatar Evgenii Kashin avatar Zheng Zhang avatar  avatar yqdch avatar  avatar happymoon avatar  avatar flybiubiu avatar Sparsh Garg avatar  avatar  avatar STYTS avatar Yuliang Guo avatar Abhinav Kumar | अभिनव कुमार avatar MTamam avatar Henry Che avatar Jingbo  avatar  avatar RUNHENG ZUO avatar  avatar AllenLiu avatar Xinrui Wu avatar  avatar Yi Wei avatar Matthew avatar WANG KAIXUAN avatar davci avatar Zihong Yan avatar  avatar  avatar George avatar Mu Hu avatar chenhaomingbob avatar Wastoon avatar Jumponthemoon avatar  avatar  avatar John Rambo avatar Shuo Wang avatar Hao Lu avatar Miwa avatar Xiaobing Han avatar Wu Zehuan avatar  avatar  avatar RuiXX avatar  avatar  avatar ios avatar  avatar  avatar  avatar haofeng avatar  avatar  avatar Xiaoyu avatar Xing He avatar Wesley  Xu avatar  avatar  avatar Huan Shi avatar

Watchers

Philip Nee avatar Bobby Leary avatar  avatar Myeongcheol Kwak avatar Zirui Wu avatar 青松 avatar Phong Nguyen Ha avatar Cenbylin avatar  avatar Herman avatar  avatar  avatar Ahmed E. Attia avatar  avatar Hao Lu avatar Lingzhe Zhao avatar zhangnanyue avatar  avatar Yingshuang Zou avatar  avatar Yikang Ding avatar  avatar Miwa avatar  avatar Lee Jaewon avatar  avatar Drewvv avatar ios avatar  avatar Tobias Cornille avatar  avatar  avatar

drivinggaussian's Issues

Question about Incremental Gaussian Fusing and Optimization

Thank you for your great work and sharing it! While studying your paper I was a little confused about how the 3D gaussians from different bins are created and optimized.

I am specifically confused about: "For the subsequent bins, we use the Gaussians from the previous bin as the position priors [...]". Could you please explain:

  • How are the previous gaussians used as position priors? I thought the LiDAR pointcloud was used as initialization
  • Do you also divide the whole LiDAR pointcloud into bins and use the separate pointcloud chunks to initialize new gaussians in every bin?

Another related doubt I had is regarding the optimization. As far as I can understand from Figure 3 (see below) and Figure 8, the whole map is being kept in GPU memory and optimized jointly even as new bins are added to the scene.

  • Could you please confirm whether that is the case?
  • Do you have any specific adjustments to the optimization strategy as the camera moves further and further from the initial bin?

image

Thank you in advance for your help!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.