Applications of Image FiltersSlide Number 2Slide Number 3Slide Number 4Filtering in spatial domainFiltering in frequency domainSharpening revisitedApplication: Hybrid ImagesApplication: Hybrid ImagesToday’s classMatching with filtersMatching with filtersMatching with filtersNoiseGaussian noiseNoiseDenoisingReducing Gaussian noiseReducing salt-and-pepper noise by Gaussian smoothingAlternative idea: Median filteringMedian filterMedian filterMedian vs. Gaussian filteringSlide Number 24Aliasing problemAliasing problemAliasing problemAliasing in videoAliasing in graphicsSampling and aliasingNyquist-Shannon Sampling TheoremAnti-aliasingAlgorithm for downsampling by factor of 2Anti-aliasingSubsampling without pre-filteringSubsampling with Gaussian pre-filteringGaussian pyramidLaplacian filterLaplacian pyramidComputing Gaussian/Laplacian PyramidRelated idea: 2d wavelets2d WaveletsImage representationMajor uses of image pyramidsTextureTexture and MaterialTexture and OrientationTexture and ScaleWhat is texture?How can we represent texture?Overcomplete representation: filter banksFilter banksRepresenting textureCan you match the texture to the response?Representing texture by mean abs responseRepresenting textureThings to rememberNext classQuestionsApplications of Image FiltersComputer VisionCS 543 / ECE 549 University of IllinoisDerek Hoiem02/04/10000000000000000000000 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 0000900909090000 0 0 90 90 90 90 90 0 000000000000090000000000000000000000000000000000000000 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 0000900909090000 0 0 90 90 90 90 90 0 00000000000009000000000000000000Credit: S. Seitz],[],[],[,lnkmglkfnmhlk++=∑[.,.]h[.,.]fReview: Image filtering111111111],[g⋅⋅000000000000000000000 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 0000900909090000 0 0 90 90 90 90 90 0 00000000000009000000000000000000010000000000000000000000 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 0000900909090000 0 0 90 90 90 90 90 0 00000000000009000000000000000000],[],[],[,lnkmglkfnmhlk++=∑[.,.]h[.,.]fImage filtering111111111],[g⋅⋅Credit: S. Seitz000000000000000000000 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 0000900909090000 0 0 90 90 90 90 90 0 0000000000000900000000000000000001020000000000000000000000 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 0000900909090000 0 0 90 90 90 90 90 0 00000000000009000000000000000000],[],[],[,lnkmglkfnmhlk++=∑[.,.]h[.,.]fImage filtering111111111],[g⋅⋅Credit: S. SeitzFiltering in spatial domain-101-202-101*=Filtering in frequency domainFFTFFTInverse FFTSharpening revisited• What does blurring tak e away?originalsmoothed (5x5)–detail=sharpened=Let’s add it back:original detail+ αApplication: Hybrid Images• A. Oliva, A. Torralba, P. G . Schyns, “Hybrid Images,” SIGGRAPH 2006Application: Hybrid Images• A. Oliva, A. Torralba, P. G . Schyns, “Hybrid Images,” SIGGRAPH 2006Today ’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 imageMatching with filters• Goal: find in image• Method 1: SSDInput1- sqrt(SSD)Threshold at 0.8Matching with filters• Goal: find in image• Method 1: SSD• Method 2: Normalized cross‐correlationInputNormalized X-CorrelationThreshold at 0.5NoiseGaussian Additive Noise+=Noisy ImageGaussian noise• Mathematical model: sum of many independent factors• Assumption: independent, zero‐mean noiseSource: M. HebertNoise• 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 distributionOriginalGaussian noiseSalt and pepper noiseImpulse noiseSource: S. SeitzDenoisingAdditive Gaussian NoiseGaussian FilterSmoothing with larger standard deviations suppresses noise, but also blurs the imageReducing Gaussian noiseSource: S. LazebnikReducing salt‐and‐pepper noise by Gaussian smoothing3x3 5x5 7x7Alte rnative idea: Median filtering• A median filter operates over a window by selecting the median intensity in the window• Is median filtering linear?Source: K. GraumanMedian filter• What advantage does median filtering have over Gaussian filtering?– Robustness to outliersSource: K. GraumanMedian filterSalt-and-pepper noiseMedian filteredSource: M. Hebert• MATLAB: medfilt2(image, [h w])Median vs. Gaussian filtering3x3 5x5 7x7GaussianMedianThrow away every other row and column to create a 1/2 size imageSubsampling by a factor of 2• 1D example (sinewave):Source: S. MarschnerAliasing problemSource: S. Marschner• 1D example (sinewave):Aliasing problem• Sub‐sampling may be dangerous….• Characteristic errors may appear: – “Wagon wheels rolling the wrong wa y in movies”– “Checkerboards disintegrate in ray tracing”– “Striped shirts look funny on color television”Source: D. ForsythAliasing problemAliasing in videoSlide by Steve SeitzSource: A. EfrosAliasing in graphicsSampling and aliasing• 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 ver siongoodbadv v vNyquist‐Shannon Sampling TheoremAnti‐aliasingSolutions:• 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 filterAlgorithm for downsampling by factor of 21. Start with image(h, w)2. Apply low‐pass filterim_blur = imfilter(image, fspecial(‘gaussian’, 7, 1))3. Sample every other pixelim_small = im_blur(1:2:end, 1:2:end);Anti ‐aliasingForsyth and Ponce 2002Subsampling without pre ‐filtering1/4 (2x zoom) 1/8 (4x zoom)1/2Slide by Steve SeitzSubsampling with Gaussian pre‐filteringG 1/4 G 1/8Gaussian 1/2Slide by Steve SeitzGaussian pyramidSource: ForsythLaplacian filterGaussianunit impulseLaplacian of GaussianSource: LazebnikLaplacian pyramidSource: ForsythComputing Gaussian/Laplacian Pyramidhttp://sepwww.stanford.edu/~morgan/texturematch/paper_html/node3.htmlCan we reconstruct the original from the laplacian
View Full Document