Télécom Paris
Bingchen Gong
LIX, École Polytechnique
21 September 2026
Foundations for the research programme From Video to Animatable and Efficient 3D Worlds


Different scenes can explain the same images,
yet behave differently when edited.
Which structure must be explicit to constrain reconstruction,
target an operation and verify its consequences?
Image agreement leaves ambiguity; control complexity and make surface constraints explicit.
FourieRF · MILo · Spokes
Connect concepts to points and parts; evaluate localization beyond recognition.
ZeroKey · PatchAlign3D
Judgments can train a predictor; richer evidence does not guarantee better construction.
Is It a Good Match? · 3DHarnessBench

Training views can fit well while unseen views fail.
A compact 3D field sums learned line × plane factors.

1D: frequency cutoff.
2D: centered disk.
bt = bt−1 + Δ
Increase bandwidth
as training progresses.
f̃t = F−1(Mbₜ ⊙ F(f))
Render with the filtered factors; image error trains them through the mask.

Releasing detail gradually changes the geometry learned from the same images.
5.57× faster training than ZeroRF,
with 0.212 dB lower PSNR.
| Method | Relative training time ↓ | 4-view Blender PSNR ↑ |
|---|---|---|
| FourieRF-VM | 0.930 | 21.728 dB |
| ZeroRF | 5.181 | 21.940 dB |
Reported Blender setup: 10,000 iterations, RTX 4090. Training time normalized to TensoRF = 1.
Frequency control regularizes the field. Geometric use also needs an explicit surface.
How can Gaussians fitted to images describe a usable surface?


Let the extracted mesh
constrain training.
Give each Gaussian
an outward surface orientation.

ℒ = ℒvol + ℒmesh + ℒreg
Image fitting and Gaussian normals + mesh depth/normal agreement + surface regularization

pk,i = μk + Rk(sk ⊙ bi)
Position μ, rotation R and scale s place each pivot p.
bi: unit-box center or corner.
A learned scalar f marks each pivot as inside or outside.
v = (fₐpᵦ − fᵦpₐ) / (fₐ − fᵦ)
Opposite signs locate the zero crossing: a mesh vertex v.
Mesh losses update both the signed values and the Gaussian geometry.

Depth locates the visible surface
ℒMD = ∑i log(1 + |D(i) − DM(i)|)
D: Gaussian depth · DM: mesh depth
Normals align its orientation
ℒMN = ∑i [1 − Ñ(i) · NM(i)]
Ñ: normal from Gaussian depth
NM: rasterized mesh-face normal · i: pixel
ℒmesh = λMDℒMD + λMNℒMN. Both renderings should describe the same surface.
Learn outward normals; encourage the Gaussians to wrap the surface.

Normal estimates describe orientation.
Vacancy estimates distinguish outside from inside.
Two pivots per Gaussian locate the boundary.
Optional PAM adapts mesh resolution.
MILo learns signed values on pivots. Spokes derives fields from oriented Gaussians.



Bicycle scene: input photograph and surface-normal visualizations.
Oriented Gaussian wrapping recovers more of the wheel’s thin spokes in this example.
Surface sampling evaluates geometry independently of vertex density.
| Method | Mesh vertices ↓ Mesh-rendering evaluation | Uniform F1 ↑ | Virtual-scan F1 ↑ |
|---|---|---|---|
| GOF | 11.63 M | 0.31 | 0.38 |
| RaDe-GS | 10.06 M | 0.35 | 0.39 |
| MILo | 4.36 M | 0.34 | 0.42 |
| Spokes | 5.80 M | 0.48 | 0.53 |
Tanks & Temples. Vertices: mesh-rendering evaluation (Table 2). F1: six-scene surface evaluation (Table 1); Spokes F1 uses two pivots, without PAM.
MILo has the fewest reported vertices; Spokes has the highest F1 among these methods.

A surface can support interaction.
But geometry alone does not identify a hinge, a wingtip, or the part a user wants to edit.
The next question is how language can locate meaningful structure.
Locate named 3D points through agreement across rendered views.

