The Blue and Green Colors Are Actually The Same
The Blue and Green Colors Are Actually The Same
http://blogs.discovermagazine.com/badastronomy/2009/06/24/the-blue-and-the-green/
Previous Lectures
Weve now touched on the first three chapters of Szeliski.
1. Introduction 2. Image Formation 3. Image Processing
Many slides from Lana Lazebnik, Steve Seitz, David Forsyth, David Lowe, Fei-Fei Li, and Derek Hoiem
Edge detection
Goal: Identify sudden changes (discontinuities) in an image
Intuitively, most semantic and shape information from the image can be encoded in the edges More compact than pixels
Ideal: artists line drawing (but artist is also using object-level knowledge)
Source: D. Lowe
Vanishing line
Vanishing point
Vanishing point
Origin of Edges
surface normal discontinuity
depth discontinuity
surface color discontinuity
illumination discontinuity
Closeup of edges
Source: D. Hoiem
Closeup of edges
Source: D. Hoiem
Closeup of edges
Source: D. Hoiem
Closeup of edges
Source: D. Hoiem
Characterizing edges
An edge is a place of rapid change in the image intensity function
image
first derivative
Intensity profile
Source: D. Hoiem
Gradient
Source: D. Hoiem
Effects of noise
Consider a single row or column of the image
Plotting intensity as a function of position gives a signal
Effects of noise
Difference filters respond strongly to noise
Image noise results in pixels that look very different from their neighbors Generally, the larger the noise the stronger the response
Source: D. Forsyth
f*g
d ( f g) dx
Source: S. Seitz
d g dx
f d g dx
Source: S. Seitz
* [1 -1] =
1 pixel
3 pixels
7 pixels
Smoothed derivative removes noise, but blurs edge. Also finds edges at different scales.
Source: D. Forsyth
Example
x-direction
y-direction
X-Derivative of Gaussian
Y-Derivative of Gaussian
Gradient Magnitude
Source: D. Forsyth
bilinear
Weighted average from four nearest known pixels Fast and reasonable results
bicubic (default)
Non-linear smoothing over larger area (4x4) Slower, visually appealing, may create negative pixel values
Examples from http://en.wikipedia.org/wiki/Bicubic_interpolation
Hysteresis thresholding
Threshold at low/high levels to get weak/strong edge pixels Do connected components, starting from strong edge pixels
Hysteresis thresholding
Check that maximum value of gradient value is sufficiently large
drop-outs? use hysteresis
use a high threshold to start edge curves and a low threshold to continue them.
Source: S. Seitz
original
Canny with
Canny with
pB boundary detector
Martin, Fowlkes, Malik 2004: Learning to Detect Natural Boundaries http://www.eecs.berkeley.edu/Research/Projects/C S/vision/grouping/papers/mfm-pami-boundary.pdf
Figure from Fowlkes
pB Boundary Detector
Brightness
Color
Texture
Combined
Human
Results
Pb (0.88)
Human (0.95)
Results
Pb
Pb (0.88) Global Pb
Human
Human (0.96)
Pb (0.63)
Human (0.95)
Pb (0.35)
Human (0.90)
Some methods to take into account longer contours, but could probably do better Few methods that actually learn from data. Your project 5, Sketch Tokens, will do so. Poor use of object and high-level information
Learn from artists strokes so that edges are more likely in certain parts of the face.
Questions