Enables Geometrically Consistent Bokeh Editing
1University of Maryland · 2Adobe · †Equal contribution
TL;DR Bokeh training data is either hard to scale (hardware capture) or corrupted by estimated depth (synthetic rendering). Our principle: render bokeh supervision from light fields reconstructed out of casual video — faithful and scalable at once.
Bokeh editors consistently fail on complex geometry — reflections, thin structures — exactly where depth estimation struggles. The cause is the training data: captured datasets are accurate but non-scalable; synthetic ones scale but render labels through estimated depth, inheriting its errors.
Claim The bottleneck is data, not architecture: retraining BokehDiff on Vid2Bokeh, architecture unchanged, improves it across the board.
Casual video → 25×25 light field → bokeh at any focus and aperture. All three clips below come from the same handheld video.
A handheld walk-around on an ordinary camera. No rig, no light-field camera, no per-focus DSLR capture.
Feed-forward 3D synthesizes 625 sub-aperture views in one pass — under 30 s on a single A100.
Integrating over the light field gives any focus and aperture — occlusion correct, no depth map involved.
A feed-forward 3D model (LaCT) lifts each clip into a 25×25 light field around selected key frames; bokeh pairs render directly from it — no depth map anywhere in label generation.
Built on DL3DV: several key frames per video each yield a 25×25 light field — about 10K videos become 100K+ light fields, with continuous (κ, a) sampling.
| Method | Editing Space | Training Dataset | Data Generation | ||||
|---|---|---|---|---|---|---|---|
| Focus | DoF | Name | Scenes | Core Philosophy | Depth-Est-Free | Scalable | |
| DC² | ✓ | ✓ | – | 100 | Physical Capture (Multi-Cam) | ||
| Tedla et al. | ✓ | Focal Stack | 1,637 | Physical Capture (Multi-Cam) | ✓ | ||
| DPDNet | ↑ | DPDD | 500 | Physical Capture (Multi-Cam) | ✓ | ||
| AiFNet | ↑ | LFDOF | 100 | Physical Capture (Light Field) | ✓ | ||
| Bokehlicious | ↓ | RealBokeh | 4.4k | Physical Capture | ✓ | ||
| RVR-LAAF | ✓ | ↓ | Aperture | 2,942 | Physical Capture | ✓ | |
| PyNET | ↓ | EBB! | 5k | Physical Capture | ✓ | ||
| BokehDiff | ↓ | – | – | Compositional Synthesis | ✓ | ||
| BokehMe | ↓ | – | 150 | Compositional Synthesis | ✓ | ||
| DiffCamera | ✓ | ✓ | – | 20k | Depth-based Hybrid Synthesis | ✓ | |
| GenRefocus | ✓ | ✓ | – | – | Depth-based Hybrid Synthesis | ✓ | |
| Vid2Bokeh (Ours) | ✓ | ✓ | Vid2Bokeh | 100k | Synthetic Light Field from Video | ✓ | ✓ |
Vid2Bokeh is the only pipeline that is simultaneously depth-estimation-free and scalable. ↑/↓ in DoF: one-directional blur change; ✓: full bidirectional control supporting blurry inputs.
The light field is synthesized, so we validate the rendered bokeh directly — against Blender path-traced ground truth, and side by side on real captures.
A plain diffusion model fine-tuned on Vid2Bokeh. Input: one photograph plus offsets (Δκ, Δa); output: the re-rendered photograph at the new focus and aperture — in either direction.
Note the two sides are parameterized differently: ours takes relative offsets from the input's own optical setting, the baseline takes absolute blur radius and focal distance.
After the argument · Limitations
After the argument · Citation