Title: Advanced Computer Graphics Spring 2005
1Advanced Computer Graphics
(Spring 2005)
- COMS 4162, Lecture 6 Image Compositing,
Morphing
- Ravi Ramamoorthi
http//www.cs.columbia.edu/cs4162
2To Do
- Assignment 1, Due Feb 15.
- This week only extra credit and clear up
difficulties
- Questions/difficulties so far in doing
assignment?
3Digital Image Compositing
- 1996 Academy scientific and engineering
achievement award (oscar ceremony) For their
pioneering inventions in digital image
compositing
4Image Compositing
- Separate an image into elements
- Each part is rendered
separately
- Then pasted together or
composited into a scene
Many slides courtesy Tom Funkhouser
5Outline
- 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
6Blue 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)
7Outline
- 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
8Alpha Channel
- In general, 32 bit RGBa images
- Alpha encodes coverage (0transparent, 1opaque)
- Simple compositing
9Alpha Channel
10Pixels with Alpha Conventions
- Premultiplication
- Color C (r,g,b) and coverage alpha is often
represented as
- One benefit color components aF directly
displayed
- What is ( a , 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
11Compositing with Alpha
12Opaque Objects
- In this case, a controls the amount of pixel
covered (as in blue screening).
- How to combine 2 partially covered pixels? 4
possib. outcomes.
13Outline
- 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
14Compositing Algebra
- 12 reasonable combinations (operators)
15Computing Colors with Compositing
- Note that coverages shown previously only
examples
- In practice, we only have a, not exact coverage,
so we assume coverages of A and B are
uncorrelated
- Question is how to compute net coverage for
operators previously?
16Example C A over B
17Image Compositing Example
Jurassic Park 93
18Technical 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
19Outline
- 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
20Examples
- Famous example Michael Jackson Black and White
Video (circa 1991).
- Unfortunately, I couldnt 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 mans alternative
21Examples
22Simple Cross-Dissolve
23The 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?
24Beier-Neely examples
25(No Transcript)
26Feature-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
27Warping with Line Segments
- We know how line warps, but what about whole
img?
- Given p in dest image, where is p in source
image?
28Warping with one Line Pair
Translation!!
29Warping with one Line Pair
Similar ideas apply to rotation,
other similarity transforms
30Warping with Multiple Line Pairs
31Details
32Weighting effect of each line pair
33Warping Pseudocode
34Morphing Pseudocode
35Examples