Query pretrained image models on a known mesh.
Zero-shot: no task-specific 3D keypoint training.
Bingchen Gong, Diego Gomez, Abdullah Hamdi, Abdelrahman Eldesokey,
Ahmed Abdelreheem, Peter Wonka and Maks Ovsjanikov

Language → pixels
GPT-4o proposes names.
Molmo points in 26 rendered views.
Pixels → 3D hypotheses
xj = πj−1(uj, Dj(uj))
uj: predicted pixel; xj: 3D candidate.
Known camera πj; cached mesh depth Dj.
The mesh supplies geometry; the model supplies the point’s meaning.

Local uncertainty
Lift an h × h neighborhood; use Gaussian support weights.
Agreement in 3D
HDBSCAN separates consistent groups and rejects isolated detections.
One name can denote several corners. Preserve separate spatial hypotheses.
Global prompts, binary weights and direct averaging all reduce performance in this experiment.
KeypointNet: airplane, chair and table. IoU (%) at geodesic distance thresholds.
| Method | 0.01 | 0.05 | 0.10 |
|---|---|---|---|
| GPT-4o localizer | 0.48 | 6.04 | 20.73 |
| B2-3D · few-shot, 62 views | 20.29 | 57.72 | 70.57 |
| ZeroKey · 26 views | 13.16 | 56.60 | 79.43 |
Benchmark queries are human-written descriptions of keypoint IDs.
ZeroKey requires no task-specific 3D keypoint training.
Names help identify the intended structure; tight tolerances expose localization errors.
Nameability test: marked point p → short description ℓ → recovered point p̂
Keep the most repeated description; query new views with the marker removed.


Human-salient points are easier to recover from their descriptions.
Interpretation: distinctive names can give 3D points shared, repeatable identities.
Encode the shape once; query regions with part names.

Several part names can describe the same patch.
Souhail Hadgi, Bingchen Gong, Ramana Sundararaman, Emery Pierson,
Lei Li, Peter Wonka and Maks Ovsjanikov

Stage 1 · visual structure
Match 3D patch features to frozen DINOv2 targets
with a cosine loss.
Stage 2 · language alignment
Freeze the first 11 blocks; train the last block
and projection into OpenCLIP’s text space.
Training labels: 10 rendered views → SAM regions → Gemini part names → 3D pseudo-labels.
Fractional target yij
Share of patch i annotated with name j.
| Name | Annotated points | yij |
|---|---|---|
| Nose | 24 / 32 | 0.75 |
| Muzzle | 32 / 32 | 1.00 |
| Ear | 0 / 32 | 0.00 |
Illustrative patch with overlapping annotations.
The targets need not sum to one.
“Nose” and “muzzle” can both be valid positives.

sij = ⟨qi, tj⟩ / τ + b, pij = sigmoid(sij)
Ltext = −∑i,j [yij log pij + (1 − yij) log(1 − pij)]
qi = htext(zi): projected patch feature; tj: text embedding; τ: learned temperature; b: learned bias.
Independent patch–text pairs
Sigmoid allows several positive names.
Negatives within each shape
Use its valid part names with yij = 0.
ShapeNetPart · mIoU (%)
| Negative sampling | mIoU |
|---|---|
| Within shape | 56.9 |
| Also across shapes | 45.3 |
A “leg” on another shape may be a false negative, not a different concept.

