1 of 44

Binocular Stereo

CS5670: Computer Vision

What is this?

2 of 44

Announcements

  • Project 3: Autostitch (Panorama Stitching)
    • Due this Friday, March 14, by 8pm
    • Artifact (panorama) due on Monday, March 17 by 8pm

  • Midterm course evaluations open – please submit!
  • Project 4 (NeRF) to be released Thursday, March 20
    • Due Friday, March 28

3 of 44

“Mark Twain at Pool Table", no date, UCR Museum of Photography

4 of 44

5 of 44

Stereo Vision as Localizing Points in 3D

  • An object point will project to some point in our image
  • That image point corresponds to a ray in the world
  • Two rays intersect at a single point, so if we want to localize points in 3D we need 2 eyes

6 of 44

Stereo

  • Given two images from different viewpoints
    • How can we compute the depth of each point in the image?
    • Based on how much each pixel moves between the two images

7 of 44

Epipolar geometry

epipolar lines

(x1, y1)

(x2, y1)

x2 - x1 = the disparity of pixel (x1, y1)

Two images captured by a purely horizontal translating camera

(rectified stereo pair)

8 of 44

Disparity = inverse depth

(Or, hold a finger in front of your face and wink each eye in succession.)

9 of 44

Your basic stereo matching algorithm

  • Match Pixels in Conjugate Epipolar Lines
    • Assume brightness constancy
    • This is a challenging problem
    • Hundreds of approaches
      • A good survey and evaluation: http://www.middlebury.edu/stereo/

10 of 44

Your basic stereo matching algorithm

For each epipolar line

For each pixel in the left image

      • compare with every pixel on same epipolar line in right image
      • pick pixel with minimum match cost

Improvement: match windows

11 of 44

Stereo matching based on SSD

SSD

dmin d

Best matching disparity

12 of 44

Window size

    • Smaller window
      • more detail

- more noise

    • Larger window
      • less noise

- less detail

W = 3

W = 20

Better results with adaptive window

Effect of window size

13 of 44

Stereo results

    • Data from University of Tsukuba
    • Similar results on other images without ground truth

Ground truth

Scene

14 of 44

Results with window search

Window-based matching

(best window size)

Ground truth

15 of 44

Better methods exist...

Graph cuts-based method

Boykov et al., Fast Approximate Energy Minimization via Graph Cuts,

International Conference on Computer Vision 1999.

Ground truth

For the latest and greatest: http://www.middlebury.edu/stereo/

16 of 44

Stereo as energy minimization

  • What defines a good stereo correspondence?
    1. Match quality
      • Want each pixel to find a good match in the other image
    2. Smoothness
      • If two pixels are adjacent, they should (usually) move about the same amount

17 of 44

Stereo as energy minimization

  • Find disparity map d that minimizes an energy function

  • Simple pixel / window matching

SSD distance between windows I(x, y) and J(x + d(x,y), y)

=

18 of 44

Stereo as energy minimization

y = 141

C(x, y, d); the disparity space image (DSI)

x

d

19 of 44

Stereo as energy minimization

y = 141

x

d

Simple pixel / window matching: choose the minimum of each column in the DSI independently:

20 of 44

Greedy selection of best match

21 of 44

Stereo as energy minimization

  • Better objective function

{

{

match cost

smoothness cost

Want each pixel to find a good match in the other image

Adjacent pixels should (usually) move about the same amount

22 of 44

Stereo as energy minimization

match cost:

smoothness cost:

4-connected neighborhood

8-connected neighborhood

: set of neighboring pixels

23 of 44

Smoothness cost

“Potts model”

L1 distance

How do we choose V?

24 of 44

Smoothness cost

  • If λ = infinity, then we only consider smoothness
  • Optimal solution is a surface of constant depth/disparity
    • Fronto-parallel surface

  • In practice, want to balance data term with smoothness term

25 of 44

Dynamic programming

  • Can minimize this independently per scanline using dynamic programming (DP)

26 of 44

Dynamic programming

  • Finds “smooth”, low-cost path through DPI from left to right
  • Visiting a node incurs its data cost, switching disparities from one column to the next also incurs a (smoothness) cost

y = 141

x

d

27 of 44

Dynamic Programming

28 of 44

Dynamic programming

  • Can we apply this trick in 2D as well?

  • No: the shortest path trick only works to find a 1D path

Slide credit: D. Huttenlocher

29 of 44

Stereo as a minimization problem

  • The 2D problem has many local minima
    • Gradient descent doesn’t work well

  • And a large search space
    • n x m image w/ k disparities has knm possible solutions
    • Finding the global minimum is NP-hard in general

  • Good approximations exist (e.g., graph cuts algorithms)

30 of 44

Questions?

31 of 44

Depth from disparity

f

x

x’

baseline

z

C

C’

X

f

32 of 44

Stereo reconstruction pipeline

  • Steps
    • Calibrate cameras
    • Rectify images
    • Compute disparity
    • Estimate depth

    • Camera calibration errors
    • Poor image resolution
    • Occlusions
    • Violations of brightness constancy (specular reflections)
    • Large motions
    • Low-contrast image regions

What will cause errors?

33 of 44

Variants of stereo

34 of 44

Real-time stereo

  • Used for robot navigation (and other tasks)
    • Several real-time stereo techniques have been developed (most based on simple discrete search)

Nomad robot searches for meteorites in Antartica

35 of 44

Active stereo with structured light

  • Project “structured” light patterns onto the object
    • simplifies the correspondence problem
    • basis for active depth sensors, such as Kinect and iPhone X (using IR)

camera 2

camera 1

projector

camera 1

projector

Li Zhang’s one-shot stereo

36 of 44

Active stereo with structured light

37 of 44

Laser scanning

  • Optical triangulation
    • Project a single stripe of laser light
    • Scan it across the surface of the object
    • This is a very precise version of structured light scanning

Digital Michelangelo Project

http://graphics.stanford.edu/projects/mich/

38 of 44

Laser scanned models

The Digital Michelangelo Project, Levoy et al.

39 of 44

Laser scanned models

The Digital Michelangelo Project, Levoy et al.

40 of 44

Laser scanned models

The Digital Michelangelo Project, Levoy et al.

41 of 44

Laser scanned models

The Digital Michelangelo Project, Levoy et al.

42 of 44

3D Photography on your Desk

43 of 44

Time-of-flight cameras

44 of 44

Questions?