< Back

Blender Synthetic Data Generation

mask

I’m a huge fan of synthetic data. They require a minimum amount of manual labor and cost to generate and train artificial neural networks with. I find the generation process quite analogous to the way our minds work. You can ‘educate’ yourself by watching/reading/imagining without actually experiencing. When it’s time to decide, you ‘simulate’ through each possible scenario and pick the best one. The best part is, you do not have to leave your room while doing all that.

I worked on mask detection a few months back. I noticed that most of the available open-source solutions were trained on poorly generated datasets, some with masks literally pasted on face images, that just fail to predict different mask types or the most trivial cases accurately. I decided to generate a novel dataset for this purpose. Unfortunately, the MB-Lab plugin was missing some key features which I really needed, so I decided to move on with other projects. I’m happy to share the scripts that automate the image dataset generation process: character generation, mask fitting, rendering, and saving.

It was my first take on creating automated processes with Python on Blender.

This is an automated synthetic data generation project for performing mask detection through object detection models, such as YOLO.

Made using MB-Lab plugin (v1.7.7), Blender v2.81.16 and Python 3.7.4.

Features

  • Character generation & saving
  • Mask picking & fitting
  • Rendering & saving

Photoshoot

photoshoot photoshoot2

Undernose / Overnose

undernose