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

Similar documents
Feature extraction: Corners and blobs

Image Analysis. Feature extraction: corners and blobs

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

Blob Detection CSC 767

SIFT keypoint detection. D. Lowe, Distinctive image features from scale-invariant keypoints, IJCV 60 (2), pp , 2004.

Lecture 8: Interest Point Detection. Saad J Bedros

Recap: edge detection. Source: D. Lowe, L. Fei-Fei

Blobs & Scale Invariance

Detectors part II Descriptors

Lecture 8: Interest Point Detection. Saad J Bedros

Advances in Computer Vision. Prof. Bill Freeman. Image and shape descriptors. Readings: Mikolajczyk and Schmid; Belongie et al.

Keypoint extraction: Corners Harris Corners Pkwy, Charlotte, NC

Feature detectors and descriptors. Fei-Fei Li

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

Feature detectors and descriptors. Fei-Fei Li

Lecture 12. Local Feature Detection. Matching with Invariant Features. Why extract features? Why extract features? Why extract features?

Extract useful building blocks: blobs. the same image like for the corners

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

Local Features (contd.)

Achieving scale covariance

CS4670: Computer Vision Kavita Bala. Lecture 7: Harris Corner Detec=on

Properties of detectors Edge detectors Harris DoG Properties of descriptors SIFT HOG Shape context

Invariant local features. Invariant Local Features. Classes of transformations. (Good) invariant local features. Case study: panorama stitching

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

INTEREST POINTS AT DIFFERENT SCALES

CS5670: Computer Vision

Overview. Harris interest points. Comparing interest points (SSD, ZNCC, SIFT) Scale & affine invariant interest points

Overview. Introduction to local features. Harris interest points + SSD, ZNCC, SIFT. Evaluation and comparison of different detectors

Feature extraction: Corners and blobs

Lecture 6: Finding Features (part 1/2)

CS 3710: Visual Recognition Describing Images with Features. Adriana Kovashka Department of Computer Science January 8, 2015

Corner detection: the basic idea

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

SURF Features. Jacky Baltes Dept. of Computer Science University of Manitoba WWW:

Instance-level recognition: Local invariant features. Cordelia Schmid INRIA, Grenoble

Instance-level l recognition. Cordelia Schmid INRIA

EE 6882 Visual Search Engine

Instance-level recognition: Local invariant features. Cordelia Schmid INRIA, Grenoble

Scale & Affine Invariant Interest Point Detectors

Lecture 7: Finding Features (part 2/2)

SIFT: Scale Invariant Feature Transform

SIFT: SCALE INVARIANT FEATURE TRANSFORM BY DAVID LOWE

Lecture 7: Finding Features (part 2/2)

Harris Corner Detector

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

Given a feature in I 1, how to find the best match in I 2?

Wavelet-based Salient Points with Scale Information for Classification

Machine vision, spring 2018 Summary 4

Filtering and Edge Detection

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

Image matching. by Diva Sian. by swashford

Scale & Affine Invariant Interest Point Detectors

Scale-space image processing

Lecture 05 Point Feature Detection and Matching

Lecture 7: Edge Detection

* h + = Lec 05: Interesting Points Detection. Image Analysis & Retrieval. Outline. Image Filtering. Recap of Lec 04 Image Filtering Edge Features

Instance-level recognition: Local invariant features. Cordelia Schmid INRIA, Grenoble

Lecture 04 Image Filtering

arxiv: v1 [cs.cv] 10 Feb 2016

Overview. Introduction to local features. Harris interest points + SSD, ZNCC, SIFT. Evaluation and comparison of different detectors

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

Perception III: Filtering, Edges, and Point-features

Maximally Stable Local Description for Scale Selection

Affine Adaptation of Local Image Features Using the Hessian Matrix

Computer Vision Lecture 3

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

Image Processing 1 (IP1) Bildverarbeitung 1

Laplacian Filters. Sobel Filters. Laplacian Filters. Laplacian Filters. Laplacian Filters. Laplacian Filters

6.869 Advances in Computer Vision. Prof. Bill Freeman March 1, 2005

Instance-level l recognition. Cordelia Schmid & Josef Sivic INRIA

Templates, Image Pyramids, and Filter Banks

Edge Detection. CS 650: Computer Vision

