Computer Vision. Recap: Smoothing with a Gaussian. Recap: Effect of σ on derivatives. Computer Science Tripos Part II. Dr Christopher Town

Similar documents
Local invariant features

Computer Vision for HCI. Topics of This Lecture

Local Features: Detection, Description & Matching

The SIFT (Scale Invariant Feature

CS 4495 Computer Vision A. Bobick. CS 4495 Computer Vision. Features 2 SIFT descriptor. Aaron Bobick School of Interactive Computing

CAP 5415 Computer Vision Fall 2012

Outline 7/2/201011/6/

Local features: detection and description. Local invariant features

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

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Scale Invariant Feature Transform

Object Recognition with Invariant Features

Scale Invariant Feature Transform

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Motion Estimation and Optical Flow Tracking

Local features: detection and description May 12 th, 2015

Scale Invariant Feature Transform by David Lowe

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

Image matching. Announcements. Harder case. Even harder case. Project 1 Out today Help session at the end of class. by Diva Sian.

Local features and image matching. Prof. Xin Yang HUST

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

Local Feature Detectors

Key properties of local features

Building a Panorama. Matching features. Matching with Features. How do we build a panorama? Computational Photography, 6.882

Implementing the Scale Invariant Feature Transform(SIFT) Method

Edge and corner detection

Midterm Wed. Local features: detection and description. Today. Last time. Local features: main components. Goal: interest operator repeatability

Feature Based Registration - Image Alignment

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Feature Detection. Raul Queiroz Feitosa. 3/30/2017 Feature Detection 1

School of Computing University of Utah

Image Features. Work on project 1. All is Vanity, by C. Allan Gilbert,

SIFT - scale-invariant feature transform Konrad Schindler

Motion illusion, rotating snakes

Lecture 6: Finding Features (part 1/2)

Feature descriptors and matching

Obtaining Feature Correspondences

Bias-Variance Trade-off (cont d) + Image Representations

Local Features Tutorial: Nov. 8, 04

Implementation and Comparison of Feature Detection Methods in Image Mosaicing

CS 558: Computer Vision 4 th Set of Notes

2D Image Processing Feature Descriptors

Lecture: RANSAC and feature detectors

CS5670: Computer Vision

Feature Matching and RANSAC

Local Image Features

CS 378: Autonomous Intelligent Robotics. Instructor: Jivko Sinapov

Edge and Texture. CS 554 Computer Vision Pinar Duygulu Bilkent University

Ulas Bagci

Corner Detection. GV12/3072 Image Processing.

Click to edit title style

Automatic Image Alignment (feature-based)

Patch-based Object Recognition. Basic Idea

Evaluation and comparison of interest points/regions

Feature Matching and Robust Fitting

Anno accademico 2006/2007. Davide Migliore

A Comparison of SIFT, PCA-SIFT and SURF

Lecture 6: Edge Detection

Local Image Features

Distinctive Image Features from Scale-Invariant Keypoints

CS4670: Computer Vision

Local Patch Descriptors

Automatic Image Alignment

Local Image Features

Local Image preprocessing (cont d)

Image Stitching. Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi

Image gradients and edges April 11 th, 2017

Image gradients and edges April 10 th, 2018

Image Segmentation and Registration

Prof. Feng Liu. Spring /26/2017

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013

Wikipedia - Mysid

Lecture 10 Detectors and descriptors

Automatic Image Alignment

TA Section 7 Problem Set 3. SIFT (Lowe 2004) Shape Context (Belongie et al. 2002) Voxel Coloring (Seitz and Dyer 1999)

Chapter 3 Image Registration. Chapter 3 Image Registration

A Novel Algorithm for Color Image matching using Wavelet-SIFT

Feature Extraction and Image Processing, 2 nd Edition. Contents. Preface

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection

Distinctive Image Features from Scale-Invariant Keypoints

Straight Lines and Hough

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

A NEW FEATURE BASED IMAGE REGISTRATION ALGORITHM INTRODUCTION

Lecture 4: Spatial Domain Transformations

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur

Feature Detection and Matching

Performance Evaluation of Scale-Interpolated Hessian-Laplace and Haar Descriptors for Feature Matching

What is an edge? Paint. Depth discontinuity. Material change. Texture boundary

CS664 Lecture #21: SIFT, object recognition, dynamic programming

Coarse-to-fine image registration

Comparison of Feature Detection and Matching Approaches: SIFT and SURF

[ ] Review. Edges and Binary Images. Edge detection. Derivative of Gaussian filter. Image gradient. Tuesday, Sept 16

Image Matching. AKA: Image registration, the correspondence problem, Tracking,

Transcription:

Recap: Smoothing with a Gaussian Computer Vision Computer Science Tripos Part II Dr Christopher Town Recall: parameter σ is the scale / width / spread of the Gaussian kernel, and controls the amount of smoothing. Recap: Effect of σ on derivatives σ = pixel σ = 3 pixels The apparent structures differ depending on Gaussian s scale parameter. Larger values: larger scale edges detected Smaller values: finer features detected

Scale Invariant Detection Scale Invariant Detection Consider regions (e.g. circles) of different sizes around a point Regions of corresponding sizes will look the same in both images The problem: how do we choose corresponding circles independently in each image? f Scale Invariant Detection Solution: Design a function on the region (circle), which is scale invariant (the same for corresponding regions, even if they are at different scales) Image scale = / f Image Scale Invariant Detection: Summary Given: two images of the same scene with a large scale difference between them Goal: find the same interest points independently in each image Solution: search for extrema of suitable functions in scale and in space (over the image) region size region size Methods:. Harris-Laplacian [Mikolajczyk, Schmid]: maximise Laplacian over scale, Harris measure of corner response over the image. SIFT [Lowe]: maximise Difference of Gaussians over scale and space Image Matching Invariant local features -Algorithm for finding points and representing their patches should produce similar results even when conditions vary -Buzzword is invariance geometric invariance: translation, rotation, scale photometric invariance: brightness, exposure, Feature Descriptors

Feature detection Local measure of feature uniqueness How does the window change when you shift it? Scale invariant detection Suppose you re looking for corners flat region: no change in all directions edge : no change along the edge direction corner : significant change in all directions Key idea: find scale that gives local maximum response in both position and scale: use a Laplacian approximated by difference between two Gaussian filtered images with different sigmas) Slide adapted from Darya Frolova, Denis Simakov, Weizmann Institute. Gaussian Pyramid All the extra levels add very little overhead for memory or computation! Low resolution The Gaussian Pyramid G 4 ( G 3 * gaussian) G ( G * gaussian blur ) 3 blur G ( G * gaussian) blur G ( G 0 * gaussian) G 0 Image blur Source: Irani & Basri High resolution Source: Irani & Basri G 0 Gaussian Pyramid G n G G 7 The Laplacian Pyramid L G expand( G ) i i i - = - = Laplacian Pyramid Ln G n - = L Why is this useful? L L 0 Dr Source: Chris Irani Town & Basri Laplacian ~ Difference of Gaussian - = DoG = Difference of Gaussians Cheap approximation no derivatives needed. - = B. Leibe 3

