BASH - Biomechanical Animated Skinned Human

Overview

BASH - Biomechanical Animated Skinned Human

BASH Teaser

Schleicher, R., Nitschke, M., Martschinke, J., Stamminger, M., Eskofier, B., Klucken, J., Koelewijn, A. (2021). BASH: Biomechanical Animated Skinned Human for Visualization of Kinematics and Muscle Activity. 16th International Conference on Computer Graphics Theory and Applications (GRAPP), 2021.

https://www.scitepress.org/Papers/2021/102106/102106.pdf

BASH Model

Converting a OpenSim [1] format file (.osim + .mot) to the SCAPE [2] framework. Visualization tool to inspect the animated model in 3D.

Processing Pipeline

Input Model: OpenSim

  • Parser
  • Model (.osim)
  • Scale factors (.xml)
  • Motion (.mot)
  • Muscle Activation (.sto)

Baseline model Design for a new Musculoskeltal Model (in Blender)

  • modeling
  • import SCAPE mesh
  • rig and skin skeleton (same hierarchy as musucloskeletal model)
  • place markers (same set as musculoskeletal model)
  • export model (.dae reorders vertices...) => mesh, markers & weights files

Scaling

  • performed automatically, applied correctly to the hierachy, applied in bone space
  • use .xml file or my estimation (defined in settings.h)
  • scaled vs generic in ./data/cache/mesh/

Initial Pose Matching

  • computed automatically using OpenSim's IK solver
  • cached in ./data/cache/mapping for debugging the resulting .mot file

Pose Transformation

  • calculated beforehand (needed the mesh for projection to SCAPE)
  • uses pose mapping projection and kinematic transformations, applied in world space
  • cached in ./data/cache/mesh/

Projection into SCAPE space

  • projection to scape space (only relative rotations)
  • rigid alignment to adjust translation
  • cached in ./data/cache/mesh/

Visualization of Muscle Activation

  • computed at run-time
  • color coding in Fragment Shader

Settings

  • settings.h for keyshortcuts, constants and other configurations

Project structure and dependencies

  • SCAPE: The main Windows-Application that handles the model conversion and visualization

  • External dependencies (minimum required version):

  • SFML (>= 2.5.1)

  • glew (>= 2.1.0)

  • glm (>= 0.9.9.5)

  • Assimp (>= 3.0.0)

  • OpenSim and SimbodyTK (>= 4.0)

  • libRender: A custom framework used for creating a window and render a 3D-application in it

  • External dependencies (minimum required version):

  • SFML (>= 2.5.1)

  • glew (>= 2.1.0)

  • glm (>= 0.9.9.5)

  • libSCAPE: The SCAPE framework to load the SCAPE binary data and create a mesh in pose and shape

  • External dependencies (minimum required version):

  • SuitSparse package: suitsparse + amd + umfpack (>= 5.1.2)

  • GSL (>= 2.4)

