Skip to content

vjamrich/human_database

Repository files navigation

Generating synthetic dataset of human images

We are living in an age when large datasets are becoming invaluable resource. Therefore, a power of being able to create data instead of collecting and manually labelling it further democratizes machine learning.

This project aims to provide a tool for generating a dataset containing hundreds of thousands synthetic human images, together with labels ranging from body proportions all the way to joint location, for machine learning purposes.

Synthetic data definition

Any production data applicable to a given situation that are not obtained by direct measurement (McGraw-Hill, 2009)

Why synthetic data generation?

  • Cheaper to produce then collecting and labelling "real" data
  • To build software without exposing user data to developers (such as PHI and PII)
  • To meet specific conditions not available in real data

Description

This program serves as a compatibility and automatization layer between various open-source programs, scripts, add-ons, CC0 databases and assets. To generate synthetic images of humans with various poses (motions performed), camera angles, clothing, and lighting conditions for machine learning purposes. Besides serving as a compatibility and automatization layer, it measures various parameters (see complete list of output labels).

The output is generated in a form of images (exact format and other output parameters can be adjusted through settings GUI) and labels in .csv file format. The following preview shows 8 randomly generated images of humans:

Synthetic human images

Settings can be adjusted to determine input and output file format, render engine used (rasterization or path tracing), output passes (depth maps, alpha maps, normal maps), and much more.

Output setting GUI

Labels & Use cases

For all available output labels please see the following .json file.

Unless stated otherwise, the labels are in the 0-1 range. For example, the following preview shows age shifting from 0 to 1:

Blending mesh based on the 'age' label output

The labels include, but are not limited to:

Body proportions

  • For determining ideal clothing size of customers (improved targeting for promotional campaigns)
  • Height without shoes and hair [m] Neck circumference [m] Chest circumference [m] Muscle +9 MORE

Race

  • African Asian Caucasian

Head shape

  • Finding ideal eyeglasses based on customers' head shape (targeting / promotional campaigns)
  • Head shape oval Head shape round Head shape rectangular +4 MORE

Ear shape

  • Determining ideal headphones / earphones
  • Ear (R) shape [0=Pointed, 1=Triangular] Ear (R) vertical position Ear (R) shape winged +17 MORE

Chin prognathism

Prognathism is a positional relationship of the mandible or maxilla to the skeletal base where either of the jaws protrudes beyond a predetermined imaginary line in the coronal plane of the skull

  • Chin prognathism [0=Maxillary, 0.5=Without, 1=Mandibular]

activity performed

  • run walk other

Depth maps

  • Floating points between 0 and 1, where pixel with value 0 is closest to the camera while 1 furthest
  • Depth maps output

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages