• 沒有找到結果。

Image Processing & Antialiasing

N/A
N/A
Protected

Academic year: 2022

Share "Image Processing & Antialiasing"

Copied!
43
0
0

加載中.... (立即查看全文)

全文

(1)

Image Processing & Antialiasing

Part I (Overview and Examples)

(2)

IP is fundamental to both computer graphics and computer vision

Has its own publications and conferences

IEEE Transactions on Image Processing (TIP)

Image and Vision Computing

Journal of Electronic Imaging

IEEE International Conference on Image Processing (ICIP)

IEEE International Conference on Computational Photography (ICCP)

Once was closer to signal theory and

audio processing than to graphics

Image Synthesis in CG

model -> image

Image Processing

image ->

image

measurements

model

recognition

understanding

DSPs and GPUs used in both CG and IP

Image Processing

(3)

Overview

Example Applications

Jaggies & Aliasing

Sampling & Duals

Convolution

Filtering

Scaling

Reconstruction

Scaling, continued

Implementation

Outline

(4)

A 2D domain with samples at regular points (almost always a rectilinear grid)

Can have multiple values sampled per point

Meaning of samples depend on the application (red, green, blue, opacity, depth, etc.)

Units also depend on the application

e.g., a computed int or float to be mapped to voltage needed for display of a pixel on a screen

e.g., as a physical measurement of incoming light (e.g., a camera pixel sensor)

Introduction to sampling demo

What does “image” mean for us?

(5)

A channel is a collection (e.g., array) of all the samples of a particular type

RGB is a common format for image channels

Easy to implement in h/w

Corresponds approximately to human visual system anatomy (specialized “R, G, and B” cones)

Samples represent the intensity of the light at a point for a given wavelength (red, green, or blue)

The R channel of an image is an image containing just the red samples

What is a channel?

Original RGB image 3 samples per pixel

Red channel

1 sample per pixel Blue channel

1 sample per pixel Green channel

1 sample per pixel

(6)

In addition to the R, G, and B channels of an image, add a fourth channel called α

(transparency/opacity/translucency)

Alpha varies between 0 and 1

Value of 1 represents a completely opaque pixel, one you cannot see through

Value of 0 is a completely transparent pixel

Value between 0< α < 1 determines translucency

Useful for blending images

Images with higher alpha values are less transparent

Linear interpolation (αX + (1- α)Y) or full Porter-Duff compositing algebra

The alpha channel

The orange box is drawn on top of the purple box using

 = 0.8

(7)

Model a one-channel m × n image as the function 𝑢 𝑖, 𝑗

Maps pairs of integers (pixel coordinates) to real numbers

𝑖 and 𝑗 are integers such that 0 ≤ 𝑖 < m and 0 ≤ 𝑗 < n

Associate each pixel value 𝑢 𝑖, 𝑗 to small area around display location with coordinates 𝑖, 𝑗

A pixel here looks like a square centered over the sample point, but it’s just a scalar value and the actual geometry of its

screen appearance varies by device

Roughly circular spot on CRT (Cathode Ray Tube)

Rectangular on LCD panel

Modeling an image

(8)

Pixels are point samples, not “squares” or “dots”

Point samples reconstructed for display (often using multiple subpixels for primary colors)

Pixels

Close-up of a CRT screen

Close-up of an LCD screen

(9)

Two kinds of images

Discrete

Continuous

Discrete image

Function from ℤ

2

to ℝ

How images are stored in memory

The kind of images we generally deal with as computer scientists

Discrete Images vs. Continuous Images

Discrete image 𝑢 𝑖, 𝑗 𝑚

𝑛

𝑚

𝑛

(10)

Continuous image

Function from ℝ2 to ℝ

Images in the real world

“Continuous” refers to the domain, not the values (discontinuities could still exist)

Example: Gaussian distribution

𝑖0 and 𝑗0 are the center of the Gaussian

𝑢: ℤ2 → ℝ, 𝑢 𝑖, 𝑗 = 𝑒− 𝑖−𝑖0 2−(𝑗−𝑗0)2

𝑣: ℝ2 → ℝ, 𝑣 𝑖, 𝑗 = 𝑒− 𝑖−𝑖0 2− 𝑗−𝑗0 2