SCAPE Framework

  • Implementation in ´SCAPE.h´
  • Model parameters
  • Pose: Rotation vector for each part ('numParts = 16') in three-dimensional twist subvectors (the axis is determined by the vector's direction and the angle is determined by the vector's magnitude.
  • Shape: Scalar PCA coefficients ('numVecs = 20') to modify body proportions like height, size and gender etc.

Building platform x64

  • OpenSim can only be built in 64bit. So we have to use the x64 Platform in order to use their API.
  • Include and link all dependencies in x64.
  • Build the SCAPE framework in x64.
  • Define the flag '#define SAVE_MATRIX 0' once to write new binaries in the correct format (64bit wording).
  • The folder 'data\default_scape_data' should contain the binary files: 'matrixDGrad.bin', 'SCAPE_DGrad_numeric.bin', 'SCAPE_DGrad_symbolic.bin', 'SCAPE_pose.bin'.

Example result

OpenSim's visualization compared to our visualization (data set: straight running [3]): Example

References

[1] Seth, A., Hicks, J. L., Uchida, T. K., Habib, A., Dembia,C. L., Dunne, J. J., Ong, C. F., DeMers, M. S., Ra-jagopal, A., Millard, M., et al. (2018). OpenSim: Sim-ulating musculoskeletal dynamics and neuromuscularcontrol to study human and animal movement. PLoSComputational Biology, 14(7):1–20.

[2] Anguelov, D., Srinivasan, P., Koller, D., Thrun, S., Rodgers,J., and Davis, J. (2005). SCAPE: Shape Completionand Animation of People. InACM Transactions onGraphics, volume 24, pages 408–416.

[3] Nitschke, M., Dorschky, E., Heinrich, D., Schlarb, H., Eskofier, B. M., Koelewijn, A. D., and Van den Bogert, A. J. (2020). Efficient trajectory optimization for curved running using a 3D musculoskeletal model with implicit dynamics. Scientific Reports, 10(17655).

Owner
Machine Learning and Data Analytics Lab FAU
Public projects of the Machine Learning and Data Analytics Lab at the Friedrich-Alexander-University Erlangen-Nürnberg
Machine Learning and Data Analytics Lab FAU
PyTorch implementations of the NeRF model described in "NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis"

PyTorch NeRF and pixelNeRF NeRF: Tiny NeRF: pixelNeRF: This repository contains minimal PyTorch implementations of the NeRF model described in "NeRF:

Michael A. Alcorn 178 Dec 20, 2022
U-2-Net: U Square Net - Modified for paired image training of style transfer

U2-Net: U Square Net Modified for paired image training of style transfer This is an unofficial repo making use of the code which was made available b

Doron Adler 43 Oct 03, 2022
Neural network graphs and training metrics for PyTorch, Tensorflow, and Keras.

HiddenLayer A lightweight library for neural network graphs and training metrics for PyTorch, Tensorflow, and Keras. HiddenLayer is simple, easy to ex

Waleed 1.7k Dec 31, 2022
Efficient Speech Processing Tookit for Automatic Speaker Recognition

Sugar Efficient Speech Processing Tookit for Automatic Speaker Recognition | HuggingFace | What's New EfficientTDNN: Efficient Architecture Search for

WangRui 14 Sep 14, 2022
Code for the CVPR2021 paper "Patch-NetVLAD: Multi-Scale Fusion of Locally-Global Descriptors for Place Recognition"

Patch-NetVLAD: Multi-Scale Fusion of Locally-Global Descriptors for Place Recognition This repository contains code for the CVPR2021 paper "Patch-NetV

QVPR 368 Jan 06, 2023
Dilated Convolution with Learnable Spacings PyTorch

Dilated-Convolution-with-Learnable-Spacings-PyTorch Ismail Khalfaoui Hassani Dilated Convolution with Learnable Spacings (abbreviated to DCLS) is a no

15 Dec 09, 2022
Learning trajectory representations using self-supervision and programmatic supervision.

Trajectory Embedding for Behavior Analysis (TREBA) Implementation from the paper: Jennifer J. Sun, Ann Kennedy, Eric Zhan, David J. Anderson, Yisong Y

58 Jan 06, 2023
A stock generator that assess a list of stocks and returns the best stocks for investing and money allocations based on users choices of volatility, duration and number of stocks

Stock-Generator Please visit "Stock Generator.ipynb" for a clearer view and "Stock Generator.py" for scripts. The stock generator is designed to allow

jmengnyay 1 Aug 02, 2022
DiSECt: Differentiable Simulator for Robotic Cutting

DiSECt: Differentiable Simulator for Robotic Cutting Website | Paper | Dataset | Video | Blog post DiSECt is a simulator for the cutting of deformable

NVIDIA Research Projects 73 Oct 29, 2022
This is the official implementation of the paper "Object Propagation via Inter-Frame Attentions for Temporally Stable Video Instance Segmentation".

ObjProp Introduction This is the official implementation of the paper "Object Propagation via Inter-Frame Attentions for Temporally Stable Video Insta

Anirudh S Chakravarthy 6 May 03, 2022
The Implicit Bias of Gradient Descent on Generalized Gated Linear Networks

The Implicit Bias of Gradient Descent on Generalized Gated Linear Networks This folder contains the code to reproduce the data in "The Implicit Bias o

Samuel Lippl 0 Feb 05, 2022
A transformer-based method for Healthcare Image Captioning in Vietnamese

vieCap4H Challenge 2021: A transformer-based method for Healthcare Image Captioning in Vietnamese This repo GitHub contains our solution for vieCap4H

Doanh B C 4 May 05, 2022
This is the official Pytorch implementation of "Lung Segmentation from Chest X-rays using Variational Data Imputation", Raghavendra Selvan et al. 2020

README This is the official Pytorch implementation of "Lung Segmentation from Chest X-rays using Variational Data Imputation", Raghavendra Selvan et a

Raghav 42 Dec 15, 2022
Lucid Sonic Dreams syncs GAN-generated visuals to music.

Lucid Sonic Dreams Lucid Sonic Dreams syncs GAN-generated visuals to music. By default, it uses NVLabs StyleGAN2, with pre-trained models lifted from

731 Jan 02, 2023
A Unified Generative Framework for Various NER Subtasks.

This is the code for ACL-ICJNLP2021 paper A Unified Generative Framework for Various NER Subtasks. Install the package in the requirements.txt, then u

177 Jan 05, 2023
GT4SD, an open-source library to accelerate hypothesis generation in the scientific discovery process.

The GT4SD (Generative Toolkit for Scientific Discovery) is an open-source platform to accelerate hypothesis generation in the scientific discovery process. It provides a library for making state-of-t

Generative Toolkit 4 Scientific Discovery 142 Dec 24, 2022
[ECCV2020] Content-Consistent Matching for Domain Adaptive Semantic Segmentation

[ECCV20] Content-Consistent Matching for Domain Adaptive Semantic Segmentation This is a PyTorch implementation of CCM. News: GTA-4K list is available

Guangrui Li 88 Aug 25, 2022
Lua-parser-lark - An out-of-box Lua parser written in Lark

An out-of-box Lua parser written in Lark Such parser handles a relaxed version o

Taine Zhao 2 Jul 19, 2022
Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities

ORB-SLAM2 Authors: Raul Mur-Artal, Juan D. Tardos, J. M. M. Montiel and Dorian Galvez-Lopez (DBoW2) 13 Jan 2017: OpenCV 3 and Eigen 3.3 are now suppor

Raul Mur-Artal 7.8k Dec 30, 2022
Code Release for the paper "TriBERT: Full-body Human-centric Audio-visual Representation Learning for Visual Sound Separation"

TriBERT This repository contains the code for the NeurIPS 2021 paper titled "TriBERT: Full-body Human-centric Audio-visual Representation Learning for

UBC Computer Vision Group 8 Aug 31, 2022