Motivation: Image denoising. How can we reduce noise in a photograph?

Similar documents
Motivation: Image denoising. How can we reduce noise in a photograph?

Motion illusion, rotating snakes

Image Filtering in Spatial domain. Computer Vision Jia-Bin Huang, Virginia Tech

Image filtering, image operations. Jana Kosecka

Prof. Feng Liu. Winter /10/2019

02/02/10. Image Filtering. Computer Vision CS 543 / ECE 549 University of Illinois. Derek Hoiem

Sampling and Reconstruction

Midterm is on Thursday!

Fourier analysis of images

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt.

>>> from numpy import random as r >>> I = r.rand(256,256);

Image Enhancement II: Neighborhood Operations

>>> from numpy import random as r >>> I = r.rand(256,256);

Image Filtering and Gaussian Pyramids

Linear Filters Tues Sept 1 Kristen Grauman UT Austin. Announcements. Plan for today 8/31/2015. Image noise Linear filters. Convolution / correlation

Computer Vision Lecture 3

Templates and Image Pyramids

CSCI 1290: Comp Photo

CS 4501: Introduction to Computer Vision. Filtering and Edge Detection

Templates and Image Pyramids

Practical Image and Video Processing Using MATLAB

Images and Filters. EE/CSE 576 Linda Shapiro

Digital Image Processing

CS534 Introduction to Computer Vision. Linear Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University

Image Filtering. Median Filtering

Matlab (see Homework 1: Intro to Matlab) Linear Filters (Reading: 7.1, ) Correlation. Convolution. Linear Filtering (warm-up slide) R ij

Sampling and Reconstruction

CS6670: Computer Vision Noah Snavely. Administrivia. Administrivia. Reading. Last time: Convolution. Last time: Cross correlation 9/8/2009

Thinking in Frequency

Filip Malmberg 1TD396 fall 2018 Today s lecture

Sampling and reconstruction

Achim J. Lilienthal Mobile Robotics and Olfaction Lab, AASS, Örebro University

Sampling and reconstruction

Overview. Neighborhood Filters. Dithering

Robert Collins CSE486, Penn State. Lecture 3: Linear Operators

Lecture 3: Linear Filters

Image Filtering. Reading Today s Lecture. Reading for Next Time. What would be the result? Some Questions from Last Lecture

Chapter 3 Image Enhancement in the Spatial Domain. Chapter 3 Image Enhancement in the Spatial Domain

Image Processing for feature extraction

Image Enhancement in spatial domain. Digital Image Processing GW Chapter 3 from Section (pag 110) Part 2: Filtering in spatial domain

Table of contents. Vision industrielle 2002/2003. Local and semi-local smoothing. Linear noise filtering: example. Convolution: introduction

Lecture 2: Color, Filtering & Edges. Slides: S. Lazebnik, S. Seitz, W. Freeman, F. Durand, D. Forsyth, D. Lowe, B. Wandell, S.Palmer, K.

Circular averaging filter (pillbox) Approximates the two-dimensional Laplacian operator. Laplacian of Gaussian filter

Announcements. Image Processing. What s an image? Images as functions. Image processing. What s a digital image?

Image preprocessing in spatial domain

Next Classes. Spatial frequency Fourier transform and frequency domain. Reminder: Textbook. Frequency view of filtering Hybrid images Sampling

Digital Image Processing. Digital Image Fundamentals II 12 th June, 2017

Vision Review: Image Processing. Course web page:

Image Enhancement using Histogram Equalization and Spatial Filtering

Filtering Images in the Spatial Domain Chapter 3b G&W. Ross Whitaker (modified by Guido Gerig) School of Computing University of Utah

CSE 564: Visualization. Image Operations. Motivation. Provide the user (scientist, t doctor, ) with some means to: Global operations:

Filtering in the spatial domain (Spatial Filtering)

Color Space 1: RGB Color Space. Color Space 2: HSV. RGB Cube Easy for devices But not perceptual Where do the grays live? Where is hue and saturation?

Last Lecture. photomatix.com

Sampling and Reconstruction

CAP 5415 Computer Vision. Marshall Tappen Fall Lecture 1

Lec 05 - Linear Filtering & Edge Detection

Digital Image Processing. Lecture 5 (Enhancement) Bu-Ali Sina University Computer Engineering Dep. Fall 2009

Chapter 3. Study and Analysis of Different Noise Reduction Filters

EE482: Digital Signal Processing Applications

Lec 04: Image Filtering and Edge Features

IMAGE PROCESSING: AREA OPERATIONS (FILTERING)

More image filtering , , Computational Photography Fall 2017, Lecture 4

Digital Image Processing

TIRF, geometric operators

Digital Image Processing

CoE4TN4 Image Processing. Chapter 3: Intensity Transformation and Spatial Filtering

Image analysis. CS/CME/BIOPHYS/BMI 279 Fall 2015 Ron Dror

Numerical Derivatives See also T&V, Appendix A.2 Gradient = vector of partial derivatives of image I(x,y) = [di(x,y)/dx, di(x,y)/dy]

Image restoration and color image processing

Last Lecture. photomatix.com

Midterm Examination CS 534: Computational Photography

IMAGE ENHANCEMENT IN SPATIAL DOMAIN

