Adjusting Filters

Introduction

After exposure values and frames have been found as described in Getting the Right Exposure for Good Point Clouds, it is time to adjust filters. More information about the filters can be found here: Processing Settings.

Reflection filter

The Reflection filter removes points that Zivid deem as impacted by reflection and thus erroneous. These are typically seen in the point cloud as “ghost planes” - small regions of points floating mid-air that shouldn’t be there.

Note

Enabling the Reflection filter adds certain amount of processing time per acquisition; see below.

The following values should be used:

Value

Condition

Enabled::no

If you know that your scene is not reflective, and you want to optimize acquisition time.

Enabled::yes

Turn on if you have issues detecting parts that are reflective or are inside a reflective bin.

Reflection Filter disabled and enabled
The Reflection filter has two modes: Global (default) and Local.

Mode

Pros

Mode::local

  • Removing reflection artifacts such as ghost planes and highlights (see image below)

  • Preserving 3D data on thin and pointy objects (see image below, or for more details How to preserve Thin and Pointy Objects in the Point Cloud)

  • Processing time (up to three times faster, see processing time for global below)

Mode::global

  • Removing outlier points in the point cloud (see image below)

  • Preserving the edges of objects

Reflection Filter disabled (ghost plane)

Reflection Filter enabled - Global mode (smaller ghost plane)

Reflection Filter enabled - Local mode (no ghost plane)

Reflection Filter disabled (ghost plane)

Reflection Filter enabled - Global mode (smaller ghost plane)

Reflection Filter enabled - Local mode (no ghost plane)

Reflection Filter - Global mode (no data on thin objects)

Reflection Filter - Local mode (data preserved on thin objects)

Reflection Filter - Global mode (no data on thin objects)

Reflection Filter - Local mode (data preserved on thin objects)

Reflection Filter - Global mode (no data on pointy objects)

Reflection Filter - Local mode (data preserved on pointy objects)

Reflection Filter - Global mode (no data on pointy objects)

Reflection Filter - Local mode (data preserved on pointy objects)

Reflection Filter - Global mode (less outliers)

Reflection Filter - Local mode (more outliers)

Reflection Filter - Global mode (less outliers)

Reflection Filter - Local mode (more outliers)

Note

Reflection filter (Global mode) adds the following processing time per 3D capture:

Expected median (±stddev) in ms

Filter

Zivid One+

Zivid Two

Intel UHD 750

Intel UHD G1

NVIDIA 3070

Intel UHD 750

NVIDIA 3070

High-end 1

Low-end 2

High-end 3

High-end 3

Reflection

13 (±5) ms

17 (±2) ms

10 (±0.4) ms

19 (±5) ms

11 (±0.5) ms

1

High-end machine with GPU: Intel UHD Graphics 750 (ID:0x4C8A) and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz

2

Low-end machine with GPU: Intel UHD Graphics G1 (ID:0x8A56) and CPU: Intel(R) Core(TM) i3-1005G1 CPU @ 1.20GHz

3(1,2)

High-end machine with GPU: NVIDIA GeForce RTX 3070 and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz

Noise filter

Noise filter removes pixels that have an SNR value below a certain limit. This can be used to remove noisy points (e.g. due to ambient light).

Value

Condition

7

“Almost always”

5-6

It may be necessary to keep the Noise filter value low in order to get points in the following scenes:

  • dark parts

  • strong ambient light

  • large distance

Note

SNR filter adds close to no additional processing time.

Gaussian smoothing

The Gaussian smoothing performs averaging on pixels within a small local region. This can be used to suppress sparse noise and align pixels on grid. The higher the threshold, the more aggressive the filtering. The Gaussian smoothing will also correct outliers and can therefore provide a good noise-to-coverage tradeoff.

Value

Condition

<1.0

If you want to preserve as many details and features as possible. Preferred with small objects (sub-cm features).

1.5

For most conditions and medium sized objects.

2.5-5

If you care about smoother and larger surfaces such as flatness of a plane.

Note

Gaussian filter adds the following processing time per 3D capture:

Expected median (±stddev) in ms

Filter

Zivid One+

Zivid Two

Intel UHD 750

Intel UHD G1

NVIDIA 3070

Intel UHD 750

NVIDIA 3070

High-end 4

Low-end 5

High-end 6

High-end 6

Smoothing

19 (±4) ms

28 (±3) ms

2 (±3) ms

11 (±2) ms

2 (±0.4) ms

4

High-end machine with GPU: Intel UHD Graphics 750 (ID:0x4C8A) and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz

5

Low-end machine with GPU: Intel UHD Graphics G1 (ID:0x8A56) and CPU: Intel(R) Core(TM) i3-1005G1 CPU @ 1.20GHz

