How to Get Good 3D Data on a Pixel of Interest
Introduction
Objects that you are imaging can have vastly different brightness levels from pixel to pixel, and two conditions must be satisfied for the Zivid camera to calculate the distance:
The brightness of the pixel must be within the measurable range of the sensor, i.e., higher than 0 and lower than 255. All values outside the range are assigned the lowest or highest possible value. Therefore, if the brightness is 0 or 255, it becomes impossible to distinguish the real pixel intensity. For example, if the brightness is 255, the real value could be 255, 275, or 10000.
The signal to noise ratio of the projected pattern in that pixel must be large enough for the camera to decode the signal. It must also be small enough so that the peak-to-peak intensity of that signal can be captured within the dynamic range of the camera. This means that the camera must be able to distinguish a difference when the projected light is on and off.
Evaluating the exposure of a pixel by color
The required conditions should be satisfied by exposing a pixel such that its color value is between 32 and 255. Satisfying the conditions for all pixels of interest within an image might require utilizing the HDR function. The HDR function allows you to optimize exposure conditions for certain brightness regions of the image at a time.
Note
For good SNR, try to keep the RGB values between 32 and 255 for each color channel.
When optimizing your 3D data for a particular pixel or limited region, you can use the 2D view in Zivid Studio, as seen below. Hovering the mouse cursor above the region of interest (exemplified by the red cross) will display the pixel XYZ coordinates, RGB, and SNR in the bottom left corner.
Caution
The default Color Mode is Automatic, which is identical to ToneMapping for multi-acquisition HDR captures with differing acquisition settings. Tone mapping modifies pixel values. Gamma and Color Balance settings also modify pixel values.
Therefore, to use the RGB value for assessing 3D quality, you must evaluate a single acquisition at a time with Color Mode set to UseFirstAcquisition or Automatic. Also, you must set Gamma and Color Balance gains to 1.0.
The RGB values of this particular pixel will be binned together with other pixels that have similar RGB values in the histogram view. As it can be seen in the image above, pixel (783, 526) has:
Red value of 224
Green value of 238
Blue value of 215
SNR of 103.8
These RGB values indicate that this pixel resides within the upper right half of the histogram, between values 32 and 255, and is thus considered a good pixel. Furthermore, we can see that 95.1% of the image resides between 32 and 255, as highlighted, meaning that almost the entire image is exposed well for good 3D quality.
Evaluating the exposure of a pixel by SNR
The second way to evaluate the pixels is by SNR value. The Noise filter utilizes this method to filter out the points. While the RGB color values represent a measure of the average brightness of a 3D capture, the SNR tells us something about the quality and confidence of the 3D data. There is a strong relationship between RGB color values and the SNR values. SNR should be above 7 to yield good precision. However, an SNR lower than 7 can be common for dark and specular objects and in the presence of strong ambient light. A low SNR value means the pixel will be noisier from measurement to measurement and between pixel-to-pixel.
Note
For good 3D precision, SNR should be higher than 7.
Further reading
Continue to the advanced topic: Dealing with Highlights and Shiny Objects.