Vision Engine

Introduction

The Vision Engine is the backbone of the point cloud computation. It controls the pattern projecting, imaging, and processing of the images of the projected pattern to generate the final 3D point cloud. Some challenging scenes, e.g. shiny metal objects susceptible to interreflections, might require different processing to acquire a good point cloud compared to general scenes, e.g. consumer goods. Using the right Vision Engine is necessary for getting the most out of the camera for each specific scene.

Phase Engine

The Phase Engine is the default Zivid Vision Engine. It is fast and provides good point clouds, making it a good compromise between quality and speed. The Phase Engine is recommended for general scenes such as consumer goods. It works well for objects that are diffuse and moderately specular reflective. This includes matte and absorptive materials such as rubber, cloth, plastics, cardboard, wood, etc., and also metal objects with rough and brushed surfaces. This makes the Phase Engine suitable for applications such as piece picking and logistics.

Capture of a bin full of consumer goods

Phase Engine is less prone to errors due to pattern blurring. This makes it work better farther away from the focus point of the camera compared to the other Vision Engine.

Tip

Phase Engine is a good compromise between quality and speed.

Stripe Engine

The Stripe Engine is the Vision Engine built for exceptional point cloud quality in scenes with very specular reflective objects. It suppresses inter-reflection artifacts and improves data quality on shiny objects like metallic cylinders and chrome-plated parts. It has a higher dynamic range compared to the Phase Engine, which makes it less sensitive to:

  • Highlights

  • Blooming effects

  • Corrupted data, due to:

    • Reflections from ambient light sources.

    • Direct reflections from the projector.

This results in less penalty when the camera points straight down into a bin and other objects.

Capture of a bin full of consumer goods

The Stripe Engine is also less sensitive to noise produced by interference from ambient light sources, reducing the need to compensate with 50Hz/60Hz exposure time.

The Stripe Engine is recommended in scenes containing lots of specular reflective objects, noise due to ambient light sources, or bin picking when the bin walls are creating reflections.

Cylinders with Phase and Stripe Engine Bin with Phase and Stripe Engine

Tip

Stripe Engine provides exceptional point cloud quality for the price of capture speed.

Note

When using the Stripe Engine, the Reflection Removal Filter and the Contrast Distortion Filter must be enabled.

The Stripe Engine is currently experimental and may be changed and improved in the future.

Further reading

To learn more about the Zivid camera settings, continue to Exposure Time.

Version History

SDK

Changes

2.6.0

Stripe engine performance is improved between 5% to 15% measured using NVIDIA GPUs. Using a fast CPU and a slow GPU (for example Intel integrated GPU) will have about the same or slightly worse performance (1% to 5% worse) compared to 2.5.

2.5.0

Stripe engine performance is improved between 2% and 10%.

2.4.0

Stripe engine support is added for Zivid Two.

2.3.0

Stripe engine speed is improved, approximately 100 ms per acquisition.

2.2.0

Stripe Vision Engine API is added; the original and default Vision Engine is named Phase.