Stanford CS223B Computer Vision, Winter 2005 Lecture 3 Filters and Features (with Matlab) - PowerPoint PPT Presentation

About This Presentation
Title:

Stanford CS223B Computer Vision, Winter 2005 Lecture 3 Filters and Features (with Matlab)

Description:

Stanford CS223B Computer Vision, Winter 2005 Lecture 3 Filters and Features (with Matlab) Sebastian Thrun, Stanford Rick Szeliski, Microsoft Hendrik Dahlkamp, Stanford – PowerPoint PPT presentation

Number of Views:103
Avg rating:3.0/5.0
Slides: 53
Provided by: robotsSta
Category:

less

Transcript and Presenter's Notes

Title: Stanford CS223B Computer Vision, Winter 2005 Lecture 3 Filters and Features (with Matlab)


1
Stanford CS223B Computer Vision, Winter
2005Lecture 3 Filters and Features (with
Matlab)
  • Sebastian Thrun, Stanford
  • Rick Szeliski, Microsoft
  • Hendrik Dahlkamp, Stanford
  • with slides by D Forsyth, D. Lowe, M.
    Polleyfeys, C. Rasmussen, G. Loy, D. Jacobs, J.
    Rehg, A, Hanson, G. Bradski,

2
Assignment 1 FAQ
  • Compiling projects
  • cxcored.dll is the debug version of cxcore.dll,
    can be compiled from cxcore.dsp
  • Use template cvsample.dsp to get paths right
  • Taking the images
  • Assignment change out-of-focus images no longer
    needed
  • Dont print a border around the chessboard

3
Assignment 1 FAQ
  • Corner finding
  • Supply correct parameters e.g. corner_countltgt0
  • Visualize corner ordering
  • How to verify results
  • Backproject scene corners into image
  • Use common sense
    etc

4
Stanford CS223B Computer Vision, Winter
2005Lecture 3 Filters and Features (with
Matlab)
  • Sebastian Thrun, Stanford
  • Rick Szeliski, Microsoft
  • Hendrik Dahlkamp, Stanford
  • with slides by D Forsyth, D. Lowe, M.
    Polleyfeys, C. Rasmussen, G. Loy, D. Jacobs, J.
    Rehg, A, Hanson, G. Bradski,

5
Todays Goals
  • Features 101
  • Linear Filters and Edge Detection
  • Canny Edge Detector

6
Todays Question
  • What is a feature?
  • What is an image filter?
  • How can we find corners?
  • How can we find edges?

7
What is a Feature?
  • Local, meaningful, detectable parts of the image

8
Features in Computer Vision
  • What is a feature?
  • Location of sudden change
  • Why use features?
  • Information content high
  • Invariant to change of view point, illumination
  • Reduces computational burden

9
(One Type of) Computer Vision
Feature 1 Feature 2 Feature N
Computer Vision Algorithm
10
Where Features Are Used
  • Calibration
  • Image Segmentation
  • Correspondence in multiple images (stereo,
    structure from motion)
  • Object detection, classification

11
What Makes For Good Features?
  • Invariance
  • View point (scale, orientation, translation)
  • Lighting condition
  • Object deformations
  • Partial occlusion
  • Other Characteristics
  • Uniqueness
  • Sufficiently many
  • Tuned to the task

12
Todays Goals
  • Features 101
  • Linear Filters and Edge Detection
  • Canny Edge Detector

13
What Causes an Edge?
  • Depth discontinuity
  • Surface orientation discontinuity
  • Reflectance discontinuity (i.e., change in
    surface material properties)
  • Illumination discontinuity (e.g., shadow)

Slide credit Christopher Rasmussen
14
Quiz How Can We Find Edges?
15
Edge Finding 101
  • im imread('bridge.jpg')
  • image(im)
  • figure(2)
  • bw double(rgb2gray(im))
  • image(bw)
  • gradkernel -1 1
  • dx abs(conv2(bw, gradkernel, 'same'))
  • image(dx)
  • colorbar colormap gray
  • dx,dy gradient(bw)
  • gradmag sqrt(dx.2 dy.2)
  • image(gradmag)

matlab
colorbar colormap(gray(255)) colormap(default)
16
Edge Finding 101
  • Example of a linear Filter

17
What is Image Filtering?
  • Modify the pixels in an image based on some
    function of a local neighborhood of the pixels

10 5 3
4 5 1
1 1 7

7

Some function
18
Linear Filtering
  • Linear case is simplest and most useful
  • Replace each pixel with a linear combination of
    its neighbors.
  • The prescription for the linear combination is
    called the convolution kernel.

10 5 3
4 5 1
1 1 7

7

