From a body shape, infer the anatomic skeleton.

OSSO: Obtaining Skeletal Shape from Outside (CVPR 2022)

This repository contains the official implementation of the skeleton inference from:

OSSO: Obtaining Skeletal Shape from Outside
Marilyn Keller, Silvia Zuffi, Michael J. Black and Sergi Pujades
Full paper | Project website

Given a body shape with SMPL or STAR topology (in blue), we infer the underlying skeleton (in yellow). teaser

Installation

Please follow the installation instruction in installation.md to setup all the required packages and models.

Run skeleton inference

The skeleton can be inferred either from a SMPL or STAR mesh.

python main.py  --mesh_input data/demo/body_female.ply --gender female -D -v

The final infered skeleton will be saved in the out folder and the intermediate meshes in out/tmp.

Citation

If you find this model & software useful in your research, please consider citing:

@inproceedings{Keller:CVPR:2022,
  title = {{OSSO}: Obtaining Skeletal Shape from Outside},
  author = {Keller, Marilyn and Zuffi, Silvia and Black, Michael J. and Pujades, Sergi},
  booktitle = {Proceedings IEEE/CVF Conf.~on Computer Vision and Pattern Recognition (CVPR)},
  month = jun,
  year = {2022},
  month_numeric = {6}}

Acknowledgements

OSSO uses the Stitched Puppet by Silvia Zuffi and Michael J. Black, and the body model STAR by Ahmed Osman et al. The model was applied on AGORA (Priyanka Patel et al.) for demonstration.

This research has been conducted using the UK Biobank Resource under the Approved Project ID 51951. The authors thank the International Max Planck Research School for Intelligent Systems for supporting Marilyn Keller. Sergi Pujades’ work was funded by the ANR SEMBA project. We thank Anatoscope (www.anatoscope.com) for the initial skeleton mesh and useful discussions.

We also thank A. A. Osman for his helpful advice on body models, P. Patel for helping test OSSO on AGORA, T. McConnel, Y. Xiu, S. Tripathi and T. Yin for helping with the submission and release, and P. Ghosh, J. Tesch, A. Chandrasekaran, V. F. Abrevaya, S. Sanyal, O. Ben-Dov and P. Forte for fruitful discussions, advice and proofreading.

License

This code and model are available for non-commercial scientific research purposes as defined in the LICENSE.txt file.

Contact

For more questions, please contact [email protected]

For commercial licensing, please contact [email protected]

Owner
Marilyn Keller
I am currently a 3rd-Year CS Ph.D. student, working at Max Planck Institute for Intelligent Systems.
Marilyn Keller
Similar Resources

Paddle-Skeleton-Based-Action-Recognition - DecoupleGCN-DropGraph, ASGCN, AGCN, STGCN

Paddle-Skeleton-Action-Recognition DecoupleGCN-DropGraph, ASGCN, AGCN, STGCN. Yo

Nov 2, 2022

OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation

OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation

Build Type Linux MacOS Windows Build Status OpenPose has represented the first real-time multi-person system to jointly detect human body, hand, facia

Jan 9, 2023

FrankMocap: A Strong and Easy-to-use Single View 3D Hand+Body Pose Estimator

 FrankMocap: A Strong and Easy-to-use Single View 3D Hand+Body Pose Estimator

FrankMocap pursues an easy-to-use single view 3D motion capture system developed by Facebook AI Research (FAIR). FrankMocap provides state-of-the-art 3D pose estimation outputs for body, hand, and body+hands in a single system. The core objective of FrankMocap is to democratize the 3D human pose estimation technology, enabling anyone (researchers, engineers, developers, artists, and others) can easily obtain 3D motion capture outputs from videos and images.

Jan 7, 2023

My Body is a Cage: the Role of Morphology in Graph-Based Incompatible Control

 My Body is a Cage: the Role of Morphology in Graph-Based Incompatible Control

My Body is a Cage: the Role of Morphology in Graph-Based Incompatible Control

Oct 9, 2022