Training order matters
ShapeNetPart · mIoU (%)
| Training | mIoU |
|---|---|
| Language alignment only | 50.5 |
| Both losses jointly | 50.2 |
| Visual → language | 56.9 |
Preserve local visual structure while learning what its regions are called.
Point-cloud baselines: COPS 25.6; Find3D 23.3 mIoU. Reported runtime: PatchAlign3D and Find3D both 0.4 s/shape.
Semantic support for voting
Use patch–text similarity to modulate ZeroKey’s soft-voting weights.
Local features for clustering
Add learned feature cues when grouping the 3D point proposals.
Reported KeypointNet comparison · IoU (%) at geodesic distance thresholds
| Method | 0.01 | 0.05 | 0.10 |
|---|---|---|---|
| ZeroKey | 13.16 | 56.60 | 79.43 |
| PatchAlign3D + ZeroKey | 10.42 | 58.87 | 81.27 |
IoU improves at 0.05 and 0.10, but falls at 0.01.
The hybrid still uses ZeroKey’s multiview pipeline.
Given two images and a source point, learn its target match.
ZeroKey
Query an image model for points during inference.
Good Match
Judge visual proposals during training; infer without a VLM.
Bingchen Gong · Viktoria Ehm · Emery Pierson · Maks Ovsjanikov
D(q) = ‖f₁(p) − f₂(q)‖₂
πθ(q | s) = exp(−D(q)/τ) / Σq′ exp(−D(q′)/τ)
Shared encoder: f₁ = gθ(I₁), f₂ = gθ(I₂).
τ = 0.1 controls sampling diversity.
W′ = W + (α / rL) BA
W stays frozen. A and B learn.
Low-rank updates to ViT Q/K/V projections.
LoRA rank rL = 16; scale α = 8.
Train: sample q ∼ πθ. Test: take argmaxq πθ(q | s), without a judge.
Reward above the recent baseline reinforces the sampled match.
ℒt = −(1/B) (rt − bt) log πθ(qt | st)
Frozen judge returns rt ∈ [0, 1].
Use bt before adding the current reward.
bt+1 = 0.99 bt + 0.01 rt
Accumulate B = 10 samples per update.
Differentiate log π through the adapter.
Hold reward and baseline fixed.
Positive advantage: increase probability.
Negative advantage: decrease probability.
Keep valid zero scores; skip invalid responses.
No gradient through the VLM; no target-coordinate annotation in the reward.
SPair-71k, all 18 categories · Peak validation PCK@bbox 0.10 (%)
| Method | PCK ↑ |
|---|---|
| Frozen DINOv3 | 54.20 |
| DINOv3 + LoRA | 67.83 |
| Geometry-aware + LoRA | 71.20 |
Both trained models use REINFORCE
with Gemini Pro reward.
Both gains are relative to frozen DINOv3.
Training and evaluation span the same 18 categories.
Source points are given. Target-coordinate labels do not enter the reward.
Qwen3-VL-32B-Thinking scores plateau within ≈20 px in a 126-keypoint cat probe.
Separate calibration probe with a different judge.
Separate cat-only transfer test
Cat-trained plain LoRA gains only +0.02 mean PCK across six other categories.
The 3D pilots do not establish successful transfer.
Good Match · training
Propose a match → score → update visual weights.
3DHarness · inference
Execute a program → inspect renders or measurements → revise the program.
Feedback must distinguish the geometric errors the task needs to correct.
What does the agent believe
the object is made of?
Ling Liu · Bingchen Gong
Amal Dev Parakkat · Maks Ovsjanikov
P → E(P) = Ĝ
Blender Python → Executed 3D object

Execution makes the inferred structure observable and measurable.
100 targets from 3DCodeBench, one per category. Original source programs are withheld.

Excerpts from the generated Blender Python
Repeat feathers along a row
for i in range(n):
s = i / float(n - 1)Mirror the wing geometry
wf.mirror_y()
Create a named component
wf.object(PFX + "wing_feathers")

Construction rules become explicit operations the agent can revise.
Opus 5, Full 3D Interaction. Placement calculations and coordinate tables omitted.
Target

Single view

Four fixed views

Active visual

Full 3D

