79
Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker (slightly modified by Guido Gerig) SCI Institute, School of Computing University of Utah

Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 1

Filtering Images in the Spatial Domain

Chapter 3b G&WRoss Whitaker

(slightly modified by Guido Gerig)SCI Institute, School of Computing

University of Utah

Page 2: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 2

Overview

• Correlation and convolution• Linear filtering

– Smoothing, kernels, models– Detection– Derivatives

• Nonlinear filtering– Median filtering– Bilateral filtering– Neighborhood statistics and nonlocal filtering

Page 3: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 3

0.0*95 + 0.1*103 + 0.0*150+ 0.1*36 + 0.6*150 + 0.1*104+ 0.0*47 + 0.1*205 + 0.0*77 = 134.8

. . . .

. . . .

. . . .

. . . .

100 130 104 99 …87 95 103 150 …50 36 150 104 …20 47 205 77 …. . . .. . . .

Filter

0.0 0.1 0.00.1 0.6 0.10.0 0.1 0.0

Input image Output image

0.0*87 + 0.1*95 + 0.0*103+ 0.1*50 + 0.6*36 + 0.1*150+ 0.0*20 + 0.1*47 + 0.0*205 = 55.8

Cross Correlation• Operation on image neighborhood and small …

– “mask”, “filter”, “stencil”, “kernel”• Linear operations within a moving window

55.8134.8

Page 4: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 4

Cross Correlation

• 1D

• 2D

Page 5: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 5

Correlation: Technical Details

• How to filter boundary?

? ? ? ? ?

?

?

?

?

Page 6: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 6

Correlation: Technical Details• Boundary conditions

– Boundary not filtered (keep it 0)– Pad image with amount (a,b)

• Constant value or repeat edge values– Cyclical boundary conditions

• Wrap or mirroring

Page 7: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 7

Correlation: Technical Details

• Boundaries– Can also modify kernel – no longer

correlation• For analysis

– Image domains infinite– Data compact (goes to zero far away from

origin)

Page 8: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 8

Correlation: Properties

• Shift invariant

Page 9: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 9

Correlation: Properties

• Shift invariant

• Linear

Compact notation

Page 10: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 10

Filters: Considerations

• Normalize– Sums to one– Sums to zero (some cases, see later)

• Symmetry– Left, right, up, down– Rotational

• Special case: auto correlation

Page 11: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 11

0 0 00 1 00 0 0

1 1 11 1 11 1 1

1/9 *

Examples 1

Page 12: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010

12

1 1 11 1 11 1 1

1/9 *

Examples 1

Page 13: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 13

1 1 11 1 11 1 1

1 1 1 1 11 1 1 1 11 1 1 1 11 1 1 1 11 1 1 1 1

1/9 *

1/25 *

Examples 2

Page 14: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 14

Smoothing and NoiseNoisy image 5x5 box filter

Page 15: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 17

Other Filters

• Disk– Circularly symmetric, jagged in discrete

case• Gaussians

– Circularly symmetric, smooth for large enough stdev

– Must normalize in order to sum to one• Derivatives – discrete/finite differences

– Operators

Page 16: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Gaussian Kernel

Univ of Utah, CS6640 2010 18

Page 17: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Gaussian Kernel

Univ of Utah, CS6640 2010 19

Normalization to 1.0

Page 18: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 20

Pattern Matching

Page 19: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 21

Pattern Matching/Detection

• The optimal (highest) response from a filter is the autocorrelation evaluated at position zero

• A filter responds best when it matches a pattern that looks itself

• Strategy– Detect objects in images by correlation with

“matched” filter

Page 20: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 22

Matched Filter Example

Trick: make sure kernel sums to zero

Page 21: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 23

Matched Filter Example: Correlation of template with image

Page 22: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 24

Matched Filter Example: Thresholding of correlation results

Page 23: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 25

Matched Filter Example: High correlation → template found

Page 24: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Digital Images: Boundaries are “Lines” or “Discontinuities”

Example: Characterization of discontinuities?

Page 25: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 30

Derivatives: Finite Differences

Page 26: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 31

0 -1 00 0 00 1 0

0 0 0-1 0 10 0 0

Derivative Example

Page 27: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

I GOT UP TO HERE ON 9/15/2010 (GUIDO)

Univ of Utah, CS6640 2010 32

Page 28: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 33

