image stitching digital visual effects yung-yu chuang with slides by richard szeliski, steve seitz,...

84
Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Upload: alexina-mcdowell

Post on 02-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Image stitching

Digital Visual EffectsYung-Yu Chuang

with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Page 2: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Image stitching

• Stitching = alignment + blending

geometricalregistration

photometricregistration

Page 3: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Applications of image stitching

• Video stabilization• Video summarization• Video compression• Video matting• Panorama creation

Page 4: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Video summarization

Page 5: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Video compression

Page 6: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Object removal

input video

Page 7: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Object removal

remove foreground

Page 8: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Object removal

estimate background

Page 9: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Object removal

background estimation

Page 10: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Panorama creation

Page 11: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Why panorama?

• Are you getting the whole picture?– Compact Camera FOV = 50 x 35°

Page 12: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Why panorama?

• Are you getting the whole picture?– Compact Camera FOV = 50 x 35°– Human FOV = 200 x 135°

Page 13: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Why panorama?

• Are you getting the whole picture?– Compact Camera FOV = 50 x 35°– Human FOV = 200 x 135°– Panoramic Mosaic = 360 x 180°

Page 14: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Panorama examples

• Similar to HDR, it is a topic of computational photography, seeking ways to build a better camera using either hardware or software.

• Most consumer cameras have a panorama mode

• Mars:http://www.panoramas.dk/fullscreen3/f2_mars97.html

• Earth:http://www.panoramas.dk/new-year-2006/taipei.html http://www.360cities.net/ http://maps.google.com.tw/

Page 15: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

What can be globally aligned?

• In image stitching, we seek for a matrix to globally warp one image into another. Are any two images of the same scene can be aligned this way?– Images captured with the same center

of projection– A planar scene or far-away scene

Page 16: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

A pencil of rays contains all views

realcamera

syntheticcamera

Can generate any synthetic camera viewas long as it has the same center of projection!

Page 17: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Mosaic as an image reprojection

mosaic projection plane

• The images are reprojected onto a common plane

• The mosaic is formed on this plane• Mosaic is a synthetic wide-angle camera

Page 18: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Changing camera center

• Does it still work? synthetic PP

PP1

PP2

Page 19: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

What cannot • The scene with depth variations and the

camera has movement

Page 20: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Planar scene (or a faraway one)

• PP3 is a projection plane of both centers of projection, so we are OK!

• This is how big aerial photographs are made

PP1

PP3

PP2

Page 21: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Motion models

• Parametric models as the assumptions on the relation between two images.

Page 22: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

2D Motion models

Page 23: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Motion models

Translation

2 unknowns

Affine

6 unknowns

Perspective

8 unknowns

3D rotation

3 unknowns

Page 24: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

A case study: cylindrical panorama

• What if you want a 360 field of view?

mosaic projection cylinder

Page 25: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Cylindrical panoramas

• Steps– Reproject each image onto a cylinder– Blend – Output the resulting mosaic

Page 26: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

applet• http://graphics.stanford.edu/courses/

cs178/applets/projection.html

Page 27: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Cylindrical panorama

1. Take pictures on a tripod (or handheld)2. Warp to cylindrical coordinate3. Compute pairwise alignments4. Fix up the end-to-end alignment5. Blending6. Crop the result and import into a viewer

It is required to do radial distortion correction for better stitching results!

Page 28: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Taking pictures

Kaidan panoramic tripod head

Page 29: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Translation model

Page 30: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Where should the synthetic camera be

• The projection plane of some camera• Onto a cylinder

realcamera

syntheticcamera

Page 31: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Cylindrical projection

Adopted from http://www.cambridgeincolour.com/tutorials/image-projections.htm

Page 32: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Cylindrical projection

Page 33: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Cylindrical projection

Adopted from http://www.cambridgeincolour.com/tutorials/image-projections.htm

Page 34: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Cylindrical projection

unwrapped cylinderx

y

f

Page 35: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

z

Cylindrical projection

unwrapped cylinder

xy

θ

x

y

f

Page 36: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Cylindrical projection

unwrapped cylinder

xy

z

x

y

fs=f gives less distortion

Page 37: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

f = 180 (pixels)

Cylindrical reprojection

f = 380f = 280Image 384x300

top-down view Focal length – the dirty secret…

Page 38: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

A simple method for estimating f

Or, you can use other software, such as AutoStich, to help.

df

w

p

Page 39: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Input images

Page 40: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Cylindrical warping

Page 41: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Blending

• Why blending: parallax, lens distortion, scene motion, exposure difference

Page 42: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Blending

Page 43: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Blending

Page 44: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Blending

Page 45: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Gradient-domain stitching

Page 46: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Gradient-domain stitching

Page 47: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Panorama weaving

Page 48: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Assembling the panorama

• Stitch pairs together, blend, then crop

Page 49: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Problem: Drift

• Error accumulation– small errors accumulate over time

Page 50: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Problem: Drift

• Solution– add another copy of first image at the end– 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”

(x1,y1)

• copy of first image

(xn,yn)

Page 51: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

End-to-end alignment and crop

