Why simulation makes perfect sense in machine vision projects.

Published on: September 3, 2021

When you build a machine vision system, you expect it to perform reliably under varying conditions. To make sure it does, the system needs to be tested thoroughly. But what if the environment in which the system needs to be tested is not (yet) available?

Ever wondered how the Mars Lander was tested? Indeed, the lack of a real-life testing environment is a typical problem of space missions, but we see it in many other industrial settings as well. If you need an environment that allows you to design and test the complete vision system before deployment, then simulation is a good option.

A computer simulation is a digital model of a real-life or hypothetical situation. A rendering engine can calculate light trajectories and reflection in the environment and generate images as seen by a camera from any viewpoint. The software for image or video processing is then applied to those rendered images for different simulated conditions.

No real environment? No problem.

At Kapernikov, we have been using simulation for many projects. Just recently, we created a simulation environment for the new research facility of the Maritime Research Center (Ostend, Belgium). This simulation allowed us to design a camera based position measurement system, even before the research facility was available.

Simulation in machine vision can be very useful for companies, but still a validation in real life is necessary. To put the benefit of simulation in the right perspective: if a vision system performs well in a simulation, then that’s not necessarily a guarantee it will succeed in the real environment. But if the system fails in a simulated environment, it will most likely fail in the real world as well.

Good reasons to use simulation

Simulation has many other benefits:

  • Simulation is safer: Sometimes, it’s too dangerous to test in a real-life environment. Just think of nuclear power plants or applications with toxic chemicals. Simulation then offers a safe alternative.
  • Simulation is cost-effective: Setting up a real-life environment with many cameras can be time-consuming and costly. Creating “synthetic data” is useful to train A.I. and is often more cost-effective.
  • Simulation is fast & flexible: With a simulation, it’s usually easy to vary environmental conditions that can be studied. Simulation can also be sped up to study behavior over a long period of time, or slowed down to study behavior more closely. As such, simulation fits into an iterative, agile approach where you can achieve fast results and proceed incrementally.
How will my 3D-camera see a stacked pallet?

Simulation applications

To build simulation environments, for the Maritime Research Center project among other things, we have been using Blender, a free and open-source 3D computer graphics software toolset for creating animated films, visual effects, 3D printed models, motion graphics, interactive 3D applications and virtual reality. This is what the simulation environment created with Blender looks like:

Our list of projects where we used simulation is long. But here are some recent examples of applications where simulation makes good sense:

  • Process monitoring: Simulation can test the functionality and performance of machine vision and process monitoring systems, with the goal of increasing productivity, improving quality control or increasing profitability.
  • Automated Guided Vehicles (AGV): A well-known forklift company needed AGV’s that could operate in a dynamic warehouse environment without colliding with human coworkers or obstacles. Kapernikov set up a simulated workspace environment to test the AGV behavior.
  • Localisation and mapping: Simulation greatly reduces the development time for robot localisation and mapping algorithms for unknown environments.
  • Validation and testing: Simulation allows testers to mimic special, hard to reproduce cases in modern workflows.

Let’s simulate it!

Simulation is useful when you need an environment that allows for the design and testing of complete vision systems before deployment. It allows companies to reduce the risk of system damage or mission failure, and to come to faster results in a more cost-effective way. Today’s simulation tools and computer graphics allow us to design an environment in great detail and with a high degree of realism, which is needed to make the simulation testing as useful as experiments in a real environment.

Do you think you could use a simulation environment for your project? Get in touch with one of our experts and we’ll get your project started.