Sports action tracking + pan/tilt

Hey guys, I’ve read up on a lot of motion tracking projects on this forum which only partially suit my needs. What I’m looking for is more about action or momentum tracking of a sports game (in my case kids soccer) and not single person tracking. This would be similar to 2 products on the market, Veo Cam2 (by veo.co) and Pix4team (by movensee.com). The first utilizes its own 2 4k cameras and uses AI to track action and digitally follow this action. The second product, Pix4team, is more what I’m thinking OpenMV could achieve. It has a 180deg camera that tracks action with a pan/tilt mount for a video camera. I believe it also uses this as an input for the AI.

Here’s my idea which does not involve feedback from the pan/tilt camera but does require a near 180deg lens: If the camera is mounted at the same fixed position and height above the field, I should be able to map a pan/tilt position to the x-y pixel grid of the camera. With this, I would use the AI to detect the center of action (frame differential, bulk movement?) then it would use the calibration map to set the pan/tilt position. This would move the video camera mounted to the pan/tilt mechanism to record the center of action.

K, the OpenMV Cam can do that. What do you need to know?

Good to know. I just wanted to make sure there was a reasonable chance before I undertook the project.

From what I gather, I’ll want to use in memory advanced frame differencing along with blob tracking. I won’t have the hardware for a few days to experiment, but until then, I have a few questions:

  1. How are all blobs reported? I believe I would want to get an area weighted average centroid.
  2. Another option could be to just perform auto tracking where the OpenMV camera also moves with the pan/tilt. Do you think this would you feel perform better vs. that keeping the OpenMV camera static with a full 180 view of the field and only pan/tilt the video camera? I guess the risk is if it lost track of the movement it would miss the action until it came back into frame.

Thanks!

  1. Search for blob on our documentation. There’s a centroid value returned.
  2. The camera can do this. You have to write your own PID control.