Projects

PoC for Football analytics system

Type Proof of concept
TECHNOLOGIES AlphaPose, DNN OpenCV, Docker, Python, Tesseract
AREAS OF EXPERTISE Computer vision, Face recognition
TEAM 2 developers, 1 project manager, 2 analysts

The general idea of the project was the creation of a football analytics system, which is based on the processing of video from football training sessions and games. 

The idea of ​​combining the capabilities of an AI and the sports domain is quite new and not fully explored. Only the professional sports clubs are using an AI on the daily basis, that is why we were eager to cooperate with the founder of a football school who wanted to integrate an AI solution into the daily activities of the coaches. The analytics takes various actions of the players on the field (the number of passes, shots, distance covered, etc.) into account. Based on those actions, the analytics system should create an overall statistics list for each player. 

 We started the project with a PoC (proof of concept). The main task was to develop and test the possible approaches (different AI models and ways for statistics calculation). At the initial stage, we put forward several hypotheses and selected possible tools (AI models) that we wanted to test. 

In order to understand how the whole system works, we should start with some basic use-case scenario on how the user (coach) interacts with the system:

  1. Cameras calibration – before the game starts, the coach or his assistant calibrate 6 cameras in the way that they cover the required zones. The calibration process is happening in a web application, where they can see the live feed from all of the cameras
  2. Start of the recording– the game starts with the whistle blow and this is signal for our cameras to start the recording
  3. Player automatic calibration – the automatic players identification based on the face recognition results
  4. Players manual calibration – by the end of the game or a training session, the coach opens a video from one of the cameras on the web app and manually calibrates the players (e.g. this player is Alex, and this one is John). Manual calibration is needed only in certain situations, when the automatic calibration is not working as intended and doesn’t identificate the player (several players are in the same spot, long-term collisions, blind spots on the video)
  5. Pose and face recognition – at this step we are understanding how the player moves and what action he/she does on the field.
  6. Statistical summary – as a result of the recognition, the coach receives overall statistics for each player on the field
Challenges
  1. Player identification on the video feed 
  2. Players actions identification
  3. Video synchronization
  4. Ball detection
Solutions
  1. We came up with an idea that included facial recognition for player identification purposes. We used several CV solutions for automatic player identification
    1. Face detection model
    2. Face recognition model
  2. In order to understand the type of actions of each player on the field, we used models for human poses identification. They show the ‘skeleton’ for each person captured on the video feed and the movement of their body parts (legs, arms, torso, etc).
  3. Another challenge was camera synchronization. Because of the sizes of a football field, we couldn't use just one camera to cover it completely. Based on the quality and performance of the cameras available, we developed an approach using 6 cameras (4 at the corners and 2 in the middle of the field). The main method of synchronization for us was sound (a loud whistle at the beginning of the match) and further synchronization through the comparison of sound waves on all 6 cameras.
  4. In order to provide viable statistics, we needed to understand the ball movement and the actions which the player performs with it. Our Customer planned to use this system also in the training process, our algorithm could detect several balls on the field at the same time. In order to fulfill this task we used a CV algorithm for ball detection.

Results

During the PoC stage, we’ve inspected several ML algorithms for pose and face detection. We’ve made a documentation that included project overview, use-case scenarios, preliminary architecture, and functionality list. By the end of the PoC, we were ready for the start of the project by combining the ML algorithms together and integrating them into a web application.

Business Value

One of the most crucial requirements we also should remember about was the speed of the recognition process. The speed was a strict requirement for several reasons:

  • our client has 300 football schools and in 150 of those schools training activities were simultaneous;
  • time = money since the video processing took place on third-party servers;
  • coaches want to work with up-to-date analytics and concentrate more on working with the analytics rather than spending time collecting it.

As for the client, the main focus was on bringing more interactivity between the parents and the results of their children. By receiving an analytical overview of their kids performance, they become more engaged in the whole training process.

 

 

 

AR Office application
AR Office application
Face recognition software
Face recognition software