Multi-View Foundation Models
Turning DINO, CLIP and SAM into Inference-Time Multi-View Consistent Variants
Leo Segre, Or Hirschorn, Shai Avidan
7
Concepts
7
Formulas
4
Figures
Paper Overview
Multi-View Foundation Models (Segre, Hirschorn & Avidan — Tel Aviv University, December 2025) starts from a mismatch that is easy to state and awkward to fix. A foundation model takes one RGB image and returns a feature map. Give it several views of the same scene and it processes each independently — so a single 3D point can receive materially different features depending on the angle it was photographed from. The features are excellent and the geometry is incoherent.
The established fix is to build a 3D representation — NeRF or Gaussian Splatting — and lift the features into it. That works and it is expensive: per-scene optimization, poor scalability, no good story for interactive use. FiT3D improved on this by predicting 3D-aware features in a single feed-forward pass, but it still processes one image at a time, so it has no mechanism for consistency across a set.
This paper takes a different route: keep everything in image space. Insert small multi-view adapters after each transformer block that let views attend to one another, condition them on camera geometry via Plücker ray embeddings, and train them with a correspondence loss. No 3D model is ever built. The result is a drop-in variant — MV-DINOv2, MV-CLIP, MV-SAM — that runs at inference time.
The numbers are unusually clean. On ScanNet++, DINOv2's location error falls from 0.1029 to 0.0247 while cosine similarity to the base model stays at 0.9376 — geometry fixed, semantics intact. The same recipe, unmodified, works on CLIP, DINOv3 and SAM.
Chapter Roadmap
Click any topic to jump in
Viewpoint Inconsistency
Foundation models see one image at a time — so the same 3D point gets different features from different angles.
Multi-View Adapter
A 3D-attention + FFN + zero-conv block inserted after every transformer block, letting views talk to each other.
Plücker Ray Embeddings
Camera poses enter as a raymap — per-pixel ray origin and direction, relative to the first view.
Correspondence Training
A naive L2 consistency loss collapses to a constant. SoftArgMax over a similarity map fixes it.
Training Recipe
LoRA r=32 on the backbone, full training on the adapters, COLMAP correspondences, 230 ScanNet++ scenes.
Evidence and caveats
Results
Location error drops 4-8x across DINOv2, CLIP, DINOv3 and SAM — with no architectural change between them.
The Regularization Trade-off
Dropping regularization gives the *best* geometry and destroys the semantics — the paper's sharpest result.
Concept by concept
7 sections, in reading order.
2D foundation models generalize remarkably well and lack 3D awareness entirely. Both facts follow from the same training setup: they were shown enormous numbers of single images and never asked whether two of them depicted the same point.
The failure is best understood as a broken invariant. Given views i and j of a scene and a 3D point X projecting to xi and xj, an ideal extractor would satisfy Fi(xi)≈Fj(xj). A single-image model has no term anywhere in its objective enforcing this — and no way to even express it, since it never sees both views at once. The invariant is not violated so much as absent. The paper's Figure 1 makes it concrete: a keypoint matched from one view to another lands correctly with MV-DINOv2 and visibly off with base DINOv2, and the error grows steadily with viewpoint angle.
The natural instinct is to fix this by scaling 3D pre-training, and that road is blocked. 3D data is scarce — large-scale datasets are limited in quantity and diversity, constrained by expensive acquisition, narrow category and environment coverage, and the difficulty of aligning geometry with texture and semantic labels. You cannot repeat the 2D recipe at 3D scale because the data does not exist. So the field lifts instead, optimizing a scene-level NeRF or Gaussian Splatting representation that aligns feature maps across views. Accurate, and per-scene — expensive and poorly scalable for anything large or interactive.
This paper's move is to notice that a consistent 3D model is a means, not the end. If what you want is consistent features, build those directly: let the views communicate inside the backbone and supervise them with correspondences from known camera poses. Doing so bypasses the need to build a consistent 3D model of the features and allows direct manipulation in the image space — which is where the downstream tasks already live.

