advanced computer graphics (spring 2005) coms 4162, lecture 6: image compositing, morphing ravi...

35
Advanced Computer Graphics Advanced Computer Graphics (Spring 2005) (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi http://www.cs.columbia.edu/~cs4162

Post on 21-Dec-2015

226 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Advanced Computer Graphics Advanced Computer Graphics (Spring 2005) (Spring 2005)

COMS 4162, Lecture 6: Image Compositing, Morphing

Ravi Ramamoorthi

http://www.cs.columbia.edu/~cs4162

Page 2: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

To Do To Do

Assignment 1, Due Feb 15. This week only extra credit and clear up difficulties

Questions/difficulties so far in doing assignment?

Page 3: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Alpha ChannelAlpha Channel

Page 10: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Compositing with AlphaCompositing with Alpha

Page 12: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Compositing AlgebraCompositing Algebra

12 reasonable combinations (operators)

Page 15: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

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

Page 17: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Image Compositing ExampleImage Compositing Example

Jurassic Park 93

Page 18: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

ExamplesExamples

Page 22: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Simple Cross-DissolveSimple Cross-Dissolve

Page 23: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Beier-Neely examplesBeier-Neely examples

Page 25: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162
Page 26: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Warping with one Line PairWarping with one Line Pair

What happens to the F?

Translation!!

Page 29: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing 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 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Warping with Multiple Line PairsWarping with Multiple Line Pairs

Page 31: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

DetailsDetails

Page 32: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Weighting effect of each line pairWeighting effect of each line pair

Page 33: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Warping PseudocodeWarping Pseudocode

Page 34: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

Morphing PseudocodeMorphing Pseudocode

Page 35: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 6: Image Compositing, Morphing Ravi Ramamoorthi cs4162

ExamplesExamples