0 0 0
0 0.5 0
0 1.0 0.5
kernel
19
Linear Filter Convolution
f (i,j)
20
Linear Filter Convolution
21
Filtering Examples
22
Filtering Examples
23
Filtering Examples
24
Image Smoothing With Gaussian
  • figure(3)
  • sigma 3
  • width 3 sigma
  • support -width width
  • gauss2D exp( - (support / sigma).2 / 2)
  • gauss2D gauss2D / sum(gauss2D)
  • smooth conv2(conv2(bw, gauss2D, 'same'),
    gauss2D', 'same')
  • image(smooth)
  • colormap(gray(255))
  • gauss3D gauss2D' gauss2D
  • tic smooth conv2(bw,gauss3D, 'same') toc

25
Smoothing With Gaussian
Slide credit Marc Pollefeys
26
Smoothing Reduces Noise
The effects of smoothing Each row shows
smoothing with gaussians of different width each
column shows different realizations of an image
of gaussian noise.
Slide credit Marc Pollefeys
27
Example of Blurring
Image
Blurred Image
-

28
Edge Detection With Smoothed Images
  • figure(4)
  • dx,dy gradient(smooth)
  • gradmag sqrt(dx.2 dy.2)
  • gmax max(max(gradmag))
  • imshow(gradmag)
  • colormap(gray(gmax))

29
Scale
  • Increased smoothing
  • Eliminates noise edges.
  • Makes edges smoother and thicker.
  • Removes fine detail.

30
The Edge Normal
31
Displaying the Edge Normal
  • figure(5)
  • hold on
  • image(smooth)
  • colormap(gray(255))
  • m,n size(gradmag)
  • edges (gradmag gt 0.3 gmax)
  • inds find(edges)
  • posx,posy meshgrid(1n,1m)
    posx2posx(inds) posy2posy(inds)
  • gm2 gradmag(inds)
  • sintheta dx(inds) ./ gm2
  • costheta - dy(inds) ./ gm2
  • quiver(posx2,posy2, gm2 . sintheta / 10, -gm2 .
    costheta / 10,0)
  • hold off

32
Separable Kernels
33
Combining Kernels / Convolutions
34
Effect of Smoothing Radius
1 pixel
3 pixels
7 pixels
35
Roberts Cross Operator

S
or
I(x, y) - I(x1, y1) I(x, y1) - I(x1,
y)
S
36
Sobel Operator
-1 -2 -1 0 0 0 1 2 1
-1 0 1 -2 0 2 -1 0 1
S1
S2
37
The Sobel Kernel, Explained
Sobel kernel is separable!
Averaging done parallel to edge
38
Sobel Edge Detector
  • figure(6)
  • edge(bw, 'sobel')

39
Robinson Compass Masks
40
Claim Your Own Kernel!
41
Comparison (by Allan Hanson)
  • Analysis based on a step edge inclined at an
    angle q (relative to y-axis) through center of
    window.
  • Robinson/Sobel true edge contrast less than 1.6
    different from that computed by the operator.
  • Error in edge direction
  • Robinson/Sobel less than 1.5 degrees error
  • Prewitt less than 7.5 degrees error
  • Summary
  • Typically, 3 x 3 gradient operators perform
    better than 2 x 2.
  • Prewitt2 and Sobel perform better than any of the
    other 3x3 gradient estimation operators.
  • In low signal to noise ratio situations, gradient
    estimation operators of size larger than 3 x 3
    have improved performance.
  • In large masks, weighting by distance from the
    central pixel is beneficial.

42
Todays Goals
  • Features 101
  • Linear Filters and Edge Detection
  • Canny Edge Detector

43
Canny Edge Detector
  • figure(7)
  • edge(bw, 'canny')

44
Canny Edge Detection
  • Steps
  • Apply derivative of Gaussian
  • Non-maximum suppression
  • Thin multi-pixel wide ridges down to single
    pixel width
  • Linking and thresholding
  • Low, high edge-strength thresholds
  • Accept all edges over low threshold that are
    connected to edge over high threshold

45
Non-Maximum Supression
Non-maximum suppression Select the single
maximum point across the width of an edge.
46
Linking to the Next Edge Point
Assume the marked point is an edge point. Take
the normal to the gradient at that point and use
this to predict continuation points (either r or
s).
47
Edge Hysteresis
  • Hysteresis A lag or momentum factor
  • Idea Maintain two thresholds khigh and klow
  • Use khigh to find strong edges to start edge
    chain
  • Use klow to find weak edges which continue edge
    chain
  • Typical ratio of thresholds is roughly
  • khigh / klow 2

48
Canny Edge Detection (Example)
Strong connected weak edges
Original image
Strong edges only
Weak edges
courtesy of G. Loy
49
Canny Edge Detection (Example)
Using Matlab with default thresholds
50
Application Road Finding
  • (add roadrunner video here)

51
Corner Effects
52
Todays Goals
  • Features 101
  • Linear Filters and Edge Detection
  • Canny Edge Detector
Write a Comment
User Comments (0)
About PowerShow.com