53
Image Pyramids and Blending 15-463: Computational Photography Alexei Efros, CMU, Fall 2005 © Kenneth Kwan

Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Embed Size (px)

Citation preview

Page 1: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Image Pyramids and Blending

15-463: Computational PhotographyAlexei Efros, CMU, Fall 2005

© Kenneth Kwan

Page 2: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Image Pyramids

Known as a Gaussian Pyramid [Burt and Adelson, 1983]• In computer graphics, a mip map [Williams, 1983]• A precursor to wavelet transform

Page 3: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

A bar in the big images is a hair on the zebra’s nose; in smaller images, a stripe; in the smallest, the animal’s nose

Figure from David Forsyth

Page 4: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

What are they good for?Improve Search

• Search over translations– Like homework– Classic coarse-to-fine strategy

• Search over scale– Template matching– E.g. find a face at different scales

Precomputation• Need to access image at different blur levels• Useful for texture mapping at different resolutions (called

mip-mapping)

Image Processing• Editing frequency bands separately• E.g. image blending…

Page 5: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Gaussian pyramid construction

filter mask

Repeat• Filter• Subsample

Until minimum resolution reached • can specify desired number of levels (e.g., 3-level pyramid)

The whole pyramid is only 4/3 the size of the original image!

Page 6: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Image sub-sampling

Throw away every other row and column to create a 1/2 size image

- called image sub-sampling

1/4

1/8

Page 7: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Image sub-sampling

1/4 (2x zoom) 1/8 (4x zoom)

Why does this look so bad?

1/2

Page 8: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Sampling

Good sampling:•Sample often or,•Sample wisely

Bad sampling:•see aliasing in action!

Page 9: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Really bad in video

Page 10: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Alias: n., an assumed name

Picket fence recedingInto the distance willproduce aliasing…

Input signal:

x = 0:.05:5; imagesc(sin((2.^x).*x))

Matlab output:

WHY?

Aj-aj-aj:Alias!

Not enough samples

Page 11: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Gaussian pre-filtering

G 1/4

G 1/8

Gaussian 1/2

Solution: filter the image, then subsample• Filter size should double for each ½ size reduction. Why?

Page 12: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Subsampling with Gaussian pre-filtering

G 1/4 G 1/8Gaussian 1/2

Solution: filter the image, then subsample• Filter size should double for each ½ size reduction. Why?• How can we speed this up?

Page 13: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Compare with...

1/4 (2x zoom) 1/8 (4x zoom)1/2

Page 14: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Image Blending

Page 15: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Feathering

01

01

+

=Encoding transparency

I(x,y) = (αR, αG, αB, α)

Iblend = Ileft + Iright

Page 16: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Affect of Window Size

0

1 left

right0

1

Page 17: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Affect of Window Size

0

1

0

1

Page 18: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Good Window Size

0

1

“Optimal” Window: smooth but not ghosted

Page 19: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

What is the Optimal Window?To avoid seams

• window >= size of largest prominent feature

To avoid ghosting• window <= 2*size of smallest prominent feature

Natural to cast this in the Fourier domain• largest frequency <= 2*size of smallest frequency• image frequency content should occupy one “octave” (power of two)

FFT

Page 20: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

What if the Frequency Spread is Wide

Idea (Burt and Adelson)• Compute Fleft = FFT(Ileft), Fright = FFT(Iright)• Decompose Fourier image into octaves (bands)

– Fleft = Fleft1 + Fleft

2 + …• Feather corresponding octaves Fleft

i with Frighti

– Can compute inverse FFT and feather in spatial domain• Sum feathered octave images in frequency domain

Better implemented in spatial domain

FFT

Page 21: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

What does blurring take away?

original

Page 22: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

What does blurring take away?

smoothed (5x5 Gaussian)

Page 23: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

High-Pass filter

smoothed – original

Page 24: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Band-pass filtering

Laplacian Pyramid (subband images)Created from Gaussian pyramid by subtraction

Gaussian Pyramid (low-pass images)

Page 25: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Laplacian Pyramid

