Linear Filtering Part II Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr
Fourier theory Jean Baptiste Joseph Fourier had a crazy idea: Any periodic function can be written as a weighted sum of sines and cosines of different frequencies (1807). Don t believe it? Neither did Lagrange, Laplace, Poisson, But it is true! Fourier series Even functions that are not periodic (but whose area under the curve is finite) can be expressed as the integral of sines and cosines multiplied by a weighing function. Fourier transform CS 484, Spring 2009 2009, Selim Aksoy 2
Fourier theory The Fourier theory shows how most real functions can be represented in terms of a basis of sinusoids. The building block: A sin( ωx + Φ ) Add enough of them to get any signal you want. Adapted from Alexei Efros, CMU CS 484, Spring 2009 2009, Selim Aksoy 3
Fourier transform CS 484, Spring 2009 2009, Selim Aksoy 4
Fourier transform CS 484, Spring 2009 2009, Selim Aksoy 5
Fourier transform CS 484, Spring 2009 2009, Selim Aksoy 6
Fourier transform CS 484, Spring 2009 2009, Selim Aksoy 7
Fourier transform CS 484, Spring 2009 2009, Selim Aksoy 8
Fourier transform CS 484, Spring 2009 2009, Selim Aksoy 9
Fourier transform Adapted from Alexei Efros, CMU CS 484, Spring 2009 2009, Selim Aksoy 10
Fourier transform Adapted from Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 11
Fourier transform Adapted from Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 12
Fourier transform CS 484, Spring 2009 2009, Selim Aksoy 13
Fourier transform CS 484, Spring 2009 2009, Selim Aksoy 14
Fourier transform Adapted from Shapiro and Stockman CS 484, Spring 2009 2009, Selim Aksoy 15
Fourier transform Example building patterns in a satellite image and their Fourier spectrum. CS 484, Spring 2009 2009, Selim Aksoy 16
Convolution theorem CS 484, Spring 2009 2009, Selim Aksoy 17
Frequency domain filtering Adapted from Shapiro and Stockman, and Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 18
Frequency domain filtering Since the discrete Fourier transform is periodic, padding is needed in the implementation to avoid aliasing (see section 4.6 in the Gonzales-Woods book for implementation details). CS 484, Spring 2009 2009, Selim Aksoy 19
Frequency domain filtering f(x,y) h(x,y) F(u,v) H(u,v) g(x,y) G(u,v) CS 484, Spring 2009 2009, Selim Aksoy 20 Adapted from Alexei Efros, CMU
Smoothing frequency domain filters Adapted from Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 21
Smoothing frequency domain filters CS 484, Spring 2009 2009, Selim Aksoy 22
Smoothing frequency domain filters The blurring and ringing caused by the ideal lowpass filter can be explained using the convolution theorem where the spatial representation of a filter is given below. CS 484, Spring 2009 2009, Selim Aksoy 23
Smoothing frequency domain filters Adapted from Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 24
Smoothing frequency domain filters CS 484, Spring 2009 2009, Selim Aksoy 25
Sharpening frequency domain filters CS 484, Spring 2009 2009, Selim Aksoy 26
Sharpening frequency domain filters Adapted from Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 27
Sharpening frequency domain filters Adapted from Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 28
Sharpening frequency domain filters Adapted from Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 29
Frequency domain processing An image and its Fourier spectrum. Adapted from Alexei Efros, CMU CS 484, Spring 2009 2009, Selim Aksoy 30
Frequency domain processing Results of modifying the spectrum and reconstructing the image. Adapted from Alexei Efros, CMU CS 484, Spring 2009 2009, Selim Aksoy 31
Frequency domain processing Results of modifying the spectrum and reconstructing the image. Adapted from Alexei Efros, CMU CS 484, Spring 2009 2009, Selim Aksoy 32
Template matching Correlation can also be used for matching. If we want to determine whether an image f contains a particular object, we let h be that object (also called a template) and compute the correlation between f and h. If there is a match, the correlation will be maximum at the location where h finds a correspondence in f. Preprocessing such as scaling and alignment is necessary in most practical applications. CS 484, Spring 2009 2009, Selim Aksoy 33
Template matching Adapted from Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 34
Template matching Face detection using template matching: face templates. CS 484, Spring 2009 2009, Selim Aksoy 35
Template matching Face detection using template matching: detected faces. CS 484, Spring 2009 2009, Selim Aksoy 36
Resizing images How can we generate a half-sized version of a large image? Adapted from Steve Seitz, U of Washington CS 484, Spring 2009 2009, Selim Aksoy 37
Resizing images 1/8 1/4 Throw away every other row and column to create a 1/2 size image (also called sub-sampling). Adapted from Steve Seitz, U of Washington CS 484, Spring 2009 2009, Selim Aksoy 38
Resizing images 1/2 1/4 (2x zoom) 1/8 (4x zoom) Does this look nice? Adapted from Steve Seitz, U of Washington CS 484, Spring 2009 2009, Selim Aksoy 39
Resizing images We cannot shrink an image by simply taking every k th pixel. Solution: smooth the image, then sub-sample. Gaussian 1/4 Gaussian 1/8 Gaussian 1/2 Adapted from Steve Seitz, U of Washington CS 484, Spring 2009 2009, Selim Aksoy 40
Resizing images Gaussian 1/2 Gaussian 1/4 (2x zoom) Gaussian 1/8 (4x zoom) Adapted from Steve Seitz, U of Washington CS 484, Spring 2009 2009, Selim Aksoy 41
Sampling and aliasing Adapted from Steve Seitz, U of Washington CS 484, Spring 2009 2009, Selim Aksoy 42
Sampling and aliasing Errors appear if we do not sample properly. Common phenomenon: High spatial frequency components of the image appear as low spatial frequency components. Examples: Wagon wheels rolling the wrong way in movies. Checkerboards misrepresented in ray tracing. Striped shirts look funny on color television. CS 484, Spring 2009 2009, Selim Aksoy 43
Gaussian pyramids Adapted from Gonzales and Woods CS 484, Spring 2009 2009, Selim Aksoy 44
Gaussian pyramids Adapted from Michael Black, Brown University CS 484, Spring 2009 2009, Selim Aksoy 45
Gaussian pyramids Adapted from Michael Black, Brown University CS 484, Spring 2009 2009, Selim Aksoy 46