Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Pictura: Perspective-View Self-Play at Scale for Driving

Yuan Yin1, Elias Ramzi1, Marc Lafon1, Valentin Charraut2, Victor Bares2, Yihong Xu1,
Éloi Zablocki1, Alexandre Boulch1, Thibault Buhet2, Andrei Bursuc1, Matthieu Cord1,3

1valeo.ai, Paris, France · 2Valeo Brain, Créteil, France · 3Sorbonne Université, CNRS, ISIR, Paris, France

Driving policies trained by self-play directly from rendered camera views, with no privileged observation of the surroundings.

Project page · Paper · Videos

Code coming by September 2026.

A perspective frame rendered by Pictura: green traffic lights, blue and purple vehicles, a magenta pedestrian, a cyan-faced parked car, dark building walls, yellow road edges and a white crosswalk.

One frame the policy learns from. Traffic lights, vehicles, pedestrians, parked cars and walls are all simulation primitives drawn by Pictura's CUDA rasterizer, inside the training loop.

Abstract

Self-play in simulation produces robust driving policies at scale. Demonstrations of such behavior have been made using privileged vectorized observations such as exact poses and velocities, even for occluded agents. This assumes that perception is solved and introduces a representation gap with the partial observation of a deployed agent driving from the perspective view of egocentric cameras. A common fix, distilling the privileged policy into a camera-input student, leaves the student imitating decisions its own view cannot justify.

Instead, we establish perspective-view self-play as a practical training regime. We introduce Pictura1, a GPU-accelerated multi-agent driving simulator that renders each agent's egocentric view at every step, mitigating the representation gap at its source. Pictura sustains up to 500 K agent-steps/s (2 M images/s) on a single H100. Using Pictura, we train Alberti by self-play with plain PPO. It is the first large-scale driving self-play policy trained directly from perspective images, without privileged observations. Training spans 50 B agent steps for ~35 M km of driving. It approaches the driving performance of its privileged vectorized counterpart, and transfers zero-shot to Waymo Open Motion Dataset layouts re-rendered in Pictura, where it outperforms privileged vectorized agents.

The scale of one self-play training

50 B agent steps one training run
200 B camera frames rendered inside the loop (four-camera rig)
35 M km driven ≈ 91 trips to the Moon
1750 years of driving the same distance in human terms, at 20 K km/year
13 h on 32 H100s at ~1.3 M steps/s

Pictura's CUDA rasterizer is 1.4–4.1× faster than the best prior perspective renderer and gets faster on newer training hardware, keeping rendering to about 10% of a training step rather than the bottleneck. See the project page for the throughput, grounding and rollout results.

How it works

Every agent acts, is rendered for its neighbors, and learns from what it sees, all within one closed loop. Perception and control are learned jointly.

Pictura architecture: a vectorized simulator sends state to a custom PV rasterizer on GPU, which renders each agent's four camera views; those observations go to the Alberti policy, whose actions step the simulator, while observation, action and reward feed the PPO update.

Pictura couples a vectorized simulator with a custom GPU rasterizer that renders the simulator state into each agent's egocentric perspective view. The observation feeds Alberti, the policy, and, together with the action and the reward, forms the rollout that PPO turns into a policy update.

Citation

@article{yin2026pictura,
  title         = {Pictura: Perspective-View Self-Play at Scale for Driving},
  author        = {Yin, Yuan and Ramzi, Elias and Lafon, Marc and Charraut, Valentin
                   and Bares, Victor and Xu, Yihong and Zablocki, {\'E}loi and Boulch, Alexandre
                   and Buhet, Thibault and Bursuc, Andrei and Cord, Matthieu},
  year          = {2026},
  eprint        = {2607.26005},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV}
}

Acknowledgements

Pictura is built on PufferDrive 2.0 (Cornelisse et al., 2025), the open-source driving simulator written with PufferLib, and to our knowledge the best public starting point for vectorized self-play RL in driving. From it Pictura inherits a fast C multi-agent driving core, a PyTorch PPO training loop, support for over a thousand agents per environment, and the hand-authored CARLA maps it distributes. The world design follows GigaFlow; real-world layouts come from the Waymo Open Motion Dataset.

Footnotes

  1. Pictura is named after Leon Battista Alberti's De Pictura (1435), the treatise that first formalized the mathematical rules of linear perspective.

About

Official repository of Pictura

Resources

Stars

15 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors