Quantcast

Theoretical kinect depth discretization vs recorded values?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Theoretical kinect depth discretization vs recorded values?

darkos490
This post was updated on .
Hello!

I have a question regarding depth discretization in Kinect. As I understand, depths are coded in 11 bit disparities, where one bit is reserved for indicating, valid/invalid point, leaving 10 bits for actual disparity measurements. Assuming stereo model, and having baseline and focal distance values, I have calculated possible depth values using formula Z = F*B/D. Those values range from 0.4 to 39 meters, for disparities ranging from 1024 down to 1. Focal distance (F=525) and baseline (B=0.075) values I got from PCL.

However, when I take a scan with Kinect, e.g. flat wall, and plot depth values, I get much finer depth resolution than expected. You can see it on the image below (http://i.imgur.com/L5j1h.png). Red circles represent expected depth values in this range, dots are recorded values. Can anyone explain this? Is there some smoothing in PCL, that is implicitly called, or I have made an error somewhere?

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Theoretical kinect depth discretization vs recorded values?

René Wagner
On 03/28/2012 04:44 PM, darkos490 wrote:
> Can anyone explain this? Is there some smoothing
> in PCL, that is implicitly called, or I have made an error somewhere?

I guess you're seeing the effects of the depth smoothing the Kinect
does internally. You can disable depth smoothing [1,2] if it is a
problem in your application.

Cheers,

Rene

[1] http://openkinect.org/wiki/Protocol_Documentation#Control_Commands
[2]
https://github.com/renewagner/libfreenect/commit/b92239e8b3052539ecb8904f717f9c20105b52b7#diff-2

--
Dipl.-Inf. René Wagner
Real-Time Computer Vision Group
University of Bremen
http://www.informatik.uni-bremen.de/agebv/en/ReneWagner
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Theoretical kinect depth discretization vs recorded values?

Suat Gedikli
In reply to this post by darkos490
Hi,
The disparity has a quantization oh 1/8 pixel. Thus varying from 1/8 to 128 pixels.
-Suat

Sent from my iPhone

On Mar 28, 2012, at 7:44, darkos490 <[hidden email]> wrote:

> Hello!
>
> I have a question regarding depth discretization in Kinect. As I understand,
> depths are coded in 11 bit disparities, where one bit is reserved for
> indicating, valid/invalid point, leaving 10 bits for actual disparity
> measurements. Assuming stereo model, and having baseline and focal distance
> values, I have calculated possible depth values using formula Z = F*B/D.
> Those values range from 0.4 to 39 meters, for disparities ranging from 1024
> down to 1. Focal distance (F=525) and baseline (B=0.075) values I got though
> PCL.
>
> However, when I take a scan with Kinect, e.g. flat wall, and plot depth
> values, I get much finer depth resolution than expected. You can see it on
> the image below. Red circles represent expected depth values in this range,
> dots are recorded values. Can anyone explain this? Is there some smoothing
> in PCL, that is implicitly called, or I have made an error somewhere?
>
> http://www.pcl-users.org/file/n3864720/U8x6L.png 
>
> --
> View this message in context: http://www.pcl-users.org/Theoretical-kinect-depth-discretization-vs-recorded-values-tp3864720p3864720.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Theoretical kinect depth discretization vs recorded values?

darkos490
This post was updated on .
In reply to this post by René Wagner
Thanks for the answers!
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Theoretical kinect depth discretization vs recorded values?

René Wagner
On 03/28/2012 07:15 PM, darkos490 wrote:
> Thank you for your reply Rene, but I am using PCL default configuration,
> which relies on openni driver. But, still, I guess this smoothing is
> switched on in openni driver too. Does anoyone know by chance model of this
> smoothing, and is it possible to switch it on/off when using openni_grabber
> class in PCL?

Re-reading your original message and seeing the plot (which gave a
not-found error earlier) I think Suat is right, the difference is due
to the disparities being transmitted with a quantization of 1/8 pixel.
Smoothing happens before transmission and thus before quantization and
would have a different effect - connected patches would jump/flicker
together as opposed to individually.

Rene

--
Dipl.-Inf. René Wagner
Real-Time Computer Vision Group
University of Bremen
http://www.informatik.uni-bremen.de/agebv/en/ReneWagner
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Loading...