Git Product home page Git Product logo

selfmotion's Introduction

Self-Supervised Class-Agnostic Motion Prediction with Spatial and Temporal Consistency Regularizations

Official implementation for our CVPR2024 paper: "Self-Supervised Class-Agnostic Motion Prediction with Spatial and Temporal Consistency Regularizations". [Arxiv]

๐Ÿ”จ Dependencies and Installation

  • Python 3.9
  • Pytorch >= 2.0
# git clone this repository
git clone https://github.com/kwwcv/SelfMotion
cd SelfMotion

Dataset

# modified the following paths in gen_data.py, gen_GSdata.py, and data_utils.py
# sys.path.append('root_path/SelfMotion')
# sys.path.append('root_path/SelfMotion/nuscenes-devkit/python-sdk/')
  • Run command python data/gen_data.py to generate preprocessed BEV data for validating, and testing. Refer to MotionNet and python data/gen_data.py -h for detailed instructions.

  • Install the ground segmentation algorithm following Patchwork++. One can also try removing the ground points by simply setting a threshold along the Z-axis.

# modified the following path in gen_GSdata.py
# patchwork_module_path = "root_path/patchwork-plusplus/build/python_wrapper"
  • Run command python data/gen_GSdata.py to generate preprocessed ground-removed BEV data for training.

๐Ÿ”ฅ Training

python train.py --train_data [ground removal bev training folder] --test_data [bev validation folder] \
       --log --log_path [path to save log] --if_cluster --if_forward --if_reverse

๐ŸŽฏ Evaluation

Download Pretrained Model

python test.py --data [bev testing folder] --model [model path] \
      --log_path [path to save results]

Citation

@misc{wang2024selfsupervised,
      title={Self-Supervised Class-Agnostic Motion Prediction with Spatial and Temporal Consistency Regularizations}, 
      author={Kewei Wang and Yizheng Wu and Jun Cen and Zhiyu Pan and Xingyi Li and Zhe Wang and Zhiguo Cao and Guosheng Lin},
      year={2024},
      eprint={2403.13261},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

๐Ÿญ Acknowledgement

Our project is based on MotionNet

The optimal transport solver is adopted from Self-Point-Flow

License

This project is licensed under NTU S-Lab License 1.0

selfmotion's People

Contributors

kwwcv avatar

Stargazers

 avatar  avatar Dominic avatar savoki avatar lilijian avatar  avatar Tianqi Liu avatar FengyuZhuo avatar  avatar  avatar Jifeng Wang avatar teddyluo avatar Ted Lentsch avatar RaymondHUST avatar coconut81 avatar  avatar  avatar Leo avatar

Watchers

Kostas Georgiou avatar  avatar

selfmotion's Issues

visualize the results

I would like to ask how to visualize the results, is it possible to follow the visualization code of Motion Net?

Testing error

After a round of training, Testing reported an error.
Traceback (most recent call last):
File "/home/stark/project/SelfMotion/train.py", line 184, in
main()
File "/home/stark/project/SelfMotion/train.py", line 172, in main
eval_motion_displacement(device=device, model=model,
File "/home/stark/project/SelfMotion/test.py", line 87, in eval_motion_displacement
curr_valid_pixel_map = valid_pixel_maps[:, s]
IndexError: index 7 is out of bounds for axis 1 with size 5

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.