What is the depth resolution/precision of Kinect 2? - kinect

Does anyone performed testing of resolution and precision of depth data from Kinect 2 (developers preview version)?
There are many test of Kinect 360/for Windows, but I havent found any on Kinect 2.

Resolution of depth data is 512 x 424, and the official document says that it has 3x fidelity of the kinect v1.

Related

Kinect for testing algorithms

Can I use kinect sensor for testing my algorithms related to depth measurement? Have someone already tried this?
I have researched a bit, and have thus few questions -
is there a linux driver to work with kinect?
Which kinect is advisable? Kinect v1 or v2?
is there a way that I can get the data on my computer using a USB cable? As far as I have seen, the kinect needs to be modified ( i.e add a 12 V power supply ). Does anyone know the specifications of this power supply? How many ampere should the power supply support?
lastly why is there is such a massive price difference between the usb adaptor for Kinect V1 ( for xBox 360 - 4 pounds ) and Kinect V2 ( for Xbox one - 50 pounds), although both of them simply divert power and data cable as far as I understand.
I'm not sure whether the Kinect sensor is appropriate for testing your algorithms given that I don't know the specifics, but to answer your other questions:
Yes, there are drivers such as OpenKinect's libfreenect for Kinectv1 or libfreenect2 for Kinectv2 for Linux.
Note that I only have experience with the official Kinect SDK. If you care about skeletal tracking quality, you should probably use the official Kinect SDK on Windows. If you don't care about the skeleton tracking, that gives you a lot more options.
Kinect v2 - it has better specs. Certain requirements might call for using Kinect v1, but generally, Kinect v2 is the default choice.
No, you need the adapter/power supply to connect it to a PC. The official power supply is 2.67A at 12V. There are many tutorials online for DIY, such as this YouTube video: How to Hack Xbox One Kinect to Work on Windows 10 PC
Supply and demand. The adapters are no longer being manufactured and there is more demand for the Kinect v2 adapters.

Head detection using depth map

This is my first interaction with kinect xbox, i have to count the number of people getting in and out from a door, what i have learned to do is to get a depth map,
Detect the top of head closer to sensor and track it
Increment/decrement count when head crosses a specifuc region
I am able to get the depth image, but totally blank that how would detect head from depth image.
I am using xbox 360 kinect, and Kinect for windows SDK v1.8 in c#
Thanks in advance
Kinect SDK by default gives you the coordinates for body part tracking, such as the head. Also, the SDK can track up to 2 individual people (for Kinect v1 / SDK 1.8) and 6 different people (for Kinect v2 / SDK 2.0).
For starters, you can get the location of the head as reported by the SDK and count when it crosses the region maybe? Simply search for Kinect Head tracking and you can see that it's easy to locate the head in a scene using the SDK (instead of a depth map directly).
An example for the 1.8 SKD is given here.

Why does Kinect2 Fusion produce worst results, then Kinect1?

At my university we have several Kinect 1's and Kinect 2's. I am testing the quality of the Kinect Fusion results on both device and unexpectedly Kinect 2 produces worst results.
My testing environment:
Static camera scanning a static scene.
In this case if I check both results from Kinect 1 and 2, then it looks like Kinect 2 has a way smoother and nicer resulting point cloud, but if I check the scans from a different angle, then you can see the that Kinect 2 result is way worst even if the point cloud is smoother. As you can see on the pictures if I check the resulting point cloud from the same view as the camera was, then it looks nice, but as soon as I check it from a different angle then the Kinect 2 result is horrible, can't even tell that in the red circle there is a mug.
Moving camera scanning a static scene
In this case Kinect 2 has even worst results, then in the above mentioned case compared to Kinect 1. Actually I can't even reconstruct with Kinect 2 if I am moving it. On the other hand Kinect 1 does a pretty good job with moving camera.
Does anybody have any idea why is the Kinect 2 failing these tests against Kinect 1? As I mentioned above we have several Kinect cameras at my university and I tested more then one of them each, so this should not be a hardware problem.
I've experienced similar results when I was using Kinect for 3D reconstruction. Kinect 2 produced worse results compared to Kienct 1. In fact, I tried the InfiniTAM framework for doing 3D reconstruction. It too yielded similar results. What was different in my case compared to yours was that I was moving the camera around and the camera tracking was awful.
When I asked the authors of InfiniTAM about this, they provided the following likely explanation:
... the Kinect v2 has a time of flight camera rather than a structured
light sensor. Due to imperfections in the modulation of the active
illumination, it is known that most of these time of flight sensors
tend to have biased depth values, e.g. at a distance of 2m, everything
is about 5cm closer than measured, at a distance of 3m everything is
about 5cm further away than measured...
Apparently, this is not an issue with structured light cameras (Kinect v1 and the like). You can follow the original discussion here.

effective frame rate of the latest version of the Kinect camera, at high resolution and including infrared depth data?

What is the effective frame rate of the latest version of the Kinect camera, at high resolution and including highest resolution infrared depth data? I have read that it is actually only 9 fps. This seems at odds with other things I have seen online. Why the difference?
It seems that 9fps is achieved when using kinect fusion on the microsoft SDK, but on matlab it's close to 30 fps on the depth stream.

Kinect Tilt upwards setting

I just got a Kinect and I have it connected to the computer using the USB. However, I don't know how to make the kinect tilt upwards so it is not looking downwards at the desk.
The question becomes. Is there a program to control such settings?
I have installed Microsoft Kinect 1.0 Beta 2 SDK.
Here is some good tutorials on kinect motor :
http://channel9.msdn.com/Series/KinectSDKQuickstarts/Camera-Fundamentals
http://cm-bloggers.blogspot.com/2011/06/kinect-sdk-camera-tilt.html
More Resources to Start with kinect sdk :
http://blogs.msdn.com/b/eternalcoding/archive/2011/06/13/unleash-the-power-of-kinect-for-windows-sdk.aspx
http://social.msdn.microsoft.com/Forums/en-US/kinectsdknuiapi/thread/5e8c4bc0-3a5d-4309-8d95-d92199c208e0/
http://channel9.msdn.com/coding4fun/kinect/
http://www.freenect.com/
http://msdn.microsoft.com/fr-fr/windows/sdk-kinect-demo
I made this using Visual Studio Express and the Kinect SDK
http://tekk-support.com/dev/kinect/kinect_motor_control.exe
If someone can upload this somewhere permanent, that would be nice
"You should tilt the Kinect as few times as possible, to minimize wear on the sensor and to minimize tilting time. The tilt motor is not designed for constant or repetitive movement, and attempts to use it that way can cause degradation of motor function. To reduce wear, your application should change the elevation angle no more than once per second. In addition, you must allow at least 20 seconds of rest after 15 consecutive changes. If your application exceeds these limits, the tilt motor may experience a lock period during which attempting to set the elevation angle will result in an error code."
-- http://msdn.microsoft.com/en-us/library/microsoft.kinect.kinectsensor.elevationangle.aspx
You can also check the app at: http://kinecttiltcontrol.codeplex.com/