From a body shape, infer the anatomic skeleton.

Related tags

Deep Learning OSSO
Overview

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]

You might also like...
Paddle-Skeleton-Based-Action-Recognition - DecoupleGCN-DropGraph, ASGCN, AGCN, STGCN

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

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

 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.

 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

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

 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

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

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

This is the open-source reference implementation of the SIGGRAPH 2021 paper Intersection-free Rigid Body Dynamics.
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)
    
    
    bug 
    opened by Zkjoker 6
  • 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?

    question 
    opened by zbc-l 5
  • 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

    opened by MhmdAliChamass99 1
  • 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

    opened by Holmes-Alan 0
Owner
Marilyn Keller
I am currently a 3rd-Year CS Ph.D. student, working at Max Planck Institute for Intelligent Systems.
Marilyn Keller
Full body anonymization - Realistic Full-Body Anonymization with Surface-Guided GANs

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

Håkon Hukkelås 30 Nov 18, 2022
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

null 1 Aug 9, 2022
[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

Rohan Chacko 39 Oct 12, 2022
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

北海若 48 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 HCN Co-occurrence Feature Learning from Skeleton Data for Action Recognition and Detection with Hierarchical Aggregation. Ch

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

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

Yuxin Chen 148 Dec 16, 2022
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

犹在镜中 154 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

LShi 547 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

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

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

Gty 44 Dec 17, 2022