AI ball tracking solved

AI ball tracking is now working really well. I think it is on par with competitors (Veo, Trace, Pixellot, etc). Here is a video cropped to 4k:

This is another one but cropped to 2880x1440. The AI is still able to focus on the ball most of the time despite of the smaller area. When the ball is not visible, it is usually a result of unimportant actions (throw-in, dead ball, etc).

If you like your video AI tracked, please post links below.

4 Likes

This is awesome! Will this be a feature brought to the main software or will it always need to be on a submission basis? Thanks!

This looks really good. Are there any plans to incorporate perspective view in tracking/software? That would be the final piece in the jigsaw for me. Thank you.

1 Like

Iā€™d be very interested to hear about the release of this feature. This also would be a very valuable feature for me. Iā€™d much prefer to give you money than give it to Veo.

@gchen, previously, you said your algorithm was tuned to the GoPro Hero 10. Is that still the case or can it handle video from other cameras?

Iā€™ll probably make it a web service instead of including it in the current software.

Not at this time. With a small crop window like 2880x1440 the final video doesnā€™t look so much ā€˜curvedā€™ any more so I think there is less need for the perspective view.

It is a completely new algorithm now and it should be able to handle video from other cameras much better.

Neat! Would this be applicable to other sports? I record ultimate (frisbee) games and itā€™s basically 7v7 on a soccer-sized pitch throwing a disc. Would your algo be able to track that?

1 Like

Iā€™m not sure if it would work. If you have recorded a video for a frisbee game with ActionStitch, can you share with me so that I can give it a try?

FTR I am also interested in ultimate frisbee support. I just ordered a GoPro 12 with the Max Lens Mod 2.0. I will first see how well it performs before getting a 2nd one to use with ActionStick. My primary use as is tactical analysis, where a fixed view is actually preferred.

However it would also be sweet to get dynamic footage generated out of this, so this is looking amazing. I assume this solution should also work in the above mentioned single camera setup, right?

If it can then also take out GoPro HiLight Tags to generate an automatic highlight video I would be over the moon.

Just curious, why do you want to have ball tracking a web service instead of including it into the ActionStitch software? The videos for games can be large and take a while to upload.

The AI tracking algorithm requires a good GPU which not everyone has. Plus, supporting all different types of GPU architectures would be a headacheā€¦

Can you share more info please on what kind of GPU would be required for this and what speed/framerate can you achieve?

I am very interested in this feature as Iā€™m currently working on a hobby project of mine where Iā€™m trying to build my own custom portable rig based on NVIDIA Jetson platform and two 4K MIPI CSI-2 camera modules.

My final goal is to achieve direct streaming of soccer games which would require capturing, stitching, tracking, transforming to perspective view and finally streaming.

Iā€™ve currently done only PoCs and research on partial functionalities like capturing, stitching, encoding and the findings are very good (30 FPS with two 4k sources by utilizing GPU with CUDA cores and hardware H.265 encoders).

Please message me if you can share more info or if you need more info from me.

Thanks.

Iā€™m also interested in Ultimate Frisbee support. I didnā€™t splice with actionstitch, but I did record with a Reolink Duo 2 wifi, which does a similar automated stitching of two cameras together. Hereā€™s the footage: SwissTransfer - Envoi sĆ©curisĆ© et gratuit de gros fichiers

edit: Iā€™d also be interested in what kind of GPU would be required. I have a 3080, not sure if that matches what you wrote the software withā€¦

Hello master, does this AI work with any 180 degree video? How is the development status of this new functionality?

It should work with any soccer video recorded by other 180 degree cameras, if that is what you meant.

At this time Iā€™m focus on building a new AI tracking camera. Once that is done Iā€™ll try to make this functionality available to ActionStitch users.

1 Like

Iā€™m really interested in this @gchen, all Iā€™d say is if youā€™re planning to release to the product for sale, please use as high a quality camera as possible!

I went down a rabbit hole a little while ago, because Iā€™m convinced the hardware (or at least the cameras) Veo uses are absolute trash.

I needed up finding this - Four Synchronized 4K Cameras for NVIDIAĀ® Jetson AGX Xavierā„¢, I donā€™t know if itā€™s any use to you.

1 Like

@gchen I just finished stitching a few weekend games from my trial setup with 2 GoPro Hero 12ā€™s (my ā€œGetting Startedā€ post has details). Thereā€™s definitely room for improvement in my setup- I will switch to a 3d printed mount- but, Iā€™m generally pleased with the result.

Iā€™m now (slowly) processing one of the games with AutoCam (on a 2021 MacBook Pro with an M1 Pro), but would also love to compare that output to your solution. Would you be willing to process one for me?

Video is here:
AS Player link: ActionStitch Player
Video File: https://westsoundsoccer.org/games/2009/2024-CrossfireCup-CascadePremier.mp4

Thanks!

This is the tracked and cropped video: https://s3.us-east-1.wasabisys.com/soccer/2024-CrossfireCup-CascadePremier-tracked.mp4

Thank you! For comparison, here is the tracked video processed via AutoCam. Iā€™m not sure if AutoCam allows for cropping, but I find its panning to be a bit smoother (less jumpy), though I suspect it may be making a tradeoff between fluidity and tracking precision (there is at least one moment where it loses track of the ball on our field and seems to instead track a ball on an adjacent field).

@gchen, I know youā€™ve not yet released your ball-tracking software, but it would be great if those dynamics (precision vs. smoothness) were user adjustable.