SlideShare a Scribd company logo
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
1
1
1
1
1
1
1
1
1
“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
∑ −
−
=
∗
l
k
l
k
g
l
n
k
m
f
n
m
g
f
,
]
,
[
]
,
[
]
,
)[
(
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(f1 + f2 ) = filter(f1) + filter(f2)
• 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 * b1) * b2) * b3)
• This is equivalent to applying one filter: a * (b1 * b2 * b3)
• 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
g
g
g
g
f
g
g
g
g
f
g
g
g
g
full same valid
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
0
0
0
0
1
0
0
0
0
Original
?
Source: D. Lowe
Practice with linear filters
0
0
0
0
1
0
0
0
0
Original Filtered
(no change)
Source: D. Lowe
Practice with linear filters
0
0
0
1
0
0
0
0
0
Original
?
Source: D. Lowe
Practice with linear filters
0
0
0
1
0
0
0
0
0
Original Shifted left
By 1 pixel
Source: D. Lowe
Practice with linear filters
Original
?
1
1
1
1
1
1
1
1
1
Source: D. Lowe
Practice with linear filters
Original
1
1
1
1
1
1
1
1
1
Blur (with a
box filter)
Source: D. Lowe
Practice with linear filters
Original
1
1
1
1
1
1
1
1
1
0
0
0
0
2
0
0
0
0
- ?
(Note that filter sums to 1)
Source: D. Lowe
Practice with linear filters
Original
1
1
1
1
1
1
1
1
1
0
0
0
0
2
0
0
0
0
-
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)
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
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
Original
Gaussian noise
Salt and pepper noise
Impulse noise
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?
3x3 5x5 7x7
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
3x3 5x5 7x7
Gaussian
Median
Sharpening revisited
What does blurring take away?
original smoothed (5x5)
–
detail
=
sharpened
=
Let’s add it back:
original detail
+ α
Unsharp mask filter
Gaussian
unit impulse
Laplacian of Gaussian
)
)
1
((
)
1
(
)
( g
e
f
g
f
f
g
f
f
f −
+
∗
=
∗
−
+
=
∗
−
+ α
α
α
α
image blurred
image
unit impulse
(identity)
Application: Hybrid Images
A. Oliva, A. Torralba, P.G. Schyns,
“Hybrid Images,” SIGGRAPH 2006
Application: Hybrid Images
A. Oliva, A. Torralba, P.G. Schyns,
“Hybrid Images,” SIGGRAPH 2006

More Related Content

What's hot

Lec12 epipolar
Lec12 epipolarLec12 epipolar
Lec12 epipolar
BaliThorat1
 
Lec14 multiview stereo
Lec14 multiview stereoLec14 multiview stereo
Lec14 multiview stereo
BaliThorat1
 
Lec15 sfm
Lec15 sfmLec15 sfm
Lec15 sfm
BaliThorat1
 
Lec07 corner blob
Lec07 corner blobLec07 corner blob
Lec07 corner blob
BaliThorat1
 
Lec11 single view-converted
Lec11 single view-convertedLec11 single view-converted
Lec11 single view-converted
BaliThorat1
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shadingeshveeen
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shading
Sri Harsha Vemuri
 
Illumination Model
Illumination ModelIllumination Model
Illumination Model
aishwaryabharadwaj7
 
GRPHICS06 - Shading
GRPHICS06 - ShadingGRPHICS06 - Shading
GRPHICS06 - Shading
Michael Heron
 
Phong Shading over any Polygonal Surface
Phong Shading over any Polygonal Surface Phong Shading over any Polygonal Surface
Phong Shading over any Polygonal Surface
Bhuvnesh Pratap
 
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015) Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Konrad Wenzel
 
Graphics Lecture 7
Graphics Lecture 7Graphics Lecture 7
Graphics Lecture 7
Saiful Islam
 
Line detection algorithms
Line detection algorithmsLine detection algorithms
Line detection algorithms
Supun Kandaudahewa, MIEEE
 
Spatial filtering
Spatial filteringSpatial filtering
Spatial filtering
shabanam tamboli
 
GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)
Michael Heron
 
Spatial filtering using image processing
Spatial filtering using image processingSpatial filtering using image processing
Spatial filtering using image processing
Anuj Arora
 

What's hot (18)

Lec12 epipolar
Lec12 epipolarLec12 epipolar
Lec12 epipolar
 
Lec14 multiview stereo
Lec14 multiview stereoLec14 multiview stereo
Lec14 multiview stereo
 
Lec15 sfm
Lec15 sfmLec15 sfm
Lec15 sfm
 