Key Points
- 1
A foundation model maps one RGB image to a feature map. Given multiple views of one scene it runs independently per image — nothing ties the outputs together
- 2
Consequence: the same 3D point does not reliably get the same feature across views. Matching by feature similarity drifts
- 3
Error grows with viewpoint angle: DINOv2 climbs from ~0.017 to ~0.035 as angular separation goes 0° → ~105°, while MV-DINOv2 stays nearly flat near ~0.005
- 4
This matters exactly where 3D work happens — orbit captures, aerial imagery, and sparse-view datasets all involve wide baselines where local feature similarity breaks down
- 5
Scaling 3D pre-training is not an option: 3D data is limited in quantity and diversity, with expensive acquisition and hard geometry-semantics alignment
- 6
NeRF/Gaussian-Splatting lifting works but requires per-scene optimization — expensive and poorly scalable
- 7
The paper separates semantic correspondence (all pixels of an object match) from geometric correspondence (a specific point matches that specific point) — a tension noted by Probe3D — and targets the geometric kind
The architectural contribution is small and deliberately unintrusive: a spatial adapter inserted between every transformer block of the backbone. Each adapter sees the features of all M views at once and lets them exchange information — the one thing the base model structurally cannot do.
Two failure modes bound the design. Fine-tune the backbone properly and you get 3D consistency by destroying the semantic priors that made the model worth using — the exact outcome the ablation later demonstrates. Touch it too little and the views never communicate, because a standard ViT block has no path between images. FiT3D shows the narrower version of this trap: it predicts 3D-aware features feed-forward but processes each image independently at inference, so it has no mechanism to enforce consistency across a set.
The resolution is to add a new, dedicated pathway rather than repurpose the existing one. The adapters are the only place multi-view attention happens; the backbone keeps doing what it already does well, nudged gently by LoRA. Internally each adapter is minimal — 3D Attention → FFN → Zero-Conv, with a residual around the whole block — and because the intervention sits between blocks, the framework applies to any transformer-based foundation model without architectural changes. DINOv2, CLIP, DINOv3 and SAM all use the identical recipe.
The zero-conv initialization is the elegant part, borrowed from the ControlNet lineage. Because the adapter's output projection starts at exactly zero, the residual branch contributes nothing on the first forward pass and the network is the pretrained model. Gradients still flow, so the branch learns — but every gain is measured from the base model's behaviour rather than from a random perturbation of it. You cannot accidentally start worse than what you began with.