DoG approximation to LoG We can efficiently approximate the (scale-normalised) Laplacian of a Gaussian with a difference of Gaussians: B. Leibe Scale-Space Pyramid Multiple scales must be examined to identify scale-invariant features An efficient function is to compute the Difference of Gaussian (DOG) pyramid (Burt & Adelson, 983) Resample Blur Subtract Gaussian pyramid Laplacian pyramid algorithm x G x x x x3 ( I F G x 3 3) 3 Notice that each layer shows detail at a particular scale --- these are, basically, bandpass filtered versions of the image. F G x ( I F G x ) Laplacian pyramid ( I F G x ) 4

Showing, at full resolution, the information captured at each level of a Gaussian (top) and Laplacian (bottom) pyramid. SIFT Scale Invariant Feature Transform http://www-bcs.mit.edu/people/adelson/pub_pdfs/pyramid83.pdf From: David Lowe (004) DoG approximates scale-normalised Laplacian of a Gaussian (heat diffusion equation) Octave increment in scale of the Gaussian Pyramid followed by factor-of-two downsampling (for efficiency). To achieve better performance, each octave i is further divided into s intervals. Remember that we defined neighbouring scales as So starting with some, the next scale parameter will be, followed by etc., so that after s sublevels of the pyramid we have a complete octave with Therefore 5

Key point localization with DoG Detect extrema of difference-of-gaussian (DoG) in scale space Then reject points with low contrast (threshold) Eliminate edge responses Candidate keypoints: list of (x,y,σ) Example of Keypoint Detection (a) 33x89 image (b) 83 DoG extrema (c) 79 left after peak value threshold (d) 536 left after testing ratio of principle curvatures (removing edge responses) Slide credit: David Lowe Slide credit: David Lowe Feature Descriptors: SIFT Scale Invariant Feature Transform Descriptor computation: Divide patch into 4x4 sub-patches: 6 cells Compute histogram of gradient orientations (8 reference angles) for all pixels inside each sub-patch Resulting descriptor: 4x4x8 = 8 dimensions Rotation Invariant Descriptors Find local orientation Dominant direction of gradient for the image patch Rotate patch according to this angle This puts the patches into a canonical orientation. David G. Lowe. "Distinctive image features from scale-invariant keypoints. IJCV 60 (), pp. 9-0, 004. Slide credit: Svetlana Lazebnik Slide credit: Svetlana Lazebnik, Matthew Brown 6

Orientation Normalisation: Computation Compute orientation histogram Select dominant orientation Normalise: rotate to fixed orientation [Lowe, SIFT, 999] Feature stability to noise Match features after random change in image scale & orientation, with differing levels of image noise Find nearest neighbor in database of 30,000 features Slide adapted from David Lowe 0 p 37 Feature stability to affine change Match features after random change in image scale & orientation, with % image noise, and affine distortion Find nearest neighbor in database of 30,000 features Distinctiveness of features Vary size of database of features, with 30 degree affine change, % image noise Measure % correct for single nearest neighbor match Working with SIFT Descriptors SIFT One image yields: n 8-dimensional descriptors: each one is a histogram of the gradient orientations within a patch [n x 8 matrix] n scale parameters specifying the size of each patch [n x vector] n orientation parameters specifying the angle of the patch [n x vector] n D points giving positions of the patches [n x matrix] Slide credit: Steve Seitz D. Lowe, 004 7

