Kinect Floor Track 099

I’ve had a few people hit me up recently about using Kinect Floor Track 088 in the newer 099. I had created an updated version back in May but had not gotten the chance to upload it to the forum, so I’m finally coming back to it now.

There are two components:

KinectFloorTrack_099.1.tox

  • main component that pulls in data from Kinect and returns blob tracking data and has network options for sending to a separate local or remote instance.

KinectFloorTrack_receiver_099.1.tox

  • secondary component that receives network data from main component.

I’ve also uploaded a sample video of recorded Kinect data (too big to attach):
dropbox.com/s/j9qgsz82vpgko … tvideo.rar

screenshot_099_sm.png

KinectFloorTrack
by L05

L05.is

carlosga@gmail.com

Module for tracking multiple people on a clear, flat floor space using a Kinect v2. Recommended position for the Kinect is approximately 14-15 feet (~4.5 meters) above the floor, pointed directly down, perpendicular to the floor plane. The tilt correct feature provides some correction for placement of kinect at angles.

Currently all tracking data is normalized and outputted via data_out. The number of blobs and input tracking resolution are outputted via summary_out. The tracking data itself is outputted via data_out.

I’ve run this module as its own instance, both locally and over a network. Data is sent to a local Touch instance via shared memory and to a networked Touch instance via IP.

This has been tested successfully on an Intel NUC i5-6260U, which makes it great for tucking into elevated spaces and extending over Cat-5e or Cat-6.

If you use this and/or improve upon it, please let me know. Feedback is encouraged!

099.1

2017.05.26

Updated so that it runs on TouchDesigner 099 and uses the new Blobtrack TOP.

Made the following feature changes:

  • Input resolution selection expanded to include full, eighth, quarter, and half resolution.
  • Sliders now have manual value input.
  • Tilt correct slightly adjusted/improved.
  • UI controls for input blur.
  • Ability to send KinectMask (input matte to tracking) and KinectRGB (low-res RGB feed) over network via NDI Out.
  • Basic record and playback feature for recording test files.
  • Listing of local IP addresses for easy referral when doing networked setups.
  • Added custom parameters to COMPs for increased modularity.
  • Changed the UI COMP name from ‘Left’ to ‘UI’.

Removed the following features:

  • Tag system (not worth overhead).

Notes:

  • The Blobtrack TOP in 099 doesn’t seem to be quite as solid as the one in 088. It takes longer to process each frame and seems to drop tracking sometimes.
  • The Shared Mem Out CHOP and NDI Out TOPs only work in the Educational, Commercial, and Pro versions of TouchDesigner. Additionally, you will only be able to track up to one blob in the Non-Commercial version.
    KinectFloorTrack_099.1.tox (44.6 KB)
    KinectFloorTrack_receiver_099.1.tox (2.62 KB)
3 Likes

Hey thanks for sharing. As I know, one PC only support one Kinect. Is it possible to replace the Kintct to a common IR camera, which could be multiply connected to one PC?

This particular component is analyzing the depth image from the Kinect, so maybe something like the Stereolabs ZED camera might work (stereolabs.com). In theory this should also work with a Kinect V1, although the V2 resolution is currently hard coded into a few nodes. At its core, the component is basically taking a cross section of the depth map and running the blobtrack TOP on it; the rest is mainly UI and data handling to make it easier to use as a module within a larger system.

As I get my hands on some more sensors, I will try and test them and extend the component to make it more adaptive to different devices. I haven’t had the opportunity to try any other sensors. If you do, it’d be great if you could post your findings here.

Yeah, I am gonna try Asus Xtion and see if it works with your tox. Whatever, thanks for your sharing!

Hello @L05, thank you for the file! Is that any tutorial teaching the diverse functions of this tool that you created?

Hello, is this component may support azure kinect?

Curious as to how you would go about facing the Kinect directly down from the floor. How did you fasten it? Only think I can think of is using truss, but is there a cheaper alternative?

In the cases where I have used this technique, the biggest requirement was a ceiling high enough to allow clearance. I have most often used a gorilla pod (with 1/4-20 tripod threads) to fasten the kinect to a beam/bar/truss/pipe/etc, typically securing it with large, industrial strength zip ties. If you have a well positioned pipe, you could also use a cheeseborough clamp.

1 Like

Thank you! I have a gorilla pod and didn’t think the Kinect would fit on there. I’m going to try it out later!

If you’re using Kinect v2, it has the tripod threading built into the bottom of it and you should already be good to go.
If you’re using Kinect v1, you’ll need something like the Kinect 360 Floor Stand, which includes a tripod thread adapter that snaps to the bottom of the Kinect: