CITS 4402 Computer Vision

Similar documents
Computer Vision Lecture 3

Taking derivative by convolution

Lecture 3: Linear Filters

Lecture 3: Linear Filters

Templates, Image Pyramids, and Filter Banks

I Chen Lin, Assistant Professor Dept. of CS, National Chiao Tung University. Computer Vision: 4. Filtering

Introduction to Computer Vision. 2D Linear Systems

Computer Vision Lecture 3

CITS 4402 Computer Vision

ECE Digital Image Processing and Introduction to Computer Vision. Outline

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

Digital Image Processing. Filtering in the Frequency Domain

Lecture 04 Image Filtering

Thinking in Frequency

Additional Pointers. Introduction to Computer Vision. Convolution. Area operations: Linear filtering

CSE 473/573 Computer Vision and Image Processing (CVIP)

Image Filtering. Slides, adapted from. Steve Seitz and Rick Szeliski, U.Washington

Edge Detection. Introduction to Computer Vision. Useful Mathematics Funcs. The bad news

ECG782: Multidimensional Digital Signal Processing

ECE Digital Image Processing and Introduction to Computer Vision

Frequency Filtering CSC 767

Subsampling and image pyramids

Multiscale Image Transforms

Computer Vision & Digital Image Processing

Announcements. Filtering. Image Filtering. Linear Filters. Example: Smoothing by Averaging. Homework 2 is due Apr 26, 11:59 PM Reading:

Recap of Monday. Linear filtering. Be aware of details for filter size, extrapolation, cropping

COMP344 Digital Image Processing Fall 2007 Final Examination

Outline. Convolution. Filtering

Advanced Features. Advanced Features: Topics. Jana Kosecka. Slides from: S. Thurn, D. Lowe, Forsyth and Ponce. Advanced features and feature matching

Linear Operators and Fourier Transform

Filtering and Edge Detection

Lecture 7: Edge Detection

Spatial Enhancement Region operations: k'(x,y) = F( k(x-m, y-n), k(x,y), k(x+m,y+n) ]

Machine vision. Summary # 4. The mask for Laplacian is given

Histogram Processing

3. Lecture. Fourier Transformation Sampling

Computer Vision & Digital Image Processing. Periodicity of the Fourier transform

Image Enhancement in the frequency domain. GZ Chapter 4

Machine vision, spring 2018 Summary 4

Today s lecture. Local neighbourhood processing. The convolution. Removing uncorrelated noise from an image The Fourier transform

Computational Photography

Colorado School of Mines Image and Multidimensional Signal Processing

Image Enhancement: Methods. Digital Image Processing. No Explicit definition. Spatial Domain: Frequency Domain:

Vlad Estivill-Castro (2016) Robots for People --- A project for intelligent integrated systems

Image Processing /6.865 Frédo Durand A bunch of slides by Bill Freeman (MIT) & Alyosha Efros (CMU)

Digital Image Processing. Chapter 4: Image Enhancement in the Frequency Domain

Review Smoothing Spatial Filters Sharpening Spatial Filters. Spatial Filtering. Dr. Praveen Sankaran. Department of ECE NIT Calicut.

G52IVG, School of Computer Science, University of Nottingham

Filtering, Frequency, and Edges

Empirical Mean and Variance!

Edges and Scale. Image Features. Detecting edges. Origin of Edges. Solution: smooth first. Effects of noise

The Frequency Domain, without tears. Many slides borrowed from Steve Seitz

Reading. 3. Image processing. Pixel movement. Image processing Y R I G Q

TRACKING and DETECTION in COMPUTER VISION Filtering and edge detection

EXAMINATION QUESTION PAPER

ECG782: Multidimensional Digital Signal Processing

Chapter 4: Filtering in the Frequency Domain. Fourier Analysis R. C. Gonzalez & R. E. Woods

Fourier Transforms 1D

Chapter 4 Image Enhancement in the Frequency Domain

Edge Detection PSY 5018H: Math Models Hum Behavior, Prof. Paul Schrater, Spring 2005

Harris Corner Detector

Digital Image Processing. Image Enhancement: Filtering in the Frequency Domain

Fourier series: Any periodic signals can be viewed as weighted sum. different frequencies. view frequency as an

Introduction to Computer Vision

CS 4495 Computer Vision. Frequency and Fourier Transforms. Aaron Bobick School of Interactive Computing. Frequency and Fourier Transform

Lecture 6: Edge Detection. CAP 5415: Computer Vision Fall 2008

IMAGE ENHANCEMENT II (CONVOLUTION)

Introduction to Computer Vision

Sampling in 1D ( ) Continuous time signal f(t) Discrete time signal. f(t) comb

Discrete Fourier Transform

Frequency2: Sampling and Aliasing

Images have structure at various scales

Digital Image Processing COSC 6380/4393

Blob Detection CSC 767

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

ITK Filters. Thresholding Edge Detection Gradients Second Order Derivatives Neighborhood Filters Smoothing Filters Distance Map Image Transforms

Intensity Transformations and Spatial Filtering: WHICH ONE LOOKS BETTER? Intensity Transformations and Spatial Filtering: WHICH ONE LOOKS BETTER?

Chapter 16. Local Operations

Corners, Blobs & Descriptors. With slides from S. Lazebnik & S. Seitz, D. Lowe, A. Efros

Why does a lower resolution image still make sense to us? What do we lose? Image:

Digital Image Processing COSC 6380/4393

Generalized Laplacian as Focus Measure

Slow mo guys Saccades.

ENT 315 Medical Signal Processing CHAPTER 2 DISCRETE FOURIER TRANSFORM. Dr. Lim Chee Chin

Multiresolution schemes

DISCRETE FOURIER TRANSFORM

IMAGE ENHANCEMENT: FILTERING IN THE FREQUENCY DOMAIN. Francesca Pizzorni Ferrarese

Multiresolution schemes

Screen-space processing Further Graphics

Convolution Spatial Aliasing Frequency domain filtering fundamentals Applications Image smoothing Image sharpening

Review of Linear Systems Theory

Review of Linear System Theory

FILTERING IN THE FREQUENCY DOMAIN

Computer Vision. Filtering in the Frequency Domain

Spatially adaptive alpha-rooting in BM3D sharpening

Lecture 8: Interest Point Detection. Saad J Bedros

Edge Detection. Computer Vision P. Schrater Spring 2003

9. Image filtering in the spatial and frequency domains

LoG Blob Finding and Scale. Scale Selection. Blobs (and scale selection) Achieving scale covariance. Blob detection in 2D. Blob detection in 2D

Quality Improves with More Rays

Transcription:

CITS 4402 Computer Vision Prof Ajmal Mian Adj/A/Prof Mehdi Ravanbakhsh, CEO at Mapizy (www.mapizy.com) and InFarm (www.infarm.io) Lecture 04 Greyscale Image Analysis

Lecture 03 Summary Images as 2-D signals Linear and non-linear filters Fourier series Fourier Transform Discrete Fourier Transform 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 2

Image Enhancement Aim: Make images easier to interpret for the human eye Generate better input for other image processing techniques There are two main categories of techniques Spatial domain methods which operate directly on pixels Frequency domain methods which operate on the Fourier transform of the image 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 3

Single Pixel Manipulation The value of g(x, y) depends directly on the value of f x, y This is a greyscale transformation or simply mapping Common mapping functions: Identity transformation Thresholding 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 4

Common Mapping Functions lightening increase contrast 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 5

Common Mapping Functions enhance contrast in dark regions enhance contrast in light regions 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 6

(Hawkes Bay, NZ) 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 7