Lec07 corner blob
Lec07 corner blobLec07 corner blob
Lec07 corner blob
 
Lec11 single view-converted
Lec11 single view-convertedLec11 single view-converted
Lec11 single view-converted
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shading
 
Edges and lines
Edges and linesEdges and lines
Edges and lines
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shading
 
Illumination Model
Illumination ModelIllumination Model
Illumination Model
 
GRPHICS06 - Shading
GRPHICS06 - ShadingGRPHICS06 - Shading
GRPHICS06 - Shading
 
Phong Shading over any Polygonal Surface
Phong Shading over any Polygonal Surface Phong Shading over any Polygonal Surface
Phong Shading over any Polygonal Surface
 
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015) Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
 
Graphics Lecture 7
Graphics Lecture 7Graphics Lecture 7
Graphics Lecture 7
 
Line detection algorithms
Line detection algorithmsLine detection algorithms
Line detection algorithms
 
Spatial filtering
Spatial filteringSpatial filtering
Spatial filtering
 
GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)
 
Spatial filtering using image processing
Spatial filtering using image processingSpatial filtering using image processing
Spatial filtering using image processing
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
 

Similar to Lec05 filter

Filtering.ppt
Filtering.pptFiltering.ppt
Filtering.ppt
Binish Raza
 
03 cie552 image_filtering_spatial
03 cie552 image_filtering_spatial03 cie552 image_filtering_spatial
03 cie552 image_filtering_spatial
Elsayed Hemayed
 
Noise filtering
Noise filteringNoise filtering
Noise filteringAlaa Ahmed
 
Image Restoration and Reconstruction in Digital Image Processing
Image Restoration and Reconstruction in Digital Image ProcessingImage Restoration and Reconstruction in Digital Image Processing
Image Restoration and Reconstruction in Digital Image Processing
Sadia Zafar
 
Feature Detection and Matching
Feature Detection and MatchingFeature Detection and Matching
Feature Detection and Matching
ssuser24ddad
 
Smoothing in Digital Image Processing
Smoothing in Digital Image ProcessingSmoothing in Digital Image Processing
Smoothing in Digital Image Processing
Pallavi Agarwal
 
DIP -Unit 3 ppt.pptx
DIP -Unit 3 ppt.pptxDIP -Unit 3 ppt.pptx
DIP -Unit 3 ppt.pptx
1DA20CS085Nithyashre
 
Module 31
Module 31Module 31
Module 31
UllasSS1
 
Image Processing: Spatial filters
Image Processing: Spatial filtersImage Processing: Spatial filters
Image Processing: Spatial filters
A B Shinde
 
Spatial Filtering in intro image processingr
Spatial Filtering in intro image processingrSpatial Filtering in intro image processingr
Spatial Filtering in intro image processingr
kumarankit06875
 
Computer vision - images and image filtering
Computer vision - images and image filtering Computer vision - images and image filtering
Computer vision - images and image filtering
Wael Badawy
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
Wael Sharba
 
Fuzzy Logic Based Edge Detection
Fuzzy Logic Based Edge DetectionFuzzy Logic Based Edge Detection
Fuzzy Logic Based Edge Detection
Dawn Raider Gupta
 
Computer vision - edge detection
Computer vision - edge detectionComputer vision - edge detection
Computer vision - edge detection
Wael Badawy
 
unit-3.ppt
unit-3.pptunit-3.ppt
Digital image processing techniques
Digital image processing techniquesDigital image processing techniques
Digital image processing techniques
Shab Bi
 
OpenCV presentation series- part 4
OpenCV presentation series- part 4OpenCV presentation series- part 4
OpenCV presentation series- part 4
Sairam Adithya
 
Around the World in 80 Shaders
Around the World in 80 ShadersAround the World in 80 Shaders
Around the World in 80 Shaders
stevemcauley
 
lec06-resampling2.pptx
lec06-resampling2.pptxlec06-resampling2.pptx
lec06-resampling2.pptx
DariuszKrawczyk4
 
Edge Detection and Segmentation
Edge Detection and SegmentationEdge Detection and Segmentation
Edge Detection and Segmentation
A B Shinde
 

Similar to Lec05 filter (20)

Filtering.ppt
Filtering.pptFiltering.ppt
Filtering.ppt
 
03 cie552 image_filtering_spatial
03 cie552 image_filtering_spatial03 cie552 image_filtering_spatial
03 cie552 image_filtering_spatial
 
Noise filtering
Noise filteringNoise filtering
Noise filtering
 
Image Restoration and Reconstruction in Digital Image Processing
Image Restoration and Reconstruction in Digital Image ProcessingImage Restoration and Reconstruction in Digital Image Processing
Image Restoration and Reconstruction in Digital Image Processing
 
Feature Detection and Matching
Feature Detection and MatchingFeature Detection and Matching
Feature Detection and Matching
 
Smoothing in Digital Image Processing
Smoothing in Digital Image ProcessingSmoothing in Digital Image Processing
Smoothing in Digital Image Processing
 
DIP -Unit 3 ppt.pptx
DIP -Unit 3 ppt.pptxDIP -Unit 3 ppt.pptx
DIP -Unit 3 ppt.pptx
 
Module 31
Module 31Module 31
Module 31
 
Image Processing: Spatial filters
Image Processing: Spatial filtersImage Processing: Spatial filters
Image Processing: Spatial filters
 
Spatial Filtering in intro image processingr
Spatial Filtering in intro image processingrSpatial Filtering in intro image processingr
Spatial Filtering in intro image processingr
 
Computer vision - images and image filtering
Computer vision - images and image filtering Computer vision - images and image filtering
Computer vision - images and image filtering
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Fuzzy Logic Based Edge Detection
Fuzzy Logic Based Edge DetectionFuzzy Logic Based Edge Detection
Fuzzy Logic Based Edge Detection
 
Computer vision - edge detection
Computer vision - edge detectionComputer vision - edge detection
Computer vision - edge detection
 
unit-3.ppt
unit-3.pptunit-3.ppt
unit-3.ppt
 
Digital image processing techniques
Digital image processing techniquesDigital image processing techniques
Digital image processing techniques
 
OpenCV presentation series- part 4
OpenCV presentation series- part 4OpenCV presentation series- part 4
OpenCV presentation series- part 4
 
Around the World in 80 Shaders
Around the World in 80 ShadersAround the World in 80 Shaders
Around the World in 80 Shaders
 
lec06-resampling2.pptx
lec06-resampling2.pptxlec06-resampling2.pptx
lec06-resampling2.pptx
 
Edge Detection and Segmentation
Edge Detection and SegmentationEdge Detection and Segmentation
Edge Detection and Segmentation
 

More from BaliThorat1

8 operating system concept
8 operating system concept8 operating system concept
8 operating system concept
BaliThorat1
 
7 processor
7 processor7 processor
7 processor
BaliThorat1
 
6 input output devices
6 input output devices6 input output devices
6 input output devices
BaliThorat1
 
2 windows operating system
2 windows operating system2 windows operating system
2 windows operating system
BaliThorat1
 
5 computer memory
5 computer memory5 computer memory
5 computer memory
BaliThorat1
 
4 computer languages
4 computer languages4 computer languages
4 computer languages
BaliThorat1
 
1 fundamentals of computer
1 fundamentals of computer1 fundamentals of computer
1 fundamentals of computer
BaliThorat1
 
1 fundamentals of computer system
1 fundamentals of computer system1 fundamentals of computer system
1 fundamentals of computer system
BaliThorat1
 
Computer generation and classification
Computer generation and classificationComputer generation and classification
Computer generation and classification
BaliThorat1
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
BaliThorat1
 
6 cpu scheduling
6 cpu scheduling6 cpu scheduling
6 cpu scheduling
BaliThorat1
 
5 process synchronization
5 process synchronization5 process synchronization
5 process synchronization
BaliThorat1
 
4 threads
4 threads4 threads
4 threads
BaliThorat1
 
3 processes
3 processes3 processes
3 processes
BaliThorat1
 
2 os structure
2 os structure2 os structure
2 os structure
BaliThorat1
 
1 intro and overview
1 intro and overview1 intro and overview
1 intro and overview
BaliThorat1
 
Lec01 introduction
Lec01 introductionLec01 introduction
Lec01 introduction
BaliThorat1
 

More from BaliThorat1 (17)

8 operating system concept
8 operating system concept8 operating system concept
8 operating system concept
 
7 processor
7 processor7 processor
7 processor
 
6 input output devices
6 input output devices6 input output devices
6 input output devices
 
2 windows operating system
2 windows operating system2 windows operating system
2 windows operating system
 
5 computer memory
5 computer memory5 computer memory
5 computer memory
 
4 computer languages
4 computer languages4 computer languages
4 computer languages
 
1 fundamentals of computer
1 fundamentals of computer1 fundamentals of computer
1 fundamentals of computer
 
1 fundamentals of computer system
1 fundamentals of computer system1 fundamentals of computer system
1 fundamentals of computer system
 
Computer generation and classification
Computer generation and classificationComputer generation and classification
Computer generation and classification
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
 
