Back to Blog

Rebuilding a Football Match in 3D: Exploring the SoccerNet 2026 Winning Solution

What would it take to recreate a football match in 3D and then move the camera to a position where no camera was ever placed?
This is the problem behind the Novel View Synthesis challenge at the SoccerNet 2026 edition. The input is a set of images of the same moment taken from different cameras, and the goal is to reconstruct the scene well enough to generate views that were never part of that input.

We took the winning solution, DENSER, and ran it ourselves. In this post we go through how it works, and answer three questions along the way. How is the data built? How many cameras are really needed? And could this be done with a real football match?

How is the data built?

Collecting this kind of data from a real match is difficult. A match may have several cameras, but getting hundreds of synchronized ones around the pitch, all capturing the same moment from known positions, is a very different story. And to train and evaluate a model we also need to know what the scene actually looks like from each viewpoint.

The SoccerNet dataset solves this by building the scenes in 3D. It starts from real football matches, using the footage to work out where every player was standing and how their body was positioned at that moment, with some of it corrected by hand. Those positions are then used to pose virtual players in Blender, inside a 3D model of the stadium.

Cameras can then be placed anywhere around that scene and rendered automatically. This gives hundreds of views of the same moment, each with its exact camera position and original image, so a model can be trained on some cameras and tested on others it has never seen.

The process can be summarized as:

A moment from a real match → player positions → Blender scene → virtual cameras → rendered images

One moment, hundreds of views

The resulting scene contains the pitch, players, goals, advertising boards and stands. The cameras are arranged around it in rings at a few fixed heights, with a small number placed down at pitch level.

The training cameras of a scene, arranged in rings around the stadium at 1.7, 11, 19 and 32 metres
The training cameras of a scene, seen from outside the stadium. Three rings of one hundred sit at 11, 19 and 32 metres, and eight more stand at pitch level.

Cameras at different heights see very different things, so the dataset covers a wide range of positions.

Four training cameras, one per scene, at 1.7, 11, 19 and 32 metres above the pitch
Four training cameras, each from a different scene, at 1.7, 11, 19 and 32 metres above the pitch.

Each scene has around 420 views of the same frozen moment, from broadcast height down to ground level. They are split into training and evaluation views, and because the original scene is available, a generated image can be compared directly with the real render from that camera.

The winning solution: DENSER

The winning solution, DENSER, was created by Parthsarthi Rawat and is built around 3D Gaussian Splatting. Instead of representing the scene with surfaces, it uses a large number of small 3D shapes called Gaussians, each with a position, a size and shape, a color and a transparency. During training those properties are adjusted until the collection produces images that match the input cameras.

The first 5,000 iterations of training. The number of Gaussians more than doubles as the pitch, the players and the stands come out of the initial cloud.

At the beginning the scene is a rough cloud of shapes. As training continues the Gaussians multiply and shrink, and the pitch, players and stadium gradually appear.

DENSER adds several ideas on top of this. The cameras in the dataset are not evenly distributed, so it gives more importance to the ground-level positions that matter in the challenge but are rare in the training set. It also uses Depth Anything V2, a model that estimates depth from an image, to give the reconstruction extra information about the 3D structure of the scene.

The training is split into stages, each one continuing from the last.

Stage 1images onlyStage 2adds depth informationthree variantsStage 3aStage 3bStage 3caveragedFinal viewmean of the three

How the training is staged. The last stage runs as three variants, and the picture that comes out is the average of what the three render.

  • Stage 1 builds the scene from scratch, giving extra weight to the low cameras.
  • Stage 2 carries on from it and brings the depth maps in as an extra constraint.
  • Stage 3 carries on again, as three slightly different variants:
    • 3a stops earlier than the other two.
    • 3b runs longer, and limits how large each shape is allowed to grow.
    • 3c runs as long as 3b, without that limit.
  • The final view is the average of what the three variants render, since each makes different mistakes.

What DENSER achieves

Comparing methods requires a way to measure how close a generated image is to the real one. The challenge uses PSNR, which compares the two and produces a single number for how different they are. A higher number means they are closer.

DENSER reached 29.89 on the evaluation views, against 26.74 for standard Gaussian Splatting. Most of that gap comes from the low cameras. More than half of the evaluation views are near the ground while almost none of the training cameras are, so the baselines have little to work with there.

The same view behind the goal rendered by 3D Gaussian Splatting and by DENSER
The same view behind the goal, rendered by each method. Images from the DENSER project page.

The difference is not only in the number. The views produced by DENSER look cleaner, especially from the low positions where the baselines struggle most.

Moving the camera

Once the model is trained, we can place a virtual camera anywhere in the scene and render from there. We used this to move a camera around the reconstruction.

A corner in the goalmouth, from a different scene, with the camera circling above the play.

None of these frames were part of the input. For most of the scene the result stays coherent as the camera moves, with the pitch, players and stadium remaining in roughly the right places.

Having the match as a 3D scene also allows a play to be analysed in more detail than any single camera does, since positions on the pitch can be measured directly from the reconstruction. As an example, we looked at an offside.

An offside line drawn on the reconstruction.

There are areas where the reconstruction is less convincing, particularly from viewpoints far away from any of the original cameras.

A viewpoint behind the goal where the netting breaks up into streaks
A view from behind the goal, where the net closest to the camera smears into streaks.

These errors appear where the original cameras give little information about what should be visible from the new position. The model fills in the gap with what it has, and sometimes the result is clearly wrong. That makes the number and placement of the cameras part of the problem.

How many cameras are really needed?

Although the scenes have around 420 cameras, using all of them may not be necessary. We retrained the model on smaller subsets and evaluated on views left out of training, keeping the cameras at a similar height so the only real difference was how many there were.

With 45 cameras the reconstruction reproduced the scene quite well. At 30 it was still useful, with the players, ball and play clearly recognizable. At 20 the quality dropped noticeably. Measured with PSNR the improvements were fairly even, about three points from 20 to 30 and two and a half more from 30 to 45.

The same unseen viewpoint reconstructed from 20, 30 and 45 cameras
The same viewpoint, kept out of training, reconstructed from 20, 30 and 45 cameras. The blotches on the grass fade and the pitch lines sharpen as cameras are added.

So a few dozen cameras were enough to reconstruct the main elements of the scene, and adding more still helped. That is a long way from the original setup with more than 400. The cameras still need to cover the scene properly, but a useful reconstruction does not necessarily require hundreds of viewpoints.

Could this be done with a real football match?

Not from an ordinary broadcast, at least not yet. The dataset gives conditions that would be very difficult to reproduce at a real match, with many cameras looking at exactly the same scene, everything precisely synchronized, and the correct 3D position of every camera known. A normal broadcast has far fewer cameras, placed at very different heights and often zoomed in on different parts of the play.

There is also the question of time. Each reconstruction covers a single frozen moment rather than a moving scene, so what comes back is a 3D version of one instant.

What our experiments suggest is that the limit is the cameras rather than the method. With enough of them, placed so that they actually cover the scene, the reconstruction holds up well enough to move a virtual camera through it, and a few dozen were enough for that.

Related posts