BallJames knows about five types of teams: the field players of the home and away side, their keepers and the referees. At the beginning of the match, unsupervised learning algorithms decides how to distinguish between the teams, by looking at the persons on the pitch around the moment just before the kick-off. The algorithms will cluster all observations in each of these groups. We optimize these clusters and are then able to reliably classify players throughout the entire match.
We train a deep learning model with a lot of data to be able to detect more information of a player, like the number that we can use for identification. The biggest challenge for us was the acquisition of this data to train our model with. In the past we used to deal with data acquisition by labeling the data ourselves or having external parties take care of this. Labeling our data is very costly in money and time and in addition to that the resulting deep learning model was prone to error. We were labeling the footage from our own camera systems, which only gave us good results if we did not encounter new situations in weather, camera settings, team jerseys and even unseen numbers in different fonts. We realised that human labeling (even with an additional step to check data quality) always came with human error.