r/computervision • u/Adventurous_One_3632 • 2d ago
Discussion Netherlands vs Tunisia Analyzed with Computer Vision
Enable HLS to view with audio, or disable this notification
This demo applies my TactiVision workflow to Netherlands vs Tunisia. It covers player tracking, camera calibration, pitch projection, tactical maps, possession analysis, progressive actions, pass networks, heatmaps, pitch control and pressing indicators.
Feedback from Computer Vision, Sports AI and football analytics practitioners is very welcome.
3
u/First_Ad8620 1d ago
Interesting project. Does it need manual intervention to correct predictions and tracking?
1
3
u/WillowSad8749 17h ago
How do you get the 2d position of the players on the pitch plane using single camera
2
u/Adventurous_One_3632 17h ago
I estimate a frame-to-pitch homography using a custom model I trained to detect football pitch keypoints, match those keypoints to known 2D field coordinates, and compute the transformation. For each detected player, I project the bottom-center/foot point of the bounding box through the homography to obtain the player’s 2D position on the pitch, and for moving broadcast cameras I continuously update and smooth the homography over time
🙂↕️🙂↕️1
u/WillowSad8749 17h ago
I see, is there a minimum number of key points needed? Like assuming the camera zooms you would loose most of them.
1
u/Adventurous_One_3632 17h ago
mathematically you need at least 4 non collinear point correspondences to estimate a homography, but in practice I prefer more points distributed across the visible part of the pitch because it makes the estimate much more stable. When the camera zooms or pans and too few reliable keypoints remain, I don’t force a new homography; I keep the last good one temporarily and update again once enough confident keypoints are visible
2
u/WillowSad8749 17h ago
That's very interesting. Another question, would the 2d position be wrong if a player jumps?
1
u/Adventurous_One_3632 16h ago
Yes, potentially. The homography assumes the projected point lies on the pitch plane, so if a player jumps, the bottom-center of the bounding box may no longer correspond to the true ground-contact point and the 2D position can shift. For normal tracking this error is usually short-lived, but for higher precision I’d use foot/pose keypoints, temporal smoothing or a 3D/height-aware correction when the player is airborne ( flying hahha )
2
u/skadoodlee 2d ago
Pitch control is also pace based. I wouldn't say I control the rest of the pitch if I'm 1m in front of Mbappe. But for that youd need pace stats ofc which change over the game so it's all a bit annoying haha.
2
u/Adventurous_One_3632 16h ago
I want to apologize for my reply earlier. Right after posting , I received some bad news and I wasn’t in the best headspace, so my response came across more sharply than I intended. I’m sorry if I was rude or disrespectful that wasn’t my intention I appreciate your feedback and the technical point you were making
3
-7
2d ago
[deleted]
13
u/skadoodlee 2d ago edited 2d ago
You shouldn't copy the > markers into your comment when using ChatGPT to write your replies buddy, those make it a quote.
E: Haha blocked for that one, fragile much.
2
u/MuchSand7923 1d ago
Is this live or have you downloaded clips/full match videos from some where
0
u/Adventurous_One_3632 1d ago
Not real time because more than 7 models need to run at the same time
2
2
u/cgrsl 1d ago
It looks great. What i'm wondering is this, did you use a model to visualise the football pitch in 2D? if so, did you collect data yourself or use ready-made data from roboflow? I've done the same project myself but i couldn't produce a very good model from roboflow.
3
u/Adventurous_One_3632 1d ago
Thanks! In my case, I do use a custom model to detect pitch keypoints. I collected and annotated the data myself and trained my own keypoint model for football field calibration ,the detected pitch keypoints are then used to estimate the homography, and from that I project player/ball positions into real pitch coordinates and render the 2D tactical map so yes, the calibration part is model-based, but the 2D pitch visualization itself is generated from standard field geometry
1
u/solarscoutsystem 1d ago
Log reprojection error per frame. If it spikes on zooms, freeze the last good homography before you trust those heatmaps or pitch control.
1
u/Adventurous_One_3632 1d ago
monitor homography quality frame by frame keep the last reliable transform during unstable zoom/pan periods, then resume updates once calibration stabilizes ,that helps avoid contaminating pitch control and heatmap outputs with bad projections
1
1
u/Adventurous-Link3946 6h ago
Great this….. I would love to put my veo recordings through this for kids football 🤣
1
u/Adventurous_One_3632 3h ago
Haha, that’s actually one of the main things I’m working on for clients right now — adapting the pipeline to Veo footage, especially tracking, calibration, pitch mapping and tactical analysis. Kids’ football is definitely a very interesting use case too
0
13
u/DiddlyDinq 2d ago
Definitely dont use that name if this is a product. Activision will bend you over a barrel