Nuitrack | Very fast and lightweight skeletal tracking for Raspberry Pi4 + Intel Realsense

Raspberry Pi4 (arm64 linux) support is available in recent release. Please feel free to try and leave a feedback.

Doesn’t seem to be working with the trial version of the software.

I installed as per the trial email which said to download the files here.

It’s version 0.35.8, and when I click on Select 3D Sensor, it says:

Get device list error:
 Can't enumerate devices: AstraProPerseeDepthProvider: Can't open device (	DeviceOpen using default: no devices found
)
Can't enumerate devices: KinectDepthProvider: Devices not found
Can't enumerate devices: OpenNI2DepthProvider: Can't open device (	DeviceOpen using default: no devices found
)

The Realsense is installed and I can use it with realsense-viewer. However, the Nuitrack software doesn’t seem to be able to find the realsense sensor.

Is there something I’m doing wrong here?

Hi @reverts,

What Realsense sensor do you have? Do you want to use Nuitrack on Raspberry Pi4?

I’m using the Realsense D435i, though I also tested a D435. Using latest firmware on both.

Yes, I want to use Nuitrack on the Pi, and be able to send the skeleton data to a remote Unity instance, either via plugin, or via my own ZMQ/UDP/etc setup.

I have also considered just streaming the Raspberry Pi data to a Ubuntu server, and running NuiTrack on multiple streams coming in from Raspberry PI’s each with their own D435 data, but I don’t know how that would work yet.

@reverts, what OS does your Raspberry Pi 4 have? Be careful, Raspberry Pi OS is a 32-bit system, Nuitrack only supports 64-bit systems on Linux arm machines (Raspberry Pi 4).

Ah, I see.

I got it working with Ubuntu ARM64 and followed the install. You should add to the docs that it’s no longer:
sudo apt-get install freeglut-dev

it’s:
sudo apt-get install freeglut3

as well as adding this to the ~/.bashrc file:

export NUITRACK_HOME=/usr/etc/nuitrack
export LD_LIBRARY_PATH=/usr/local/lib/nuitrack

The speed was pretty good, but wasn’t very reliable past 3-4 meters. Maybe if I could adjust the depth image params, it could pick out the human a bit better, not sure. For short range stuff, this would work great!

Thank you!

Are you using Nuitrack AI on RPi4?

@reverts, for testing, we used the Ubuntu Mate 20.04.1 arm64 distribution from here: https://ubuntu-mate.org/download/arm64/focal/

You should add to the docs that it’s no longer:

Thank you for bringing this installation issue to our attention! We will check and correct it as soon as possible.

The speed was pretty good, but wasn’t very reliable past 3-4 meters. Maybe if I could adjust the depth image params, it could pick out the human a bit better, not sure.

On the D435i sensor official page, you can see that this sensor has a maximum ideal range of 3m: https://www.intelrealsense.com/depth-camera-d435i/

Nuitrack sets the optimal parameters for Intel Realsense cameras and usually, other camera settings do not lead to significant improvement on depth frame quality.

The Skeleton tracking quality directly depends on the quality depth channel of the RGBD-sensor. The best skeleton tracking quality is provided on Kinect v1/v2/ Azure, Asus Xtion 1, and Orbbec Astra.

@UomoCaffeLatte, unfortunately, it isn’t supported at the moment.

Are there any other small factor boards that support Nuitrack AI?

@UomoCaffeLatte, this could be possible, for example, with a Jetson NX computer (because it has powerful hardware) and it’s in our roadmap, but so far without an exact implementation date. This is due to the low demand of this case among our clients. But we can discuss it within a custom development contract if you are interested.