Lecture 11: Two-view geometry CS6670: Computer Vision Noah Snavely.
Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al.,...
-
date post
21-Dec-2015 -
Category
Documents
-
view
223 -
download
0
Transcript of Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al.,...
![Page 1: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/1.jpg)
Lecture 2: Image filtering
CS6670: Computer VisionNoah Snavely
Hybrid Images, Oliva et al., http://cvcl.mit.edu/hybridimage.htm
![Page 2: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/2.jpg)
Lecture 2: Image filtering
CS6670: Computer VisionNoah Snavely
Hybrid Images, Oliva et al., http://cvcl.mit.edu/hybridimage.htm
![Page 3: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/3.jpg)
Lecture 2: Image filtering
CS6670: Computer VisionNoah Snavely
Hybrid Images, Oliva et al., http://cvcl.mit.edu/hybridimage.htm
![Page 4: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/4.jpg)
CS6670: Computer VisionNoah Snavely
Hybrid Images, Oliva et al., http://cvcl.mit.edu/hybridimage.htm
Lecture 2: Image filtering
![Page 5: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/5.jpg)
Reading
• Szeliski, Chapter 3.1-3.2
![Page 6: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/6.jpg)
What is an image?
![Page 7: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/7.jpg)
What is an image?
Digital Camera
The EyeSource: A. Efros
We’ll focus on these in this class
(More on this process later)
![Page 8: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/8.jpg)
What is an image?• A grid (matrix) of intensity values
(common to use one byte per value: 0 = black, 255 = white)
==
255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 20 0 255 255 255 255 255 255 255
255 255 255 75 75 75 255 255 255 255 255 255
255 255 75 95 95 75 255 255 255 255 255 255
255 255 96 127 145 175 255 255 255 255 255 255
255 255 127 145 175 175 175 255 255 255 255 255
255 255 127 145 200 200 175 175 95 255 255 255
255 255 127 145 200 200 175 175 95 47 255 255
255 255 127 145 145 175 127 127 95 47 255 255
255 255 74 127 127 127 95 95 95 47 255 255
255 255 255 74 74 74 74 74 74 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255
![Page 9: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/9.jpg)
• We can think of a (grayscale) image as a function, f, from R2 to R (or a 2D signal):– f (x,y) gives the intensity at position (x,y)
– A digital image is a discrete (sampled, quantized) version of this function
What is an image?
x
y
f (x, y)
snoop
3D view
![Page 10: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/10.jpg)
Image transformations• As with any function, we can apply operators
to an image
• We’ll talk about a special kind of operator, convolution (linear filtering)
g (x,y) = f (x,y) + 20 g (x,y) = f (-x,y)
![Page 11: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/11.jpg)
Question: Noise reduction• Given a camera and a still scene, how can
you reduce noise?
Take lots of images and average them!
What’s the next best thing?Source: S. Seitz
![Page 12: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/12.jpg)
Image filtering• Modify the pixels in an image based on some
function of a local neighborhood of each pixel
5 14
1 71
5 310
Local image data
7
Modified image data
Some function
Source: L. Zhang
![Page 13: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/13.jpg)
Linear filtering• One simple version: linear filtering
(cross-correlation, convolution)– Replace each pixel by a linear combination of its
neighbors• The prescription for the linear combination is
called the “kernel” (or “mask”, “filter”)
0.5
0.5 00
10
0 00
kernel
8
Modified image data
Source: L. Zhang
Local image data
6 14
1 81
5 310
![Page 14: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/14.jpg)
Cross-correlation
This is called a cross-correlation operation:
Let be the image, be the kernel (of size 2k+1 x 2k+1), and be the output image
![Page 15: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/15.jpg)
Convolution• Same as cross-correlation, except that the
kernel is “flipped” (horizontally and vertically)
• Convolution is commutative and associative
This is called a convolution operation:
![Page 16: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/16.jpg)
Convolution
Adapted from F. Durand
![Page 17: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/17.jpg)
Mean filtering
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 1 1
1 1 1
1 1 1 * =0 10 20 30 30 30 20 10
0 20 40 60 60 60 40 20
0 30 60 90 90 90 60 30
0 30 50 80 80 90 60 30
0 30 50 80 80 90 60 30
0 20 30 50 50 60 40 20
10 20 30 30 30 30 20 10
10 10 10 0 0 0 0 0
![Page 18: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/18.jpg)
Linear filters: examples
000
010
000
Original Identical image
Source: D. Lowe
* =
![Page 19: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/19.jpg)
Linear filters: examples
000
001
000
Original Shifted leftBy 1 pixel
Source: D. Lowe
* =
![Page 20: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/20.jpg)
Linear filters: examples
Original
111
111
111
Blur (with a mean filter)
Source: D. Lowe
* =
![Page 21: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/21.jpg)
Linear filters: examples
Original
111
111
111
000
020
000
-
Sharpening filter (accentuates edges)
Source: D. Lowe
=*
![Page 22: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/22.jpg)
Sharpening
Source: D. Lowe
![Page 23: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/23.jpg)
Smoothing with box filter revisited
Source: D. Forsyth
![Page 24: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/24.jpg)
Gaussian Kernel
Source: C. Rasmussen
![Page 25: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/25.jpg)
Gaussian filters
= 30 pixels= 1 pixel = 5 pixels = 10 pixels
![Page 26: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/26.jpg)
Gaussian filter• Removes “high-frequency” components from
the image (low-pass filter)• Convolution with self is another Gaussian
– Convolving two times with Gaussian kernel of width = convolving once with kernel of width
Source: K. Grauman
* =
![Page 27: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/27.jpg)
Sharpening
Source: D. Lowe
![Page 28: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/28.jpg)
Sharpening revisited• What does blurring take away?
original smoothed (5x5)
–
detail
=
sharpened
=
Let’s add it back:
original detail
+ α
Source: S. Lazebnik
![Page 29: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/29.jpg)
Sharpen filter
Gaussianscaled impulseLaplacian of Gaussian
imageblurredimage unit impulse
(identity)
![Page 30: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/30.jpg)
Sharpen filter
unfiltered
filtered
![Page 31: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/31.jpg)
Convolution in the real world
Source: http://lullaby.homepage.dk/diy-camera/bokeh.html
Bokeh: Blur in out-of-focus regions of an image.
Camera shake
*=Source: Fergus, et al. “Removing Camera Shake from a Single Photograph”, SIGGRAPH 2006
![Page 32: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/32.jpg)
Questions?
![Page 33: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/33.jpg)
Edge detection
• Convert a 2D image into a set of curves– Extracts salient features of the scene– More compact than pixels
![Page 34: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/34.jpg)
Origin of Edges
• Edges are caused by a variety of factors
depth discontinuity
surface color discontinuity
illumination discontinuity
surface normal discontinuity
![Page 35: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/35.jpg)
Characterizing edges• An edge is a place of rapid change in the
image intensity function
imageintensity function
(along horizontal scanline) first derivative
edges correspond toextrema of derivativeSource: L. Lazebnik
![Page 36: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/36.jpg)
• How can we differentiate a digital image F[x,y]?– Option 1: reconstruct a continuous image, f, then
compute the derivative– Option 2: take discrete derivative (finite
difference)
1 -1
How would you implement this as a linear filter?
Image derivatives
-1
1: :
Source: S. Seitz
![Page 37: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/37.jpg)
The gradient points in the direction of most rapid increase in intensity
Image gradient• The gradient of an image:
The edge strength is given by the gradient magnitude:
The gradient direction is given by:
• how does this relate to the direction of the edge?Source: Steve Seitz
![Page 38: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/38.jpg)
Image gradient
![Page 39: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/39.jpg)
Effects of noise
Where is the edge?Source: S. Seitz
Noisy input image
![Page 40: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/40.jpg)
Solution: smooth first
f
h
f * h
Source: S. SeitzTo find edges, look for peaks in
![Page 41: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/41.jpg)
• Differentiation is convolution, and convolution is associative:
• This saves us one operation:
Associative property of convolution
f
Source: S. Seitz
![Page 42: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/42.jpg)
2D edge detection filters
Gaussianderivative of Gaussian (x)
![Page 43: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/43.jpg)
Derivative of Gaussian filter
x-direction y-direction
![Page 44: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/44.jpg)
Side note: How would you compute a directional derivative?
= ?
+ =
(From vector calculus)
Directional deriv. is a linear combination of
partial derivatives
![Page 45: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/45.jpg)
Derivative of Gaussian filter
x-direction y-direction
+ =
![Page 46: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/46.jpg)
The Sobel operator• Common approximation of derivative of Gaussian
-1 0 1
-2 0 2
-1 0 1
1 2 1
0 0 0
-1 -2 -1
• The standard defn. of the Sobel operator omits the 1/8 term– doesn’t make a difference for edge detection– the 1/8 term is needed to get the right gradient value
![Page 47: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/47.jpg)
Sobel operator: example
Source: Wikipedia
![Page 48: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/48.jpg)
Example
• original image (Lena)
![Page 49: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/49.jpg)
Finding edges
gradient magnitude
![Page 50: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/50.jpg)
thresholding
Finding edges
where is the edge?
![Page 51: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/51.jpg)
• Check if pixel is local maximum along gradient direction– requires interpolating pixels p and r
Non-maximum supression
![Page 52: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/52.jpg)
thresholding
Finding edges
![Page 53: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/53.jpg)
thinning(non-maximum suppression)
Finding edges
![Page 54: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/54.jpg)
Canny edge detector
1. Filter image with derivative of Gaussian
2. Find magnitude and orientation of gradient
3. Non-maximum suppression
4. Linking and thresholding (hysteresis):– Define two thresholds: low and high– Use the high threshold to start edge curves and
the low threshold to continue them
Source: D. Lowe, L. Fei-Fei
MATLAB: edge(image,‘canny’)
![Page 55: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/55.jpg)
Canny edge detector
• Still one of the most widely used edge detectors in computer vision
• Depends on several parameters:
J. Canny, A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986.
: width of the Gaussian blur
high thresholdlow threshold
![Page 56: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/56.jpg)
Canny edge detector
Canny with Canny with original
• The choice of depends on desired behavior– large detects “large-scale” edges– small detects fine edges
Source: S. Seitz
![Page 57: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/57.jpg)
Scale space (Witkin 83)
• Properties of scale space (w/ Gaussian smoothing)– edge position may shift with increasing scale ()– two edges may merge with increasing scale – an edge may not split into two with increasing scale
larger
Gaussian filtered signal
first derivative peaks
![Page 58: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/58.jpg)
Questions?
• 3-minute break
![Page 59: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/59.jpg)
Images as vectors
• Very important idea!
0
1
2D image Scanline (1D signal)
Vector
(A 2D, n x m image can be represented by a vector of length nm formed by concatenating the rows)
![Page 60: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/60.jpg)
Multiplying row and column vectors
= ?
![Page 61: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/61.jpg)
Filtering as matrix multiplication
What kind of filter is this?
![Page 62: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/62.jpg)
Filtering as matrix multiplication
=
![Page 63: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/63.jpg)
Another matrix transformation
1D Discrete cosine transform (DCT) basis
2D DCT basis
![Page 64: Lecture 2: Image filtering CS6670: Computer Vision Noah Snavely Hybrid Images, Oliva et al., //cvcl.mit.edu/hybridimage.htm.](https://reader035.fdocuments.in/reader035/viewer/2022062304/56649d625503460f94a44e8c/html5/thumbnails/64.jpg)
Another matrix transformation
1D Discrete cosine transform (DCT) basis
2D DCT basis