Proximity Distortion in Depth Image

224 Views Asked by At

Description:

The goal of my current project is to determine the location of an "object" with just its 3D-coordinates. To achieve that I figured it'd be best to turn off the "Fill"-Mode of my Camera (ZED 2 from Stereolabs), because I want some hard edges in my depth-image.

The Problem:

The depth image is being distorted to a major degree due to proximity of other "objects".

The following image shows the depth image from the side, it is viewing some bars before a smooth woodwall. The wall is mostly plain, so everything is fine here. I blacked the Color-Image and Myself, do not worry about those parts.

Working Picture

When I put my hand or another object in front of the wood wall parts that are bigger than my actual hand get "pulled" towards the camera around the location of the hand or other object. These parts seem to "stick" to other elevated parts in the proximity, as the area between the bars and my arm gets pulled entirely.

Not Working Picture

Question(s):

  1. Is this normal?
  2. Is there an easy way to get rid of it?
  3. What is the reason behind it?

My own assumption(s):

  1. Feel like this is some sort of approximation of unknown parts
  2. Hopefully.. Glad the camera was calibrated by default, as that usually is a pain to do right.
  3. Due to the new object that gets put in front of the wall, there is more stuff hidden and therefore more areas that the camera cannot see with both lenses, maybe it just "guesses" that the area between is not so far off due to some underlying algorithms that make the image smoother..
1

There are 1 best solutions below

2
amer sam On

First of all I would advice you to change the depth mode also with keeping the sensing mode in STANDARD:
ULTRA: offers the highest depth range and better preserves Z-accuracy along the sensing range.
QUALITY: has a strong filtering stage giving smooth surfaces.
PERFORMANCE: designed to be smooth, can miss some details.
*********************From your description, it seems like you are using the Performance mode
The ZED Camera uses a matching alogorithm to generate the disparity/depth map, which is a closed source and I have recently contacted stereolabs about that and they've said "We cannot disclose this information to you because it's internal information and proprietary to Stereolabs." Other works on the zed camera showed some limitations in depth sensing, specially when there is a variation in lightning and shadows. """Depth Data Error Modeling of the ZED 3D Vision Sensor from Stereolabs""" In addition to this, the depth error is directly proportional to the distance of the object from the camera, so make sure to set your depth range properly.