𝑖0 = 𝑛 − 1 /2 and 𝑗0 = 𝑘 − 1 /2 (n odd)

Here 𝑛 = 11 and 𝑚 = 11

Discrete Images vs. Continuous Images

Continuous image 𝑣(𝑖, 𝑗) 𝑚

𝑛

𝑚

𝑛

(11)

The stages are

Image acquisition – how we obtain images in the first place

Preprocessing – any effects applied before mapping (e.g., crop, mask, filter)

Mapping – catch-all stage involving image transformations or image composition

Post processing – any effects applied after mapping (e.g., texturizing, color remapping)

Output – printing or displaying on a screen

In practice, stages may be skipped

Middle stages are often interlaced

Idealized Five Stage Pipeline of Image Processing

(12)

Image Synthesis

Images created by a computer

Painted in 2D

Corel Painter (website)

Photoshop (website)

Rendered from 3D geometry

Pixar’s RenderMan (website)

Autodesk’s Maya (website)

Your CS123 projects

Procedurally textured

Generated images intended to mimic their natural counterparts

e.g., procedural wood grain, marble

Image Capture

Images from the “real world”

Information must be digitized from an analog signal

Common capture methods:

Digital camera

Satellite data from sensors (optical, thermal, radiation,…)

Drum scanner

Flatbed photo scanner

Frames from video

Stage 1: Image Acquisition

(13)

Each source image is adjusted to fit a given tone, size, shape, etc., to match a desired quality or to match other images

Can make a set of dissimilar images appear similar (if they are to be

composited later), or make similar parts of an image appear dissimilar (such as contrast enhancement)

Stage 2: Preprocessing

Original

Adjusted grayscale curve

(14)

Preprocessing techniques include:

Adjusting color or grayscale curve

Cropping

Masking (cutting out part of an image)

Blurring and sharpening

Edge detection/enhancement

Filtering and antialiasing

Scaling up (super sampling) or scaling down (sub sampling)

Stage 2: Preprocessing (continued)

(15)

Notes:

Blurring, sharpening, and edge detection can also be postprocessing techniques

Some preprocessing algorithms are not followed by mapping, others that involve resampling the image may be interlaced with mapping: filtering is done this way

Stage 2: Preprocessing (continued)

(16)

Mapping is a catch-all stage where several images are combined, or geometric transformations are applied

Transformations include:

Rotating

Scaling

Shearing

Warping

Feature-based morphing

Compositing:

Basic image overlay

Smooth blending with alpha channels

Poisson image blending

Seamlessly transfers “details” (like edges) from part of one image to another

Stage 3: Mapping

Poisson Image Blending Image Warping

(17)

Aging

Creates global effects across an entire image or selected area

Art effects

Posterizing

Faked “aging” of an image

Faked “out-of-focus”

“Impressionist” pixel remapping

Texturizing

Technical effects

Color remapping for contrast enhancement

Color to B&W conversion

Color separation for printing (RGB to CMYK)

Scan retouching and color/contrast balancing

Stage 4: Postprocessing

Posterizing

Impressionist

(18)

Choice of display/archive method may affect earlier processing

stages

Color printing accentuates certain colors more than others

Colors on the monitor have

different gamuts and HSV values than the colors printed out

Need a mapping

HSV = hue, saturation, value, a cylindrical coordinate system for the RGB color model

Gamut = set of colors that can be represented by output

device/printer

Display Technologies

Monitor (CRT → LCD/LED/OLED/Plasma panel)

Color printer

Film/DVD

Disk file

Texture map for 3D renderer

Stage 5: Output (Archive/Display)

An HSV cylinder An RGB cube

(19)

Overview

Example Applications

Jaggies & Aliasing

Sampling & Duals

Convolution

Filtering

Scaling

Reconstruction

Scaling, continued

Implementation

Outline

(20)

Edge detection filters measure the difference between adjacent pixels

A greater difference means a stronger edge

A threshold is sometimes used to remove weak edges

Example 1: Edge Detection Filtering

Sobel edge detection

filter

(21)

Used with MRI scans to reveal boundaries between different types of tissues

MRI scan is image where gray level represents tissue density

Used same filter as previous slide