ELEC Dr Reji Mathew Electrical Engineering UNSW

Sampling and reconstruction. CS 4620 Lecture 13

Sharpening Spatial Filters ( high pass)

Image analysis. CS/CME/BioE/Biophys/BMI 279 Oct. 31 and Nov. 2, 2017 Ron Dror

DIGITAL IMAGE DE-NOISING FILTERS A COMPREHENSIVE STUDY

Image Enhancement. DD2423 Image Analysis and Computer Vision. Computational Vision and Active Perception School of Computer Science and Communication

Image Processing by Bilateral Filtering Method

A Spatial Mean and Median Filter For Noise Removal in Digital Images

Computer Vision, Lecture 3

Thinking in Frequency

Literature Survey On Image Filtering Techniques Jesna Varghese M.Tech, CSE Department, Calicut University, India

An Adaptive Kernel-Growing Median Filter for High Noise Images. Jacob Laurel. Birmingham, AL, USA. Birmingham, AL, USA

1.Discuss the frequency domain techniques of image enhancement in detail.

Filtering. Image Enhancement Spatial and Frequency Based

Image Processing. Adam Finkelstein Princeton University COS 426, Spring 2019

Spatial Domain Processing and Image Enhancement

PERFORMANCE ANALYSIS OF LINEAR AND NON LINEAR FILTERS FOR IMAGE DE NOISING

Image features: Histograms, Aliasing, Filters, Orientation and HOG. D.A. Forsyth

Chapter 2 Image Enhancement in the Spatial Domain

Prof. Feng Liu. Spring /12/2017

Image De-noising Using Linear and Decision Based Median Filters

Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering

Part I Feature Extraction (1) Image Enhancement. CSc I6716 Spring Local, meaningful, detectable parts of the image.

Image analysis. CS/CME/BioE/Biophys/BMI 279 Oct. 31 and Nov. 2, 2017 Ron Dror

06: Thinking in Frequencies. CS 5840: Computer Vision Instructor: Jonathan Ventura

Image Pyramids. Sanja Fidler CSC420: Intro to Image Understanding 1 / 35

Computing for Engineers in Python

Transcription:

Linear filtering

Motivation: Image denoising How can we reduce noise in a photograph?

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

Defining convolution Let f be the image and g be the kernel. The output of convolving f with g is denoted f * g. ( f g)[ m, n] = f [ m k, n l] g[ k, l] k, l Convention: kernel is flipped f MATLAB functions: conv2, filter2, imfilter Source: F. Durand

Key properties Linearity: filter(f + f 2 ) = filter(f ) + 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 ) * b 2 ) * b 3 ) This is equivalent to applying one filter: a * (b * 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 = [,,,,,, ], a * e = a

g Dealing with edges 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 full same valid g g g g g f f f g g g g g g

Dealing with edges What about missing pixel values? 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

Dealing with edges What about missing pixel values? the filter window falls off the edge of the image need to extrapolate methods (MATLAB): clip filter (black): imfilter(f, g, ) 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 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 2 -? Original (Note that filter sums to ) Source: D. Lowe

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

Sharpening Source: D. Lowe

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

Smoothing with box filter revisited What s wrong with this picture? What s the solution? Source: D. Forsyth

Smoothing with box filter revisited What s wrong with this picture? What s the solution? To eliminate edge effects, weight contribution of neighborhood pixels according to their closeness to the center fuzzy blob

Gaussian Kernel.3.3.22.3.3.3.59.97.59.3.22.97.59.97.22.3.59.97.59.3.3.3.22.3.3 5 x 5, σ = Constant factor at front makes volume sum to (can be ignored when computing the filter values, as we should renormalize weights to sum to in any case) Source: C. Rasmussen

Gaussian Kernel σ = 2 with 3 x 3 kernel σ = 5 with 3 x 3 kernel Standard deviation σ: determines extent of smoothing Source: K. Grauman

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

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

Gaussian vs. box filtering

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

Separability of the Gaussian filter Source: D. Lowe

Why is separability useful? Separability means that a 2D convolution can be reduced to two D convolutions (one among rows and one among columns) What is the complexity of filtering an n n image with an m m kernel? O(n 2 m 2 ) What if the kernel is separable? O(n 2 m)

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

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

Reducing salt-and-pepper noise 3x3 5x5 7x7 What s wrong with the results?

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 Is median filtering linear? Let s try filtering! # # # " 2 2 2 2 $! & # & + # & # % " $ & & & %

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 MATLAB: medfilt2(image, [h w]) Source: M. Hebert

Gaussian vs. median filtering 3x3 5x5 7x7 Gaussian Median

Review: Image filtering Convolution Image smoothing Gaussian filter Nonlinear filtering

Sharpening revisited Source: D. Lowe

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

Unsharp mask filter f + α( f f g) = ( + α) f α f g = f (( + α) e g) image blurred image unit impulse (identity) unit impulse Gaussian Laplacian of Gaussian

Application: Hybrid Images A. Oliva, A. Torralba, P.G. Schyns, Hybrid Images, SIGGRAPH 26

Application: Hybrid Images Gaussian Filter Laplacian Filter A. Oliva, A. Torralba, P.G. Schyns, Hybrid Images, SIGGRAPH 26