Kinect v2 calibration is erratic on macOS Mojave


#1

Hey guys my Kinect v2 has extreme difficulty calibrating on my Mac, heres the specs:

iMac (Retina 5K, 27-inch, Late 2015)
4 GHz Intel Core i7
16 GB 1867 MHz DDR3
AMD Radeon R9 M395X 4096 MB
macOS Mojave 10.14.3 (18D42)

I’m using NImate version 2.14

The Kinect can’t hold a decent calibration to do any kind of motion capture. I’m also using this in conjunction with Blender and the NImate add-on. I’ve tried adjusting my ambient lighting but it hasn’t helped. It’s odd because on Windows 10 it works just fine.

Does anyone have any recommendations?


#2

Is the framerate stable? Maybe the problems are related to frames being dropped.

Is the sensor in the same position for your Mac and Windows computers, or do you take it in a different room or anything of that nature? Maybe the angle the sensor is in differs between the computers?


#3

Hey thanks for the reply,
I’m actually using the same computer, I was just bootcamping into Windows on my Mac. The sensor was in the same room/position on both platforms. The frame rate was semi-stable, jumping between 27fps-30fps. Could that be the issue? Is there anyway to solve it?


#4

That’s pretty strange. Could you maybe take a short video on the Mac showing the sensor feed window when you’re standing in front of the sensor? Use the depth + extras feed mode.


#5

Video:

In the video you can see that the Kinect struggles to pickup my motions. Even once it locks on, the fidelity of the motions are very low. I have to move very slowly to get it to register correctly. Also, once it does pickup my motions, it seems like it doesn’t transfer the data correctly over to Blender.

Here’s my settings:

It’s weird because on Windows 10 this all worked pretty much flawlessly.


#6

I think the difference is that you might be using the Microsoft SDK on Windows, and libfreenect2 on Mac. Are the results the same on Windows with libfreenect2? It can be changed from the preferences.

It looks like you have single user tracking on as the camera stops tracking you if it sees something closer to you. Under the user tab, enable multiuser tracking and make the user numbering mode persistent so that the number assigned to your detected user does not change as you go further away.


#7

Ok so libfreenect2 might be the problem. When I enabled it on Windows, I get the exact same problems that I’m getting on Mac. The calibration is erratic and the skeleton data sent to Blender is all corrupted.

I tried enabling Multiuser tracking on both Windows and Mac along with making the user numbering mode persistent. That made it a little better but it appears that no skeleton information is sent to Blender when thats enabled.

Is there anyway I can fix/update libfreenect2?


#8

It’s good we’ve isolated the problem. I’m afraid that you will have to find some way to make the Kinect provide better data to improve the tracking. I don’t recall seeing that level of calibration issues myself, but the results might improve if you tried the Kinect in a slightly different environment. When it comes to IR cameras it always take a bit of trying to figure out what sort of surfaces confuse the camera and how that interferes with the tracking algorithm. The MS SDK must be handling the feed better.