Linear filtering. Motivation: Noise reduction Given a camera and a still scene, how can you reduce noise? Take lots of images and average them! What’s.

Slides:



Advertisements
Similar presentations
Lecture 2: Convolution and edge detection CS4670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
Advertisements

Spatial Filtering (Chapter 3)
Motion illusion, rotating snakes. Slide credit Fei Fei Li.
Computational Photography: Sampling + Reconstruction Connelly Barnes Slides from Alexei Efros and Steve Marschner.
Computational Photography CSE 590 Tamara Berg Filtering & Pyramids.
Computational Photography Prof. Feng Liu Spring /06/2015.
Lecture 4 Linear Filters and Convolution
Lecture 2: Filtering CS4670/5670: Computer Vision Kavita Bala.
Image processing. Image operations Operations on an image –Linear filtering –Non-linear filtering –Transformations –Noise removal –Segmentation.
Lecture 1: Images and image filtering
1 Image Filtering Readings: Ch 5: 5.4, 5.5, 5.6,5.7.3, 5.8 (This lecture does not follow the book.) Images by Pawan SinhaPawan Sinha formal terminology.
Linear filtering. Overview: Linear filtering Linear filters Definition and properties Examples Gaussian smoothing Separability Applications Denoising.
1 Linear image transforms Let’s start with a 1-D image (a “signal”): A very general and useful class of transforms are the linear transforms of f, defined.
CS443: Digital Imaging and Multimedia Filters Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Spring 2008 Ahmed Elgammal Dept.
Announcements Kevin Matzen office hours – Tuesday 4-5pm, Thursday 2-3pm, Upson 317 TA: Yin Lou Course lab: Upson 317 – Card access will be setup soon Course.
15-463: Computational Photography Alexei Efros, CMU, Fall 2011 Many slides from Steve Marschner Sampling and Reconstruction.
1 Image filtering Images by Pawan SinhaPawan Sinha.
Lecture 2: Image filtering
1 Images and Transformations Images by Pawan SinhaPawan Sinha.
Matlab Tutorial Continued Files, functions and images.
Linear filtering.
1 Image filtering Hybrid Images, Oliva et al.,
Linear Filtering About modifying pixels based on neighborhood. Local methods simplest. Linear means linear combination of neighbors. Linear methods simplest.
Basic Image Processing January 26, 30 and February 1.
Most slides from Steve Seitz
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean Hall 5409 T-R 10:30am – 11:50am.
Slide credit Fei Fei Li. Image filtering Image filtering: compute function of local neighborhood at each position Really important! – Enhance images.
Computer Vision – Lecture 3
Applications of Image Filters Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/04/10.
Lecture 03 Area Based Image Processing Lecture 03 Area Based Image Processing Mata kuliah: T Computer Vision Tahun: 2010.
Linear Filters Monday, Jan 24 Prof. Kristen Grauman UT-Austin …
Linear Filters August 27 th 2015 Devi Parikh Virginia Tech 1 Slide credit: Devi Parikh Disclaimer: Many slides have been borrowed from Kristen Grauman,
Image Filtering Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/02/10.
Why is computer vision difficult?
Digital Image Processing Lecture 10: Image Restoration March 28, 2005 Prof. Charlene Tsai.
Machine Vision ENT 273 Image Filters Hema C.R. Lecture 5.
Digital Image Processing Lecture 10: Image Restoration
CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu Lecture 7 – Linear Filters 1.
Templates, Image Pyramids, and Filter Banks
Pixels and Image Filtering Computer Vision Derek Hoiem, University of Illinois 02/01/11 Graphic:
CS 691B Computational Photography
Pixels and Image Filtering Computational Photography Derek Hoiem 08/26/10 Graphic:
Reconnaissance d’objets et vision artificielle
Linear filtering. Motivation: Image denoising How can we reduce noise in a photograph?
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
CSE 185 Introduction to Computer Vision Image Filtering: Spatial Domain.
Grauman Today: Image Filters Smooth/Sharpen Images... Find edges... Find waldo…
Lecture 1: Images and image filtering CS4670/5670: Intro to Computer Vision Noah Snavely Hybrid Images, Oliva et al.,
CS558 C OMPUTER V ISION Lecture IV: Image Filter and Edge Detection Slides adapted from S. Lazebnik.
Image Filtering in Spatial domain
Slide credit Fei Fei Li.
Linear Filters and Edges Chapters 7 and 8
Linear Filters T-11 Computer Vision University of Houston
Linear Filters April 6th, 2017
Pixels and Image Filtering
Lecture 1: Images and image filtering
Image filtering Hybrid Images, Oliva et al.,
Recap from Wednesday Spectra and Color Light capture in cameras and humans.
Sampling and Reconstruction
Image filtering Images by Pawan Sinha.
Motion illusion, rotating snakes
Linear filtering.
Basic Image Processing
Most slides from Steve Seitz
Linear Filtering CS 678 Spring 2018.
Image filtering
Lecture 2: Image filtering
Lecture 1: Images and image filtering
Image Filtering Readings: Ch 5: 5. 4, 5. 5, 5. 6, , 5
Most slides from Steve Seitz
Presentation transcript:

Linear filtering

Motivation: Noise reduction Given a camera and a still scene, how can you reduce noise? Take lots of images and average them! What’s the next best thing? Source: S. Seitz