Four separate completed runs. Normalized, rotation-aligned Chamfer ↓ for this object.
Opus 5: richer evidence helps recover proportions, wings and legs.
| Agent | 4 views | Active | Full 3D |
|---|---|---|---|
| Opus 5 | .748 | .871 | .927 |
| Gemini 3.1 Pro | .753 | .691 | .783 |
Uni3D 3D–3D similarity ↑
Active view selection helps one agent and hurts another.
.3722 → .6148
MiniMax Uni3D after normalizing its viewport screenshots.
10 targets, agent still chooses its views.
Four fixed views on this subset: .6200.
Program revision depends on obtaining evidence that reveals what to change.
| Target evidence | Chamfer ↓ | Uni3D ↑ |
|---|---|---|
| Images | .0150 | .8133 |
| + global | .0103 | .8088 |
| + parts | .0099 | .8557 |
| + global and parts | .0084 | .8296 |
10 targets · Opus 5
Fixed multiview input plus measurements
Global: center, bounds and dimensions.
Parts: anonymous centers, dimensions and repetition statistics.
Parts alone give the best Uni3D.
Combining cues does not improve every metric.
A program can express measured dimensions and relations as construction parameters.
| Agent | Initial | Final |
|---|---|---|
| Opus 5 | .914 | .927 |
| Qwen 3.8 Max | .796 | .857 |
| MiniMax M3 | .566 | .679 |
Full 3D · Uni3D ↑ · 100 targets
Larger repair gains need not yield a better final object.
Inspect a construction choice.
Change a part, parameter or procedure.
Execute again and assess the result.
Next: learn which observation and code revision will fix an error.
Proposed follow-up: train on verified interaction traces and test semantic edits.
This benchmark evaluates reconstruction and interaction. Program quality and semantic editability remain open.





| Research question | Useful structure | Evidence or feedback |
|---|---|---|
| Reconstruct with limited evidence | Controlled feature frequencies | Held-out views and geometry |
| Recover a usable surface | Mesh in the loop; oriented Gaussians | Depth and normal consistency; debiased surface protocols |
| Locate meaningful elements | Semantic points and part features | Localization and segmentation |
| Improve a predictor | Adapted visual features | Training-time model judgments |
| Construct and repair 3D objects | Executable programs | Geometry, appearance and interaction |
The evidence comes from separate projects. The programme tests whether these structures can work together.
“Can the drawer open without hitting the chair?”

part: drawer parent: cabinet joint: prismatic axis: local x range: bounded constraint: no collision
Illustrative schema for the proposed representation
Published components motivate a proposed hybrid.



These building blocks were studied separately. Their integration is proposed work.
Test the hybrid against pure-program, mesh and Gaussian representations.
Existing evidence shows the two ends of the loop.


The transfer study is proposed. Match information access and compute.
Proposed tracks, illustrated by prior examples




Visual anchors from prior work; none is a 4DHarnessBench result.
Vary representation and feedback while controlling evidence and compute.


Proposed extension
Structured base → residual bands → streamable detail
Count programs, meshes, coefficients, residuals and client computation.
FourieRF motivates frequency control. Compression gains for dynamic content remain a hypothesis to test.
Verified trajectories for compact models that reconstruct and edit articulated objects
| Milestone | Deliverable | Decision criterion |
|---|---|---|
| Establish the task | Static and articulated cases with exact checks | Reliable measurements and reproducible baselines |
| Learn from interaction | Final-program and trajectory-trained models | Transfer at a matched compute budget |
| Test useful operations | Held-out edits and spatial queries | Success beyond reconstruction examples |