Feature Extraction and Image Processing

Feature Vector Similarity Based on Local Structure

SIFT, GLOH, SURF descriptors. Dipartimento di Sistemi e Informatica

Image Stitching II. Linda Shapiro CSE 455

Image Stitching II. Linda Shapiro EE/CSE 576

6.869 Advances in Computer Vision. Bill Freeman, Antonio Torralba and Phillip Isola MIT Oct. 3, 2018

Orientation Map Based Palmprint Recognition

Multiscale Autoconvolution Histograms for Affine Invariant Pattern Recognition

SURVEY OF APPEARANCE-BASED METHODS FOR OBJECT RECOGNITION

Robert Collins CSE598G Mean-Shift Blob Tracking through Scale Space

Introduction to Computer Vision

Outline. Convolution. Filtering

The state of the art and beyond

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

EECS150 - Digital Design Lecture 15 SIFT2 + FSM. Recap and Outline

Edge Detection in Computer Vision Systems

Edge Detection. Computer Vision P. Schrater Spring 2003

Motion Estimation (I) Ce Liu Microsoft Research New England

Edge Detection. Image Processing - Computer Vision

Interest Operators. All lectures are from posted research papers. Harris Corner Detector: the first and most basic interest operator

Face detection and recognition. Detection Recognition Sally

Taking derivative by convolution

Roadmap. Introduction to image analysis (computer vision) Theory of edge detection. Applications

Optical Flow, Motion Segmentation, Feature Tracking

Multimedia Databases. Previous Lecture. 4.1 Multiresolution Analysis. 4 Shape-based Features. 4.1 Multiresolution Analysis

Shape of Gaussians as Feature Descriptors

Multimedia Databases. Wolf-Tilo Balke Philipp Wille Institut für Informationssysteme Technische Universität Braunschweig

Transcription:

Edges and Scale Image Features From Sandlot Science Slides revised from S. Seitz, R. Szeliski, S. Lazebnik, etc. Origin of Edges surface normal discontinuity depth discontinuity surface color discontinuity Detecting edges What s an edge? intensity discontinuity (= rapid change) How can we find large changes in intensity? gradient operator seems like the right solution illumination discontinuity Edges are caused by a variety of factors Effects of noise Consider a single row or column of the image Plotting intensity as a function of position gives a signal Solution: smooth first Where is the edge? Where is the edge? Look for peaks in 1

Associative property of convolution This saves us one operation: Laplacian of Gaussian Consider Laplacian of Gaussian operator Where is the edge? Zero-crossings of bottom graph D edge detection filters The Sobel operator Common approximation of derivative of Gaussian Laplacian of Gaussian -1 0 1-0 -1 0 1 1 1 0 0 0-1 - -1 Gaussian derivative of Gaussian is the Laplacian operator: The standard defn. of the Sobel operator omits the 1/8 term doesn t make a difference for edge detection the 1/8 term is needed to get the right gradient value, however The effect of scale on edge detection Some times we want many resolutions larger larger Scale space (Witkin 83) Known as a Gaussian Pyramid [Burt and Adelson, 1983] In computer graphics, a mip map [Williams, 1983] A precursor to wavelet transform Gaussian Pyramids have all sorts of applications in computer vision

Gaussian pyramid construction Subsampling with Gaussian pre-filtering filter kernel Repeat Filter (called prefiltering ) Subsample (faster approach: filter only ¼ of pixels) Until minimum resolution reached can specify desired number of levels (e.g., 3-level pyramid) The whole pyramid is only 4/3 the size of the original image! Gaussian 1/ Filter the image, then subsample G 1/4 G 1/8 Subsampling with Gaussian pre-filtering Subsampling without pre-filtering Gaussian 1/ G 1/4 G 1/8 Filter the image, then subsample 1/ 1/4 (x zoom) 1/8 (4x zoom) Corners Why extract features? Motivation: panorama stitching We have two images how do we combine them? 3

