← Latest papers
💻 computer science

ProBA: Probabilistic Bundle Adjustment with the Bhattacharyya Coefficient

ProBA is a probabilistic bundle adjustment framework that replaces rigid point tracks with 3D Gaussian landmarks and a kinematic pose graph to enable robust, cold-start Structure-from-Motion optimization from unstructured data by explicitly modeling spatial uncertainty and resolving mirror ambiguities.

Original authors: Jason Chui, Hector Andrade-Loarca, Daniel Cremers

Published 2026-04-08
📖 5 min read🧠 Deep dive

Original authors: Jason Chui, Hector Andrade-Loarca, Daniel Cremers

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are trying to solve a massive, 3D jigsaw puzzle, but there are two major problems:

  1. You don't have the picture on the box. You have no idea what the final scene looks like, where the camera was standing, or even how the camera lens is zoomed. You are starting from absolute zero (a "cold start").
  2. The puzzle pieces are messy. Instead of clean, perfect edges, you have thousands of fuzzy, slightly wrong connections. Some pieces fit perfectly; others are clearly from a different puzzle entirely.

This is the challenge of 3D Reconstruction (building a 3D map from 2D photos). Traditional methods, like the famous COLMAP, are like rigid, old-school puzzle solvers. They try to force pieces together immediately. If the pieces are a little fuzzy or the starting guess is slightly off, the whole puzzle collapses, or the solver gets stuck in a "local minimum" (a dead-end where the pieces look almost right, but the whole picture is twisted or mirrored).

Enter ProBA (Probabilistic Bundle Adjustment). Think of ProBA not as a rigid puzzle solver, but as a flexible, intuitive sculptor.

Here is how ProBA works, broken down into simple concepts:

1. The "Fuzzy Cloud" vs. The "Hard Point"

  • Old Way (Rigid Points): Traditional methods treat every match between two photos as a single, hard point. If that point is slightly wrong (noisy), it pulls the whole 3D structure off course. It's like trying to balance a house of cards on a single, shaky toothpick.
  • ProBA Way (3D Gaussians): ProBA treats every match as a fuzzy cloud (a 3D Gaussian). Imagine a cloud of dust instead of a solid marble.
    • If the match is good, the cloud is small and tight.
    • If the match is noisy or wrong, the cloud simply expands. It gets bigger and fluffier.
    • The Magic: By letting the "cloud" get bigger, the system admits, "I'm not sure about this spot." This prevents the bad data from breaking the whole structure. It smooths out the bumps in the road, allowing the solver to keep moving forward even when the data is messy.

2. The "Mirror Maze" Problem

  • The Issue: In 3D reconstruction, there is a classic trick called the "mirror ambiguity." A scene and its mirror image (where everything is flipped inside-out) often look exactly the same from the camera's perspective. Traditional solvers often pick the wrong mirror image and get stuck there forever.
  • ProBA's Solution: ProBA is like a detective who refuses to pick a side immediately. It runs two parallel investigations at the same time:
    1. The "Real World" hypothesis.
    2. The "Mirror World" hypothesis.
    • It lets both scenarios play out. As it gathers more evidence, one scenario starts to fall apart (the math stops working), while the other becomes crystal clear. ProBA then simply picks the winner. This ensures it never gets trapped in the wrong mirror world.

3. The "Adaptive Network" (Pruning Bad Links)

  • The Issue: When you have thousands of photos, you can't check every single photo against every other photo (that's too slow). You build a "view graph" (a network of connections). But sometimes, the computer connects two photos that don't actually belong together.
  • ProBA's Solution: Imagine a social network where you are trying to find the truth. If a friend tells you something that contradicts everyone else, you start to doubt them.
    • ProBA does this dynamically. It looks at every connection (edge) in the network. If a connection is causing a lot of confusion (high error), ProBA turns down the volume on that link. It effectively says, "This connection is unreliable; I'll listen to the other 19 friends instead."
    • This happens automatically during the process, filtering out the bad data without needing a human to clean it up first.

4. Starting from Scratch (Cold Start)

  • Old Way: You usually need to know roughly where the camera was standing before you start. If you guess wrong, the whole thing fails.
  • ProBA Way: It starts with zero knowledge. It assumes the camera is at the center, looking straight ahead, with a standard zoom. It then uses the "fuzzy clouds" and the "dual-hypothesis" strategy to slowly, gently figure out where the camera actually was and what the scene looks like. It's like waking up in a dark room and slowly turning on the lights, rather than trying to jump into the dark and guess where the furniture is.

The Result

Because ProBA is flexible, probabilistic, and smart about handling mistakes:

  • It works on messy, real-world photos (like random vacation snaps) where old methods fail.
  • It builds denser, more complete 3D models (you get the whole building, not just the corners).
  • It is robust. Even if 50% of the data is garbage, ProBA can still find the truth because it knows how to ignore the noise.

In a nutshell: ProBA replaces the rigid, brittle "point-and-shoot" logic of old 3D scanners with a flexible, "fuzzy-logic" approach that knows how to handle uncertainty, fix its own mistakes, and solve the puzzle even when the picture on the box is missing.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →