Topic · Geometry

3-D reconstruction

Everything on this site about 3-d reconstruction, in the order to read it: a page is listed after the pages it builds on. The figures below are the ones those pages use to explain it; each is live: move a slider and it recomputes.

In reading order

The figures these pages use

Pulled from the pages above. Move a slider and the figure recomputes, exactly as on its page.

From Triangulation — Two Rays That Almost Meet › 1. Four Rows and One Null Vector

(0, 0.5)
Camera: focal length and principal point
500320240
Camera 1: move it and turn it
0.00.00.00.00.0
Camera 2: move it and turn it
1.00.00.0100.0
Two rays that almost meet. Camera 1 (blue) and camera 2 (rust) look at X. Camera 2's pixel carries a little noise: drag it in the close-up of camera 2's picture. Across the line l′ the rays stop meeting and a gap opens; along l′ they still meet, but X̂ slides in depth. Slide the noise along the line, then across it: across opens a 4 mm gap; along leaves almost no gap but puts X̂ 16.6 mm off, nearly all in depth. Move camera 2 farther from camera 1 and the error along l′ shrinks. Drag the background to turn the scene, or drag a camera to move it. Open the camera panels to move the cameras, or change the focal length and the principal point.

From Triangulation — Two Rays That Almost Meet › 5. The Angle Between the Rays

0.5
Camera: focal length and principal point
500320240
Camera 1: move it and turn it
0.00.00.00.00.0
Camera 2: move it and turn it
1.00.00.0100.0
The angle between the rays. Seen from above: each camera's ray is really a thin wedge, as wide as the pixel noise allows, and the point can be anywhere in the diamond where the two wedges overlap. The close-up shows that diamond. Bring camera 2 toward camera 1: the angle closes and the diamond stretches along the rays; move it away and the diamond shrinks. Drag the background to turn the scene, or drag a camera to move it. Open the camera panels to move the cameras, or change the focal length and the principal point.

From From Matches to Motion — Four Cameras, One Right Answer › 1. Eight Matches, One Matrix

0.5
Camera: focal length and principal point
500320240
Camera 1: move it and turn it
0.00.00.00.00.0
Camera 2: move it and turn it
1.00.00.0100.0
Eight matches, one matrix. The 32 corners of the target, matched between camera 1 (blue) and camera 2 (rust). F is fitted to all of them; six of its lines are drawn in camera 2's picture over the true ones (grey). Add noise, switch to raw pixels, or spoil one match and watch the lines swing. Drag a camera in the plan seen from above. Open the camera panels to move the cameras, or change the focal length and the principal point.

From From Matches to Motion — Four Cameras, One Right Answer › 3. From E to Four Cameras

2 / 4 · R_a, −u₃
Camera: focal length and principal point
500320240
Camera 1: move it and turn it
0.00.00.00.00.0
Camera 2: move it and turn it
1.00.00.0100.0
Four cameras from one E. E splits into two rotations and a direction ±u₃, so camera 2 could be in four places. The blue camera is camera 1; the rust one is the candidate you picked, and the small pictures show all four. Step through: the matching rays meet in front of both cameras only once. Drag the background to turn the scene, or drag a camera. Open the camera panels to move the cameras, or change the focal length and the principal point.

From From Matches to Motion — Four Cameras, One Right Answer › 5. Two Photos Cannot Tell a House From a Doll's House

1.0
Camera: focal length and principal point
500320240
Camera 1: move it and turn it
0.00.00.00.00.0
Camera 2: move it and turn it
1.00.00.0100.0
A house or a doll's house. Scale the whole scene, the point, the target and the distance between the cameras, by the same λ. The blue and rust pictures stay pixel for pixel the same, so two photos cannot say how big the world is. Play the scale, drag the background to turn the scene, or drag a camera. Open the camera panels to move the cameras, or change the focal length and the principal point.

From Stereo Depth — Rectification and Z = fB/d › 1. Turn Both Pictures Until the Rows Agree

0
Camera: focal length and principal point
500320240
Camera 1: move it and turn it
0.00.00.00.00.0
Camera 2: move it and turn it
1.00.00.0100.0
Turn camera 2 until the rows agree. Camera 1 (blue) already faces straight ahead; camera 2 (rust) is turned 10° in. Turning a camera about its centre needs no new photo, only a remap of its pixels. Press play: camera 2 turns back by 10°, and every point in its picture slides onto the row the same point has in camera 1's picture. Drag the background to turn the scene, or drag a camera to move it. Open the camera panels to move the cameras, or change the focal length and the principal point.

From Stereo Depth — Rectification and Z = fB/d › 2. Disparity

40.5
Camera: focal length and principal point
500320240
Camera 1: move it and turn it
0.00.00.00.00.0
Camera 2: move it and turn it
1.00.00.00.00.0
Depth is fB over d. Two cameras facing the same way, B apart. The match in camera 2's picture sits on the same row, d pixels to the left; depth is Z = fB/d. A matching error of Δd pixels smears the point along camera 1's ray (the thick rust band); the strip under the picture enlarges that band. Play Z: d collapses while the error band runs away. Drag the background to turn the scene, or drag a camera to change the baseline. Open the camera panels to move the cameras, or change the focal length and the principal point.

From From Two Photos to a Point Cloud › 1. One Map, Two Jobs

1 / 5 · two raw photos
Camera: focal length and principal point
500320240
Camera 1: move it and turn it
0.00.00.00.00.0
Camera 2: move it and turn it
1.00.00.0100.0
From two photos to a point cloud. The series rig: camera 1 (blue), camera 2 (rust) 1 m to its right and turned in 10°, and the L target's 32 corners plus X. Step through the chain: the lens is undone, camera 2 is turned back until the rows agree, X is matched along its row, and Q turns every pixel and its disparity back into a 3-D point. Drag the background to turn the scene, or drag a camera's centre. Open the camera panels to move the cameras, or change the focal length and the principal point.

From From Two Photos to a Point Cloud › 2. Finding the Match Along a Row

12511
Cameras: focal length and baseline
5001.0
Sliding a window along the row. The blue window sits around x₁ in picture 1. The rust window sits d pixels to its left in picture 2, and its brightness is laid over the blue one so you can see how well they agree. The cost is how different the two windows look; the lowest cost along the row is the match. Play d, or drag the rust window. Open the camera panel to change the focal length or the baseline: the wall stays 4 m away, so the match moves to f B / 4.

Tags that go with it

Two-view geometry 3Stereo vision 2