HPRNet: Hierarchical Point Regression for Whole-Body Human Pose Estimation

HPRNet: Hierarchical Point Regression for Whole-Body Human Pose Estimation Official PyTroch implementation of HPRNet. HPRNet: Hierarchical Point Regre

Dec 4, 2022

Human POSEitioning System (HPS): 3D Human Pose Estimation and Self-localization in Large Scenes from Body-Mounted Sensors, CVPR 2021

 Human POSEitioning System (HPS): 3D Human Pose Estimation and Self-localization in Large Scenes from Body-Mounted Sensors, CVPR 2021

Human POSEitioning System (HPS): 3D Human Pose Estimation and Self-localization in Large Scenes from Body-Mounted Sensors Human POSEitioning System (H

Dec 21, 2022

Demo for Real-time RGBD-based Extended Body Pose Estimation paper

Demo for Real-time RGBD-based Extended Body Pose Estimation paper

Real-time RGBD-based Extended Body Pose Estimation This repository is a real-time demo for our paper that was published at WACV 2021 conference The ou

Dec 26, 2022

Pose Detection and Machine Learning for real-time body posture analysis during exercise to provide audiovisual feedback on improvement of form.

Posture: Pose Tracking and Machine Learning for prescribing corrective suggestions to improve posture and form while exercising. This repository conta

Nov 11, 2022
Comments
  • AttributeError: 'add' object has no attribute 'v'

    AttributeError: 'add' object has no attribute 'v'

    By some other algorithm, I got an ply file which is in smpl format. And I want to use your code to generate the skeleton. However, there is an error:

    same topology as STAR or SMPL. Mesh has {skin_mesh.v.shape[0]} vertices, {sv.v.shape[0]} expected')
    AttributeError: 'add' object has no attribute 'v'
    ``
    Can you please tell me how can i use my own ply human surface to get the inside skeleton?
    Thank you!
    [test.zip](https://github.com/MarilynKeller/OSSO/files/8676334/test.zip)
    
    
  • Can I directly generate bones with different poses and shapes by controlling shape parameters and pose parameters (like smpl)?

    Can I directly generate bones with different poses and shapes by controlling shape parameters and pose parameters (like smpl)?

    Thank you for your excellent work. Can I directly generate bones with different poses and shapes by controlling shape parameters and pose parameters (like smpl)? If so, is the shape parameter of the skeleton this? https://github.com/MarilynKeller/OSSO/blob/761e1abb87edb97ae80e1a68705d95b43ecd4865/osso/utils/inference.py#L31 Where are the posture parameters?

  • Psbody module Error

    Psbody module Error

    Hey, I have finished setting up the installation for the project but I am having trouble with the psbody mesh library and that's what I am getting: from psbody.mesh import Mesh, MeshViewer ModuleNotFoundError: No module named 'psbody'

    When running the command "make all" everything is going smooth until it reaches the psbody module where it gives an error. Any help with that please?

    Note that I am working on Windows 10 and I installed the Gnuwin32 and added it to path in order to use the 'make' command

  • use my own SMPL ply file get error

    use my own SMPL ply file get error

    I use my image to genera a SMPL 3D model for inference as,

    python main.py --mesh_input data/demo/img_hmr.obj --gender male -D -v

    However, I got the error as follows,

    Traceback (most recent call last): File "main.py", line 63, in register_star(skin_mesh_path, star_mesh_path, star_pkl_path, gender, display=display, verbose=verbose) File "/home/gtm/zsliu/OSSO/osso/utils/star_registration.py", line 30, in register_star skin_mesh = Mesh(filename=skin_mesh_path) File "/home/gtm/miniconda3/envs/osso/lib/python3.8/site-packages/psbody/mesh/mesh.py", line 67, in init self.load_from_file(filename) File "/home/gtm/miniconda3/envs/osso/lib/python3.8/site-packages/psbody/mesh/mesh.py", line 461, in load_from_file serialization.load_from_file(self, filename) File "/home/gtm/miniconda3/envs/osso/lib/python3.8/site-packages/psbody/mesh/serialization/serialization.py", line 416, in load_from_file self.load_from_obj_cpp(filename) File "/home/gtm/miniconda3/envs/osso/lib/python3.8/site-packages/psbody/mesh/mesh.py", line 486, in load_from_obj_cpp serialization.load_from_obj_cpp(self, filename) File "/home/gtm/miniconda3/envs/osso/lib/python3.8/site-packages/psbody/mesh/serialization/serialization.py", line 98, in load_from_obj_cpp from .loadobj import loadobj ImportError: numpy.core.multiarray failed to import

Related tags
Full body anonymization - Realistic Full-Body Anonymization with Surface-Guided GANs
Full body anonymization - Realistic Full-Body Anonymization with Surface-Guided GANs

Realistic Full-Body Anonymization with Surface-Guided GANs This is the official

Nov 18, 2022
WormMovementSimulation - 3D Simulation of Worm Body Movement with Neurons attached to its body
WormMovementSimulation - 3D Simulation of Worm Body Movement with Neurons attached to its body

Generate 3D Locomotion Data This module is intended to create 2D video trajector

Aug 9, 2022
[3DV 2020] PeeledHuman: Robust Shape Representation for Textured 3D Human Body Reconstruction
[3DV 2020] PeeledHuman: Robust Shape Representation for Textured 3D Human Body Reconstruction

PeeledHuman: Robust Shape Representation for Textured 3D Human Body Reconstruction International Conference on 3D Vision, 2020 Sai Sagar Jinka1, Rohan

Oct 12, 2022
Code repository for paper `Skeleton Merger: an Unsupervised Aligned Keypoint Detector`.
Code repository for paper `Skeleton Merger: an Unsupervised Aligned Keypoint Detector`.

Skeleton Merger Skeleton Merger, an Unsupervised Aligned Keypoint Detector. The paper is available at https://arxiv.org/abs/2103.10814. A map of the r

Nov 14, 2022
A pytorch reproduction of { Co-occurrence Feature Learning from Skeleton Data for Action Recognition and Detection with Hierarchical Aggregation }.
A  pytorch reproduction of { Co-occurrence Feature Learning from Skeleton Data for Action Recognition and Detection with Hierarchical Aggregation }.

A PyTorch Reproduction of HCN Co-occurrence Feature Learning from Skeleton Data for Action Recognition and Detection with Hierarchical Aggregation. Ch

Dec 31, 2022
[ICCV2021] Official code for "Channel-wise Topology Refinement Graph Convolution for Skeleton-Based Action Recognition"
[ICCV2021] Official code for

CTR-GCN This repo is the official implementation for Channel-wise Topology Refinement Graph Convolution for Skeleton-Based Action Recognition. The pap

Dec 16, 2022
Some useful blender add-ons for SMPL skeleton's poses and global translation.
Some useful blender add-ons for SMPL skeleton's poses and global translation.

Blender add-ons for SMPL skeleton's poses and trans There are two blender add-ons for SMPL skeleton's poses and trans.The first is for making an offli

Jan 4, 2023
Two-Stream Adaptive Graph Convolutional Networks for Skeleton-Based Action Recognition in CVPR19

2s-AGCN Two-Stream Adaptive Graph Convolutional Networks for Skeleton-Based Action Recognition in CVPR19 Note PyTorch version should be 0.3! For PyTor

Dec 26, 2022
Spatial Temporal Graph Convolutional Networks (ST-GCN) for Skeleton-Based Action Recognition in PyTorch

Reminder ST-GCN has transferred to MMSkeleton, and keep on developing as an flexible open source toolbox for skeleton-based human understanding. You a

Dec 25, 2022
Official PyTorch implementation of "Contrastive Learning from Extremely Augmented Skeleton Sequences for Self-supervised Action Recognition" in AAAI2022.
Official PyTorch implementation of

AimCLR This is an official PyTorch implementation of "Contrastive Learning from Extremely Augmented Skeleton Sequences for Self-supervised Action Reco

Dec 17, 2022