• Discrete

• Continuous

• Same as cross correlation with kernel transposed around each axis

• The two operations (correlation and convolution) are the same if the kernel is symmetric about axes

Convolution

reflection of w

Java demo: http://www.jhu.edu/signals/convolve/

Page 29: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 34

Convolution: Properties

• Shift invariant, linear• Commutative

• Associative

• Others (discussed later):– Derivatives, convolution theorem, spectrum…

Page 30: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 35

Computing Convolution

• Compute time– MxM mask– NxN image

O(M2N2) “for” loops are nested 4 deep

Page 31: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 36

Computing Convolution

• Compute time– MxM mask– NxN image

• Special case: separable

O(M2N2) “for” loops are nested 4 deep

O(M2N2) O(MN2)

Two 1D kernels

= *

Page 32: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 37

Separable Kernels

• Examples– Box/rectangle– Bilinear interpolation– Combinations of

partial derivatives• d2f/dxdy

– Gaussian• Only filter that is both

circularly symmetric and separable

• Counter examples– Disk– Cone– Pyramid

Page 33: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

38

Separability

O

Page 34: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 39

Nonlinear Methods For Filtering

• Median filtering• Bilateral filtering• Neighborhood statistics and nonlocal

filtering

Page 35: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 40

Median Filtering

• For each neighborhood in image– Sliding window– Usually odd size (symmetric) 5x5, 7x7,…

• Sort the greyscale values• Set the center pixel to the median• Important: use “Jacobi” updates

– Separate input and output buffers– All statistics on the original image old new

Page 36: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 41

Median vs Gaussian

Original + Gaussian

Noise

3x3 Box3x3 Median

Page 37: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 42

Median Filter

• Issues– Boundaries

• Compute on pixels that fall within window– Computational efficiency

• What is the best algorithm?

• Properties– Removes outliers (replacement noise – salt and

pepper)– Window size controls size of structures– Preserves straight edges, but rounds corners and

features

Page 38: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 43

Replacement Noise• Also: “shot noise”, “salt&pepper”• Replace certain % of pixels with samples from pdf• Best filtering strategy: filter to avoid outliers

Page 39: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 44

Smoothing of S&P Noise• It’s not zero mean (locally)• Averaging produces local biases

Page 40: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 45

Smoothing of S&P Noise• It’s not zero mean (locally)• Averaging produces local biases

Page 41: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 46

Median Filtering

Median 5x5Median 3x3

Page 42: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 47

Median Filtering

Median 5x5Median 3x3

Page 43: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 48

Median Filtering• Iterate

Median 3x3 2x Median 3x3

Page 44: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 49

Median Filtering

• Image model: piecewise constant (flat)

Ordering

Output

Ordering

Output

Page 45: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 50

Order Statistics• Median is special case of order-statistics filters• Instead of weights based on neighborhoods, weights

are based on ordering of dataNeighborhood Ordering

Filter

Neighborhood average (box) Median filter

Trimmed average (outlier removal)

Page 46: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 51

Piecewise Flat Image Models

• Image piecewise flat -> average only within similar regions

• Problem: don’t know region boundaries

Page 47: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 52

Piecewise-Flat Image Models

• Assign probabilities to other pixels in the image belonging to the same region

• Two considerations– Distance: far away pixels are less likely to

be same region– Intensity: pixels with different intensities

are less likely to be same region

Page 48: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 53

Piecewise-Flat Images and Pixel Averaging

Distance (kernel/pdf) Distance (pdf)

Prob pixel belongs to same region as i

Prob pixel belongs to same region as i

intensityposition

Page 49: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

54

• Neighborhood – sliding window• Weight contribution of neighbors according to:

• G is a Gaussian (or lowpass), as is H, N is neighborhood, – Often use G(rij) where rij is distance between pixels– Update must be normalized for the samples used in this

(particular) summation• Spatial Gaussian with extra weighting for intensity

– Weighted average in neighborhood with downgrading of intensity outliers

Bilateral Filter

Tomasi, Manduchi: http://en.wikipedia.org/wiki/Bilateral_filter http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html

normalization: allweights add up to 1

Page 50: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Bilateral Filter

Univ of Utah, CS6640 2010 55