Sample MATLAB Code The Matlab code for enhancing the Hawkes Bay image on the previous slide is extremely simple! im = imread('unequalized_hawkes_bay_nz.jpg'); Imshow(im); % after obesrving the intensity histogram of the input image... f = 0:255; % input intensity g(1:100) = linspace(0,20,100); g(101:200) = linspace(21,240,100); g(201:256) = linspace(241,255,56); figure, plot(f,g,'b-'); % generate output image newim = g(im+1); newim = uint8(newim); % convert to uint8 figure, imshow(newim); 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 8

Histogram Equalization stretch out the histogram to produce a more uniform distribution Image data squashed into a small range of grey values Ideally we want the image data to spread uniformly over all grey values 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 9

Histogram Equalization For digital images, we have a discrete formulation. Let n k number of pixels with grey level k N total number of pixels Then the probability of obtaining grey level k in input image f is: P f f k = n k N The transformation is: g k = T f k = Note: the values of g k will have to be scaled up by 255 and rounded to the nearest integer. This discretization of g k means that the transformed image will not have a perfectly uniform distribution Indeed, the total number of distinct grey levels is reduced! k i=0 ni N 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 10

Histogram Equalization (cont.) An example: suppose that we have a 64 64 image with 8 grey levels: f i n i n i /N g i (ideally) 0 790 0.19 0.19 0/7=0 1/7 1023 0.25 0.44 1/7=0.14 2/7 850 0.21 0.65 2/7=0.28 3/7 656 0.16 0.81 3/7=0.42 4/7 329 0.08 0.89 4/7=0.57 5/7 245 0.06 0.95 5/7=0.71 6/7 122 0.03 0.98 6/7=0.85 1 81 0.02 1.00 7/7=1 We want the cumulative distribution N=4096 of the output image to look as much like a 45 line as possible. 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 11

Histogram Equalization (cont.) f i n i n i /N g i (ideally) 0 790 0.19 0.19 0/7=0 1/7 1023 0.25 0.44 1/7=0.14 2/7 850 0.21 0.65 2/7=0.28 3/7 656 0.16 0.81 3/7=0.42 4/7 329 0.08 0.89 4/7=0.57 5/7 245 0.06 0.95 5/7=0.71 6/7 122 0.03 0.98 6/7=0.85 1 81 0.02 1.00 7/7=1 Thus intensity mapping is: InputIntensity OutputIntensity 0 1/7 1/7 3/7 2/7 5/7 3/7 6/7 4/7 6/7 5/7 1 6/7 1 1 1 Input image has 8 grey levels Output image has only 5 grey levels 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 12

Histogram Equalization (cont.) f i n i n i /N g i n i of g i 0 790 0.19 0.19 0 1/7 1023 0.25 0.44 790 2/7 850 0.21 0.65 0 3/7 656 0.16 0.81 1023 4/7 329 0.08 0.89 0 5/7 245 0.06 0.95 850 6/7 122 0.03 0.98 985 1 81 0.02 1.00 448 Thus intensity mapping is: InputIntensity OutputIntensity 0 1/7 1/7 3/7 2/7 5/7 3/7 6/7 4/7 6/7 5/7 1 6/7 1 1 1 656+329 245+122+81 Input image has 8 grey levels Output image has only 5 grey levels 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 13

Histogram Equalization (cont.) f i n i n i /N g i n i of g i 0 790 0.19 0.19 0 1/7 1023 0.25 0.44 790 2/7 850 0.21 0.65 0 3/7 656 0.16 0.81 1023 4/7 329 0.08 0.89 0 5/7 245 0.06 0.95 850 6/7 122 0.03 0.98 985 1 81 0.02 1.00 448 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 14

3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 15

A very noisy image 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 16

Using Neighborhood Pixels So far we modified values of single pixels What if we want to take neighborhood into account? A common application of linear filtering is image smoothing using an averaging filter or averaging mask or averaging kernel Each point in the smoothed image g(x, y) is obtained from the average pixel value in a neighbourhood of (x, y) in the input image The averaging filter is also known as the box filter. Each pixel under the mask is multiplied by 1/9, summed, and the result is placed in the output image The mask is successively moved across the image. That is, we convolve the image with the mask. 1 9 1 1 1 1 1 1 1 1 1 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 17

