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.

Zivid knows how the signals it sends out from the projector should look like. For this reason it is possible to assess whether or not the data that is read back by the camera makes sense. The reflection filter, therefore, attempts to discard pixels that are deemed to be tampered with as a result of one of the following:

  • Interreflections

  • Excessive movements in the scene

  • Alternating alien light sources

    • For example a second Zivid 3D camera that projects onto the same scene at the same time.

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)

Hint

The local mode of the reflection filter may leave isolated floating points. This is what the Cluster Filter can compensate for.

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

Intel UHD G1

NVIDIA 3070

High-end [1]

Low-end [2]

High-end [3]

High-end [1]

Low-end [2]

High-end [3]

Reflection Global

12 (±2) ms

33 (±2) ms

15 (±0.6) ms

21 (±1) ms

29 (±414) ms

14 (±0.9) ms

Reflection Local

20 (±3) ms

26 (±2) ms

4 (±0.6) ms

21 (±3) ms

25 (±474) ms

3 (±0.9) ms

Version History

SDK

Changes

2.7.0

Reflection filter is updated with a new mode called Local. Old mode is renamed to Global.

1.4.0

Reflection filter is improved to remove fewer good points.