1
|
- Project 1
- Grading session this afternoon
- Artifacts due Friday (voting TBA)
- Project 2 out (online)
- Signup for panorama kits ASAP (weekend slots go quickly…)
- help session at end of class
|
2
|
- Today’s Readings
- Szeliski and Shum paper (sections 1 and 2, skim the rest)
- http://www.cs.washington.edu/education/courses/455/08wi/readings/szeliskiShum97.pdf
|
3
|
|
4
|
- Basic Procedure
- Take a sequence of images from the same position
- Rotate the camera about its optical center
- Compute transformation between second image and first
- Shift the second image to overlap with the first
- Blend the two together to create a mosaic
- If there are more images, repeat
|
5
|
- How to account for warping?
- Translations are not enough to align the images
- Photoshop demo
|
6
|
- The mosaic has a natural interpretation in 3D
- The images are reprojected onto a common plane
- The mosaic is formed on this plane
|
7
|
- Basic question
- How to relate two images from the same camera center?
- how to map a pixel from PP1 to PP2
|
8
|
- Observation
- Rather than thinking of this as a 3D reprojection, think of it as a 2D
image warp from one image to another
|
9
|
- Perspective projection of a plane
- Lots of names for this:
- homography, texture-map, colineation, planar projective map
- Modeled as a 2D warp using homogeneous coordinates
|
10
|
|
11
|
- What if you want a 360° field
of view?
|
12
|
- Map 3D point (X,Y,Z) onto sphere
|
13
|
|
14
|
|
15
|
- Map image to cylindrical coordinates
- need to know the focal length
|
16
|
- What if you don’t know the camera rotation?
- Solve for the camera rotations
- Note that a pan (rotation) of the camera is a translation of the
sphere!
- Use feature matching to solve for translations of spherical-warped
images
|
17
|
|
18
|
|
19
|
|
20
|
|
21
|
|
22
|
- Stitch pairs together, blend, then crop
|
23
|
- Error accumulation
- small errors accumulate over time
|
24
|
- Solution
- add another copy of first image at the end
- this gives a constraint: yn
= y1
- there are a bunch of ways to solve this problem
- add displacement of (y1 – yn)/(n -1) to each
image after the first
- compute a global warp: y’ = y +
ax
- run a big optimization problem, incorporating this constraint
- best solution, but more complicated
- known as “bundle adjustment”
|
25
|
|
26
|
|
27
|
- Take pictures on a tripod (or handheld)
- Warp to spherical coordinates
- Extract features
- Align neighboring pairs using RANSAC
- Write out list of neighboring translations
- Correct for drift
- Read in warped images and blend them
- Crop the result and import into a viewer
- Roughly based on Autostitch
- By Matthew Brown and David Lowe
- http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html
|
28
|
|
29
|
|
30
|
|
31
|
|
32
|
|
33
|
|
34
|
|
35
|
- For more info: Perez et al,
SIGGRAPH 2003
- http://research.microsoft.com/vision/cambridge/papers/perez_siggraph03.pdf
|
36
|
- Given a coordinate transform (x’,y’) = h(x,y) and a source image f(x,y),
how do we compute a transformed image g(x’,y’) = f(h(x,y))?
|
37
|
- Send each pixel f(x,y) to its corresponding location
- (x’,y’) = h(x,y) in the
second image
|
38
|
- Send each pixel f(x,y) to its corresponding location
- (x’,y’) = h(x,y) in the
second image
|
39
|
- Get each pixel g(x’,y’) from its corresponding location
- (x,y) = h-1(x’,y’)
in the first image
|
40
|
- Get each pixel g(x’,y’) from its corresponding location
- (x,y) = h-1(x’,y’)
in the first image
|
41
|
- Q: which is better?
- A: usually inverse—eliminates
holes
- however, it requires an invertible warp function—not always possible...
|
42
|
- Can mosaic onto any surface if you know the geometry
- See NASA’s Visible Earth project for some stunning earth mosaics
- http://earthobservatory.nasa.gov/Newsroom/BlueMarble/
|