Bowling Ball Tracking

We are testing developing a bowling ball tracking system using the Zed 2 camera because the specs advertised. Specifically, the depth range of 20m. The idea is to have a single Zed 2 camera at a location capable of viewing multiple lanes and tracking the ball with relatively low latency (e.g., < 300 ms) and fairly accurate ( about 2 inches off of the position at the furthest viewing distance of around 60 feet ).

We’ve attempted the zed-sdk/object detection/concurrent detections/cpp at master · stereolabs/zed-sdk (github.com) with adjustments as a proof of concept. Adjustments included:

  • removing all other detections object class filters and using only sport
  • setting the coordinate_units to meters
  • increasing the depth_maximum_distance to 18.3 (60 feet)
  • for looping the retrievedObjects for positional information logging
  • reducing the confidence level via the GUI after running
  • depth modes ULTRA and NEURAL
  • using only OBJECT_CLASS::SPORT object class filter

Unfortunately, we didn’t manage to get the bowling ball tracked past roughly 10 feet directly straight ahead of the camera. Are we doing something wrong? Why is the ball not being detected at greater distances. 10 feet out the expected 65 feet is a rather large discrepancy from what we had expected.

Thanks in advance for any insight or advice.

Hi @colossus689
Welcome to the Stereolabs community.

OBJECT_CLASS::SPORT is normally designed to track other sports ball types, I’m not sure it can perform correctly with lucid and reflective bowling balls.

Can you use ZED Explorer to record an SVO under typical process conditions and share it with us for testing? This will help us determine the best parameters for detection and tracking.

You can send it to support@stereolabs.com if you prefer to not share it publicly on the forum.
Please add a reference to this thread in this case.

I just sent over the SVO files.

Awaiting your feedback, I appreciate your help.