| Hypothesis | Test | Evidence against it |
|---|---|---|
| Explicit structure improves control | Held-out edits with geometric constraints | No gain over simpler representations |
| Verified interaction teaches reusable skills | Unseen task and program families | Imitation without transfer |
| Structure reduces system cost | Count all assets and client computation | Gains disappear under full accounting |
A useful negative result should change the representation, supervision or scope.
| Connection | Research opportunity | Relationship |
|---|---|---|
| Amal Dev Parakkat IMAGES team | Executable 3D construction and evaluation | Existing 3DHarnessBench collaboration |
| Kaouther Messaoud | Geometry-grounded motion and video generation | Proposed collaboration |
| Stephan Alaniz · Jhony Giraldo | Fine-grained grounding and relational structure | Proposed collaboration |
| Enzo Tartaglione · Xiaoran Jiang | Compact models and Gaussian compression | Proposed collaboration |
| Jean Le Feuvre | GPAC streaming and end-to-end delivery cost | Proposed collaboration |
| Kiwon Um · S2A group IDS Department | Differentiable simulation and audio-driven animation | Proposed collaboration |
| Hi! PARIS | Seminars, summer school and internal calls | Chair attached to the post |
Usable geometry exposes structure.
Semantic features identify what to change.
Execution and feedback test whether it worked.
The programme: From Video to Animatable and Efficient 3D Worlds.
The first project: verified trajectories for compact models that reconstruct and edit articulated objects.
The next step is to learn representations and operations together, with checks we can trust.
Bingchen Gong
bingchen.gong@lix.polytechnique.fr · gongbingchen@gmail.com
T(x,y,z) = ∑r [vrx(x)Mryz(y,z) + vry(y)Mrxz(x,z) + vrz(z)Mrxy(x,y)]
T: feature grid · r: component index. Sum components in all three orientations.
Density and appearance come from compact factors. FourieRF controls the detail stored in each factor.
bt = b₀ + tΔ, Δ = (1 − b₀) / N
Conceptual linear schedule in the main method. N is its duration.
The source has conflicting initial-bandwidth values and an inconsistent synthetic increment. Use the released implementation for exact reproduction.

Rapid release weakens regularization. Very slow release can underfit the fixed budget.
| Evaluation | Input views | FourieRF PSNR |
|---|---|---|
| Blender: 8 scenes | 4 / 6 | 21.728 / 23.927 dB |
| LLFF: 8 scenes | 3 / 6 / 9 | 19.303 / 23.595 / 25.011 dB |
| Method | Relative training time ↓ | 4-view Blender PSNR ↑ |
|---|---|---|
| TensoRF | 1.000 | — |
| FourieRF-VM | 0.930 | 21.728 dB |
| ZeroRF | 5.181 | 21.940 dB |
| FreeNeRF | 35.710 | — |
5.57× training speedup over ZeroRF in this setup, with 0.212 dB lower PSNR.
10,000-iteration Blender timing comparison; TensoRF normalized to 1. RTX 4090.

Competitive reconstruction does not imply the best PSNR or verified depth.
| Ablation | Tanks & Temples F1 ↑ |
|---|---|
| Baseline | 0.41 |
| + Mesh depth | 0.46 |
| + Mesh normals | 0.44 |
| + Anti-erosion | 0.44 |
| + Interior regularization | 0.47 |
| GOF integration | 0.49 |
Normal supervision improves selected surfaces visually even when rounded F1 decreases.
| Iterations | Training stage |
|---|---|
| 0–3,000 | Photometric fitting and aggressive densification |
| 3,000–8,000 | Normal regularization; Gaussian refinement |
| 8,000–18,000 | Mesh supervision and selected pivots |
Delaunay update: 500 iterations. Occupancy-label update: 200 iterations.
Mesh-rendering quality complements direct geometry metrics; it does not certify unseen surfaces.
ℒerosion = ∑g∈GDel max(0, fμg)
GDel: Gaussians selected for triangulation
fμg: signed value at a Gaussian center
Penalize positive center values. Keep a negative sample inside thin structures.
ℒinterior = ∑p op H(σ(−fp), op)
op = 1 when pivot p lies behind all visible mesh depths
H: binary cross-entropy · σ: sigmoid
Supervise only interior-labeled pivots. Refresh labels every 200 iterations.
ℒ = ℒvol + λMDℒMD + λMNℒMN + λerosionℒerosion + λinteriorℒinterior
λMD = λMN = 0.05 · λerosion = λinterior = 0.005 in the reported implementation.
v = (fₐpᵦ − fᵦpₐ) / (fₐ − fᵦ)
Moving either pivot or changing its signed value moves the extracted surface.
Arrows show the gradient path. Discrete Delaunay connectivity updates every 500 iterations.

Changing the viewpoint exposes details that a single attractive rendering can conceal.