Example of 2-D Convolution Convolution with box filters of size 1,5,15,3,9,35 (reading order) 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 18

Image filtering g.,. g.,. = 1 9 f [.,.] 1 9 1 1 1 1 1 1 1 1 1 h[.,.] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 0 90 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 h[ m, n] g[ k, l] f [ m k, n l] k, l 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 19 Credit: S. Seitz

Image filtering g.,. g.,. = 1 9 f [.,.] 1 9 1 1 1 1 1 1 1 1 1 h[.,.] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 h[ m, n] g[ k, l] f [ m k, n l] k, l 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 20 Credit: S. Seitz

Image filtering g.,. g.,. = 1 9 f [.,.] 1 9 1 1 1 1 1 1 1 1 1 h[.,.] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 h[ m, n] g[ k, l] f [ m k, n l] k, l 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 21 Credit: S. Seitz

Image filtering g.,. g.,. = 1 9 f [.,.] 1 9 1 1 1 1 1 1 1 1 1 h[.,.] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 30 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 h[ m, n] g[ k, l] f [ m k, n l] k, l 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 22 Credit: S. Seitz

Image filtering g.,. g.,. = 1 9 f [.,.] 1 9 1 1 1 1 1 1 1 1 1 h[.,.] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 30 30 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 h[ m, n] g[ k, l] f [ m k, n l] k, l 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 23 Credit: S. Seitz

Image filtering g.,. g.,. = 1 9 f [.,.] 1 9 1 1 1 1 1 1 1 1 1 h[.,.] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 30 30 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0? 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 h[ m, n] g[ k, l] f [ m k, n l] k, l 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 24 Credit: S. Seitz

Image filtering g.,. g.,. = 1 9 f [.,.] 1 9 1 1 1 1 1 1 1 1 1 h[.,.] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 30 30 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0? 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 50 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 h[ m, n] g[ k, l] f [ m k, n l] k, l 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 25 Credit: S. Seitz

Image filtering g.,. g.,. = 1 9 f [.,.] 1 9 1 1 1 1 1 1 1 1 1 h[.,.] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 30 30 30 20 10 0 0 0 90 90 90 90 90 0 0 0 20 40 60 60 60 40 20 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 30 60 90 90 90 60 30 0 30 50 80 80 90 60 30 0 30 50 80 80 90 60 30 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 20 30 50 50 60 40 20 10 20 30 30 30 30 20 10 0 0 90 0 0 0 0 0 0 0 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 h[ m, n] g[ k, l] f [ m k, n l] k, l 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 26 Credit: S. Seitz

Practice with Linear Filters 0 0 0 0 1 0 0 0 0? Original 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 27

Practice with Linear Filters 0 0 0 0 1 0 0 0 0 Original Filtered (no change) 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 28

Practice with Linear Filters 0 0 0 0 0 1 0 0 0? Original 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 29

Practice with Linear Filters 0 0 0 0 0 1 0 0 0 Original Shifted left By 1 pixel 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 30

Practice with Linear Filters 0 0 0 0 2 0 0 0 0 1 1 1-1? 1 1 1 9 1 1 1 Original (Note that filter sums to 1) 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 31

Practice with Linear Filters 0 0 0 0 2 0 0 0 0-1 9 1 1 1 1 1 1 1 1 1 Original Sharpening filter - Accentuates differences with local average 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 32

Sharpening 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 33 Source: D. Lowe

Other Averaging Filters One expects the value of a pixel to be more closely related to the values of pixels close to it than to those further away Accordingly it is usual to weight the pixels near the centre of the mask more strongly than those at the edge 1? 1 1 1 1 2 1 1 1 1 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 34

Other Averaging Filters One expects the value of a pixel to be more closely related to the values of pixels close to it than to those further away Accordingly it is usual to weight the pixels near the centre of the mask more strongly than those at the edge 1 10 1 1 1 1 2 1 1 1 1 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 35

