cancel
Showing results for 
Search instead for 
Did you mean: 

Simple positional tracking with Kinect v2

daloots
Honored Guest
Hi there,

I put together simple positional tracking using a Kinect v2*.
The new Kinect uses a time of flight method for the depth sensing. For this it emits a pretty strong IR light that produces a nice IR image. I stuck a small piece of reflective fabric to the front cover of the Rift and used the depth map to retrieve the location of the reflective marker.

The results are probably nowhere near those of the Crystal Cove prototype, but it's good enough to experiment with and couldn't be simpler. The new Kinect has a very wide field of view and a (preliminary) range of over 4 meter. Of course with the single marker setup, it loses tracking if you rotate your head more than 90° away from the Kinect.

Using the Kinect body tracking seems obvious, but I think this method has less latency, higher accuracy and the Kinect only needs to have line-of-sight to the marker.

http://www.youtube.com/watch?v=N46IWihUE1E



Cheers,
Davy

*Kinect for Windows v2 Dev Preview: This is based on preliminary software
and/or hardware, subject to change.
True 3D video for VR: http://q3d.quaternionsoftware.com
14 REPLIES 14

Sharkku
Protege
I'd say the Kinect v2 will be the best way to put your body into the virtual world.
DK1 - previously owned DK2 - 2014-08-26 RECEIVED (ordered 2014-04-24) CV1 - 2016-05-25 RECEIVED (ordered on release day) Touch - 2016-12-07 RECEIVED (pre-order with CV1)

Tyler_Cork
Honored Guest
Daloots,
I had a few questions about your tracking in Kinect v2 using the IR and depth sensor. if you could shoot me and email at tylercork31@gmail.com I'd appreciate it. Also, I am an engineering student in college trying to implement this on a project.

daloots
Honored Guest
Hi Tyler,

I just sent you an email, but will also reply here for others that might find it useful.

Here is the very quick & dirty (C#) code for the tracker. I consists of two parts: a "server" that extracts the position of one or two markers and sends it to a listener script for Unity.

I've got two versions: one simple one for a single marker:
https://dl.dropboxusercontent.com/u/722381/Kinect2/RiftPositionTracker.zip
and the listener script for Unity:
https://dl.dropboxusercontent.com/u/722381/Kinect2/UdpListener.cs.old (remove the .old of course)

And a slightly more advanced one that uses two (one large and one small) markers on the same object for attitude estimation:
https://dl.dropboxusercontent.com/u/722381/Kinect2/RiftPositionTracker2.zip
and
https://dl.dropboxusercontent.com/u/722381/Kinect2/UdpListener.cs
The latter is demonstrated in this video:
https://www.youtube.com/watch?v=3nermSaMpHA

Good luck with the project!
True 3D video for VR: http://q3d.quaternionsoftware.com

MoonShineVR
Honored Guest
Hello daloots,
I am desperately need your help. I tried clicking the link you provided above, but it seems to be out of date. if you could shoot me and email at james2006gi@gmail.com I'd appreciate it.
Thanks a lot!!!!!!!

Anonymous
Not applicable
Hi Daloots,

I am also wondering if there are still available to download those pieces of code. The links seems to be disconnected. I would really appreciate your help !! I am exactly trying to do the same marker tracking as you showed above. You can email me to zsd_a@hotmail.com.
Thanks a lot in advance