Two pivots per Gaussian
Use the center and an outward-displaced point for tetrahedral surface extraction.
Primal Adaptive Meshing (PAM)
Resample and project vertices to control mesh resolution independently of Gaussian count.
Tanks & Temples · mean F1 ↑ · six scenes
| Method | Uniform sampling | Virtual scan |
|---|---|---|
| MILo | 0.34 | 0.42 |
| Spokes (2 pivots) | 0.48 | 0.53 |
Both methods evaluated with the Spokes paper’s protocols.
Vacancy and normal fields are estimated in practice. The table reports the two-pivot variant; PAM is optional.
| Method | Mesh vertices ↓ | Mesh size ↓ | Training time ↓ |
|---|---|---|---|
| GOF | 16.49 M | 600.0 MB | 93 min |
| RaDe-GS | 14.75 M | 592.0 MB | 42 min |
| MILo base | 4.36 M | 179.6 MB | 50 min |
| MILo dense | 6.89 M | 276.1 MB | 110 min |
Tanks & Temples resource table; RTX 4090. Base/dense use the RaDe-GS backbone. Legacy vertex-based F1: MILo 0.47 (base) and 0.49 (dense); GOF 0.46, RaDe-GS 0.40.
Mesh size and geometric accuracy are separate claims. Compare accuracy with a common surface-sampling protocol.
| Method | 0.01 | 0.05 | 0.10 |
|---|---|---|---|
| B2-3D · few-shot, 62 views | 20.29 | 57.72 | 70.57 |
| B2-3D · few-shot, 26 views | 14.39 | 44.11 | 56.90 |
| GPT-4o localizer | 0.48 | 6.04 | 20.73 |
| CLIP-DINOiser | 1.41 | 9.80 | 25.56 |
| StablePoints | 5.80 | 19.91 | 38.22 |
| Binary back-projection | 5.84 | 29.81 | 54.64 |
| ZeroKey · 26 views | 13.16 | 56.60 | 79.43 |
KeypointNet: airplane, chair and table. IoU (%) at geodesic thresholds.
StablePoints receives the ground-truth keypoint count; benchmark text descriptions are manually assigned.
Ordinary distance treats an isolated pair like a well-supported cluster.
dm(a,b) = max{corek(a), corek(b), ‖a − b‖}
corek(a)
Distance from candidate a to its kth nearest neighbor.
Isolated candidates have large core distances, even if two happen to be close.
HDBSCAN on pooled 3D candidates
Spatial density separates repeated semantic instances from inconsistent predictions.
“Point to the corners of the chair back.”
Semantic recognition still needs precise spatial grounding.


Cache the mesh depth while rendering.
Each valid pixel maps to a visible 3D surface point.
xj(u) = RjT[Dj(u) Kj−1ũ − tj]
u: pixel; ũ: homogeneous pixel
D: camera-depth map; K, R, t: camera parameters
Lift an h × h neighborhood, reject background pixels, then average its valid 3D points.

What represents the surface between the points?
The next step is to learn language-aligned features directly in 3D.
Random rotations, translations, scaling and point jitter support generalization.
d(x) = 1/|V(x)| ∑r ∈ V(x) Fr(πr(x))
di = 1/k ∑x ∈ Pi d(x)
V(x): views observing x; Fr: DINOv2 feature map; πr: camera projection; k: points per patch.
L2D = 1/G ∑i [1 − cos(h2D(zi), di)]
zi: patch token; h2D: visual projection; G: number of patches.
Match each online patch center to the nearest cached center before applying the cosine loss.
| Benchmark | PatchAlign3D mIoU | Comparator mIoU | Qualification |
|---|---|---|---|
| ShapeNetPart | 56.9 | COPS 25.6 | Laptop: 61.1 vs COPS 63.3 |
| FAUST | 67.8 | Find3D 63.2 | Torso: 49.7 vs Find3D 52.0 |
| PartNetE | 41.4 | COPS 27.0 | PartSLIP reports 36.4 cIoU |
| ScanObjectNN | 22.7 | Find3D 18.8 | Noise and clutter remain difficult |
| Objaverse unseen | 35.61 | Find3D 34.6 | Author-defined 14-category split |
Different datasets and metric definitions support different conclusions.

