Preprint  ·  2026

Thinking in Boxes

3D Editing in Real Images Made Easy

1Indian Institute of Science  ·  2Apple  ·  3UIUC  ·  4Johns Hopkins University
Equal Contribution
Boxes
Translate
Rotate
Interchange
Rotate Camera
Image
Source
Edited
Thinking in boxes. Given a single source image (left column), the user fits 3D boxes around objects of interest anchored on a depth-aligned floor. Editing the boxes drives the corresponding edit in the image: translation, rotation, an interchange between two objects, and a rotation of the camera viewpoint. Object appearance is preserved across all edits — including regions of the object not visible in the source.

01 — Abstract

A structured interface
for 3D image editing

Text and 2D-conditioning interfaces provide weak, ambiguous control over spatial transformations in image editing — particularly under large object motions and camera changes. Prior work has used 3D primitives such as boxes, but only as loose conditioning signals indicating approximate object location rather than specifying the transformation.


We instead use 3D boxes as structured specifications: the user provides the input and output boxes of the edit, casting editing as a well-posed geometry problem. This "thinking in boxes" interface, where each box face is color-coded to convey 3D orientation, gives precise control over translation, rotation, scaling, and viewpoint changes in real images while preserving scene and object identity, and recovering previously unseen object regions. To ground transformations in scene appearance, we introduce a depth-aligned planar floor as a global reference frame, shaded with depth-aware cues.


Conditioned on this structure, an image generator produces consistent results under large transformations. Trained in two stages — on synthetic multi-object scenes and a small set of real-world videos from Objectron — the system generalizes to complex, in-the-wild real images. Our method operates directly on real photographs and substantially outperforms recent state-of-the-art methods on large 3D edits.


02 — Method

How it works

Editing Pipeline

Editing pipeline. (1) Users provide a real source image and (2) fit 3D boxes to the objects within the scene using a point-and-click interface. (3) The boxes can be manipulated in 3D space, allowing for scaling, rotation, translation, and camera moves. Both the source and target box layouts are projected into 2D and serve, alongside the source image, as inputs to an image editing model. (4) The model generates an edit that respects the underlying scene geometry and follows the user's layout.


03 — Editor

Try the box editor

A bite-sized preview of our editor. Pick a source scene, choose an edit operation, play around with the controls and the right panel shows the corresponding generated result. For full control over the boxes, use the Demo provided in the project repository.

📦 Thinking in Boxes — Interactive Demo Pick a scene
Box Scene
Box scene
Source Result
Drag to translate Drag the slider — or drag directly inside the Box Scene.
Scene Pick a mode (T/R/S/C) then drag inside the box scene or the slider
Box face color code
Front
Back
Top
Bottom
Left
Right

04 — Data & Training

Dataset & training pipelines

Our model is trained in two stages:
I) A large synthetic dataset rendered in Blender and
II) Fine-tuning on real-world Objectron videos.

Data Synthetic Dataset Pipeline
Dataset Pipeline
Synthetic data generation. Multi-object scenes are assembled by sampling assets from ObjaverseXL, HDRIs, and material libraries, then placed in Blender. We render paired RGB images and 3D-primitive box layouts for source/target edit configurations.
Train Two-Stage Training Pipeline
Training Pipeline
Training. We condition FLUX-Kontext on (source image, source boxes, target boxes). A learned transformation 𝒯 maps source latents to target latents under guidance of the projected box layouts.

Training at a glance

A snapshot of the data and recipe used to produce the model behind every result on this page.

110K
Synthetic Scenes
2 viewpoints / scene
10,143
Unique 3D Assets
Sampled from ObjaverseXL
1,154
HDRI Environments
+ 5,760 floor materials
10K
Real Pairs (Objectron)
Used for fine-tuning in stage 2
Architecture & Conditioning

Base model: FLUX-Kontext. Source image, source-box layout Lsrc, and target-box layout Ltgt are encoded by the VAE and concatenated along the spatial dimension. Joint attention in MMDiT lets image tokens attend to source-layout tokens (for appearance) and target-layout tokens (for position). Per-face color coding on the boxes encodes 3D orientation; the checkered floor anchors a global reference frame disambiguating object and camera transformations.

Training Recipe
  • Stage 1. 50K steps on synthetic rendered pairs.
  • Stage 2. +10K steps on a hybrid of 10K Objectron + 10K synthetic.
  • Adaptation. LoRA on attention matrices — base model stays frozen.
  • Resolution. 512 × 512 RGB renders with color-coded box overlays.
  • Edits supervised. Translation, rotation, scaling, camera viewpoint.

05 — Results

Qualitative results
across edit types

Pick a set A–C or Baselines to browse the full grid of results.
Click to play its image → source box → target box → generation transition.

🖼️ Result Gallery Hover to preview · Click ▶ to play

06 — Citation

BibTeX

If you find our work useful, please consider citing:

BibTeX Citation
@misc{bhat2026thinkingboxes3dediting,
  title         = {Thinking in Boxes: 3D Editing in Real Images Made Easy},
  author        = {Pradhaan S Bhat and Naveen Chandra R and Rishubh Parihar and Vaibhav Vavilala and R. Venkatesh Babu and D. A. Forsyth and Anand Bhattad},
  year          = {2026},
  eprint        = {2606.20556},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV},
  url           = {https://arxiv.org/abs/2606.20556}
}