Hello,
I’ve tested the sample “body tracking → multi-camera → cpp” with two Zed2 connected via usb.
I noticed that the fused body has an overshoot during dynamic movements.
This overshoot is not present in the individual bodies detected by each camera.
You can see the effect in the following video:
You can see the ankle of the fused body makes up a knee extension that does not exist. While the two single bodies are consistent with the point cloud.
I’ve tried all the combination of:
BodyTrackingParameters: enable_body_fitting, enable_tracking and allow_reduced_precision_inference.
depth_mode: Ultra, Neural.
detection_model: HUMAN_BODY_ACCURATE.
The pc is powerful with a CPU Intel i9 13900 and a GPU NVidia 4090.
The cameras are placed at the same level at about 60° of yaw from one another but I’ve also tried many different camera positions but it doesn’t affect this issue.
Unfortunately, it’s a weakness of the current fusion version, either the fitting or the tracking. We want to expose more parameters in future versions, but some work still needs to be put in for that.
First, please make sure that skeleton_smoothing is set to 0 in in the BodyTrackingFusionRuntimeParameters.
I was already trying with body_tracking_runtime_parameters.skeleton_smoothing = 0;, sorry I didn’t mention it.
I tried with BodyTrackingFusionParameters enable_body_fitting = false but the overshoot is still the same.
With BodyTrackingFusionParameters enable_tracking = false the fused body doesn’t appear, but the single bodies are properly tracked and showed.
Would you have any other modifications I can try?
Accurate body detection is crucial for us and we would like to use several Zeds at the same time in order to be as accurate as possible.
Make sure you’re not enabling BODY_34 in the senders, but BODY_18, when disabling the tracking in the Fusion. It seems there is an issue preventing this from working as expected, thanks for the report!
Hello @JPlou ,
I use the sample zed-unity-livelink-fusion from github, and change the code to meet your suggestion above. Then I got some thing different.
Unity livelink demo got nothing when setting BodyTrackingFusionParameters → enable_tracking to false
Unity demo will crash with BODY_18 in the sender and disable body_fitting of body_tracking_parameters and body_fusion_init_params because of incompatibility of BODY_18 format data for unity. It seems like BODY_18, body_tracking_parameters.enable_body_fitting = false and body_fusion_init_params.enable_body_fitting=false is not working for unity livelink demo.
I found body_tracking_parameters.enable_tracking = false is working for unity livelink fusion demo, will improve the accurate of tracking data, but still not enough for me
The environment is listed below:
Windows 11
cuda_12.1.1_531.14_windows
ZED SDK: V4.1.3
Python: 3.12.4
Camera: Zed2i x4 (all connected to pc with USB3, no bandrate problem)
i9-10850K, 64G, RTX4090
Tracking Area: 3.5m x 4m, and the 4 cameras is mounted on the corner of the area’s ceiling, the height of the camera from floor is about 2.1m.
The resolution is HD720@15 and depth mode is QUALITY. We want to choose HD720@30, but the frame will drop under 30 when 2 or more person appear in the tracking area.
When tracking 2 or more person, the accurateness will lower than only one person.
Can you give me some advise to improve the multi-person body tracking accurateness?
Thank you.