600 likes | 612 Views
Explore the applications of image filters in computer vision, including filtering in spatial and frequency domains, denoising techniques, anti-aliasing solutions, and more. Learn about techniques like Gaussian and median filtering, downsampling, and image representation using pyramids and wavelets. Gain insights into texture analysis, matching with filters, and the Nyquist-Shannon Sampling Theorem. Discover practical examples, MATLAB functions, and essential concepts for mastering image processing.
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