← Open Source
Walter0807

MotionBERT

[ICCV 2023] PyTorch Implementation of "MotionBERT: A Unified Perspective on Learning Human Motion Representations".

Model DevelopmentArchitecturePython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
1.46k
Stars
183
Forks
+1
This week
4
Contributors
Created 2022-05-02 · Updated 2026-10-14 · #10283 today
Top developers
Walter0807ShirleyMaxxviewsetting

Walter0807/MotionBERT is ranked 10,283 with 1,455 stars.

Same-category comparison

Walter0807/MotionBERT is ranked 10,283 among these 8 peers; microsoft/NeuronBlocks is ranked 10,282.

Same-category comparison
NameRankMetrics
aeon-toolkit/aeon10,272
Language:
Python
Stars:
1,458
Forks:
355
Description:
A toolkit for time series machine learning and deep learning.
nerfstudio-project/nerfacc10,278
Language:
Python
Stars:
1,457
Forks:
121
Description:
A General NeRF Acceleration Toolbox in PyTorch.
zama-ai/concrete-ml10,279
Language:
Python
Stars:
1,457
Forks:
202
Description:
Concrete ML: Privacy Preserving ML framework using Fully Homomorphic Encryption (FHE), built on top of Concrete, with bindings to traditional ML frameworks.
microsoft/NeuronBlocks10,282
Language:
Python
Stars:
1,456
Forks:
191
Description:
NLP DNN Toolkit - Building Your NLP DNN Models Like Playing Lego.
abreheret/PixelAnnotationTool10,284
Language:
C++
Stars:
1,455
Forks:
308
Description:
Annotate quickly images.
xuannianz/EfficientDet10,291
Language:
Python
Stars:
1,452
Forks:
388
Description:
EfficientDet (Scalable and Efficient Object Detection) implementation in Keras and Tensorflow.
HuwCampbell/grenade10,296
Language:
Haskell
Stars:
1,450
Forks:
81
Description:
Deep Learning in Haskell.
microsoft/TextWorld10,299
Language:
Jupyter Notebook
Stars:
1,450
Forks:
206
Description:
​TextWorld is a sandbox learning environment for the training and evaluation of reinforcement learning (RL) agents on text-based games.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryModel Development
SubcategoryArchitecture
Keywords3D
Stars1,455
Forks183
Contributors4
Created date2022-05-02
Updated date2026-10-14
Stars in 1 day0
Stars in 7 days1
Rank10,283
Previous rank5,679
Rank change-4,604
7-day stars rank9,828
Previous 7-day stars rank17,142
7-day stars rank change7,314
Total stars rank8,293
Previous total stars rank8,285
Total stars rank change-8
CountryChina
README summary

MotionBERT: A Unified Perspective on Learning Human Motion Representations This is the official PyTorch implementation of the paper *"MotionBERT: A Unified Perspective on Learning Human Motion Representations"* (ICCV 2023). md | | 3D human pose estimation | docs/pose3d. md | | Skeleton-based action recognition | docs/action. md | Applications In-the-wild inference (for custom videos) Please refer to docs/inference. Using MotionBERT for *human-centric* video representations **Hints** 1. The model could handle different input lengths (no more than 243 frames). No need

