Giter VIP home page Giter VIP logo

ai4ce / occ4cast Goto Github PK

View Code? Open in Web Editor NEW
108.0 6.0 7.0 16.96 MB

Occ4cast: LiDAR-based 4D Occupancy Completion and Forecasting

Home Page: https://ai4ce.github.io/Occ4cast/

License: Apache License 2.0

Python 95.30% Shell 3.38% GLSL 1.32%
3d-perception 3d-scene-understanding artificial-intelligence autonomous-driving autonomous-vehicles computer-vision dataset lidar machine-learning occupancy-grid-map occupancy-prediction point-cloud spatial-temporal-forecasting temporal-perception 3d-to-4d

occ4cast's Introduction

Occ4cast: LiDAR-based 4D Occupancy Completion and Forecasting

Xinhao Liu*, Moonjun Gong*, Qi Fang, Haoyu Xie, Yiming Li, Hang Zhao, Chen Feng

News

  • [2023/10]: OCFBech-nuScenes is available on Hugging Face.
  • [2023/10]: The preprint version is available on arXiv. The OCFBench dataset is available on Hugging Face.

Abstract

Scene completion and forecasting are two popular perception problems in research for mobile agents like autonomous vehicles. Existing approaches treat the two problems in isolation, resulting in a separate perception of the two aspects. In this paper, we introduce a novel LiDAR perception task of Occupancy Completion and Forecasting (OCF) in the context of autonomous driving to unify these aspects into a cohesive framework. This task requires new algorithms to address three challenges altogether: (1) sparse-to-dense reconstruction, (2) partial-to-complete hallucination, and (3) 3D-to-4D prediction. To enable supervision and evaluation, we curate a large-scale dataset termed OCFBench from public autonomous driving datasets. We analyze the performance of closely related existing baseline models and our own ones on our dataset. We envision that this research will inspire and call for further investigation in this evolving and crucial area of 4D perception.

Getting Started

Installation

The code is tested with Python 3.9, Pytorch 2.0.1, and CUDA 11.8. Please install dependencies by

conda create -n occ4cast python=3.9
conda activate occ4cast
pip install -r requirements.txt

OCFBench

Please refer to our Hugging Face page for documentation and download.

Training

To train the model, please modify the configurations in baselines/run_train.sh and run

cd baselines
bash run_train.sh

TODO

  • Add Waymo dataset.
  • Add nuScenes dataset.

Related Projects

Citation

If you find our work useful in your research, please consider citing:

@article{Liu2023occ4cast,
      title={LiDAR-based 4D Occupancy Completion and Forecasting}, 
      author={Xinhao Liu and Moonjun Gong and Qi Fang and Haoyu Xie and Yiming Li and Hang Zhao and Chen Feng},
      journal={arXiv preprint arXiv:2310.11239},
      year={2023}
}

Star history

Star History Chart

occ4cast's People

Contributors

gaaaavin avatar moonjungong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

occ4cast's Issues

Error of convert_apollo

Hello,
I want to ask how to deal with the following error in convert_apollo.py when executing ./apolloscape/run_convert.sh:

(occ4cast) huanghh1519@huanghh1519:/Repo/Occ4cast-main/data_processing/apolloscape$ /bin/bash /home/huanghh1519/Repo/Occ4cast-main/data_processing/apolloscape/run_convert.sh
Start converting dataset, scene: 8 - 9
Traceback (most recent call last):
File "/home/huanghh1519/Repo/Occ4cast-main/data_processing/apolloscape/convert_apollo.py", line 164, in
trip_id, segment_id = id_mapping[i]
KeyError: 8
(occ4cast) huanghh1519@huanghh1519:
/Repo/Occ4cast-main/data_processing/apolloscape$

Thank you!

How to run the code on own dataset?

Hi, thank you for sharing the great work.
I am interseted in running the code to generate 4D occupancy grid on my own dataset.
The format of my dataset is similar to that of the Nuscene dataset,containing lidar data, multi-view images and IMU data.
I would appreciate any assistance or guidance on how to preoceed.

Difference in Dataset Format

Thanks for the great work! I find the the format of dataset download from hugging face is different from the format using in the training stage (npy in hugging face and npz in the dataloader). The shape of data in the npy file are N, N, and (B+1)x512x256x32, which is totally different from the npz format:

input: (B+1)x512x256x32 matrix # B is the number of previous frames, default is 10
label: (B+1)x512x256x32 matrix # B is the number of future frames, default is 10
invalid: (B+1)x512x256x32 matrix # same as label

May you tell me what's the meaning of the data in the npy files and the difference to the npz file? Thanks a lot!

How to visualize?

Hello!
The visualization code data_processing/visualization/visualize_voxels.py seems to be designed for semantic-kitti dataset.
What should I do exactly to visualize voxels in other datasets.
Thank you!

For Waymo dataset

Appreciate for your excellent work, I am wondering when the Waymo Dataset will be released.

voxelize script

Hi, how did you handle the point cloud and labels, got the following file, I would like to do the same for my dataset, can you share your script please?

|   |   |   |-- voxels # voxelized point clouds
|   |   |   |   |-- 0000.bin # voxelized input
|   |   |   |   |-- 0000.label # voxelized label
|   |   |   |   |-- 0000.invalid # voxelized invalid mask
|   |   |   |   |-- 0001.bin
|   |   |   |   |-- 0001.label
|   |   |   |   |-- 0001.invalid

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.