How can we reconstruct (collapse) this pyramid into the original image?

Need this!

Originalimage

Page 26: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Pyramid Blending

0

1

0

1

0

1

Left pyramid Right pyramidblend

Page 27: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Pyramid Blending

Page 28: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

laplacianlevel

4

laplacianlevel

2

laplacianlevel

0

left pyramid right pyramid blended pyramid

Page 29: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Laplacian Pyramid: BlendingGeneral Approach:

1. Build Laplacian pyramids LA and LB from images A and B2. Build a Gaussian pyramid GR from selected region R3. Form a combined pyramid LS from LA and LB using nodes

of GR as weights:• LS(i,j) = GR(I,j,)*LA(I,j) + (1-GR(I,j))*LB(I,j)

4. Collapse the LS pyramid to get the final blended image

Page 30: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Blending Regions

Page 31: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Horror Photo

© prof. dmartin

Page 32: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Season Blending (St. Petersburg)

Page 33: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Season Blending (St. Petersburg)

Page 34: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Simplification: Two-band BlendingBrown & Lowe, 2003

• Only use two bands: high freq. and low freq.• Blends low freq. smoothly• Blend high freq. with no smoothing: use binary mask

Page 35: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Low frequency (λ > 2 pixels)

High frequency (λ < 2 pixels)

2-band Blending

Page 36: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Linear Blending

Page 37: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

2-band Blending

Page 38: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Gradient DomainIn Pyramid Blending, we decomposed our

image into 2nd derivatives (Laplacian) and a low-res image

Let us now look at 1st derivatives (gradients):• No need for low-res image

– captures everything (up to a constant)• Idea:

– Differentiate– Blend– Reintegrate

Page 39: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Gradient Domain blending (1D)

Twosignals

Regularblending

Blendingderivatives

bright

dark

Page 40: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Gradient Domain Blending (2D)

Trickier in 2D:• Take partial derivatives dx and dy (the gradient field)• Fidle around with them (smooth, blend, feather, etc)• Reintegrate

– But now integral(dx) might not equal integral(dy)• Find the most agreeable solution

– Equivalent to solving Poisson equation– Can use FFT, deconvolution, multigrid solvers, etc.

Page 41: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Comparisons: Levin et al, 2004

Page 42: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Perez et al., 2003

Page 43: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Perez et al, 2003

Limitations:• Can’t do contrast reversal (gray on black -> gray on white)• Colored backgrounds “bleed through”• Images need to be very well aligned

editing

Page 44: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Don’t blend, CUT!

So far we only tried to blend between two images. What about finding an optimal seam?

Moving objects become ghosts

Page 45: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Davis, 1998Segment the mosaic

• Single source image per segment• Avoid artifacts along boundries

– Dijkstra’s algorithm

Page 46: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Input texture

B1 B2

Random placement of blocks

block

B1 B2

Neighboring blocksconstrained by overlap

B1 B2

Minimal errorboundary cut

Efros & Freeman, 2001

Page 47: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

min. error boundary

Minimal error boundary

overlapping blocks vertical boundary

__ ==22

overlap error

Page 48: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

GraphcutsWhat if we want similar “cut-where-things-

agree” idea, but for closed regions?• Dynamic programming can’t handle loops

Page 49: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Graph cuts (simple example à la Boykov&Jolly, ICCV’01)

n-links

s

t a cuthard constraint

hard constraint

Minimum cost cut can be computed in polynomial time(max-flow/min-cut algorithms)

Page 50: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Kwatra et al, 2003

Actually, for this example, DP will work just as well…

Page 51: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Lazy Snapping (Li el al., 2004)

Interactive segmentation using graphcuts

Page 52: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor

Putting it all togetherCompositing images

• Have a clever blending function– Feathering– blend different frequencies differently– Gradient based blending

• Choose the right pixels from each image– Dynamic programming – optimal seams– Graph-cuts

Now, let’s put it all together:• Interactive Digital Photomontage, 2004 (video)

Page 53: Image Pyramids and Blending - Computer graphicsImage Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor