CS448f: Image Processing For Photography and Vision Denoising.

Slides:



Advertisements
Similar presentations
CSCE 643 Computer Vision: Template Matching, Image Pyramids and Denoising Jinxiang Chai.
Advertisements

Transforming images to images
CS448f: Image Processing For Photography and Vision Sharpening.
Computer Vision Lecture 16: Texture
EE4H, M.Sc Computer Vision Dr. Mike Spann
Image Processing IB Paper 8 – Part A Ognjen Arandjelović Ognjen Arandjelović
1 Video Processing Lecture on the image part (8+9) Automatic Perception Volker Krüger Aalborg Media Lab Aalborg University Copenhagen
Chapter 8. Basic Image Process The visual information can be recorded by a TV camera or a 2D array of CCD sensors. A digital image is formed.
Lecture 4 Linear Filters and Convolution
Image Filtering CS485/685 Computer Vision Prof. George Bebis.
1 Image filtering Hybrid Images, Oliva et al.,
Computer Vision Introduction to Image formats, reading and writing images, and image environments Image filtering.
CS 376b Introduction to Computer Vision 02 / 25 / 2008 Instructor: Michael Eckmann.
Image Enhancement.
1 Image filtering Images by Pawan SinhaPawan Sinha.
Matlab Tutorial Continued Files, functions and images.
Image Analysis Preprocessing Arithmetic and Logic Operations Spatial Filters Image Quantization.
Linear filtering.
September 25, 2014Computer Vision Lecture 6: Spatial Filtering 1 Computing Object Orientation We compute the orientation of an object as the orientation.
Linear Filtering About modifying pixels based on neighborhood. Local methods simplest. Linear means linear combination of neighbors. Linear methods simplest.
Computational Photography: Image Processing Jinxiang Chai.
Most slides from Steve Seitz
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean Hall 5409 T-R 10:30am – 11:50am.
Lecture 1: Images and image filtering CS4670/5670: Intro to Computer Vision Kavita Bala Hybrid Images, Oliva et al.,
CSCE 441: Computer Graphics Image Filtering Jinxiang Chai.
CS 376b Introduction to Computer Vision 02 / 26 / 2008 Instructor: Michael Eckmann.
Machine Vision ENT 273 Image Filters Hema C.R. Lecture 5.
CS448f: Image Processing For Photography and Vision Fast Filtering Continued.
Digital Image Processing Lecture 5: Neighborhood Processing: Spatial Filtering Prof. Charlene Tsai.
Lecture 03 Area Based Image Processing Lecture 03 Area Based Image Processing Mata kuliah: T Computer Vision Tahun: 2010.
Image Processing Edge detection Filtering: Noise suppresion.
AdeptSight Image Processing Tools Lee Haney January 21, 2010.
Image processing Fourth lecture Image Restoration Image Restoration: Image restoration methods are used to improve the appearance of an image.
Image Filtering Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/02/10.
School of Computer Science Queen’s University Belfast Practical TULIP lecture next Tues 12th Feb. Wed 13th Feb 11-1 am. Thurs 14th Feb am. Practical.
Math 3360: Mathematical Imaging Prof. Ronald Lok Ming Lui Department of Mathematics, The Chinese University of Hong Kong Lecture 9: More about Discrete.
Chapter 5: Neighborhood Processing
Image Processing Part II. 2 Classes of Digital Filters global filters transform each pixel uniformly according to the function regardless of its location.
Machine Vision ENT 273 Image Filters Hema C.R. Lecture 5.
8-1 Chapter 8: Image Restoration Image enhancement: Overlook degradation processes, deal with images intuitively Image restoration: Known degradation processes;
Image Subtraction Mask mode radiography h(x,y) is the mask.
Course 2 Image Filtering. Image filtering is often required prior any other vision processes to remove image noise, overcome image corruption and change.
Templates, Image Pyramids, and Filter Banks
Intelligent Vision Systems ENT 496 Image Filtering and Enhancement Hema C.R. Lecture 4.
Digital Image Processing Lecture 5: Neighborhood Processing: Spatial Filtering March 9, 2004 Prof. Charlene Tsai.
Sejong Univ. CH3. Area Processes Convolutions Blurring Sharpening Averaging vs. Median Filtering.
CS 691B Computational Photography
Linear filtering. Motivation: Image denoising How can we reduce noise in a photograph?
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Filtering (II) Dr. Chang Shu COMP 4900C Winter 2008.
CSE 185 Introduction to Computer Vision Image Filtering: Spatial Domain.
Non-linear filtering Example: Median filter Replaces pixel value by median value over neighborhood Generates no new gray levels.
Masaki Hayashi 2015, Autumn Visualization with 3D CG Digital 2D Image Basic.
Image Subtraction Mask mode radiography h(x,y) is the mask.
Image Deblurring and noise reduction in python
ECE 692 – Advanced Topics in Computer Vision
Digital 2D Image Basic Masaki Hayashi
A Gentle Introduction to Bilateral Filtering and its Applications
The Chinese University of Hong Kong
Other Algorithms Follow Up
Image Processing - in short
Computer Vision Lecture 16: Texture II
Linear filtering.
Non-local Means Filtering
Applications of Fourier Analysis in Image Recovery
Lecture 2: Image filtering
Intensity Transformation
Templates and Image Pyramids
Even Discrete Cosine Transform The Chinese University of Hong Kong
Presentation transcript:

