106
Image Blending and Compositing 15-463: Computational Photography Alexei Efros, CMU, Fall 2011 © NASA

Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Image Blending and Compositing

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

© NASA

Page 2: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Image Compositing

Page 3: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Compositing Procedure1. Extract Sprites (e.g using Intelligent Scissors in Photoshop)

Composite by David Dewey

2. Blend them into the composite (in the right order)

Page 4: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Need blending

Page 5: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Alpha Blending / Feathering

01

01

+

=Iblend = αIleft + (1-α)Iright

Page 6: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Affect of Window Size

0

1 left

right0

1

Page 7: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Affect of Window Size

0

1

0

1

Page 8: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Good Window Size

0

1

“Optimal” Window: smooth but not ghosted

Page 9: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

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 10: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

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 Flefti with Fright

i

– Can compute inverse FFT and feather in spatial domain

• Sum feathered octave images in frequency domain

Better implemented in spatial domain

FFT

Page 11: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Octaves in the Spatial Domain

Bandpass Images

Lowpass Images

Page 12: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pyramid Blending

0

1

0

1

0

1

Left pyramid Right pyramidblend

Page 13: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pyramid Blending

Page 14: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

laplacianlevel

4

laplacianlevel

2

laplacianlevel

0

left pyramid right pyramid blended pyramid

Page 15: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Laplacian Pyramid: Blending

General 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 16: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Blending Regions

Page 17: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Horror Photo

© david dmartin (Boston College)

Page 18: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Results from this class (fall 2005)

© Chris Cameron

Page 19: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Season Blending (St. Petersburg)

Page 20: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Season Blending (St. Petersburg)

Page 21: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Simplification: Two-band Blending

Brown & Lowe, 2003• Only use two bands: high freq. and low freq.• Blends low freq. smoothly• Blend high freq. with no smoothing: use binary alpha

Page 22: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Low frequency (λ > 2 pixels)

High frequency (λ < 2 pixels)

2-band Blending

Page 23: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Linear Blending

Page 24: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

2-band Blending

Page 25: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

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 26: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Davis, 1998

Segment the mosaic• Single source image per segment• Avoid artifacts along boundries

– Dijkstra’s algorithm

Page 27: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

min. error boundary

Minimal error boundary

overlapping blocks vertical boundary

__ ==

22

overlap error

Page 28: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Seam Carving

http://www.youtube.com/watch?v=6NcIJXTlugc

Page 29: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Graphcuts

What if we want similar “cut-where-things-agree” idea, but for closed regions?• Dynamic programming can’t handle loops

Page 30: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Graph cuts – a more general solution

n-links

s

t a cuthard constraint

hard constraint

Minimum cost cut can be computed in polynomial time

(max-flow/min-cut algorithms)

Page 31: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Kwatra et al, 2003

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

Page 32: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Lazy Snapping

Interactive segmentation using graphcuts

Page 33: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Gradient Domain

In 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 / edit / whatever

– Reintegrate

Page 34: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Gradient Domain blending (1D)

Twosignals

Regularblending

Blendingderivatives

bright

dark

Page 35: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

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 be done using least-squares

Page 36: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Perez et al., 2003

Page 37: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

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 38: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Gradients vs. Pixels

Can we use this for range compression?

Page 39: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial
Page 40: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial
Page 41: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

White?

Page 42: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

White?

Page 43: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

White?

Page 44: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial
Page 45: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Thinking in Gradient Domain

Our very own Jim McCann::James McCann

Real-Time Gradient-Domain Painting, SIGGRAPH 2009

Page 46: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Gradient Domain as Image Representation

See GradientShop paper as good example:

http://www.gradientshop.com/

Page 47: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images

Page 48: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

Page 49: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

+100pixelgradient

Page 50: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

� gradients – give rise to high level image-features

+100pixelgradient

Page 51: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

� gradients – give rise to high level image-features

+100

+100

+100

+100

+100

+100pixelgradient

+100

+100

+100

+100

+100

+100pixelgradient

Page 52: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

� gradients – give rise to high level image-features

+100

+100

+100

+100

+100

+100pixelgradient

+100

+100

+100

+100

+100

+100pixelgradient

image edge image edge

Page 53: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

� gradients – give rise to high level image-features

� manipulate local gradients to manipulate global image interpretation

+100

+100

+100

+100

+100

+100pixelgradient

+100

+100

+100

+100

+100

+100pixelgradient

Page 54: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

� gradients – give rise to high level image-features

� manipulate local gradients to manipulate global image interpretation

+255

+255

+255

+255

+255

pixelgradient

Page 55: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

� gradients – give rise to high level image-features

� manipulate local gradients to manipulate global image interpretation

+255

+255

+255

+255

+255

pixelgradient

Page 56: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

� gradients – give rise to high level image-features

� manipulate local gradients to manipulate global image interpretation

+0

+0

+0

+0

+0

pixelgradient

Page 57: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – low level image-features

� gradients – give rise to high level image-features

� manipulate local gradients to manipulate global image interpretation

+0

+0

+0

+0

+0

pixelgradient

Page 58: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

Page 59: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

Page 60: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges� object boundaries

� depth discontinuities

� shadows

� …

Page 61: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