Let’s replace each pixel with a weighted average of its neighborhood The weights are called the filter kernel What are the weights for a 3x3 moving average? Moving average “box filter” Source: D. Lowe

Review: Color What are some linear color spaces? What are some non-linear color spaces? What is a perceptually uniform color space? What is color constancy? What are some applications of color in computer vision?

Defining convolution f Let f be the image and g be the kernel. The output of convolving f with g is denoted f * g. Source: F. Durand Convention: kernel is “flipped” MATLAB: conv2 vs. filter2 (also imfilter)

Key properties Linearity: filter(f 1 + f 2 ) = filter(f 1 ) + filter(f 2 ) Shift invariance: same behavior regardless of pixel location: filter(shift(f)) = shift(filter(f)) Theoretical result: any linear shift-invariant operator can be represented as a convolution

Properties in more detail Commutative: a * b = b * a Conceptually no difference between filter and signal Associative: a * (b * c) = (a * b) * c Often apply several filters one after another: (((a * b 1 ) * b 2 ) * b 3 ) This is equivalent to applying one filter: a * (b 1 * b 2 * b 3 ) Distributes over addition: a * (b + c) = (a * b) + (a * c) Scalars factor out: ka * b = a * kb = k (a * b) Identity: unit impulse e = […, 0, 0, 1, 0, 0, …], a * e = a

Annoying details What is the size of the output? MATLAB: filter2(g, f, shape) shape = ‘full’: output size is sum of sizes of f and g shape = ‘same’: output size is same as f shape = ‘valid’: output size is difference of sizes of f and g f gg gg f gg g g f gg gg full samevalid

Annoying details What about near the edge? the filter window falls off the edge of the image need to extrapolate methods: –clip filter (black) –wrap around –copy edge –reflect across edge Source: S. Marschner

Annoying details What about near the edge? the filter window falls off the edge of the image need to extrapolate methods (MATLAB): –clip filter (black): imfilter(f, g, 0) –wrap around:imfilter(f, g, ‘circular’) –copy edge: imfilter(f, g, ‘replicate’) –reflect across edge: imfilter(f, g, ‘symmetric’) Source: S. Marschner

Practice with linear filters Original ? Source: D. Lowe

Practice with linear filters Original Filtered (no change) Source: D. Lowe

Practice with linear filters Original ? Source: D. Lowe

Practice with linear filters Original Shifted left By 1 pixel Source: D. Lowe

Practice with linear filters Original ? Source: D. Lowe

Practice with linear filters Original Blur (with a box filter) Source: D. Lowe

Practice with linear filters Original ? (Note that filter sums to 1) Source: D. Lowe

Practice with linear filters Original Sharpening filter - Accentuates differences with local average Source: D. Lowe

Sharpening Source: D. Lowe

Smoothing with box filter revisited Smoothing with an average actually doesn’t compare at all well with a defocused lens Most obvious difference is that a single point of light viewed in a defocused lens looks like a fuzzy blob; but the averaging process would give a little square Source: D. Forsyth

Smoothing with box filter revisited Smoothing with an average actually doesn’t compare at all well with a defocused lens Most obvious difference is that a single point of light viewed in a defocused lens looks like a fuzzy blob; but the averaging process would give a little square Better idea: to eliminate edge effects, weight contribution of neighborhood pixels according to their closeness to the center, like so: “fuzzy blob”

Gaussian Kernel Constant factor at front makes volume sum to 1 (can be ignored, as we should re-normalize weights to sum to 1 in any case) x 5,  = 1 Source: C. Rasmussen

Choosing kernel width Gaussian filters have infinite support, but discrete filters use finite kernels Source: K. Grauman

Choosing kernel width Rule of thumb: set filter half-width to about 3 σ

Example: Smoothing with a Gaussian

Mean vs. Gaussian filtering

Gaussian filters Remove “high-frequency” components from the image (low-pass filter) Convolution with self is another Gaussian So can smooth with small-width kernel, repeat, and get same result as larger-width kernel would have Convolving two times with Gaussian kernel of width σ is same as convolving once with kernel of width σ√2 Separable kernel Factors into product of two 1D Gaussians Source: K. Grauman

Separability of the Gaussian filter Source: D. Lowe

Separability example * * = = 2D convolution (center location only) Source: K. Grauman The filter factors into a product of 1D filters: Perform convolution along rows: Followed by convolution along the remaining column:

Separability Why is separability useful in practice?

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

Gaussian noise Mathematical model: sum of many independent factors Good for small standard deviations Assumption: independent, zero-mean noise Source: M. Hebert

Smoothing with larger standard deviations suppresses noise, but also blurs the image Reducing Gaussian noise

Reducing salt-and-pepper noise What’s wrong with the results? 3x35x57x7

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 Salt-and-pepper noise Median filtered Source: M. Hebert MATLAB: medfilt2(image, [h w])

Median vs. Gaussian filtering 3x35x57x7 Gaussian Median

Sharpening revisited What does blurring take away? original smoothed (5x5) – detail = sharpened = Let’s add it back: originaldetail + α

Unsharp mask filter Gaussian unit impulse Laplacian of Gaussian image blurred image unit impulse (identity)

Application: Hybrid Images A. Oliva, A. Torralba, P.G. Schyns, “Hybrid Images,” SIGGRAPH 2006 “Hybrid Images,”

Application: Hybrid Images A. Oliva, A. Torralba, P.G. Schyns, “Hybrid Images,” SIGGRAPH 2006 “Hybrid Images,”