Important filter: Gaussian Gaussian Filter 0.003 0.013 0.022 0.013 0.003 0.013 0.059 0.097 0.059 0.013 0.022 0.097 0.159 0.097 0.022 0.013 0.059 0.097 0.059 0.013 0.003 0.013 0.022 0.013 0.003 5 x 5, = 1 σ 2 is also known as the width of the kernel Use Matlab s fspecial function to create a Gaussian filter. 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis Slide credit: The University Christopher of Western Australia Rasmussen 36

Smoothing with box filter Example Box Filter Smoothing 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 37

Smoothing with Gaussian filter Example Gaussian Smoothing 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 38

Key Properties of Linear Filters 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)) Any linear, shift-invariant operator can be represented as a convolution 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 39 Source: S. Lazebnik

Key Properties of Linear Filters 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 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 40 Source: S. Lazebnik

Gaussian Filters Linear filters Remove high-frequency components from the image (low-pass filter) Images become more smooth Convolution of a Gaussian with a Gaussian 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 kernels Factors into product of two 1D Gaussians 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 41

Separability of the Gaussian filter Gaussian Filters 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 42

Practical Matters 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 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 43

Q? Practical Matters 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 ) 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 44

Practical Matters 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 g g g g g g f f f g g g g g full same valid g 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 45

Low-Pass Filtering Removing all high spatial frequencies from a signal to retain only low spatial frequencies is called low-pass filtering.? Old Spectrum New Spectrum Low-Pass Filtered Image 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 46

High-Pass Filtering Removing all low spatial frequencies from a signal to retain only high spatial frequencies is called high-pass filtering.? Old Spectrum New Spectrum High-Pass Filtered Image 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 47

Low-Pass Filtering An Example 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 48

Low-Pass Filtering An Example 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 49

High-Pass Filtering An Example 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 50

High-Pass Filtering An Example 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 51

Filtering in the Spatial Domain Low-pass filtering -> convolve the image with a box / Gaussian filter High-pass filtering ->? 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 52

Filtering in the Spatial Domain Low-pass filtering -> convolve the image with a box / Gaussian filter High-pass filtering -> -1/9-1/9-1/9-1/9 8/9-1/9-1/9-1/9-1/9 Since the sum of the weights is 0, the resulting signal will have a 0 DC value (i.e., the average value or the coefficient of the zero frequency component). To display the image you will need to take the absolute values. 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 53

Non-Linear Filtering Neighbourhood averaging or Gaussian smoothing will tend to blur edges because the high frequency components are attenuated An alternative approach is to use median filtering. Here we set the grey level to be the median of the pixel values in the neighbourhood Example: pixel values in 3 3 neighbourhood 10 20 20 20 15 20 20 25 100 20 median value Sort the values 10 15 20 20 20 20 20 25 100 Pixels with outlying values are forced to become more like their neighbours 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 54

Median Filtering An Example Median filter removes outliers Median filter smooths the image without blurring the edges 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 55

High-Boost Filtering Here we take the original image and boost the high frequency components. Can think of HighPass = Original LowPass. Thus HighBoost = b*original LowPass = (b-1)*original + Original LowPass = (b-1)*original + HighPass b is the boosting factor. When b=1, HighBoost = HighPass High-boost filtering useful for emphasizing high frequencies while retaining some low frequency components of the original image to aid in the interpretation of the image 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 56

High Boost Filtering (cont.) How can we perform high-boost filtering in the spatial domain? -1/9-1/9-1/9-1/9 w/9-1/9-1/9-1/9-1/9 where w = 9*b - 1 Original High Boosted (intermediate result) High Boosted (contrast stretching) 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 57