Key Points
- 1
An adapter Aϕ is inserted after each transformer block fθ — geometry-aware bridges enabling cross-view communication at every feature level, not just the last
- 2
Internals are minimal: 3D Attention → FFN → Zero-Conv, with a residual connection around the whole block
- 3
Adapters are initialized as zero-convolution layers, so at step zero the augmented model is mathematically identical to the original pretrained transformer
- 4
The adapter operates on latent feature maps for multiple views jointly, integrating geometric context from the relative camera poses
- 5
Because the intervention is between blocks, the framework applies to any transformer-based foundation model without architectural changes
- 6
Everything happens at inference time: no per-scene optimization, no NeRF, no Gaussian Splatting, no rendering
Mathematical Formulation
Adapter Insertion
z~il=fθ(zil−1),z1:Ml=Aϕ(z~1:Ml)
The pretrained block fθ runs per view i — it cannot see the others. The adapter Aϕ then runs across all M views together, which is the only point where cross-view information mixes. Note the subscript change from i to 1:M: that is the entire architectural idea in one line.
For the adapter to reason geometrically it needs to know where the cameras are. Attention alone does not know that view 2 sits 40° to the left of view 1; without pose information, cross-view matching has to be inferred purely from appearance — which is exactly what breaks down under wide baselines, and so exactly the wrong tool to lean on.
The paper supplies the geometry in a form the transformer already knows how to eat. Camera poses are represented with a Plücker embedding: a raymap with the same spatial dimensions as the latent feature map, where each pixel encodes a ray origin and direction in 3D. Because it is spatially aligned with the feature map, it needs no new machinery — just a parallel Ray Patch Embedding and a concatenation. Rays are computed relative to the camera pose of the first conditional view, which sidesteps any need for a canonical world frame.
The effect is to give each pixel a 6-dimensional geometric identity — 3 for origin, 3 for direction — rather than the usual 2D position. Two pixels in different images whose rays intersect at the same 3D point now have representations that make that fact expressible. Standard ViT positional encoding answers "where in this image am I?"; a raymap answers "where in the world am I looking, and from where?".
Worth noting how modest the payoff is, and how honest the paper is about it: adding Plücker moves DINOv2's location error from 0.0262 to 0.0247 — real, and the smallest of the three contributions. Camera information turns out to be optional. The paper reports impressive multi-view consistency without it, offering a genuine trade-off: use the framework when camera data is unavailable, or gain a little more when it is.
Key Points
- 1
Camera poses are represented with a Plücker embedding: each pixel encodes a ray origin and direction in 3D space
- 2
The raymap has the same spatial dimensions as the latent feature map, so it embeds through a parallel Ray Patch Embedding and concatenates with the image patch embedding
- 3
Rays are computed relative to the camera pose of the first conditional view — relative, not absolute, so the model never depends on a global world frame
- 4
This encoding lets the model reason about geometric correspondences across viewpoints rather than inferring them from appearance alone
- 5
Camera information is optional — the paper reports strong multi-view consistency even without it
- 6
The ablation prices it precisely: adding Plücker moves DINOv2's location error from 0.0262 to 0.0247, the smallest of the three contributions
Mathematical Formulation
Plücker Raymap
p(u,v)=[o(u,v),d(u,v)]
For each pixel (u,v), o is the ray origin and d the ray direction in 3D, both computed relative to the pose of the first conditional view. The resulting raymap matches the latent feature map's spatial dimensions and is patch-embedded alongside the image.
The training objective contains the paper's nicest piece of reasoning. The obvious loss — push corresponding features together — is not merely suboptimal. It is degenerate, and understanding why explains the shape of the real objective.
Enforcing feature consistency is a request for agreement, and the cheapest way to agree is to say nothing. The naive loss ∥Fi(xli)−Fj(xmj)∥2 is globally minimized by the trivial solution Fi(x)=Fj(x)=C — a constant feature map. Perfect score, zero information. The objective is not weakly specified; its global optimum is the useless solution.
The fix, adopted from Zhang et al., is a geometry-aware dense loss that never compares two features directly. Compute a similarity map between the normalized query feature and all spatial locations in the target map; softmax it with temperature τ; take a differentiable SoftArgMax to get a predicted correspondence location; and penalize the Euclidean distance between predicted and ground-truth locations. The penalty is on where the match lands, not on how similar two vectors are.
The reframing is from metric learning to localization. The naive loss asks "are these two vectors close?" — answerable by making all vectors close. The dense loss asks "if I search the whole target image with this feature, do I find the right pixel?" — which requires the feature to be distinctive, not merely consistent. Distinctiveness and collapse are incompatible by construction, so the degenerate solution stops being an optimum at all: a constant feature map produces a uniform similarity map, whose SoftArgMax lands in the image centre and scores terribly for almost every point.
One risk remains. Even a non-collapsed model could achieve low location error by memorizing correspondences while destroying semantic understanding. So a regularization term additionally holds refined features near the original space — similar norm, similar direction — which is what stops the model buying geometry with semantics.
Key Points
- 1
The naive loss Lnaive=∥Fi(xli)−Fj(xmj)∥2 is globally minimized by the trivial solution Fi(x)=Fj(x)=C — feature collapse
- 2
The fix (adopted from Zhang et al.) is a geometry-aware dense loss that never compares two features directly
- 3
Instead: compute a similarity map between the normalized query feature Fi(xli) and all spatial locations in the target map Fj
- 4
Softmax the similarity map with temperature τ, then take a differentiable SoftArgMax to get a predicted correspondence location
- 5
Penalize the Euclidean distance between predicted and ground-truth locations — a loss on where the match lands, not on vector similarity
- 6
This prevents trivial collapse: a constant feature map yields a uniform similarity map, whose SoftArgMax lands in the image centre and scores terribly
- 7
A regularization term keeps refined features near the original space — high cosine similarity and similar norm to the base feature
- 8
The loss is computed over multiple corresponding points and multiple view pairs per batch, using correspondences derived from known camera poses and ray geometry
Mathematical Formulation
The Naive Loss (and why it fails)
Lnaive=Fi(xli)−Fj(xmj)2
Minimized globally by Fi(x)=Fj(x)=C for any constant C. The network learns to output the same feature everywhere, achieves zero loss, and is worthless. This is the equation the rest of the section exists to avoid.
SoftArgMax Correspondence Prediction
pli→j=softmax(τSli→j),x^mj=∑u∈Ωjpli→j(u)u
Sli→j is the similarity map between the query feature in view i and every location in view j. Softmax with temperature τ turns it into a distribution over locations; the expectation under that distribution is a differentiable predicted position x^mj.
Geometry-Aware Dense Loss
Lcorr=xmj−x^mj2
Euclidean distance between the ground-truth correspondence (projected from 3D via COLMAP) and the predicted one. The gradient flows back through SoftArgMax into the similarity map and hence into the features — but the penalty is on position, never on raw feature distance.
Feature-Space Regularization
Lnorm=1−∥F~k∥∥Fk∥,Langle=1−cos(Fk,F~k)
Fk is the original frozen feature and F~k the adapted one. The two terms hold the refined features at a similar norm and a similar direction to the pretrained representation, preserving generalization while geometry is added.
Total Objective
Lreg=∑k(Lnorm+Langle),Ltotal=Lcorr+λregLreg
λreg controls the balance. As the ablation shows, this single scalar mediates the paper's central trade-off: geometric accuracy versus fidelity to the base model.
The supervision comes from classical geometry rather than annotation, which is what lets the approach scale across backbones.
Training a geometry-aware model normally needs geometric ground truth, and that normally means expensive capture rigs or manual labels — which would cap the method at whatever 3D data happens to exist, the very bottleneck the paper set out to avoid. So it lets structure-from-motion generate the labels instead. COLMAP reconstructs camera poses and a sparse 3D point cloud per scene from ordinary images; those points are projected back into all associated views to yield dense pixel-level correspondences. The pipeline is highly scalable and, importantly, does not require adaptation for each model separately — which is why the paper can report four backbones with one recipe rather than four bespoke ones.
The parameter economics reinforce the same idea. LoRA at r=32 plus small adapters means the trainable set is a thin shell around a frozen model — cheap to train, and structurally unable to overwrite the backbone even if the loss wanted it to.
One detail in the setup carries more weight than it first appears: training used only indoor ScanNet++ scenes, yet the gains hold on outdoor, synthetic and object-centric data. That gap is the paper's real evidence that it learned view-invariant geometric priors rather than dataset-specific heuristics.
Key Points
- 1
COLMAP reconstructs camera poses and a sparse 3D point cloud per scene; those 3D points are projected back into all associated views to yield dense pixel-level correspondences
- 2
This supervision is free of manual labels and does not require adaptation for each model — the same pipeline trains every backbone
- 3
Training data: ScanNet++, 230 scenes / 140K views
- 4
Schedule: 24 epochs (12 for SAM and DINOv3); 1,000 sets of 4 images at 512×512 per scene per epoch; 128 sampled correspondences per iteration
- 5
Optimizer: AdamW, lr 10−4, linear scheduler. LoRA on the backbone with rank r=32, α=32; adapter parameters ϕ are fully fine-tuned
- 6
Backbones tested: DINOv2 ViT-S/14 with register tokens, SAM ViT-B, DINOv3 ViT-B/16, CLIP ViT-B/16
- 7
Evaluation: 50 held-out ScanNet++ scenes, plus a generalization set of 115 scenes from 8 datasets — MipNeRF-360, LLFF, Tanks & Temples, NeRF-Synthetic, ScanNet, Objaverse, Nerfbusters, NeRF2NeRF
- 8
Normals probe: backbone frozen; a lightweight self-attention head predicts per-pixel normals in a shared frame (camera 0 as origin), outputting 4 channels (x,y,z,σ) with an uncertainty-weighted loss; AdamW, 50 epochs, lr 5×10−5
Further Reading
Two claims need separate evidence: that geometry improves, and that semantics survive. Either number alone would be easy to game — any method that fine-tunes a foundation model on a geometric task can post a good geometric score, and a model that memorized ScanNet++ correspondences and forgot how to see would look excellent on location error while being useless as a foundation model. So the paper measures both side by side.
Location Error matches a point by highest feature similarity and measures Euclidean distance to ground truth, normalized to image size — 0.01 is roughly 5 pixels on a 512×512 image. Similarity to Base is cosine similarity to the frozen base features. The paper is explicit about why the second one is critical: naive fine-tuning could achieve low location error by memorizing correspondences while destroying semantic understanding.
On both metrics the results are clean. DINOv2 on ScanNet++ falls from 0.1029 to 0.0247 — a 4.2x reduction (the paper's introduction quotes the headline as ×3) — while holding Base Sim at 0.9376. CLIP goes 0.1505→ 0.0301; DINOv3 0.1025→ 0.0314; SAM 0.1846→ 0.0244, a 7.6x reduction and the largest of the four. Against FiT3D the comparison is lopsided: FiT3D reaches 0.0858 with Base Sim 0.7484, so this method is both 3.5x more accurate geometrically and far more faithful semantically — the trade-off FiT3D pays is simply not paid here. Tellingly, FiT3D + Base (0.1062) is worse than FiT3D alone, so naively combining the two representations hurts.
The generalization result carries the most weight. Training touched only indoor scenes, yet gains hold across 8 diverse datasets (0.1404→0.0782 for DINOv2), indicating view-invariant geometric priors rather than dataset-specific heuristics. That the recipe transfers from DINOv2's self-supervised features to SAM's segmentation-focused ones suggests it exploits fundamental properties of vision transformers rather than model-specific quirks.
The residual analysis explains how both metrics can win at once. PCA of the difference between adapted and base features reveals clear 3D positional structure — and its magnitude is small relative to the preserved semantic component. The model is not rewriting the representation; it is layering a geometric correction on top of it. Geometry and semantics are not competing for the same capacity, which is why the trade-off can be avoided rather than merely balanced.

Key Points
- 1
Location Error measures geometric consistency, normalized to image size — 0.01 is roughly 5 pixels on a 512×512 image
- 2
Similarity to Base measures semantic preservation — critical, because naive fine-tuning could achieve low location error by memorizing correspondences while destroying semantic understanding
- 3
DINOv2 / ScanNet++: 0.1029→0.0247 (4.2x), Base Sim 0.9376
- 4
DINOv2 / Generalization: 0.1404→0.0782, Base Sim 0.8003 — trained only on indoor ScanNet++, still holds across 8 diverse datasets
- 5
CLIP / ScanNet++: 0.1505→0.0301 (5.0x), Base Sim 0.8824
- 6
DINOv3 / ScanNet++: 0.1025→0.0314, Base Sim 0.9411 — a newer backbone, no architectural changes
- 7
SAM / ScanNet++: 0.1846→0.0244 — a 7.6x reduction, the largest — with Base Sim 0.9547
- 8
vs FiT3D (DINOv2/ScanNet++): FiT3D reaches 0.0858 at Base Sim 0.7484 — this method is 3.5x more accurate and far more faithful semantically
- 9
FiT3D + Base (0.1062) is worse than FiT3D alone (0.0858) — naively combining representations hurts
- 10
Surface normals on NAVI (frozen backbones): RMSE 56.00 (DINOv2) / 51.00 (FiT3D) → 32.17; [email protected]° 0.156/0.176→ 0.251; recall@30° 0.434/0.494→ 0.693
- 11
Because the backbone stays frozen during probing, the probe does not learn 3D reasoning — it merely reads out structure already present in the features
- 12
MV-SAM: a single click in one view yields consistent segmentation masks across all views; base SAM fails to maintain correspondence
The ablation table's last row is the most instructive result in the paper, and it is easy to skim past.
The build-up is orderly. Base DINOv2 sits at 0.1029 location error. Adding LoRA training with the correspondence objective takes it to 0.0347 at Base Sim 0.9117 — most of the geometric work, though limited to single-view processing. Adding the multi-view adapter takes it to 0.0262 and raises Base Sim to 0.9360, which is worth pausing on: cross-view reasoning improves geometry and semantics simultaneously, so it is not a trade at all. Plücker embeddings add a final 0.0262 → 0.0247.
Then the last row. Removing regularization gives 0.0204 — the best geometric consistency of any configuration in the table — while Base Sim collapses from 0.9376 to 0.1054. A cosine similarity of 0.1054 to the base model means the representation is, for practical purposes, a different and much worse model that happens to match points well. Gradient descent found exactly what the authors warned about: features reshaped to nail ScanNet++ correspondences, with everything DINOv2 knew abandoned along the way.
So the paper keeps λreg non-zero and accepts slightly worse geometry — 0.0247 rather than 0.0204 — in exchange for Base Sim of 0.9376 rather than 0.1054. Roughly 20% worse on the headline metric buys back 9x better semantic fidelity. Their framing is exactly right: removing regularization yields the best geometric consistency but at the cost of significant semantic drift from the base model — our final design balances both objectives.
This is the general hazard of adapting a foundation model to a narrow objective, in miniature. Any sufficiently expressive adaptation can satisfy the new loss by discarding the old capability, because the old capability is not in the loss. The regularizer is not a performance trick — it is the only thing encoding and remain the model we started with. Whenever you fine-tune a foundation model, ask what your equivalent of Base Sim is; if you are not measuring it, you will not notice when it hits 0.1054.

Key Points
- 1
Base DINOv2: 0.1029 location error (no base-similarity figure — it is the base)
- 2
(+) LoRA training: 0.1029→0.0347, Base Sim 0.9117 — the correspondence objective alone does most of the geometric work, but is limited to single-view processing
- 3
(+) Multi-View Adapter: 0.0347→0.0262, Base Sim 0.9117→0.9360 — improves geometry and semantic alignment simultaneously, so it is not a trade-off
- 4
(+) Plücker (full method): 0.0262→0.0247, Base Sim 0.9376
- 5
(−) Regularization: location error improves to 0.0204 — the best in the table — while Base Sim collapses from 0.9376 to 0.1054
- 6
The final row is the paper's thesis stated as a counterexample: geometric accuracy is trivially purchasable by destroying the representation, so it cannot be the only thing you measure
- 7
The final design trades ~20% worse location error for ~9x better semantic fidelity — and the paper is explicit that this is a deliberate balance
Keep reading
Related Papers
Go deeper