1 image features - i hao jiang computer science department sept. 22, 2009
Post on 23-Jan-2016
218 views
TRANSCRIPT
1
Image Features - I
Hao Jiang
Computer Science Department
Sept. 22, 2009
Outline
Summary of convolution and linear systems Image features
Edges Corners
Programming Corner Detection
2
Properties of Convolution
3
1. Commutative: f * g = g * f
2. Associative (f * g) * h = f *(g * h)
3. Superposition (f + g) * h = f * h + g * h
full
(N+M-1)x(N+M-1)
N
M
Linear System
4
hhf g = f * h
a f1+ b f2 => a g1 + b g2where the response of f1 is g1and the response of f2 is g2
Linear:
Shift invariant: if f => g, then f(n-m) => g(n-m)
Composite Linear System
5
h1h1f
h1h1f
h2h2
h2h2
h1 + h2
h1*h2
Nonlinear Filtering
Neighborhood filtering can be nonlinear
Median Filtering
6
1 1 11 2 11 1 1
Mask [1 1 1 ]
1 1 11 1 11 1 1
Median Filtering in Denoising
7
Add 10% pepper noiseOriginal Image
Median Filtering for Denoising
8
Median filter with 3x3 square structure element
Median Filtering for Denoising
9
Median filter with 5x5 square structure element
Compared with Gaussian Filtering
10
Kernel size 5x5 and sigma 3 Kernel size 11x11 and sigma 5
11
Image Features
Image Local Structures
12
Step Ridge
Peak
Valley
Corner Junction
Image Local Structures
13
Step Ridge
Peak
Valley
Corner Junction
Line Structures:“Edge”
Point Structures:“Corners”
Regions
14
An Example
15
edgeRegion
corners
Edge Detection in Matlab
16
>> im = imread('flower.jpg');>> im = im2double(im);>> im = rgb2gray(im);>> ed = edge(im, 'canny', 0.15);
How to Find an Edge?
17
A 1D edge
18
f(x)
f’(x)
f’’(x)
Extend to 2D
19
ab
There is a direction in whichimage f(x,y) increases thefastest. The direction is calledthe gradient direction.
Gradient [df/dx df/dy]Magnitude: sqrt(fx^2 + fy^2)Direction: atan2(fy, fx)
Finite Difference
Approximating derivatives using finite difference.
Finite difference and convolution
20
Noise Reduction
21
0.01 noise
0.03 noise
Noise Reduction
22
Gaussian Filtering in Edge Detection
23
Gaussian Filtering in Edge Detection
24
h * (g * f) = (h * g) * f
Difference Kernel Gaussian Kernel
image
Difference ofGaussian Kernel
Edge Detection in Images
Gaussian smoothed filtering in x and y directions: Ix, Iy Non-maximum suppression for |Ix|+|Iy|
Edge Tracing – double thresholding.
25
Edge Detection Using Matlab
Canny edge detector:
edge(image, ‘canny’, threshold) Sobel edge detector:
edge(image, ‘sobel’, threshold) Prewitt edge detector:
edge(image, ‘prewitt’, threshold)
26
27D. Martin, C. Fowlkes, D. Tal, J. Malik. "A Database of Human Segmented Natural Images and its Application to Evaluating Segmentation Algorithms and Measuring Ecological Statistics”, ICCV, 2001
Berkeley Segmentation DataSet [BSDS]
Corner Detection
Corner is a point feature that has large changing rate in all directions.
28
Step LinePeak
Flat region
Find a Corner
29
Compute matrix H =
in each window. If the ratio(Ix2 * Iy2 – Ixy ^2 )------------------------ > T (Ix2 + Iy2 + eps)We have a corner
Ix2 IxyIxy Iy2=
Corner Detection Programming
30