Why extract features? Motivation: panorama stitching We have two images how do we combine them? Why extract features? Motivation: panorama stitching We have two images how do we combine them? Step 1: extract features Step : match features Step 1: extract features Step : match features Step 3: align images Characteristics of good features Repeatability The same feature can be found in several images despite geometric and photometric transformations Saliency Each feature has a distinctive description Compactness and efficiency Many fewer features than image pixels Locality A feature occupies a relatively small area of the image; robust to clutter and occlusion Applications Feature points are used for: Motion tracking Image alignment 3D reconstruction Object recognition Indexing and database retrieval Robot navigation Finding Corners The Basic Idea We should easily recognize the point by looking through a small window Shifting a window in any direction should give a large change in intensity Key property: in the region around a corner, image gradient has two or more dominant directions Corners are repeatable and distinctive C.Harris and M.Stephens. "A Combined Corner and Edge Detector. Proceedings of the 4th Alvey Vision Conference: pages 147--151. flat region: no change in all directions Source: A. Efros edge : no change along the edge direction corner : significant change in all directions 4

Harris Detector: Mathematics Change in appearance for the shift [u,v]: xy, Euv (, ) wxy (, ) Ix ( uy, v) Ixy (, ) Harris Detector: Mathematics Change in appearance for the shift [u,v]: xy, Euv (, ) wxy (, ) Ix ( uy, v) Ixy (, ) Window function Shifted hf intensity Intensity Second-order Taylor expansion of E(u,v) about (0,0) (bilinear approximation for small shifts): Window function w(x,y) = 1 in window, 0 outside or Gaussian E( u, v) E(0,0) [ u Eu (0,0) 1 v] [ u Ev(0,0) Euu (0,0) v] Euv (0,0) Euv (0,0) u E vv(0,0) v Source: R. Szeliski Harris Detector: Mathematics The bilinear approximation simplifies to E ( u, v) [ u v] u M v where M is a matrix computed from image derivatives: I x II x y M w( x, y) xy, I xiy Iy M Interpreting the second moment matrix The surface E(u,v) is locally approximated by a quadratic form. Let s try to understand its shape. u E ( u, v ) [ u v ] M v I x I xi M I xi y I y y Interpreting the second moment matrix First, consider the axis-aligned case (gradients are either horizontal or vertical) M I x I xi y I xi y 1 0 I y 0 If either λ is close to 0, then this is not a corner, so look for locations where both are large. General Case Since M is symmetric, we have M R 1 0 0 R 1 We can visualize M as an ellipse with axis lengths determined by the eigenvalues and orientation determined by R Ellipse equation: u [ u v] M const v direction of the fastest change ( max ) -1/ ( min ) -1/ direction of the slowest change 5

Visualization of second moment matrices Visualization of second moment matrices Interpreting the eigenvalues Classification of image points using eigenvalues of M: Edge >> 1 Corner 1 and are large, 1 ~ ; E increases in all directions Corner response function R det( M ) trace( M ) ( ) α: constant (0.04 to 0.06) Edge R < 0 1 Corner R > 0 1 1 and are small; E is almost constant in all directions Flat region Edge 1 >> Flat region R small Edge R < 0 1 Harris detector: Steps Harris Detector: Steps 1. Compute Gaussian derivatives at each pixel. Compute second moment matrix M in a Gaussian window around each pixel 3. Compute corner response function R 4. Threshold R 5. Find local l maxima of response function (nonmaximum suppression) 6

Harris Detector: Steps Compute corner response R Harris Detector: Steps Find points with large corner response: R>threshold Harris Detector: Steps Take only the points of local maxima of R Harris Detector: Steps Invariance We want features to be detected despite geometric or photometric changes in the image: if we have two transformed versions of the same image, features should be detected in corresponding locations Models of Image Change Geometric Rotation Scale Affine valid for: orthographic camera, locally planar object Photometric Affine intensity change (I a I + b) 7

Harris Detector: Invariance Properties Rotation Harris Detector: Invariance Properties Affine intensity change Ellipse rotates but its shape (i.e. eigenvalues) remains the same Corner response R is invariant to image rotation R threshold Only derivatives are used => invariance to intensity shift I I + b Intensity scale: I a I x (image coordinate) R x (image coordinate) Partially invariant to affine intensity change Harris Detector: Invariance Properties Blobs Scaling Corner All points will be classified as edges Not invariant to scaling Scale-invariant feature detection Goal: independently detect corresponding regions in scaled versions of the same image Need scale selection mechanism for finding characteristic region size that is covariant with the image transformation Scale-invariant features: Blobs 8

