computer vision and computer graphics: two sides of a coin cos 116: apr 22, 2008 sanjeev arora

44
Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Post on 15-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Computer Vision and Computer Graphics: Two sides of a coin

COS 116: Apr 22, 2008

Sanjeev Arora

Page 2: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Brief history of image-making

Camera obscura.Camera obscura.

Known to chinese; 5th century BCKnown to chinese; 5th century BC

19th century: Replace hole withlens; sketchpaper with light-sensitive paper. “Camera”

19th century: Replace hole withlens; sketchpaper with light-sensitive paper. “Camera”

Late 20th century: Replace light-sensitive paper with electronic light sensor: “Digital camera.”Late 20th century: Replace light-sensitive paper with electronic light sensor: “Digital camera.”

Page 3: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Theme 1: What is an image?

Page 4: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

What is an image?

Rectangular (2D) array of pixels

Continuous imageDigital image

“Pixels”“Pixels”

Page 5: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

“Pixel” is a sample; need not be square

(Many choices for “rendering” the same information)(Many choices for “rendering” the same information)

(Remember music lecture: (Remember music lecture:

Page 6: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

RGB Color Model

Plate II.3 from FvDFH

R G B Color 0.0 0.0 0.0 Black1.0 0.0 0.0 Red0.0 1.0 0.0 Green0.0 0.0 1.0 Blue1.0 1.0 0.0 Yellow1.0 0.0 1.0 Magenta0.0 1.0 1.0 Cyan1.0 1.0 1.0 White0.5 0.0 0.0 ?1.0 0.5 0.5 ?1.0 0.5 0.0 ?0.5 0.3 0.1 ?

Colors are additive

Page 7: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Adjusting Brightness

Simply scale pixel componentsMust clamp to range (e.g., 0 to 1)

Original Brighter

Page 8: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Adjusting Contrast Compute average luminance L for all pixels

luminance = 0.30*r + 0.59*g + 0.11*b

Scale deviation from L for each pixelMust clamp to range (e.g., 0 to 1)

Original More Contrast

L

Page 9: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Scaling the image Resample with

fewer or more pixels(mathy theory…)

Original 1/4X resolution

4X resolution

Page 10: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Theme 2: Computer vision vs

Computer Graphics (and why they get mathy)

Computer Vision: Understanding the “content” of an image (usually by creating a “model” of the depicted scene)

Computer graphics: Creating an image from scratchUsing a computer model.

Computer Vision: Understanding the “content” of an image (usually by creating a “model” of the depicted scene)

Computer graphics: Creating an image from scratchUsing a computer model.

Page 11: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Math used to understand/create imagesMath used to understand/create images

1) Coordinate geometry (turns geometry into algebra)1) Coordinate geometry (turns geometry into algebra)

2) Laws of perspective Laws of perspective2) Laws of perspective Laws of perspective

Page 12: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

(Math needed..) Physics of light

Lighting parametersLight source emissionSurface reflectance

NN

eye

Surface

LightSource

Page 13: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Math needed in the design of algorithms Example: Image Morphing

Image0

Image1

Warp0

Warp1

[Beier & Neeley]

Result

Page 14: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Intro to computer vision.Intro to computer vision.

What is depicted in this image?What is depicted in this image?

Page 15: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Edge detection

What is an “edge”?What is an “edge”?

Place where image“changes” suddenly.Place where image“changes” suddenly.

How to identify edges?How to identify edges?

Page 16: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

A very simple edge detection idea

A[i,j] <- 5 A[i, j] - A[i+1, j] - A[i-1,j] - A[i, j+1] -A[i, j-1] A[i,j] <- 5 A[i, j] - A[i+1, j] - A[i-1,j] - A[i, j+1] -A[i, j-1]

More sophisticated edge-detection uses smarter versions ofthis; use Gaussian filters, etc.

Human eye does some version of edge detection.

Edge info is still too “low level.”

More sophisticated edge-detection uses smarter versions ofthis; use Gaussian filters, etc.

Human eye does some version of edge detection.

Edge info is still too “low level.”

Page 17: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Image Segmentation

What are the regions in this image?What are the regions in this image? Uses many many algorithmic

ideas; still not 100% accurateUses many many algorithmicideas; still not 100% accurate

Page 18: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

High level vision: Object recognition