Example 1: Edge Detection Filtering (Continued)

Original MRI image of a dog heart

Image after

edge detection

(22)

Extract evidence from seemingly incomprehensible images

Normally, image enhancement uses many filtering steps, and often no mapping at all

Former Prof. Michael Black and his class, CS296-4, received a commendation for helping Virginia police in a homicide case

Example 2: Image Enhancement for Forensics

Before enhancement

After enhancement

(23)

We have a security camera video of the back of a car that was used in a robbery

The image is too dark and noisy for the police to pull a license number

Though humans can often discern an image of poor quality, filtering can make it easier for a pattern-recognition

algorithm to decipher embedded symbols

Optical Character Recognition

Step 1: Get the frame from the videotape digitized with a frame-grabber

Example 2: Image Enhancement for Forensics

(24)

Step 2: Crop out stuff that appears to be uninteresting (outside plate edges)

This step can speed process by doing image processing steps on fewer pixels

Can’t always be done, may not be able to tell which sections are interesting without some

processing

Example 2: Image Enhancement for Forensics

(25)

Step 3: Use edge-sharpening filter to add contrast to plate number

This step enhances edges by raising discontinuities at brightness gaps in image

Example 2: Image Enhancement for Forensics

(26)

Step 4: Remap colors to enhance contrast between numbers and plate itself

Now, can make a printout for

records, or just copy plate number down: YNN-707!

Note that final colors do not even resemble real colors of license plate—enhancement techniques have seriously distorted the

colors!

Example 2: Image Enhancement for Forensics

(27)

Image composition is popular in the art world, as well as in tabloid news

Takes parts of several images and creates single image

Hard part is making all images fit together naturally

Artists can use it to create amazing collages and multi-layered effects

Tabloid newspaper artists can use it to create “News Photos” of things that never happened – “Fauxtography”.

There is no visual truth in media!

Multipart Composition

(28)

Famous Faked Photos

Tom Hanks and JFK Chinese press photo of

Tibet railway

(29)

Lars Bishop, former CS123 Head TA, created a news photo of himself

“meeting” with former Russian President Boris Yeltsin

post-Gorbachev and Perestroika. He

served 10 July 1991 – 31 December 1999, resigned in favor of Putin)

Needless to say, Lars Bishop never met Mr. Yeltsin

Had to get the images, cut out the parts he wanted, touch them up, paste them together, and retouch the end result

Example image composition (1/5)

Image of Boris (from Internet)

Image of Lars (from video camera)

(30)

Cut the pictures we want out of the original images

Paint a region around important parts of images (outline of people) using

Photoshop

Continue touching up this outline until no background at edge of people

Use a smart lasso tool that grows until it hit the white background, thus selecting subject. (“Magic Wand” tool in photoshop can accomplish this)

Example image composition (2/5)

(31)

Filter the images to make them appear similar, and paste them together

Boris is blurred and brightened to get rid of the halftoning lines (must have been a magazine photo)

Lars is blurred and noise is added to match image quality to that of Boris

Images are resized so Boris and Lars are at similar scales

Example image composition (3/5)

(32)

Finalize image

Created a simple, two-color background and added noise so it fit with the rest of the image, placed cutout of the two subjects on top of background

This left a thin white halo around the subjects, so used a “Rubber Stamp” tool to stamp background noise patterns over halo, making seams appear less obvious

Example image composition (4/5)

(33)

Final Image (with retouching at edges)

Example image composition (5/5)

BISHOP AND YELTSIN TALK PEACE

BISHOP: “I couldn’t understand a single word he said!”

(34)

Image Composition – Frankenface

Aseem Agarwala, Mira Dontcheva, Maneesh Agrawala, Steven Drucker, Alex Colburn, Brian Curless, David Salesin, Michael Cohen. Interactive Digital Photomontage. ACM Transactions on Graphics (Proceedings of SIGGRAPH 2004), 2004. http://grail.cs.washington.edu/projects/photomontage/

(35)

Image Composition – Frankenface

Aseem Agarwala, Mira Dontcheva, Maneesh Agrawala, Steven Drucker, Alex Colburn, Brian Curless, David Salesin, Michael Cohen. Interactive Digital Photomontage. ACM Transactions on Graphics (Proceedings of SIGGRAPH 2004), 2004. http://grail.cs.washington.edu/projects/photomontage/

