Giter Site home page Giter Site logo

luismautone / human-body-mcf Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 69.76 MB

Human 3D model partiality representation via Mean Curvature Flow

Python 100.00%
3d-models fairness geometry-processing human-body-model machine-learning mean-curvature python smpl smpl-model 3d-modeling

human-body-mcf's Introduction

Mean Curvature Flow for Fairness

The Python script creates a random human 3D model with a leg partiality. The code simulates an amputation through the deformation of the human shape: firstly vertices and faces belonging to the limb are identified; next a Mean Curvature Flow is applied to them: it has the effect of "smoothing out" the geometry.

The explored method is part of my CS Master's thesis at Sapienza University titled Fairness in Geometry Processing.

Run

Follow the smplpytorch setup procedure described here. Run the script by typing python main.py command inside terminal.

Python dependencies

  • PyTorch
  • Trimesh
  • Scipy & Numpy
  • robust-laplacian

Acknowledgements

The SMPL Pytorch module was cloned from gulvarol repository, that implements SMPL human body layer for PyTorch.

Thesis description

The thesis context is Fair Machine Learning, the study of correcting bias respect to sensitive variables in automated decision processes based on ML models. Generally current human body model generation methods create human bodies compliant with the standard person capabilities and we have very little material on bodies considered a deviation from the norm. The objective is to work on geometric methods that favor a representation of all human bodies in their diversity.

In particular we focused on the body modeling aspect of Virtual Humans and its creation given by statistical body models. Statistical body models are geometric models that describe human pose and body shape in a unified framework by leveraging an encoding for mesh surfaces; this technique fastly produces a human 3D model with a quite satisfactory level of detail. We chose SMPL as our statistical model.

We generated a 3D dataset with two types of classes: α shapes have the most common appearance for a human body; β shapes reproduce the appearance of a person that no longer possesses a limb. It was important for having a realistic appearance that we did not have a clean cut near the point of amputation, but instead a "smooth" deformation. Specifically we applied a Conformalized Mean Curvature Flow and we took mkazhdan code as a reference, so convergence problems like extreme expansion of the shape were avoided.

Schermata 2022-10-17 alle 12 06 27

Schermata 2022-10-17 alle 12 06 33

Next we trained an Autoencoder Neural Network on the dataset for the creation of latent spaces that contain the representation for both classes of bodies. For further details on this part go here.

human-body-mcf's People

Contributors

luismautone avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.