Homomorphic Filtering The brightness of an image point f(x, y) is a function of the illumination at that point and the reflectance of the object at that point, i.e., f x, y = i x, y r(x, y) illumination 0 i x, y < reflectance 0 r x, y 1 It is the reflectance that tells us information about the scene. We want to reduce the influence of illumination. Assumptions: 1. Illumination variations vary with low spatial frequency 2. Features of interest are the result of different reflectance properties of objects across the image and these vary with high(er) spatial frequency 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 58

Homomorphic Filtering (cont.) Let z x, y = log f x, y = log i x, y + log r x, y In the frequency domain, we have Z ω, ν = I ω, ν + R ω, ν Fourier transform of log(i x, y ) Fourier transform of log(r x, y ) If we apply a high boost filter, then we can suppress the low frequency illumination components and enhance the reflectance components Z ω, ν represents the Fourier Transform of the sum of two images: a low frequency illumination image a high frequency reflectance image 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 59

Homomorphic Filtering (cont.) Apply the high-boost filter H ω, ν : S ω, ν = Z ω, ν. H ω, ν Take the inverse FFT: s x, y = F 1 (S ω, ν ) Finally, exponentiate the result to account for taking the log of the original image: g x, y = exp(s x, y ) High-boost f(x, y) log FFT FFT filtering -1 exp g(x, y) 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 60

Homomorphic Filtering An Example Original image Filtered image 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 61

Smoothing and Sub-sampling In many Computer Vision applications, sub-sampling is often needed, e.g., to build an image pyramid, or simply to reduce the resolution for efficient storage, transmission, processing, 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 62

Throw away every other row and column to create a 1/2 size image 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 63

Sub-sampling Issues Sub-sampling may be dangerous. Why? Resample the checkerboard by taking one sample at each circle. In the case of the top left board, new representation is reasonable. Top right also yields a reasonable representation. Bottom left is all black (dubious) and bottom right has checks that are too big. 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 64

Aliasing in Videos 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 65

Aliasing in Graphics 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 66

Sampling and Aliasing Top row shows the images, sampled at every second pixel to get the next; bottom row shows the magnitude of frequency spectrum of these images. 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 67

Anti-aliasing 1. Sample more often 2. Get rid of all frequencies that are greater than half the new sampling frequency (Nyquist frequency) Will lose information But it s better than aliasing Apply a smoothing filter 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 68

Sampling and Aliasing Sampling with smoothing. Top row shows the images. We get the next image by smoothing the image with a Gaussian with sigma 1 pixel, then sampling at every second pixel to get the next; bottom row shows the magnitude spectrum of these images. 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 69

Subsampling without Pre-filtering 1/2 1/4 (2x zoom) 1/8 (4x zoom) 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 70

Subsampling with Gaussian Pre-filtering Gaussian 1/2 G 1/4 G 1/8 Slide by Steve Seitz 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 71

Image Pyramids Key component of many high level computer vision tasks How to create an image pyramid? Represent each image as a layer 1. Convolve layer i with a Gaussian filter 2. Subsample layer i by a factor of two (remove all even-numbered rows and columns) to get layer i + 1 Repeat steps 1 and 2 until a stopping criteria is satisfied 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 72

Image Pyramids 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 73

Template Matching Finding object of known shape and appearance in an image To identify the object, we have to compare the template image against the source image by sliding it. At each location, we find the matching score between the image and the template 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 74

Template Matching Scores Sum of Squared Difference (SSD) in pixel values (Normalized) Correlation coefficient (Normalized) Cross-correlation Template Source Image 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 75

Template Matching Scores SSD Normalized Correlation Coefficient Normalized Cross-Correlation 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 76

Summary Single Pixel Operations Histogram Equalization Filtering in the Spatial Domain Subsampling and Anti-aliasing Template Matching Acknowledgements: The slides are based on previous lectures by A/Prof Du Huynh and Prof Peter Koveski. Other material has been taken from Wikipedia, computer vision textbook by Forsyth & Ponce, and OpenCV documentation. 3/19/2018 Computer Vision - Lecture 04 - Greyscale Image Analysis The University of Western Australia 77