Recall: Edge detection Edge detection, Take f Edge f Edge d g dx Derivative of Gaussian Second derivative d g of Gaussian dx (Laplacian) d f dx g Edge = maximum of derivative d g dx f Edge = zero crossing of second derivative Source: S. Seitz Source: S. Seitz From edges to blobs Edge = ripple Blob = superposition of two ripples Scale selection We want to find the characteristic scale of the blob by convolving it with Laplacians at several scales and looking for the maximum response However, Laplacian response decays as scale increases: maximum Spatial selection: the magnitude of the Laplacian response will achieve a maximum at the center of the blob, provided the scale of the Laplacian is matched to the scale of the blob original signal (radius=8) increasing σ Why does this happen? Scale normalization The response of a derivative of Gaussian filter to a perfect step edge decreases as σ increases 1 Scale normalization The response of a derivative of Gaussian filter to a perfect step edge decreases as σ increases To keep response the same (scale-invariant), must multiply Gaussian derivative by σ Laplacian is the second Gaussian derivative, so it must be multiplied by σ 9

Effect of scale normalization Original signal Unnormalized Laplacian response Blob detection in D Laplacian of Gaussian: Circularly symmetric operator for blob detection in D Scale-normalized Laplacian response maximum g g g x y Blob detection in D Laplacian of Gaussian: Circularly symmetric operator for blob detection in D Scale selection At what scale does the Laplacian achieve a maximum response for a binary circle of radius r? r Scale-normalized: g g g x y norm image Laplacian Scale selection The D Laplacian is given by ( x y ) e ( x y )/ Therefore, for a binary circle of radius r, the Laplacian achieves a maximum at r / (up to scale) Characteristic scale We define the characteristic scale as the scale that produces peak of Laplacian response r Laplacian response characteristic scale image r / scale (σ) T. Lindeberg (1998). "Feature detection with automatic scale selection." International Journal of Computer Vision 30 (): pp 77--116. 10

Scale-space blob detector 1. Convolve image with scale-normalized Laplacian at several scales. Find maxima of squared Laplacian response in scale-space Scale-space blob detector: Example Scale-space blob detector: Example Scale-space blob detector: Example Efficient implementation Approximating the Laplacian with a difference of Gaussians: Efficient implementation L Gxx x y Gyy x y (,, ) (,, ) (Laplacian) DoGGxyk (,, ) Gxy (,, ) (Difference of Gaussians) David G. Lowe. "Distinctive image features from scale-invariant keypoints. IJCV 60 (), pp. 91-110, 004. 11

From scale invariance to affine invariance Affine adaptation Recall: M I I I x x y 1 1 w( x, y) R y I xi y I, y 0 x We can visualize M as an ellipse with axis lengths determined by the eigenvalues and orientation determined by R Ellipse equation: u [ u v] M const v direction of the fastest change ( max ) -1/ ( min ) -1/ 0 R direction of the slowest change Affine adaptation example Affine adaptation example Scale-invariant regions (blobs) Affine-adapted blobs Affine normalization The second moment ellipse can be viewed as the characteristic shape of a region We can normalize the region by transforming the ellipse into a unit circle Orientation ambiguity There is no unique transformation from an ellipse to a unit circle We can rotate or flip a unit circle, and it still stays a unit circle 1

Orientation ambiguity There is no unique transformation from an ellipse to a unit circle We can rotate or flip a unit circle, and it still stays a unit circle So, to assign a unique orientation to keypoints: Create histogram of local gradient directions in the patch Assign canonical orientation at peak of smoothed histogram Affine adaptation Problem: the second moment window determined by weights w(x,y) must match the characteristic shape of the region Solution: iterative approach Use a circular window to compute second moment matrix Perform affine adaptation to find an ellipse-shaped window Recompute second moment matrix using new window and iterate 0 Iterative affine adaptation Summary: Feature extraction Extract affine regions Normalize regions Eliminate rotational ambiguity Compute appearance descriptors SIFT (Lowe 04) K. Mikolajczyk and C. Schmid, Scale and Affine invariant interest point detectors, IJCV 60(1):63-86, 004. http://www.robots.ox.ac.uk/~vgg/research/affine/ Invariance vs. covariance Invariance: features(transform(image)) = features(image) Covariance: features(transform(image)) = transform(features(image)) Covariant detection => invariant description 13