Image Features - I

Post on 31-Dec-2015

28 views 3 download

Tags:

description

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. Properties of Convolution. 1. Commutative: f * g = g * f 2. Associative - PowerPoint PPT Presentation

Transcript of Image Features - I

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