Page 52: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Rectangling panoramas

video

Page 53: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Rectangling panoramas

Page 54: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Rectangling panoramas

Page 55: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Viewer: panorama

++

++

++

++

example: http://www.cs.washington.edu/education/courses/cse590ss/01wi/projects/project1/students/dougz/index.html

Page 56: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Viewer: texture mapped model

example: http://www.panoramas.dk/

Page 57: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Cylindrical panorama

1. Take pictures on a tripod (or handheld)2. Warp to cylindrical coordinate3. Compute pairwise alignments4. Fix up the end-to-end alignment5. Blending6. Crop the result and import into a viewer

Page 58: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Determine pairwise alignment?

• Feature-based methods: only use feature points to estimate parameters

• We will study the “Recognising panorama” paper published in ICCV 2003

• Run SIFT (or other feature algorithms) for each image, find feature matches.

Page 59: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Determine pairwise alignment

• p’=Mp, where M is a transformation matrix, p and p’ are feature matches

• It is possible to use more complicated models such as affine or perspective

• For example, assume M is a 2x2 matrix

• Find M with the least square error

n

i

pMp1

2'

y

x

mm

mm

y

x

2221

1211

'

'

Page 60: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Determine pairwise alignment

• Overdetermined system

y

x

mm

mm

y

x

2221

1211

'

''1221211

'1121111

ymymx

xmymx

'

'

'2

'1

'1

22

21

12

11

22

11

11

00

00

00

00

00

n

n

nn

nn

y

x

x

y

x

m

m

m

m

yx

yx

yx

yx

yx

Page 61: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Normal equation

Given an overdetermined system

bAx

bAAxA TT

the normal equation is that which minimizes the sum of the square differences between left and right sides

Why?

Page 62: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Normal equation

2)( bAxx E

n

m

nmn

m

b

b

x

x

aa

aa

:

:

:

:

...

::

::

::

... 1

1

1

111

nxm, n equations, m variables

Page 63: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Normal equation

n

m

jjnj

i

m

jjij

m

jjj

n

i

m

jjnj

m

jjij

m

jjj

bxa

bxa

bxa

b

b

b

xa

xa

xa

1

1

11

1

1

1

1

11

:

:

:

:

:

:

bAx

n

ii

m

jjij bxaE

1

2

1

2)( bAxx

Page 64: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Normal equation

n

ii

m

jjij bxaE

1

2

1

2)( bAxx

1

0x

E

n

iii

n

ij

m

jiji baxaa

11

1 11 22

11 1

2 i

n

ii

m

jjij abxa

)(20 bAAxAx

TT

E

bAAxA TT →

Page 65: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Normal equation

2bAx

Page 66: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Normal equation

bbxbAxbAAxAx

bbbAxAxbAxAx

bAxbAx

bAxbAx

bAxbAx

bAx

TTTTTTT

TTTTTT

TTT

TT

T

2

bAAxAx

TT 22 E

Page 67: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Determine pairwise alignment

• p’=Mp, where M is a transformation matrix, p and p’ are feature matches

• For translation model, it is easier.

• What if the match is false? Avoid impact of outliers.

n

iiiii yymxxmE

1

2'2

2'1

1

0m

E

Page 68: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

RANSAC

• RANSAC = Random Sample Consensus• An algorithm for robust fitting of models in

the presence of many data outliers• Compare to robust statistics

• Given N data points xi, assume that majority of them are generated from a model with parameters , try to recover .

Page 69: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

RANSAC algorithm

Run k times: (1) draw n samples randomly (2) fit parameters with these n samples (3) for each of other N-n points, calculate its distance to the fitted model, count

the number of inlier points, cOutput with the largest c

How many times?How big? Smaller is better

How to define?Depends on the problem.

Page 70: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

How to determine k

p: probability of real inliersP: probability of success after k trials

knpP )1(1 n samples are all inliers

a failure

failure after k trials

)1log(

)1log(np

Pk

n p k

3 0.5 35

6 0.6 97

6 0.5 293

for P=0.99

Page 71: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Example: line fitting

Page 72: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Example: line fitting

n=2

Page 73: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Model fitting

Page 74: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Measure distances

Page 75: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Count inliers

c=3

Page 76: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Another trial

c=3

Page 77: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

The best model

c=15

Page 78: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

RANSAC for Homography

Page 79: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

RANSAC for Homography

Page 80: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

RANSAC for Homography

Page 81: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Applications of panorama in VFX

• Background plates• Image-based lighting

Page 82: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Troy (image-based lighting)

http://www.cgnetworks.com/story_custom.php?story_id=2195&page=4

Page 83: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Spiderman 2 (background plate)

Page 84: Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Reference• Richard Szeliski, Image Alignment and Stitching: A Tutorial,

Foundations and Trends in Computer Graphics and Computer Vision, 2(1):1-104, December 2006.

• R. Szeliski and H.-Y. Shum. Creating full view panoramic image mosaics and texture-mapped models, SIGGRAPH 1997, pp251-258.

• M. Brown, D. G. Lowe, Recognising Panoramas, ICCV 2003.