The client is a European technology company providing a platform for analyzing football matches and training sessions, evaluating individual and team performance, and actively using data in the training process. The platform’s users include professional clubs, sports federations, and television companies.

The company already had an existing infrastructure for collecting video streams from stadiums and an analytics platform but was experiencing difficulties automating object and game event recognition. They needed a reliable computer vision subsystem that could be easily integrated into their existing pipeline without completely overhauling the architecture.

Problem / Task

Key challenges the client faced:

  • Inability to scale manual match annotation
  • Difficulties in detecting players and the ball when there is overlap, shadows, and poor lighting
  • Lack of automatic recognition of game events
  • Necessity for integration into a complex production system without service interruption

Solution

Our team implemented a full stack of CV subsystems, including:

  • Stitching video streams from multiple cameras
  • Camera calibration in 2D/3D space
  • Lighting and color correction to unify the video stream
  • Detection and segmentation: marking the field, goals, baskets, nets
  • Tracking players and the ball
  • Recognition of game events (pass, shot, goal)
  • Identification of players by numbers and jersey color
  • Pose Estimation to assess the athlete’s pose and actions

The modules were adapted to the client’s architecture and deployed as microservices within the existing data pipeline, with REST and WebSocket APIs.

Process

The entire development cycle took 9 months:

  1. Data research and preparation of training samples
  2. Development and testing of models
  3. Integration with the client’s backend platform
  4. Installation on-site and field tests (remote support of the client’s technical specialists)
  5. Optimization of speed and accuracy for live mode

We used a CI/CD pipeline and conducted automatic quality comparison of models after each release.

Result

  • Up to 93% accuracy in recognizing game events
  • Seamless player tracking even with overlaps and collisions
  • The ball is detected at 60 fps with a latency of less than 300 ms
  • Recognition of player numbers – up to 90% accuracy
  • 80% reduction in manual annotation costs – due to full automation of tracking and identification
  • The speed of preparing analytical reports decreased from 2 hours to 15 minutes
  • Match coverage increased 3 times without increasing the number of operators or analysts
  • Integration was carried out without changes to the client’s architecture – connection through standard APIs

Features / Challenges

A particular challenge was working in non-standard lighting conditions (evening matches, reflections) and partial occlusion of players. Hybrid segmentation methods and dynamic brightness adaptation were applied for stable operation in all conditions.

  • The task of automatic camera calibration in the absence of markers and with manual installation was solved.
  • Field segmentation by color and geometry was used to withstand unstable lighting.
  • In rain and fog conditions, models were adapted to reduced contrast.
  • All algorithms work in real-time on the client’s Edge device without the need to transfer data to the cloud.

Interesting Facts

  • To train the model, we manually annotated more than 150 matches from different championships.
  • The developed system revealed a hidden refereeing error in one of the test matches.
  • Pose estimation proved to be effective in assessing the probability of fouls and tackles.
  • The modules are also used to generate highlights automatically.

Feedback

“The team showed a high level in the field of computer vision and sports. The solution works in real-time and is easily adaptable to different sports venues.”