6(1,2)

High-end machine with GPU: NVIDIA GeForce RTX 3070 and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz

Outlier filter

The Outlier filter removes pixels that it deems as outliers within a small local region of neighboring pixels. The outliers are measured by how far away they are from their closest neighbors. If the distance exceeds the threshold of the Outlier filter, the pixel is identified as an outlier and thus removed from the final point cloud. The unit of the Outlier filter threshold is in millimeters, and the smaller the threshold, the more pixels are removed. It is recommended to start with a relaxed Outlier filter and then tighten the threshold until you are satisfied with the density/noise level.

Value(mm)

Condition

2-10

Typical for Zivid Two

1-3

Typical for Zivid One+ Small

3-10

Typical for Zivid One+ Medium

10-30

Typical for Zivid One+ Large

50-100

Can be considered if using the camera in one of the following conditions:

  • The image is very defocused (see 2D image in studio)

  • Object is very dark

  • Ambient light is strong relative to projector

  • Scene is far away (>2m)

OFF

If you have extreme noise, but just want whatever points you can get you may turn the filter off. This could be in an extremely dark scene, very far away (>2m) or outdoors.

Note

The unit for the Outlier filter is in millimeters

Note

The outlier filter adds close to no additional processing time.

Contrast Distortion filter

The Contrast Distortion filter corrects and/or removes points that are affected by blurring in the camera lens. In the point cloud, this typically occurs in regions with high contrast (strong specular reflection), and in regions with large texture gradients. The artifact is explained in detail in Contrast Distortion Artifact.

The filter parameter strength states how much a point is corrected in 3D space, and threshold indicates the maximum distance before a point is removed (if removal mode is on). As strength and removal depend on camera focus and orientation (to camera baseline) of the object, its recommended to first tune exposure settings before tuning Contrast Distortion Filter parameters.

Warning

If the strength value is very high, it may overcompensate correction.

Value

Condition

0.1 - 0.2

If you have small contrast distortion effects and no-to-little correction is needed.

0.3 - 0.5

“Almost always”, if your camera has good focus, but contrast distortion is present. Some correction is needed.

0.6 - 0.7

“Common”, if your point cloud is affected by a large contrast distortion. Your camera may be a bit out of focus.

0.8 - 1.0

“Uncommon”, if you have a very high effect of contrast distortion. This often indicates that the camera is out of focus!

Note

Contrast Distortion filter adds the following processing time per 3D capture:

Expected median (±stddev) in ms

Filter

Zivid One+

Zivid Two

Intel UHD 750

Intel UHD G1

NVIDIA 3070

Intel UHD 750

NVIDIA 3070

High-end 7

Low-end 8

High-end 9

High-end 9

Contrast Distortion Correction

37 (±3) ms

57 (±1) ms

8 (±2) ms

39 (±2) ms

8 (±0.5) ms

Contrast Distortion Removal

29 (±4) ms

45 (±4) ms

5 (±2) ms

31 (±1) ms

5 (±0.5) ms

7

High-end machine with GPU: Intel UHD Graphics 750 (ID:0x4C8A) and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz

8

Low-end machine with GPU: Intel UHD Graphics G1 (ID:0x8A56) and CPU: Intel(R) Core(TM) i3-1005G1 CPU @ 1.20GHz

9(1,2)

High-end machine with GPU: NVIDIA GeForce RTX 3070 and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz

Tip

If Contrast Distortion Correction filter is already enabled, then Contrast Distortion Removal adds negligible processing time.

Tuning Aperture before Contrast Distortion filter

Tuning the Contrast Distortion filter is sometimes not sufficient to remove contrast distortion artifacts. The artifacts get worse with blurry color images. Therefore, it is important to ensure the color image is in focus by tuning the Aperture before tuning the filter.

We will demonstrate the process of removing contrast distortion artifacts by tuning the Aperture with an example.

The figure below shows a color image out of focus and a resulting point cloud with visible contrast distortion artifacts. The color image is blurry because a low f-number (2.38) is used for the Aperture. The Contrast Distortion strength used is 0.35.

Color image out of focus

Color image out of focus

Resulting point cloud with contrast distortion

Resulting point cloud with contrast distortion

The Aperture is changed from 2.0 to 8.0 to remove the contrast distortion artifact, and this change is compensated with a longer Exposure Time. The result is a color image in focus and a point cloud without any contrast distortion artifacts, which can be seen in the figure below.

Color image in focus

Color image in focus

Resulting point cloud without contrast distortion

Resulting point cloud without contrast distortion

The point clouds used for this example are available for download for further inspection:

Further reading

Continue to Optimizing Color Image.