Feature matching Image stitching Slides from Steve Seitz and Rick Szeliski Brown, Lowe, 007 Nearest-neighbor matching Solve following problem for all feature vectors, x: Nearest-neighbour matching is the major computational bottleneck Linear search performs dn operations for n features and d dimensions No exact methods are faster than linear search for d>0 Approximate methods can be much faster, but at the cost of missing some correct matches. Failure rate gets worse for large datasets. Key idea: Approximate k-d tree matching Search k-d tree bins in order of distance from query Requires use of a priority queue K-d tree construction Simple D example K-d tree query 4 6 l 5 8 l 6 l 3 l 3 8 9 l 0 0 l7 l 4 7 l 8 l l l 3 l 4 l 5 l 7 l 6 5 4 l 0 8 l 9 4 6 l l 9 l q l 5 l 5 8 6 l 3 l 3 8 9 l 0 0 l7 l 4 7 l 8 l l l 3 l 4 l 5 l 7 l 6 5 4 l 0 8 l 9 3 9 0 6 7 3 9 0 6 7 Slide credit: Anna Atramentov Slide credit: Anna Atramentov 8

Recognition with Local Features Image content is transformed into local features that are invariant to translation, rotation, and scale Goal: Verify if they belong to a consistent configuration Fourier transform = * Slide credit: David Lowe Local Features, e.g. SIFT 49 Fourier transform Fourier bases are global: each transform coefficient depends on all pixel locations. pixel domain image Gaussian pyramid Laplacian pyramid = * = * Gaussian pyramid pixel image Laplacian pyramid pixel image Overcomplete representation. Low-pass filters, sampled appropriately for their blur. Overcomplete representation. Transformed pixels represent bandpassed image information. Edge Fitting Edge Detection: The process of labeling the locations in the image where the gray level s rate of change is high. OUTPUT: edgels locations, direction, strength Edge Integration, Contour fitting: The process of combining local and perhaps sparse and noncontiguous edgel -data into meaningful, long edge curves (or closed contours) for segmentation OUTPUT: edges/curves consistent with the local data 9

Framework for snakes A higher level process or a user initialises any curve close to the object boundary. The snake then starts deforming and moving towards the desired object boundary. In the end it completely shrink-wraps around the object. courtesy Modeling The contour is defined in the (x, y) plane of an image as a parametric curve v(s)=(x(s), y(s)) Contour is said to possess an energy (E snake ) which is defined as the sum of the three energy terms. E E E E snake int ernal external constra int The energy terms are defined in a way such that the final position of the contour will have minimum energy (E min ) Therefore our problem of detecting objects reduces to an energy minimisation problem. (Diagram courtesy Snakes, shapes, gradient vector flow, Xu, Prince) A. Poonawala Internal Energy (E int ) Depends on the intrinsic properties of the curve. Sum of elastic energy and bending energy. Elastic Energy (E elastic ): The curve is treated as an elastic rubber band possessing elastic potential energy. It discourages stretching by introducing tension. E elastic ( s ) vs ds s Weight (s) allows us to control elastic energy along different parts of the contour. Considered to be constant for many applications. Responsible for shrinking of the contour. v s d v ( s ) d s Elastic force Generated by elastic potential energy of the curve. F elastic v Characteristics (refer diagram) ss A. Poonawala A. Poonawala Bending Energy (E bending ): The snake is also considered to behave like a thin metal strip giving rise to bending energy. Bending force Generated by the bending energy of the contour. Characteristics (refer diagram): It is defined as sum of squared curvature of the contour. E bending ( s ) v ss ds (s) plays a similar role to (s). Bending energy is minimum for a circle. s Total internal energy of the snake can be defined as E E E v v ) ds int Initial curve (High bending energy) Final curve deformed by bending force. (low bending energy) Thus the bending energy tries to smooth out the curve. elastic bending s ss s A. Poonawala A. Poonawala 0

External energy of the contour (E ext ) Image fitting Eext Eimage ( v( s)) ds For example s A. Poonawala leafmv.mpg dancemv.mpg http://www.robots.ox.ac.uk/~ab/dynamics.html

Generating Functions Since the wavelets are dilates, translates, and rotates of each other, such a transform seeks to extract image structure in a way that may be invariant to dilation, translation, and rotation of the original image or pattern. c (x,y) e x y cos u 0 x Gabor wavelets u 0 =0 U 0 =0. U 0 =0. s (x, y) e x y sin u 0 x A. Torralba A. Torralba Dilation and rotation Frequency, orientation and symmetry (phase)

Wavelet (QMF) transform Steerable pyramid Wavelet pyramid = * Multiple orientations at one scale = * Ortho-normal transform (like Fourier transform), but with localized basis functions. pixel image Steerable pyramid Multiple orientations at the next scale the next scale pixel image Over-complete representation, but non-aliased subbands. 3