Lecture 1: Images and image filtering
Mark Twain at Pool Table”, no date, UCR Museum of Photography
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
epipolar lines
Epipolar geometry
(x1, y1)
(x2, y1)
x2 -x1 = the disparity of pixel (x1, y1)
Two images captured by a purely horizontal translating camera
(rectified stereo pair)
3
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/
Your basic stereo 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
Stereo matching based on SSD
SSD
dmin d
Best matching disparity
Window size
Smaller window
More details
More noise
W = 3
W = 20
Better results with adaptive window
T. Kanade and M. Okutomi, A Stereo Matching Algorithm with an Adaptive Window: Theory and Experiment,, Proc. International Conference on Robotics and Automation, 1991.
D. Scharstein and R. Szeliski. Stereo matching with nonlinear diffusion. International Journal of Computer Vision, 28(2):155-174, July 1998
Effect of window size
smaller window: more detail, more noise
bigger window: less noise, more detail
Stereo results
Data from University of Tsukuba
Similar results on other images without ground truth
Ground truth
Scene
8
Results with window search
Window-based matching
(best window size)
Ground truth
Better methods exist…
Boykov et al., Fast Approximate Energy Minimization via Graph Cuts,
International Conference on Computer Vision, September 1999.
Ground truth
For the latest and greatest: http://www.middlebury.edu/stereo/
Stereo as energy minimization
What defines a good stereo correspondence?
Match quality
Want each pixel to find a good match in the other image
Smoothness
If two pixels are adjacent, they should (usually) move about the same amount
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)
=
Stereo as energy minimization
I(x, y)
J(x, y)
y = 141
C(x, y, d); the disparity space image (DSI)
x
d
Stereo as energy minimization
y = 141
x
d
Simple pixel / window matching: choose the minimum of each column in the DSI independently:
Stereo as energy minimization
Greedy selection of best match
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
17
Stereo as energy minimization
match cost:
smoothness cost:
4-connected neighborhood
8-connected neighborhood
: set of neighboring pixels
Smoothness cost
“Potts model”
L1 distance
How do we choose V?
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…
Stereo as energy minimization
Expressing this mathematically
Match quality
Want each pixel to find a good match in the other image
Smoothness
If two pixels are adjacent, they should (usually) move about the same amount
We want to minimize
This is a special type of energy function known as an
MRF (Markov Random Field)
Effective and fast algorithms have been developed:
Graph cuts, belief propagation….
for more details (and code): http://vision.middlebury.edu/MRF/
Great tutorials available online (including video of talks)
Depth from disparity
f
x
x’
baseline
z
C
C’
X
f
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
http://www.frc.ri.cmu.edu/projects/meteorobot/index.html
Camera calibration errors
Poor image resolution
Occlusions
Violations of brightness constancy (specular reflections)
Large motions
Low-contrast image regions
Stereo reconstruction pipeline
Steps
Calibrate cameras
Rectify images
Compute disparity
Estimate depth
What will cause errors?
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
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/
Laser scanned models
The Digital Michelangelo Project, Levoy et al.
Laser scanned models
The Digital Michelangelo Project, Levoy et al.
Laser scanned models
The Digital Michelangelo Project, Levoy et al.
Laser scanned models
The Digital Michelangelo Project, Levoy et al.
Required reading
/docProps/thumbnail.jpeg