Top Banner
Advanced Computer Graphics Advanced Computer Graphics (Spring 2006) (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi http://www.cs.columbia.edu/~cs4162
45

Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Advanced Computer Graphics Advanced Computer Graphics (Spring 2006) (Spring 2006)

COMS 4162, Lecture 6: Image Compositing, Morphing

(brief discussion of reconstruction)

Ravi Ramamoorthihttp://www.cs.columbia.edu/~cs4162

Page 2: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

To Do To Do

Assignment 1, Due Feb 16. This lecture only extra credit and clear up difficulties

Questions/difficulties so far in doing assignment?

Page 3: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Digital Image CompositingDigital Image Compositing 1996: Academy scientific and engineering

achievement award (oscar ceremony) “For their pioneering inventions in digital image compositing”

Page 4: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Image CompositingImage Compositing

Separate an image into elements Each part is rendered

separately

Then pasted together or composited into a scene

Many slides courtesy Tom Funkhouser

Page 5: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

OutlineOutline

Compositing or combining images: Fundamental problem in graphics; images from different sources, put them together Blue screen matting Alpha channel Porter-Duff compositing algebra (Siggraph 84)

Morphing (Beier-Neely, Siggraph 92)

17.6 in textbook covers some aspects, but not all

Page 6: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Blue Screen MattingBlue Screen Matting

Photograph or create image of object against blue screen (blue usually diff from colors like skin)

The extract foreground (non-blue pixels)

And add (composite) to new image

Problem: aliasing [hair] (no notion of partial coverage/blue)

Page 7: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

OutlineOutline

Compositing or combining images: Fundamental problem in graphics; images from different sources, put them together Blue screen matting Alpha channel Porter-Duff compositing algebra (Siggraph 84)

Morphing (Beier-Neely, Siggraph 92)

17.6 in textbook covers some aspects, but not all

Page 8: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Alpha ChannelAlpha Channel

In general, 32 bit RGBα images

Alpha encodes coverage (0=transparent, 1=opaque)

Simple compositing: (1 )OUT F B

Page 9: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Alpha ChannelAlpha Channel

Page 10: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Pixels with Alpha: ConventionsPixels with Alpha: Conventions

Premultiplication Color C = (r,g,b) and coverage alpha is often represented as

One benefit: color components αF directly displayed

What is ( α , C ) for the following?

(0, 1, 0, 1) = Full green, full coverage (0, ½ , 0, 1) = Half green, full coverage (0, ½, 0, ½) = Full green, half (partial) coverage (0, ½, 0, 0) = No coverage

( , , , )r g b

Page 11: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Compositing with AlphaCompositing with Alpha

Page 12: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Opaque ObjectsOpaque Objects

In this case, α controls the amount of pixel covered (as in blue screening).

How to combine 2 partially covered pixels? 4 possib. outcomes….

Page 13: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

OutlineOutline

Compositing or combining images: Fundamental problem in graphics; images from different sources, put them together Blue screen matting Alpha channel Porter-Duff compositing algebra (Siggraph 84)

Morphing (Beier-Neely, Siggraph 92)

17.6 in textbook covers some aspects, but not all

Page 14: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Compositing AlgebraCompositing Algebra

12 reasonable combinations (operators)

Page 15: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Computing Colors with CompositingComputing Colors with Compositing

Note that coverages shown previously only examples

In practice, we only have α, not exact coverage, so we assume coverages of A and B are uncorrelated

Question is how to compute net coverage for operators previously?

Page 16: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Example: C = A over B Example: C = A over B

Page 17: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Image Compositing ExampleImage Compositing Example

Jurassic Park 93

Page 18: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Technical Academy Awards 96Technical Academy Awards 96

Scientific and Engineering Achievement Award Alvy Ray Smith, Ed Catmull, Thomas Porter, Tom Duff

for their pioneering inventions in digital image compositing

Technical Achievement Award Computer Film Co. For their pioneering efforts in the

creation of the CFC digital film compositing system Gary Demos, David Ruhoff, Can Cameron, Michelle Feraud

for their pioneering efforts in the creation of the Digital Productions digital film compositing system

Douglas Smythe, Lincoln Hu, Douglas S. Kay, Industrial Light and Magic Inc. for their pioneering efforts in the creation of the ILM digital film compositing system

Page 19: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

OutlineOutline

Compositing or combining images: Fundamental problem in graphics; images from different sources, put them together Blue screen matting Alpha channel Porter-Duff compositing algebra (Siggraph 84)

Morphing (Beier-Neely, Siggraph 92)

17.6 in textbook covers some aspects, but not all

Page 20: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

ExamplesExamples

Famous example: Michael Jackson Black and White Video (circa 1991). Unfortunately, I couldn’t find a version of this

Easy enough to implement: assignment in many courses (we show example from CMU course): No music, but the good poor man’s alternative

Page 21: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

ExamplesExamples

Page 22: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Simple Cross-DissolveSimple Cross-Dissolve

Page 23: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

The idea in morphingThe idea in morphing

User marks line segments

These are used to warp image 1 and image 2

Images are then blended

Key step is warping

Why is it needed? Why not just cross-dissolve or blend two images based on alpha (how far between them)

How is it to be done with line segments?

Page 24: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Beier-Neely examplesBeier-Neely examples

Page 25: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.
Page 26: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Feature-Based WarpingFeature-Based Warping

To warp image 1 into image 2, we must establish correspondence between like features

Then, those features transform (and rest of image moves with them)

In Beier-Neely, features are user-specified line segments (nose, face outline etc.)

Warping is an image transformation (generally more complex than scale or shift, but same basic idea)

Morphing takes two warped images and cross-dissolves

Page 27: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Warping with Line SegmentsWarping with Line Segments

We know how line warps, but what about whole img?

Given p in dest image, where is p’ in source image?

Page 28: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Warping with one Line PairWarping with one Line Pair

What happens to the F?

Translation!!

Page 29: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Warping with one Line PairWarping with one Line Pair

What happens to the F?

Scale !!Similar ideas apply to rotation, other similarity transforms

Page 30: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Warping with Multiple Line PairsWarping with Multiple Line Pairs

Page 31: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

DetailsDetails

Page 32: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Weighting effect of each line pairWeighting effect of each line pair

Page 33: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Warping PseudocodeWarping Pseudocode

Page 34: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Morphing PseudocodeMorphing Pseudocode

Page 35: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

ExamplesExamples

Page 36: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Reconstruction Reconstruction

Section 14.10.5 of textbook

Some interesting, more technical ideas

Discuss briefly

Page 37: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Discrete ReconstructionDiscrete ReconstructionEquivalent to multiplying by comb function (a)

Convolving with similar fn in frequency domain (b). Separation in frequency domain depends on spatial sampling rate

Replicated Fourier spectra (when is this safe?)

Page 38: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Replicated Fourier SpectraReplicated Fourier Spectra

One can window to eliminate unwanted spectra

Equivalent to convolution with sinc

No aliasing if spectra well enough separated (initial spatial sampling rate high enough)

In practice, we use some reconstruction filter (not sinc), such as triangle (Bartlett filter)

Page 39: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Adequate Sampling RateAdequate Sampling Rate

Page 40: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Adequate Sampling RateAdequate Sampling Rate

Page 41: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Inadequate Sampling RateInadequate Sampling Rate

Page 42: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Inadequate Sampling RateInadequate Sampling Rate

Page 43: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Filter firstFilter first

Page 44: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Non-Ideal Reconstruction Non-Ideal Reconstruction In practice, convolution never with sinc

Sampling frequency must be even higher than Nyquist, or we get substantial aliasing In figure, samples trace out original modulated by a low-

frequency sine wave. Low freq amplitude modulation remains, compounded by rastering if reconstruct box filter

Page 45: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 6: Image Compositing, Morphing (brief discussion of reconstruction) Ravi Ramamoorthi cs4162.

Non-Ideal Reconstruction: Framebuffer Non-Ideal Reconstruction: Framebuffer

Often convolve with 1-pixel box filter (rastering)

Analog voltages often effectively convolve gaussian

Rastering more obvious in printers, LCD, etc. Not usually referred

to as aliasing