Spatial coherence
Many predicted regions follow recognizable parts.
Boundary limitations
The car remains a useful counterexample.
Qualitative examples illustrate behavior. Aggregate tables determine the measured gain.
ShapeNetPart, point-cloud methods. Reported IoU (%) and inference time.
| Method | mIoU | cIoU | Seconds / shape |
|---|---|---|---|
| COPS | 25.6 | 32.2 | 1.38 |
| Find3D | 23.3 | 23.9 | 0.4 |
| PatchAlign3D | 56.9 | 53.1 | 0.4 |
+31.3 percentage points mIoU over COPS. The reported runtime matches Find3D.
mIoU averages instances. cIoU averages categories. Timings refer to the paper’s evaluation.

Ground truth

PatchAlign3D
| FAUST | mIoU (%) |
|---|---|
| COPS | 30.4 |
| Find3D | 63.2 |
| PatchAlign3D | 67.8 |
Real scanned objects are harder.
ScanObjectNN: 22.7 mIoU versus Find3D’s 18.8.
Improvement does not remove the robustness gap.

ŷ(x) = arg maxj ⟨zi(x), tj⟩, i(x) = arg mini ‖x − ci‖
z: text-aligned patch feature; t: part-name embedding. Each point inherits its nearest center’s label.
VLM-reward setting
Separate diagnostic settings
ℒt = −(1/B)(rt − bt) log πθ(qt)
Cached SD v1.5 features: 640 + 1280 + 1280 channels.
Live DINO ViT-B features: 768 channels.
F̂ = φ(FDINO) + a · AggNet([FSD; FDINO])
φ: DINO projection; a: learnable fusion gate.
Fuse at a shared 60 × 60 feature grid.
Train LoRA and the aggregation network.
The residual branch preserves the DINO signal.
| Test category | Frozen DINOv3 | Geo-aware, 3 seeds | Δ PCK |
|---|---|---|---|
| Cat, trained category | 73.27 | 77.74 ± 0.64 | +4.47 |
| Bird | 80.45 | 83.04 ± 0.27 | +2.59 |
| Cow | 72.06 | 73.31 ± 0.45 | +1.25 |
| Sheep | 61.50 | 62.64 ± 0.42 | +1.14 |
| Dog | 61.89 | 62.82 ± 0.09 | +0.93 |
| Horse | 65.03 | 64.32 ± 0.17 | −0.71 |
| Person | 65.62 | 64.50 ± 0.56 | −1.12 |
SPair-71k test · cat-trained only · bbox PCK@0.10. Other-category mean gain: +0.68; plain LoRA: +0.02.
| Method | PCK ↑ |
|---|---|
| Frozen DINOv3 | 76.19 |
| Top-K + LoRA | 78.06 ± 0.04 |
| DPO + LoRA | 79.09 |
| REINFORCE + LoRA | 78.94 ± 0.14 |
SPair-71k cat validation · bbox PCK@0.10
Kimi reward · 3 seeds where uncertainty is shown.
+2.75 points
over the frozen backbone
The gain demonstrates useful feedback in this regime.
REINFORCE exceeds the listed Top-K setting; it does not establish superiority to DPO.