What do you see in thispicture?What do you see in thispicture?

Much harder task than it may seem. Tiger needs to be recognized from any angle, and under any lighting condition and background.

Much harder task than it may seem. Tiger needs to be recognized from any angle, and under any lighting condition and background.

Page 19: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Aside

At least 8 “levels” in human vision system.Object recognition seems to require transfer ofinformation between levels, andthe highest levels seem tiedto rest of intelligence

At least 8 “levels” in human vision system.Object recognition seems to require transfer ofinformation between levels, andthe highest levels seem tiedto rest of intelligence

Page 20: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Next: Computer Graphics

Applications: Entertainment Computer-aided design Scientific visualization Training Education E-commerce Computer art

Boeing 777 AirplaneInside a Thunderstorm

(Bob Wilhelmson, UIUC)

Page 21: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Step 1: Modeling How to construct and represent shapes (in 3D)

(Remo3D)

Page 22: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Modeling in SketchUp (demo)

Page 23: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Example of “model”: wireframe Most common: list of triangles

Three vertices in 3D(x1, y1, z1)(x2, y2, z2)(x3, y3, z3)

Usually would be augmentedwith info about texture, coloretc.

Usually would be augmentedwith info about texture, coloretc.

Page 24: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Step 2: Rendering

Given a model, a source of light, and a point of view, how to render it on the screen?

Page 25: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Rendering (contd)

Direct illumination One bounce from light to eye Implemented in graphics cards OpenGL, DirectX, …

Global illumination Many bounces Ray tracing

Direct Illumination(Chi Zhang, CS 426, Fall99)

Ray Tracing(Greg Larson)

Page 26: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Ray Casting

A (slow) method for computing direct illumination For each sample:

Construct ray from eye through image plane

Find first surface intersectedby ray

Compute color of sample based on surface properties

eye

Page 27: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Simple Reflectance Model

Simple analytic model: diffuse reflection +specular reflection +ambient lighting

SurfaceBased on modelproposed by Phong

Based on modelproposed by Phong

Page 28: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Diffuse Reflection Assume surface reflects equally in all directions

Examples: chalk, clay

Surface

Page 29: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Specular Reflection

Reflection is strongest near mirror angle Examples: mirrors, metals

N

LR

Page 30: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Ambient Lighting

This is a total cheat (avoids complexity of global illumination)!

Represents reflection of all indirect illumination

Page 31: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Path TypesL = lightD = diffuse bounceS = specular bounceE = eye

Page 32: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Path Types?

Henrik Wann Jensen

Page 33: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Ray Tracing

Henrik Wann Jensen

Page 34: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Ray Tracing

RenderPark

Page 35: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Ray Tracing

Terminator 2

Page 36: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Step 3: Animation

Keyframe animationArticulated figures

SimulationParticle systems

Animation(Jon Beyer,

CS426, Spring04)

Simulation

Page 37: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Articulated Figures

Rose et al. `96

Well-suited for humanoid characters

Root

LHip

LKnee

LAnkle

RHip

RKnee

RAnkle

Chest

LCollar

LShld

LElbow

LWrist

LCollar

LShld

LElbow

LWrist

Neck

Head

Page 38: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Keyframe Animation: Luxo Jr.

Pixar

Page 39: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Keyframe Animation

Define character poses at specific times: “keyframes”

“In between” poses found by interpolation

Lasseter `87

Page 40: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Keyframe Animation

Inbetweening: may not be plausible

Lasseter `87

Page 41: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Keyframe Animation

Solution: add more keyframes

Lasseter `87

Page 42: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

But, animator cannot specify motion for:o Smoke, water, cloth, hair, fire

o Soln: animation!

Cloth(Baraff & Witkin `98)

Water

Hot Gases(Foster & Metaxas `97)

Page 43: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Particle Systems A particle is a point mass

Mass Position Velocity Acceleration Color Lifetime

Many particles to model complex phenomena Keep array of particles

p = (x,y,z)

v

Page 44: Computer Vision and Computer Graphics: Two sides of a coin COS 116: Apr 22, 2008 Sanjeev Arora

Particle Systems Recall game of life, weather etc.… For each frame (time step):

Create new particles and assign attributes Delete any expired particles Update particles based on attributes and physics

Newton’s Law: f=ma Render particles