to explicitly specify the input length elsewhere. The model uses 17 body keypoints (H36M format). If you are using other formats, please convert them before feeding to MotionBERT. py for examples of (easily) adapting MotionBERT to different downstream tasks. For RGB videos, you need to extract 2D poses (inference. md), convert the keypoint format (dataset_wild. py), and then feed to MotionBERT (infer_wild. yaml | - | | MotionBERT-Lite (61MB) | OneDrive | pretrain/MB_lite. yaml | - | | 3D Pose (H36M-SH, scratch) | OneDrive | pose3d

/MB_train_h36m. 2mm (MPJPE) | | 3D Pose (H36M-SH, ft) | OneDrive | pose3d/MB_ft_h36m. 2mm (MPJPE) | | Action Recognition (x-sub, ft) | OneDrive | action/MB_ft_NTU60_xsub. 2% (Top1 Acc) | | Action Recognition (x-view, ft) | OneDrive | action/MB_ft_NTU60_xview. 0% (Top1 Acc) | | Mesh (with 3DPW, ft) | OneDrive | mesh/MB_ft_pw3d. 1mm (MPVE) | In most use cases (especially with finetuning), gives a similar performance with lower computation overhead.

Frequently asked questions

How many stars and forks are recorded?

Walter0807/MotionBERT has 1,455 stars and 183 forks.

What is the repository rank?

Walter0807/MotionBERT is ranked 10,283.

What language and category are recorded?

Walter0807/MotionBERT has 1,455 stars, uses Python and belongs to Model Development.

Which repository is closest in rank?

Walter0807/MotionBERT is compared with microsoft/NeuronBlocks, ranked 10,282 with 1,456 stars.

README

MotionBERT: A Unified Perspective on Learning Human Motion Representations

This is the official PyTorch implementation of the paper "MotionBERT: A Unified Perspective on Learning Human Motion Representations" (ICCV 2023).

Installation

conda create -n motionbert python=3.7 anaconda
conda activate motionbert
# Please install PyTorch according to your CUDA version.
conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia
pip install -r requirements.txt

Getting Started

Task Document
Pretrain docs/pretrain.md
3D human pose estimation docs/pose3d.md
Skeleton-based action recognition docs/action.md
Mesh recovery docs/mesh.md

Applications

In-the-wild inference (for custom videos)

Please refer to docs/inference.md.

Using MotionBERT for human-centric video representations

'''	    
  x: 2D skeletons 
    type = 
    shape = [batch size * frames * joints(17) * channels(3)]
    
  MotionBERT: pretrained human motion encoder
    type = 
    
  E: encoded motion representation
    type = 
    shape = [batch size * frames * joints(17) * channels(512)]
'''
E = MotionBERT.get_representation(x)

Hints

  1. The model could handle different input lengths (no more than 243 frames). No need to explicitly specify the input length elsewhere.
  2. The model uses 17 body keypoints (H36M format). If you are using other formats, please convert them before feeding to MotionBERT.
  3. Please refer to model_action.py and model_mesh.py for examples of (easily) adapting MotionBERT to different downstream tasks.
  4. For RGB videos, you need to extract 2D poses (inference.md), convert the keypoint format (dataset_wild.py), and then feed to MotionBERT (infer_wild.py).

Model Zoo

Model Download Link Config Performance
MotionBERT (162MB) OneDrive pretrain/MB_pretrain.yaml -
MotionBERT-Lite (61MB) OneDrive pretrain/MB_lite.yaml -
3D Pose (H36M-SH, scratch) OneDrive pose3d/MB_train_h36m.yaml 39.2mm (MPJPE)
3D Pose (H36M-SH, ft) OneDrive pose3d/MB_ft_h36m.yaml 37.2mm (MPJPE)
Action Recognition (x-sub, ft) OneDrive action/MB_ft_NTU60_xsub.yaml 97.2% (Top1 Acc)
Action Recognition (x-view, ft) OneDrive action/MB_ft_NTU60_xview.yaml 93.0% (Top1 Acc)
Mesh (with 3DPW, ft) OneDrive mesh/MB_ft_pw3d.yaml 88.1mm (MPVE)

In most use cases (especially with finetuning), MotionBERT-Lite gives a similar performance with lower computation overhead.

TODO

  • [x] Scripts and docs for pretraining

  • [x] Demo for custom videos

Citation

If you find our work useful for your project, please consider citing the paper:

@inproceedings{motionbert2022,
  title     =   {MotionBERT: A Unified Perspective on Learning Human Motion Representations}, 
  author    =   {Zhu, Wentao and Ma, Xiaoxuan and Liu, Zhaoyang and Liu, Libin and Wu, Wayne and Wang, Yizhou},
  booktitle =   {Proceedings of the IEEE/CVF International Conference on Computer Vision},
  year      =   {2023},
}
Nearby in the ranking
Similar items