Vertical banding seen in depth image


#1

Hi there,

I’m seeing vertical bands appear in the depth image - anyone else seeing this? Is this ‘normal’ or is this a sign of a bad sensor? Thanks in advance - ajf


#2

Hi Adrian

That’s normal. Those bands are the result of a correction the sensor applies while it’s first warming up. Sometimes you might see them jump around or change in size, that’s normal too. They should go away after the sensor’s had a chance to thermally regulate itself, usually less than a minute or so (but that depends on ambient conditions =] ).


#3

Hi,

We are experiencing the same thing. Even after 5-10 min the bands are still there.


#4

Hi, adrian and sb1

Structure Sensor has a laser projector that is very sensitive to temperature.
Not only warming up but your room ambient temperature matters too.
Inside the firmware there is special functionality to correct the sensor depth accuracy with all various temperature effect.

The vertical lines are the results of correction.
They actually produce a better result for your depth stream output.
If you are interested to try an experiment to monitor the depth value,
you can see while the number of bands increases you can see the depth value in the boundary is moving towards more accurate result.

Best,
Kai


#5

Is there any way to turn this “correction” off via OpenNI2?

Or, is there a way to query how wide each band is at a given moment? Knowing this would allow us to apply a smoothing filter along the edges of the discontinuity.


#6

It turns out the vertical lines are an artifact from the GMC in the openNI settings. Disabling this option should remove the lines. I haven’t tried this out myself, but this was feedback given to me by another user.


#7

Thank you, Anthony! That fixes the problem instantly.

The switch in question is the GMCMode variable in the OpenNI\Drivers\PS1080.ini file. Uncomment the line which reads:

GMCMode=0

this turns GMC mode OFF. According to this article (https://github.com/OpenNI/OpenNI2/issues/81), GMC probably means Global Motion Compensation.

For comparison, the first image below is with GMCMode=1 (the default), whereas the second image is with GMCMode=0.

In this example, I have the Structure sensor looking down on a flat piece of cardboard. With the banding off it becomes possible to tell that the sensor is not quite perpendicular to the surface like I thought it was.