All Projects → DeepLabCut → Primer-MotionCapture

DeepLabCut / Primer-MotionCapture

Licence: MIT license
A Primer on Motion Capture with Deep Learning:Principles, Pitfalls and Perspectives

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Primer-MotionCapture

Deeplabcut
Official implementation of DeepLabCut: Markerless pose estimation of user-defined features with deep learning for all animals incl. humans
Stars: ✭ 2,550 (+13321.05%)
Mutual labels:  pose-estimation, deeplabcut
DeepLabCut-core
Headless DeepLabCut (no GUI support)
Stars: ✭ 29 (+52.63%)
Mutual labels:  pose-estimation, deeplabcut
cvxpnpl
A Perspective-n-Points-and-Lines method.
Stars: ✭ 56 (+194.74%)
Mutual labels:  pose-estimation
Fast Stacked Hourglass Network OpenVino
A fast stacked hourglass network for human pose estimation on OpenVino
Stars: ✭ 52 (+173.68%)
Mutual labels:  pose-estimation
articulated-pose
[CVPR 2020, Oral] Category-Level Articulated Object Pose Estimation
Stars: ✭ 85 (+347.37%)
Mutual labels:  pose-estimation
HybrIK
Official code of "HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimation", CVPR 2021
Stars: ✭ 395 (+1978.95%)
Mutual labels:  pose-estimation
MSPN
Multi-Stage Pose Network
Stars: ✭ 321 (+1589.47%)
Mutual labels:  pose-estimation
mediapipe-osc
MediaPipe examples which stream their detections over OSC.
Stars: ✭ 26 (+36.84%)
Mutual labels:  pose-estimation
sc depth pl
Pytorch Lightning Implementation of SC-Depth (V1, V2...) for Unsupervised Monocular Depth Estimation.
Stars: ✭ 86 (+352.63%)
Mutual labels:  pose-estimation
openpose-docker
A docker build file for CMU openpose with Python API support
Stars: ✭ 68 (+257.89%)
Mutual labels:  pose-estimation
LoFTR
Code for "LoFTR: Detector-Free Local Feature Matching with Transformers", CVPR 2021
Stars: ✭ 1,046 (+5405.26%)
Mutual labels:  pose-estimation
ICON
ICON: Implicit Clothed humans Obtained from Normals (CVPR 2022)
Stars: ✭ 641 (+3273.68%)
Mutual labels:  pose-estimation
Robotics-Object-Pose-Estimation
A complete end-to-end demonstration in which we collect training data in Unity and use that data to train a deep neural network to predict the pose of a cube. This model is then deployed in a simulated robotic pick-and-place task.
Stars: ✭ 153 (+705.26%)
Mutual labels:  pose-estimation
Multi-Person-Pose-using-Body-Parts
No description or website provided.
Stars: ✭ 41 (+115.79%)
Mutual labels:  pose-estimation
TransPose
PyTorch Implementation for "TransPose: Keypoint localization via Transformer", ICCV 2021.
Stars: ✭ 250 (+1215.79%)
Mutual labels:  pose-estimation
HRFormer
This is an official implementation of our NeurIPS 2021 paper "HRFormer: High-Resolution Transformer for Dense Prediction".
Stars: ✭ 357 (+1778.95%)
Mutual labels:  pose-estimation
eval-mpii-pose
Evaluation code for the MPII human pose dataset
Stars: ✭ 58 (+205.26%)
Mutual labels:  pose-estimation
label-studio-frontend
Data labeling react app that is backend agnostic and can be embedded into your applications — distributed as an NPM package
Stars: ✭ 230 (+1110.53%)
Mutual labels:  pose-estimation
FashionAI-Keypoint
fashionAI clothes keypoint detection
Stars: ✭ 19 (+0%)
Mutual labels:  pose-estimation
LEMO
Official Pytorch implementation for 2021 ICCV paper "Learning Motion Priors for 4D Human Body Capture in 3D Scenes" and trained models / data
Stars: ✭ 149 (+684.21%)
Mutual labels:  pose-estimation

Code for "A Primer on Motion Capture with Deep Learning: Principles, Pitfalls and Perspectives"

By Alexander Mathis | Steffen Schneider | Jessy Lauer | Mackenzie Mathis

Here we provide code that we used in the worked-examples we provide in our Primer on Deep Learning for Motion Capture.

Publication in Neuron: https://www.cell.com/neuron/fulltext/S0896-6273(20)30717-0

Preprint: https://arxiv.org/abs/2009.00564

Illustrating augmention methods (Figure 3)

Create the figure in Google Colaboratory: Open in Colab

Or in plain Python:

python Illustrating-Augmentations-FigurePipelineMontBlancBirds.py
python Illustrating-Augmentations-FigurePipelineMouse.py

This code creates images like this:

Labeling Pitfalls: How corruptions affect performance (Figure 7)

To simulate inattentive labeling we corrupted the original dataset from Mathis et al., available on Zenodo. We corrupted 1, 5, 10 and 20% of the dataset (N=1,066 images) either by swapping two labels or removing one, and trained with varying percentages of the data. Then we trained models and evaluated them on the test set (the rest of the data). The figures below show percentage of correct keypoints (PCK) on the test set for various conditions. The results from these experiments can be plotted like this:

python CorruptionFigure.py

Which creates figures like this (when training with 10% of the data as shown in the paper)

Also results for different training fractions (not shown in the paper are plotted).

Data Augmentation Improves Performance (Figure 8)

Here we used the standad example dataset from the main repo: https://github.com/DeepLabCut/DeepLabCut/tree/master/examples/openfield-Pranav-2018-10-30 and trained with 3 different augmentation methods. To plot the results run the following:

python Primer_AugmentationComparison-Figures.py

Creates figure (in folder: ResultsComparison)

8A = ResultsComparison/LearningCurves.png

8B = ResultsComparison/ErrorCurves.png

8C, D = Stickfigures.png, Stickfiguresfirst500.png

incl. the 8D in the folder "ResultsComparisonFrames"

We then evaluated this model (only trained on a single mouse and session, which is not recommended) on all other mice and sessions (data from here Zenodo). We noticed that with good augmentation (imgaug, tensorpack) the model generalizes to data from the same camera but not the higher-resolution camera (Fig 8E). We then furthermore illustrate active learning, by adding a few frames from an experiment with the higher-resolution camera (Fig 8F). We found that this is sufficient to generalize reasonably.

python Primer_RobustnessEvaluation-Figures.py

Creates figure (in folder: ResultsComparison)

8E = ResultsComparison/PCKresults.png

8F = ResultsComparison/PCKresultsafterAugmentation.png

Outlook

Do you want to contribute labeled data to the DeepLabCut project? Check out http://contrib.deeplabcut.org

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].