Page 62: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture� visual richness

� surface properties

Page 63: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading

Page 64: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading� lighting

Page 65: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading� lighting

� shape

sculpting the faceusing shading (makeup)

Page 66: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading� lighting

� shape

sculpting the faceusing shading (makeup)

sculpting the faceusing shading (makeup)

Page 67: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading� lighting

� shape

sculpting the faceusing shading (makeup)

sculpting the faceusing shading (makeup)

sculpting the faceusing shading (makeup)

Page 68: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading� lighting

� shape

sculpting the faceusing shading (makeup)

Page 69: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading

Page 70: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading

� Artifacts

Page 71: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading

� Artifacts� noise

sensor noise

Page 72: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading

� Artifacts� noise

� seams

seams incomposite images

Page 73: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading

� Artifacts� noise

� seams

� compressionartifacts

blocking incompressed images

Page 74: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images� gradients – give rise to high level image-features

� Edges

� Texture

� Shading

� Artifacts� noise

� seams

� compressionartifacts

ringing incompressed images

Page 75: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Can be used to exert high-level control over images

Page 76: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Optimization framework

Pravin Bhat et al

Page 77: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Optimization framework� Input unfiltered image – u

Page 78: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Optimization framework� Input unfiltered image – u� Output filtered image – f

Page 79: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Optimization framework� Input unfiltered image – u� Output filtered image – f� Specify desired pixel-differences – (gx, gy)

min (fx – gx)2 + (fy – gy)2

f

Energy function

Page 80: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Optimization framework� Input unfiltered image – u� Output filtered image – f� Specify desired pixel-differences – (gx, gy)� Specify desired pixel-values – d

min (fx – gx)2 + (fy – gy)2 + (f – d)2

f

Energy function

Page 81: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

� Optimization framework� Input unfiltered image – u� Output filtered image – f� Specify desired pixel-differences – (gx, gy)� Specify desired pixel-values – d� Specify constraints weights – (wx, wy, wd)

min wx(fx – gx)2 + wy(fy – gy)2 + wd(f – d)2

f

Energy function

Page 82: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial
Page 83: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial
Page 84: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial
Page 85: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting� change scene illumination

in post-production

� example

input

Page 86: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting� change scene illumination

in post-production

� example

manual relight

Page 87: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting� change scene illumination

in post-production

� example

input

Page 88: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting� change scene illumination

in post-production

� example

GradientShop relight

Page 89: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting� change scene illumination

in post-production

� example

GradientShop relight

Page 90: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting� change scene illumination

in post-production

� example

GradientShop relight

Page 91: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting� change scene illumination

in post-production

� example

GradientShop relight

Page 92: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting

u

f

o

Page 93: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

u

f

o

Page 94: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

� Definition:� d = u

u

f

o

Page 95: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

u

f

o� Definition:� d = u� gx(p) = ux(p) * (1 + a(p))� a(p) = max(0, - u(p).o(p))

Page 96: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Pseudo image relighting

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

u

f

o� Definition:� d = u� gx(p) = ux(p) * (1 + a(p))� a(p) = max(0, - u(p).o(p))

Page 97: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Sparse data interpolation� Interpolate scattered data

over images/video

Page 98: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

Sparse data interpolation� Interpolate scattered data

over images/video

� Example app: Colorization*

input output

*Levin et al. – SIGRAPH 2004

Page 99: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

u

f

user data

Sparse data interpolation

Page 100: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

u

f

user data

Sparse data interpolation

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

Page 101: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

u

f

user data

Sparse data interpolation

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

� Definition:� d = user_data

Page 102: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

u

f

user data

Sparse data interpolation

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

� Definition:� d = user_data� if user_data(p) defined

wd(p) = 1else

wd(p) = 0

Page 103: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

u

f

user data

Sparse data interpolation

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

� Definition:� d = user_data� if user_data(p) defined

wd(p) = 1else

wd(p) = 0� gx(p) = 0; gy(p) = 0

Page 104: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

u

f

user data

Sparse data interpolation

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

� Definition:� d = user_data� if user_data(p) defined

wd(p) = 1else

wd(p) = 0� gx(p) = 0; gy(p) = 0� wx(p) = 1/(1 + c*|ux(p)|)

wy(p) = 1/(1 + c*|uy(p)|)

Page 105: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

u

f

user data

Sparse data interpolation

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

� Definition:� d = user_data� if user_data(p) defined

wd(p) = 1else

wd(p) = 0� gx(p) = 0; gy(p) = 0� wx(p) = 1/(1 + c*|ux(p)|)

wy(p) = 1/(1 + c*|uy(p)|)

Page 106: Image Blending and Compositing - Computer graphicsgraphics.cs.cmu.edu/courses/15-463/2011_fall/Lectures/blending.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial

u

f

user data

min wx(fx – gx)2 + f wy(fy – gy)2 +

wd(f – d)2

Energy function

Sparse data interpolation

� Definition:� d = user_data� if user_data(p) defined

wd(p) = 1else

wd(p) = 0� gx(p) = 0; gy(p) = 0� wx(p) = 1/(1 + c*|el(p)|)

wy(p) = 1/(1 + c*|el(p)|)