When the bilateral filter is centered, say, on a pixel on the bright side of the boundary, the similarity function s assumes values close to one for pixels on the same side, and values close to zero for pixels on the dark side. The similarity function is shown in figure 1(b) for a 23x23 filter support centered two pixels to the right of the step in figure 1(a).

Replaces the pixel value at x with an average of similar and nearby pixel values.

Page 51: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 56

Bilateral Filtering

BilateralGaussian Blurring

Replaces the pixel value at x with an average of similar and nearby pixel values.

Page 52: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 57

Bilateral Filtering

BilateralGaussian Blurring

Page 53: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 58

Nonlocal Averaging

• Recent algorithm– NL-means, Baudes et al., 2005– UINTA, Awate & Whitaker, 2005

• Different model– No need for piecewise-flat– Images consist of some set of pixels with similar

neighborhoods → average several of those• Scattered around

– General area of a pixel– All around

• Idea– Average sets of pixels with similar neighborhoods

Page 54: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

UINTA: Unsupervised Information-Theoretic Adaptive Filtering : Excellent Introduction and

Additional Readings (Suyash P. Awate)

Univ of Utah, CS6640 2010 59

http://www.cs.utah.edu/~suyash/pubs/uinta/

Suyash P. Awate, Ross T. WhitakerUnsupervised, Information-Theoretic, Adaptive Image Filtering with Applications to Image RestorationIEEE Trans. Pattern Analysis & Machine Intelligence (TPAMI) 2006, Vol. 28, Num. 3, pp. 364-376

Page 55: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 60

Nonlocal Averaging

• Strategy:– Average pixels to alleviate noise– Combine pixels with similar neighborhoods

• Formulation– ni,j – vector of pixels values, indexed by j,

from neighborhood around pixel i

=– vector

Page 56: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 61

Nonlocal Averaging Formulation

• Distance between neighborhoods

• Kernel weights based on distances

• Pixel values of k neighborhoods: fk

22

2,

)( ,,σ

kid

edKw kiki

−==

Page 57: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 62

Averaging Pixels Based on Weights

• For each pixel, i, choose a set of pixel locations k:– k = 1, …., M– Average them together based on

neighborhood weights (prop. to intensity pattern difference)

k

M

kkiwi fwg M

k ki∑=∑

←= 1

,1

1 ,

Page 58: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 63

Nonlocal Averaging

Page 59: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 64

Some Details

• Window sizes: good range is 5x5->11x11

• How to choose samples:– Random samples from around the image

• UINTA, Awate&Whitaker– Block around pixel (bigger than window,

e.g. 51x51)• NL-means

• Iterate– UNITA: smaller updates and iterate

Page 60: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 65

NL-Means Algorithm

• For each pixel, p– Loop over set of pixels nearby– Compare the neighorhoods of those pixels

to the neighborhood of p and construct a set of weights

– Replace the value of p with a weighted combination of values of other pixels

• Repeat… but 1 iteration is pretty good

Page 61: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 66

Results

Noisy image (range 0.0-1.0) Bilateral filter (3.0, 0.1)

Page 62: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 67

Results

Bilateral filter (3.0, 0.1) NL means (7, 31, 1.0)

Page 63: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 68

Results

Bilateral filter (3.0, 0.1) NL means (7, 31, 1.0)

Page 64: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 69

Less Noisy Example

Page 65: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 70

Less Noisy Example

Page 66: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 71

Results

Original Noisy Filtered

Page 67: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 72

Checkerboard With Noise

Original Noisy Filtered

Page 68: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 73

Quality of Denoising

• , joint entropy, and RMS- error vs. number of iterations

Page 69: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 74

MRI Head

Page 70: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 75

MRI Head

Page 71: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 76

Fingerprint

Page 72: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 77

Fingerprint

Page 73: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 78

Results

Original Noisy Filtered

Page 74: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 79

Results

Original Noisy Filtered

Page 75: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 80

Results

Original Noisy Filtered

Page 76: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 81

Fractal

Original Noisy Filtered

Page 77: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 82

Piecewise Constant• Several 10s of Iterations• Tends to obliterate rare events (e.g. corners)

Page 78: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 83

Texture, Structure

Page 79: Filtering Images in the Spatial Domain Chapter 3b …gerig/CS6640-F2010/spatial_filtering...Univ of Utah, CS6640 2010 1 Filtering Images in the Spatial Domain Chapter 3b G&W Ross Whitaker

Univ of Utah, CS6640 2010 84