I would like to do Body Tracking using a Femto Mega connected to a PoE system, is Orbbec Body Tracking supported?
Hi, I have same issue
I buy the license for skeleton tracking but it not support femto.
Are you solve the issue?
Hi,
I have the same problem, but with Femto Bolts.
I would be happy to pay for the Orbbec Body Tracking SDK license if it would support the Femto Bolt cameras I have.
I haven’t tested this myself, but if you’re using the Femto then you may be able to use the body tracking that was made for the Azure Kinect - as the Femto inherits directly from the Azure Kinect. The git repo for it is at GitHub - orbbec/OrbbecSDK-K4A-Wrapper: This repo is forked from Azure-kinect-Sensor-SDK,contain the K4A wrapper for OrbbecSDK (the branch with the prefix "ob/")
It looks like the Orbbec wrapper might not explicitly include the Azure Kinect body tracking, but the Azure Kinect body tracking was a separate library and feature anyway; so you may be able to use the Orbbec wrapper to get the sensor data, and feed it into the Azure Kinect body tracking. There is the benefit that the Azure Kinect body tracking is free and doesn’t require a license.
Also, that Azure Kinect body tracking ORIGINALLY required a Nvidia GPU, as it utilized the CUDA cores. However, Microsoft later updated it so it can also run on CPUs - but it runs at a very low frame rate on CPUs; really that’s usable more for basic validation of your code than for any real-time application.
Hopefully this extra info is helpful to you.
Reviving the thread … I am trying to get K4ABT body tracking working when Femto Mega is connected via PoE:
Body Tracking is working over USB, just not as a Network Device: no devices are recognized using k4a
methods.
Is there a way to convert ob::Device
or ob::Pipelines
to k4a_device_t
?
For example, something like:
auto device = ctx.createNetDevice(address.c_str(), 8090);
k4a_device_t device_k4a = k4a_device_t(&device);
// Get the size of the serial number
size_t serial_size = 0;
k4a_device_get_serialnum(device_k4a, NULL, &serial_size);
// Allocate memory for the serial, then acquire it
char* serial = (char*)(malloc(serial_size));
k4a_device_get_serialnum(device_k4a, serial, &serial_size);
printf("Serial Number: ", serial);
free(serial);
This produces the error:
device_handle is not a valid handle of type k4a_device_t
cc’ing @oftheo too.