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::yes

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

Enabled::no

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

Version History

SDK

Changes

1.4.0

Reflection filter is improved to remove fewer good points.

2.7.0

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