Giter VIP home page Giter VIP logo

yeadonmodelgenerator's Introduction

YeadonModelGenerator

This project aims to approximate the anthropometric measurements from Yeadon's model from pictures of the participant (4 pictures for generic model, 5 pictures for acrobatic specific model). The procedure proposed here has an error rate of 7% on the 95 measurements from the Yeadon's model, ... (...%) on the center of mass position and ... (...%) on the inertia properties compared to the manual measurements.

The suggested pipeline is composed of three steps:

  1. Taking the participant pictures using an Android application.
  2. Uploading the pictures to a computer.
  3. Generating a .txt file of the mesurement compatible with the Yeadon library and a .bioMod file compatible with biorbd. The complete pipeline takes approximately 5 min, compared to 45 min using the manual measurements and removes the need for an expert to take the measurements.

Acrobatic bonus: The twist potential as introduced here is also measured to help coaches take enlightened decisions regarding twisting strategies.

How to setup the reference measures

Either tutorial on how to position the chess boards (add printable chessboards to the repo). Or has to take the 2 reference measurements.... depending on the precision we are able to reach. This is the chessboard reference (if you don't take this one as the reference, note that the chessboard you have to use should be a 6x6 chessboard):

Taking pictures

Setup

To start, you will have to create a square structure measuring 150x150cm, incorporating a chessboard pattern at each corner. Ensure precision in the arrangement, maintaining a distance of 150cm between the centers of adjacent chessboards.

In terms of spatial parameters. The distance between the individual holding the camera and the wall bearing the chessboard square should measure 350cm. Simultaneously, maintain a distance of 50cm between the person capturing the photos and the designated wall. For enhanced accuracy, position the camera at a height approximately half of the square's width, approximately 75cm.

Pictures

The position of the person capturing the photos should follow the silhouette in the overlay you don't have to match exactly the silhouete but the position should be maintained. You will have to take 5 pictures, for every picture the person don't have to be inside the square overlay but all his body should be inside the photo.

How to install

Once done, proceed to download our application, im2meas, using the Flutter run command in the flutter folder (you will have more information in the flutter folder).This application serves as an overlay for camera functionality, featuring a square interface. It is imperative to position four chessboard squares within the confines of the red square in the overlay. A silhouette guide is provided for reference to facilitate accurate placement of the body.

First, download anaconda here. then, you can create the python environment using the command:

conda env create -f environment.yml

Getting Started

After taking the 5 pictures, you have to put them in the img folder ("THE_NAME" is the input you entered in the app): THE_NAME_front_img - THE_NAME_r_tuck_img - THE_NAME_side_img - THE_NAME_tuck_img - THE_NAME_pike_img

make run

it will create a .txt file named: THE_NAME.txt. This command will also create a folder named THE_NAME_dir where you will have all your modified images to check manually.

If you want you can enter the mass to have better results using the command:

make run_with_mass mass=MASS

To create the .bioMod you can just use the command:

make biomake name=THE_NAME

The .bioMod will appear in the root folder.

To visualize the 3d body model you can use the command:

make bioviz name=THE_NAME

Optionnal features

Camera calibration

For more precision, you can perform camera calibration (for more information on the documentation). Although this process may not guarantee success in all cases, it improves accuracy. To initiate calibration, follow these steps:

Capture at least 10 images of a chessboard from various angles. Exemplary images can be found in the 'tests/pictures/chessboard' directory.

Organize the images and place them in the 'img/chessboard' folder. After that you can use the following command to start the script witht the camera calibration:

make run_calibration

Mass

You can add a mass

make run_with_mass mass=YOUR_MASS

Luminosity

If the script fail you can enhance the luminosity using

make run_luminosity

rotate

Sometimes the app gives a rotated image, to rotate it back use:

make run_rotate

yeadonmodelgenerator's People

Contributors

hakuou123 avatar erdnaxela3 avatar evecharbie avatar

Stargazers

Fabien Leboeuf avatar Jason K. Moore avatar

Watchers

 avatar

yeadonmodelgenerator's Issues

Projection of the image on a sphere

Since the error is different in the centre from the sides of the image, we should probably project the image on a sphere to have a proportional px/cm ration along the radius from the centre of the image.

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.