6 cpu scheduling
6 cpu scheduling6 cpu scheduling
6 cpu scheduling
 
5 process synchronization
5 process synchronization5 process synchronization
5 process synchronization
 
4 threads
4 threads4 threads
4 threads
 
3 processes
3 processes3 processes
3 processes
 
2 os structure
2 os structure2 os structure
2 os structure
 
1 intro and overview
1 intro and overview1 intro and overview
1 intro and overview
 
Lec01 introduction
Lec01 introductionLec01 introduction
Lec01 introduction
 

Recently uploaded

PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
PedroFerreira53928
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
Col Mukteshwar Prasad
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
GeoBlogs
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
AzmatAli747758
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
Steve Thomason
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 

Recently uploaded (20)

PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 

Lec05 filter

  • 2. 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
  • 3. • 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 1 1 1 1 1 1 1 1 1 “box filter” Source: D. Lowe
  • 4. 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?
  • 5. Defining convolution ∑ − − = ∗ l k l k g l n k m f n m g f , ] , [ ] , [ ] , )[ ( 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)
  • 6. Key properties • Linearity: filter(f1 + f2 ) = filter(f1) + filter(f2) • 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
  • 7. 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 * b1) * b2) * b3) • This is equivalent to applying one filter: a * (b1 * b2 * b3) • 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
  • 8. 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 g g g g f g g g g f g g g g full same valid
  • 9. 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
  • 10. 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
  • 11. Practice with linear filters 0 0 0 0 1 0 0 0 0 Original ? Source: D. Lowe
  • 12. Practice with linear filters 0 0 0 0 1 0 0 0 0 Original Filtered (no change) Source: D. Lowe
  • 13. Practice with linear filters 0 0 0 1 0 0 0 0 0 Original ? Source: D. Lowe
  • 14. Practice with linear filters 0 0 0 1 0 0 0 0 0 Original Shifted left By 1 pixel Source: D. Lowe
  • 15. Practice with linear filters Original ? 1 1 1 1 1 1 1 1 1 Source: D. Lowe
  • 16. Practice with linear filters Original 1 1 1 1 1 1 1 1 1 Blur (with a box filter) Source: D. Lowe
  • 17. Practice with linear filters Original 1 1 1 1 1 1 1 1 1 0 0 0 0 2 0 0 0 0 - ? (Note that filter sums to 1) Source: D. Lowe
  • 18. Practice with linear filters Original 1 1 1 1 1 1 1 1 1 0 0 0 0 2 0 0 0 0 - Sharpening filter - Accentuates differences with local average Source: D. Lowe
  • 20. 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
  • 21. 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”
  • 22. 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) 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 Source: C. Rasmussen
  • 23. Choosing kernel width • Gaussian filters have infinite support, but discrete filters use finite kernels Source: K. Grauman
  • 24. Choosing kernel width • Rule of thumb: set filter half-width to about 3 σ
  • 26. Mean vs. Gaussian filtering
  • 27. 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
  • 28. Separability of the Gaussian filter Source: D. Lowe
  • 29. 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:
  • 30. Separability • Why is separability useful in practice?
  • 31. 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 Original Gaussian noise Salt and pepper noise Impulse noise Source: S. Seitz
  • 32. Gaussian noise • Mathematical model: sum of many independent factors • Good for small standard deviations • Assumption: independent, zero-mean noise Source: M. Hebert
  • 33. Smoothing with larger standard deviations suppresses noise, but also blurs the image Reducing Gaussian noise
  • 34. Reducing salt-and-pepper noise What’s wrong with the results? 3x3 5x5 7x7
  • 35. 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
  • 36. Median filter • What advantage does median filtering have over Gaussian filtering? • Robustness to outliers Source: K. Grauman
  • 37. Median filter Salt-and-pepper noise Median filtered Source: M. Hebert MATLAB: medfilt2(image, [h w])
  • 38. Median vs. Gaussian filtering 3x3 5x5 7x7 Gaussian Median
  • 39. Sharpening revisited What does blurring take away? original smoothed (5x5) – detail = sharpened = Let’s add it back: original detail + α
  • 40. Unsharp mask filter Gaussian unit impulse Laplacian of Gaussian ) ) 1 (( ) 1 ( ) ( g e f g f f g f f f − + ∗ = ∗ − + = ∗ − + α α α α image blurred image unit impulse (identity)
  • 41. Application: Hybrid Images A. Oliva, A. Torralba, P.G. Schyns, “Hybrid Images,” SIGGRAPH 2006
  • 42. Application: Hybrid Images A. Oliva, A. Torralba, P.G. Schyns, “Hybrid Images,” SIGGRAPH 2006