Reconnaissance d’objets et vision artificielle

Slides:



Advertisements
Similar presentations
Reconnaissance d’objets et vision artificielle Josef Sivic INRIA - Equipe-projet WILLOW ENS/INRIA/CNRS.
Advertisements

Lecture 2: Convolution and edge detection CS4670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
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.
Spatial Filtering Dan Witzner Hansen. Recap Exercises??? Feedback Last lectures?
Lecture 4 Linear Filters and Convolution
Lecture 2: Filtering CS4670/5670: Computer Vision Kavita Bala.
Image Filtering CS485/685 Computer Vision Prof. George Bebis.
Image processing. Image operations Operations on an image –Linear filtering –Non-linear filtering –Transformations –Noise removal –Segmentation.
Recap from Monday Spectra and Color Light capture in cameras and humans.
Computer Vision - A Modern Approach
Lecture 1: Images and image filtering
Linear filtering. Overview: Linear filtering Linear filters Definition and properties Examples Gaussian smoothing Separability Applications Denoising.
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.
Comp 665 Convolution. Questions? Ask here first. Likely someone else has the same question.
Lecture 2: Image filtering
Matlab Tutorial Continued Files, functions and images.
Linear filtering.
CS4670: Computer Vision Kavita Bala Lecture 7: Harris Corner Detection.
Slides from Alexei Efros, Steve Marschner Filters & fourier theory.
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.
Lecture 1: Images and image filtering CS4670/5670: Intro to Computer Vision Kavita Bala Hybrid Images, Oliva et al.,
CSC589 Introduction to Computer Vision Lecture 3 Gaussian Filter, Histogram Equalization Bei Xiao.
Slide credit Fei Fei Li. Image filtering Image filtering: compute function of local neighborhood at each position Really important! – Enhance images.
Filtering Course web page: vision.cis.udel.edu/cv March 5, 2003  Lecture 9.
Computer Vision – Lecture 3
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?
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.
CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu Lecture 7 – Linear Filters 1.
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:
Lecture 3: Filtering and Edge detection
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…
Images and Filters CSEP 576 Ali Farhadi Many slides from Steve Seitz and Larry Zitnick.
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.
Filters– Chapter 6. Filter Difference between a Filter and a Point Operation is that a Filter utilizes a neighborhood of pixels from the input image to.
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
Recap from Wednesday Spectra and Color Light capture in cameras and humans.
Sampling and Reconstruction
Motion illusion, rotating snakes
Linear filtering.
Lecture: Image manipulations (2) Filters and kernels
Most slides from Steve Seitz
Linear Filtering CS 678 Spring 2018.
Lecture 2: Image filtering
Lecture 1: Images and image filtering
Most slides from Steve Seitz
All about convolution.
Presentation transcript:

Reconnaissance d’objets et vision artificielle Josef Sivic http://www.di.ens.fr/~josef Equipe-projet WILLOW, ENS/INRIA/CNRS UMR 8548 Laboratoire d’Informatique, Ecole Normale Supérieure, Paris

Plan for the reminder of the class today Assignments 2. Brief review of linear filtering 3. Efficient indexing for visual search and recognition of particular objects

Admin Stuff Mailing list for the class - Please write your name and email address - Will be used to distribute class announcements

Assignments Due date for assignment 1 (Scale-invariant blob detection) postponed to next week (Nov. 3rd). Assignment 2: Stitching photo-mosaics out. Note that due date is still two weeks from now (Nov. 10th). See the course webpage: http://www.di.ens.fr/willow/teaching/recvis09/

Assignment 2: Stitching photo-mosaics

Assignments Due date for assignment 1 (Scale-invariant blob detection) postponed to next week (Nov. 3rd). Assignment 2: Stitching photo-mosaics out. Note that due date is still two weeks from now (Nov. 10th). http://www.di.ens.fr/willow/teaching/recvis09/ Any questions?

Linear filtering – brief review With slides from: S. Lazebnik and others

Motivation I.: Blob detection Assignment I.: Scale-invariant blob detection using the Laplacian of Gaussian filter filt_size =  2*ceil(3*sigma)+1; % filter size LoG       =  sigma^2 * fspecial('log', filt_size, sigma); imFiltered = imfilter(im, LoG, 'same', 'replicate'); Answer: take lots of images, average them

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

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 a 3x3 moving average? 1 “box filter” Source: D. Lowe

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

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 Source: S. Lazebnik

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 Source: S. Lazebnik

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 full same valid g g g g f f g f g g g g g g g Source: S. Lazebnik

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 1 ? Original Source: D. Lowe

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

Practice with linear filters 1 ? Original Source: D. Lowe

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

Practice with linear filters ? 1 Original Source: D. Lowe

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

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

Practice with linear filters - 2 1 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 I always walk through the argument on the left rather carefully; it gives some insight into the significance of impulse responses or point spread functions. 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: I always walk through the argument on the left rather carefully; it gives some insight into the significance of impulse responses or point spread functions. “fuzzy blob” Source: S. Lazebnik

Gaussian Kernel 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 5 x 5,  = 1 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) 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 σ Source: S. Lazebnik

Example: Smoothing with a Gaussian Source: S. Lazebnik

Mean vs. Gaussian filtering Source: S. Lazebnik

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 Linear vs. quadratic in mask size Source: K. Grauman

Separability of the Gaussian filter Source: D. Lowe

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

Separability Why is separability useful in practice? Assignment 1: Is the Laplacian of Gaussian filter separable?