Adding geometry-sensitive features can help resolve symmetry. This is an architectural comparison, not an isolated reward ablation.
Training
Visual proposal → VLM feedback
→ adapted visual features
Semantic supervision is expensive
but can be amortized.
Inference
Two images + source point
→ feature matching → target point
No VLM call.
26.3 FPS reported for the plain pipeline.
Reported timing: 512² input, RTX A6000. Geometry-aware timing uses cached SD features and is a different pipeline.
The trained adapter keeps inference visual; the VLM cost is paid during learning.
| Agent | Single view | Four views | Active visual | Full 3D |
|---|---|---|---|---|
| Fable 5 | .733 | .764 | .832 | .884 |
| Opus 5 | .725 | .748 | .871 | .927 |
| GPT-5.6 Sol | .715 | .745 | .823 | .879 |
| GPT-6 Astra* | .794 | .842 | .912 | .956 |
| Kimi K3 | .678 | .713 | .819 | .848 |
| Qwen 3.8 Max | .740 | .768 | .809 | .857 |
| Gemini 3.1 Pro | .728 | .753 | .691 | .783 |
| MiniMax M3 | .495 | .577 | .482 | .679 |
↑ Higher similarity. * Preliminary unpublished aggregate update; Astra run coverage and complete protocol parity remain unverified.
| Setting | Target access | Target geometry | Refinement |
|---|---|---|---|
| Single view | 1 fixed image | Hidden | 3 rounds |
| Multi-view | 4 fixed images | Hidden | 3 rounds |
| Active Visual | Camera / viewport tools | Blocked by allowlist | Agent-directed |
| Full 3D | Unconstrained Blender tools | Available to query | Agent-directed |
100 sampled objects from 3DCodeBench.
Original procedural programs are withheld.
Active Visual separates target and reconstruction processes.
Full 3D prohibits copying the target.
Sample 8,192 surface points per mesh.
Center each cloud and scale to the unit sphere.
CD = minR ∈ R₂₄ dsym(RX, Y)
dsym: mean squared nearest-neighbor distances in both directions.
R₂₄: the 24 right-handed axis-aligned rotations.
Translation, scale and these rotations are discounted.
Appearance: four 512² renders; match views by the best one-to-one assignment.
etopo = Σi=0..2 |βiGT − βirec| / Σi=0..2 βiGT
Topology: median across objects.
Other quality metrics: mean across objects.
No loadable mesh: zero similarity; Chamfer penalty of 1.5 × the worst valid value in that run.
| Agent / evidence setting | Chamfer ↓ | Uni3D ↑ |
|---|---|---|
| Gemini · four fixed views | .0165 | .7609 |
| Gemini · Active Visual | .0234 | .6776 |
| Gemini · normalized viewport | .0186 | .7321 |
| Gemini · Fable inspection views | .0191 | .7605 |
| MiniMax · Active Visual | .0798 | .3722 |
| MiniMax · normalized viewport | .0240 | .6148 |
Ten-target ablation: better observations recover much of the lost performance, with metric-dependent outcomes.
at ∼ πθ(· | Ht) Ht: instructions, observations and previous actions
Separate target and reconstruction processes.
Target tools allow camera and viewport control.
Direct geometry access is blocked.
Query dimensions, transforms and distances.
The agent decides what to measure and when.
Copying the target is prohibited by instruction.
Evaluate the final executed object ĜT, plus the interaction needed to obtain it.
Active inspection can improve or degrade reconstruction. Full 3D access includes explicit geometric evidence.


On 10 ablation targets, viewport normalization raises MiniMax Uni3D: 0.3722 → 0.6148.

Measure both abilities
A larger gain does not imply a better final model.
| Project | Documented contribution |
|---|---|
| FourieRF / MILo / Spokes | Coauthorship, mentoring of Diego Gomez, MILo code contributions and LIX/GRAPHDECO collaboration |
| ZeroKey | Conceived, implemented and evaluated the first-author project |
| PatchAlign3D | Joint research with Souhail Hadgi and collaborators |
| Is It a Good Match? | Scientific lead since April 2026, experiments and manuscript |
| 3DHarnessBench | Experiment guidance, project coordination, TaskSolver and restricted Blender interface |
| Stage | Scientific focus | Development |
|---|---|---|
| First year | Controlled static/articulated tasks, verified trajectories, compact baselines | Initial student project and reproducible releases |
| Second year | Transfer to new operations and richer dynamics | Collaborative funding and industrial research links |
| Third year | Integrated reconstruction, animation and delivery evaluation | Broader partnerships and HDR preparation |
Resources and extensions follow demonstrated progress on the core tasks.