(36)

3D images

3D image volumes from MRI scans need image processing

2D image processing techniques often have 3D analogs

Display becomes more difficult: voxels replace pixels (volumetric rendering)

Increases time and space complexity:

4 channel 1024x1024 image = 4 megs

4 channel 1024x1024x1024 image = 4 gigs!

𝑁

2

processing algorithms become 𝑁

3

3D Image Processing

Illustration: Erlend Nagelhus and Gunnar Lothe.

3D MRI: Kyrre Eeg Emblem, Rikshospitalet, and Inge Rasmussen, Nidelven Hjerneforskningslaboratorium.

University of Oslo, 1999

(37)

Computer graphics is the business of using models to create images;

computer vision solves the opposite problem—deriving models from images

Computer must do all the processing without human intervention

Often, processing techniques must be fast

Slow processing will add to camera-to-reaction latency (lag) in system

Common preprocessing techniques for computer vision:

Edge enhancement

Region detection

Contrast enhancement

Feature point detection

Computer Vision (1/2)

(38)

Image processing makes information easier to find

Pattern detection and pattern recognition are separate fields in their own right

Pattern detection: looking for features and describing the image’s content at a higher level

Pattern recognition: classifying collections of features and matching them against library of stored patterns.

(e.g., alphanumeric characters, types of abnormal cells, or human features in the case of biometrics)

Pattern detection is one important component of pattern recognition

Computer vision can be used to recreate 3D scenes from 2D color/depth images

Computational photography combines computer vision and computer graphics (see next slide)

For more on computer vision:

Professor James Tompkins: CSCI 1430 (Introduction to Computer Vision, Spring), CSCI 2951I (Computer Vision for Graphics and Interaction, Fall)

Other departments: CLPS 1520 (Computational Vision, Fall), CLPS 1590 (Visualizing Vision, Spring), ENGN

Computer Vision (2/2)

(39)

Computational vision

Matches points in the input image and the example image

Keypoint detection and correspondence

Image processing

Match local statistics

Local contrast

Tone

Detail

Allow amateurs to easily produce great photos!

Example: Style transfer for headshot portraits

(40)

Example: Style transfer for general photos

Input image Example image: Ansel Adams Output image

(41)

Uses computer vision to “see” your body’s shape

Extract multiple “skeletons” from depth image

Body as a controller

Gesture recognition

Facial recognition

Works with cheap hardware

RGB camera

CMOS depth sensor

Projected infrared pattern to see in darkness

Total cost around $100

Current research uses Kinects to construct 3D models

DynamicFusion - Kinect Fusion

Microsoft Kinect

Joints of skeletons on top of depth map

DynamicFusion - using Kinect

(42)

Extensive research capturing 3d information from color and

depth images

Can be used for many purposes

Paleontology/Archeology

Performance capture (movies, games)

Architects and interior design

Augmented reality

Engineering

3D Mapping and Augmented Reality

Augmented reality with Microsoft Hololens

(43)

Overview

Example Applications

Jaggies & Aliasing (next class)

Sampling & Duals

Convolution

Filtering

Scaling

Reconstruction

Scaling, continued

Implementation

Outline

參考文獻

相關文件

• The solution to Schrödinger’s equation for the hydrogen atom yields a set of wave functions called orbitals..  Each orbital has a characteristic shape

request even if the header is absent), O (optional), T (the header should be included in the request if a stream-based transport is used), C (the presence of the header depends on

„ Indicate the type and format of information included in the message body. „ Content-Length: the length of the message

• It is a plus if you have background knowledge on computer vision, image processing and computer graphics.. • It is a plus if you have access to digital cameras

grep - print lines matching a pattern. $ grep [OPTIONS]

contributions to the nearby pixels and writes the final floating point image to a file on disk the final floating-point image to a file on disk. • Tone mapping operations can be

 The syntax analyzer takes a source text file and attempts to match it on the language grammar.  If successful, it can generate a parse tree in some structured

– S+U can also preserve annotations of synthetic images – Refined images really help improving the testing result – Generate &gt; 1 images for each synthetic