600 likes | 612 Views
02/04/10. Applications of Image Filters. Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem. Review: Image filtering. 1. 1. 1. 1. 1. 1. 1. 1. 1. Credit: S. Seitz. Image filtering. 1. 1. 1. 1. 1. 1. 1. 1. 1. Credit: S. Seitz. Image filtering. 1. 1. 1.
E N D
02/04/10 Applications of Image Filters Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem
Review: Image filtering 1 1 1 1 1 1 1 1 1 Credit: S. Seitz
Image filtering 1 1 1 1 1 1 1 1 1 Credit: S. Seitz
Image filtering 1 1 1 1 1 1 1 1 1 Credit: S. Seitz
Filtering in spatial domain 1 0 -1 2 0 -2 1 0 -1 * =
Filtering in frequency domain FFT FFT = Inverse FFT
Sharpening revisited = detail smoothed (5x5) original Let’s add it back: + α = original detail sharpened • What does blurring take away? –
Application: Hybrid Images • A. Oliva, A. Torralba, P.G. Schyns, “Hybrid Images,” SIGGRAPH 2006
Application: Hybrid Images • A. Oliva, A. Torralba, P.G. Schyns, “Hybrid Images,” SIGGRAPH 2006
Today’s class • How to use filters for • Matching • Denoising • Anti-aliasing • Image representation with pyramids • Texture • What is it? • How to represent it?
Matching with filters • Goal: find in image
Matching with filters • Goal: find in image • Method 1: SSD Threshold at 0.8 1- sqrt(SSD) Input
Matching with filters • Goal: find in image • Method 1: SSD • Method 2: Normalized cross-correlation Threshold at 0.5 Input Normalized X-Correlation
Noise = + Gaussian Additive Noise Noisy Image
Gaussian noise • Mathematical model: sum of many independent factors • Assumption: independent, zero-mean noise Source: M. Hebert
Noise • Salt and pepper noise: contains random occurrences of black and white pixels • Impulse noise: contains random occurrences of white pixels • Gaussian noise: variations in intensity drawn from a Gaussian normal distribution Source: S. Seitz
Denoising Gaussian Filter Additive Gaussian Noise
Reducing Gaussian noise Smoothing with larger standard deviations suppresses noise, but also blurs the image Source: S. Lazebnik
Reducing salt-and-pepper noise by Gaussian smoothing 3x3 5x5 7x7
Alternative idea: Median filtering • A median filter operates over a window by selecting the median intensity in the window • Is median filtering linear? Source: K. Grauman
Median filter • What advantage does median filtering have over Gaussian filtering? • Robustness to outliers Source: K. Grauman
Median filter Median filtered Salt-and-pepper noise • MATLAB: medfilt2(image, [h w]) Source: M. Hebert
Median vs. Gaussian filtering 3x3 5x5 7x7 Gaussian Median
Subsampling by a factor of 2 • Throw away every other row and column to create a 1/2 size image
Aliasing problem • 1D example (sinewave): Source: S. Marschner
Aliasing problem • 1D example (sinewave): Source: S. Marschner
Aliasing problem • Sub-sampling may be dangerous…. • Characteristic errors may appear: • “Wagon wheels rolling the wrong way in movies” • “Checkerboards disintegrate in ray tracing” • “Striped shirts look funny on color television” Source: D. Forsyth
Aliasing in video Slide by Steve Seitz
Aliasing in graphics Source: A. Efros
Nyquist-Shannon Sampling Theorem • When sampling a signal at discrete intervals, the sampling frequency must be 2 fmax; • fmax = max frequency of the input signal. • This will allows to reconstruct the original perfectly from the sampled version good v v v bad
Anti-aliasing Solutions: • Sample more often • Get rid of all frequencies that are greater than half the new sampling frequency • Will lose information • But it’s better than aliasing • Apply a smoothing filter
Algorithm for downsampling by factor of 2 • Start with image(h, w) • Apply low-pass filter • im_blur = imfilter(image, fspecial(‘gaussian’, 7, 1)) • Sample every other pixel • im_small = im_blur(1:2:end, 1:2:end);
Anti-aliasing Forsyth and Ponce 2002
Subsampling without pre-filtering 1/2 1/4 (2x zoom) 1/8 (4x zoom) Slide by Steve Seitz
Subsampling with Gaussian pre-filtering Gaussian 1/2 G 1/4 G 1/8 Slide by Steve Seitz
Gaussian pyramid Source: Forsyth
Laplacian filter unit impulse Gaussian Laplacian of Gaussian Source: Lazebnik
Laplacian pyramid Source: Forsyth
Computing Gaussian/Laplacian Pyramid Can we reconstruct the original from the laplacian pyramid? http://sepwww.stanford.edu/~morgan/texturematch/paper_html/node3.html
2d Wavelets Matlab: wavemenu
Image representation • Pixels: great for spatial resolution, poor access to frequency • Fourier transform: great for frequency, not for spatial info • Pyramids/wavelets: balance between spatial and frequency information
Major uses of image pyramids • Compression • Object detection • Scale search • Features • Detecting stable interest points • Registration • Course-to-fine
Texture Source: Forsyth
Texture and Material http://www-cvr.ai.uiuc.edu/ponce_grp/data/texture_database/samples/
Texture and Orientation http://www-cvr.ai.uiuc.edu/ponce_grp/data/texture_database/samples/
Texture and Scale http://www-cvr.ai.uiuc.edu/ponce_grp/data/texture_database/samples/
What is texture? • Regular or stochastic patterns caused by bumps, grooves, and/or markings
How can we represent texture? • Measure frequencies at various orientations and scales