CS448f: Image Processing For Photography and Vision Denoising

How goes the assignment?

The course so far… We have a fair idea what image processing code looks like We know how to treat an image as a continuous function We know how to warp images What should we do next?

What are the big problems in Photography and Computer Vision, and how can Image Processing help?

Today: Denoising

How do we know a pixel is bad? It’s not like its neighbours Solution: Replace each pixel with the average of its neighbors I.e. Convolve by

3x3 Rect Filter

5x5 Rect Filter

Linear Filters Why should a far-away pixel contribute the same amount as a nearby pixel Gaussian blur:

Gaussian Blur

beta = 2

beta = 5

It’s radially symettric and separable at the same time: Its Fourier transform is also a Gaussian It’s not very useful for denoising Some neat properties:

Linear Filters Convolve by some kernel Equivalent to multiplication in Fourier domain Reduces high frequencies – But we wanted those - that’s what made the image sharp! – You don’t always need the high frequencies. The first step in many computer vision algorithms is a hefty blur.

Probabilistically... What is the most probable value of a pixel, given its neighbors?

Probabilistically... This is supposed to be dark grey:

Let’s ignore color for now

And inspect the distribution

Most probable pixel value

And inspect the distribution mean = mode = median

Denoising

The distribution

The background The text

The distribution The mean

The distribution The mode

The distribution The median

Median Filters Replace each pixel with the median of its neighbours Great for getting rid of salt-and-pepper noise Removes small details

Before:

Gaussian Blur:

After Median Filter:

The distribution What is the most probable pixel value?

It depends on your current value The answer should vary for each pixel

An extra prior Method 1) Convolution – The pixel is probably looking at the same material as all of its neighbors, so we’ll set it to the average of its neighbors. Method 2) Bilateral – The pixel is probably looking at the same material as SOME of its neighbors, so we’ll set it to the average of those neighbors only.

The Bilateral Filter How do we select good neighbours? The ones with roughly similar brightnesses are probably looking at the same material.

Before:

Gaussian Blur:

After Median Filter:

After Bilateral:

Dealing with Color It turns out humans are only sensitive to high frequencies in brightness – not in hue or saturation So we can blur in chrominance much more than luminance

Chroma Blurring 1) Convert RGB to LAB – L is luminance, AB are chrominance (hue and saturation) 2) Perform a small bilateral in L 3) Perform a large bilateral in AB 4) Convert back to RGB

Before:

After Regular Bilateral:

After Modified Bilateral:

Method Noise (Gaussian)

Method Noise (Bilateral)

Leveraging Similarity: Non-Local Means

What color should this pixel be?

Gaussian Blur: A weighted average of these: (all nearby pixels)

Bilateral filter A weighted average of these: (the nearby ones that have a similar color to me)

Non-Local Means A weighted average of these: (the ones that have similar neighbors to me)

Non-Local Means: For each pixel – Find every other (nearby) pixel that has a similar local neighborhood around it to me – Set my value to be the weighted average of those

Before:

Gaussian Blur:

After Median Filter:

After Bilateral:

After Non-Local Means:

Before:

Method Noise (Gaussian)

Method Noise (Bilateral)

Method Noise (Non-Local Means)

Run-Times: Rect Filter For every pixel: – For every other nearby pixel: Do a multiply and add

Run-Times: Gaussian Blur For every pixel: – For every other nearby pixel: Compute a distance-based weight – (can be precomputed) Do a multiply and add

Run-Times: Median Filter For every pixel: – For every other nearby pixel: Add into a histogram – Compute the median of the histogram

Run-Times: Bilateral For every pixel: – For every other nearby pixel: Compute a similarity weight Compute a distance-based weight – (can be precomputed) Do a multiply and add

Run-Times: Non-Local Means For every pixel x: – For every other nearby pixel y: Compute a distance weight Compute a similarity weight: For every pixel z in a patch around y – Compare z to the corresponding pixel in the patch around x – Add to the similarity term Multiply and add

These methods are all fairly useless for large filter sizes... unless you can speed them up