Sports · Computer vision
Turning a TV broadcast into tactical match data
28 stats per team, straight off the TV feed.
Every player in shot placed on a to-scale map of the pitch.
- Focus area
- Computer Vision · Sports Analytics
- Input
- TV Match Broadcast
- Output
- Pitch Map + 28 Stats per Team
We built a system that watches a normal TV broadcast of a football match and works out where every player in shot is standing, in metres, on a map of the pitch.
From those positions it keeps a running count of 28 stats for each team, so analysts get tracking data from footage they already have.
The Challenge
Lots of footage, not much data
A scoreline and a possession figure only tell you so much. Coaches and analysts want to know how much space players had, how quickly a team moved the ball forward and how often they got into the box. All of that depends on knowing where everyone is, which usually means tracking cameras installed around the stadium. Most clubs and leagues don't have them.
Most professional matches are filmed for TV anyway, so the footage is there. It just isn't made for analysis. The camera pans and zooms, cuts to close-ups and replays, and a spot on the screen could be anywhere on the grass.
The Approach
From the TV picture to a map of the pitch
Here's the system running on a match broadcast: its pitch map on the left, the TV picture on the right. Every frame goes through four steps.
A looping clip of the system at work: on the left its top-down pitch map, with each player as a dot in their team's colour and the ball in yellow, moving in step with the TV broadcast on the right. A bar underneath shows which team has the ball and the match clock.
- 01
Skip what isn't usable
Close-ups, replays and breaks in play are ignored, so they never make it into the stats.
- 02
Find the players and the ball
Each player in shot is detected and put on a team based on their kit colour.
- 03
Place them on the pitch
The camera view is matched to the real pitch, so a position on screen becomes a position in metres on a 105 × 68 m field.
- 04
Keep count
Who has the ball, where it goes, how fast, and how much space players have are worked out from the positions and added to each team's tally.
The Output
28 stats for each team
Both teams get the same set, and every number updates as the match goes on. Across the five or so minutes of this match we ran it on, it had City on 91% possession and in United's box seven times. United didn't reach the final third once.
Possession
6- Possession share%
- Possession times
- Average possessions
- Possessions won
- Possessions lost
- Avg. possession (ball)
Territory
6- Entries to final third
- Entries to box
- Entries to six-yard box
- Time in final thirds
- Time in boxs
- Time in six-yard boxs
Open play & chances
5- Short open play
- Medium open play
- Long open play
- Very long open play
- One-on-one with keeper
Ball movement
5- Forward-ball times
- Back-ball times
- Forward-ball speedm/s
- Back-ball speedm/s
- Moving-ball speedm/s
Spacing
6- Nearest teammatem
- 2nd-nearest teammatem
- 3rd-nearest teammatem
- Nearest opponentm
- 2nd-nearest opponentm
- 3rd-nearest opponentm
In Practice
When the camera cuts away
TV coverage spends a lot of time away from the action. In those five minutes, only about half the footage showed play the system could use. The rest was close-ups, replays and stoppages, including a 45-second stretch of appeals and replays after a foul.
When that happens, the map goes blank and the stats pause until the wide shot comes back. We'd rather have a gap in the numbers than fill it with guesses. When the wide shot is on, the ball is on the map in 96% of frames.
What it's useful for
It means a match that was only ever filmed for TV can still be measured. A scout can compare players in leagues with no tracking data, an analyst can study an opponent's last few televised games, and older matches can be revisited from broadcast archives. The footage on this page is from 2020.
Every stat sits next to the picture it came from, so an analyst can check any number against what actually happened. And because everything is stored as positions in metres, a new stat is usually just a new definition.
Work with us
Have a problem worth publishing?
If it's hard enough to end up in this record, it's the kind of work we want. Tell us what to build, and we'll show ours.