Interest Points Computational Photography Derek Hoiem, University of Illinois 10/14/10 Galatea of the Spheres Salvador Dali.

Slides:



Advertisements
Similar presentations
Distinctive Image Features from Scale-Invariant Keypoints
Advertisements

Interest points CSE P 576 Ali Farhadi Many slides from Steve Seitz, Larry Zitnick.
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
Feature Matching and Robust Fitting Computer Vision CS 143, Brown James Hays Acknowledgment: Many slides from Derek Hoiem and Grauman&Leibe 2008 AAAI Tutorial.
Computer Vision CS 143, Brown James Hays
TP14 - Local features: detection and description Computer Vision, FCUP, 2014 Miguel Coimbra Slides by Prof. Kristen Grauman.
CSE 473/573 Computer Vision and Image Processing (CVIP)
Matching with Invariant Features
Computational Photography
Locating and Describing Interest Points
Scale Invariant Feature Transform
Distinctive Image Feature from Scale-Invariant KeyPoints
Feature extraction: Corners and blobs
Interest Points and Corners Computer Vision CS 143, Brown James Hays Slides from Rick Szeliski, Svetlana Lazebnik, Derek Hoiem and Grauman&Leibe 2008 AAAI.
Automatic Matching of Multi-View Images
CS4670: Computer Vision Kavita Bala Lecture 8: Scale invariance.
Scale-Invariant Feature Transform (SIFT) Jinxiang Chai.
Computational Photography lecture 14 – Matching Keypoints CS 590 Spring 2014 Prof. Alex Berg (Credits to many other folks on individual slides)
Overview Introduction to local features
Internet-scale Imagery for Graphics and Vision James Hays cs195g Computational Photography Brown University, Spring 2010.
Locating and Describing Interest Points Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/02/10 Acknowledgment: Many keypoint slides.
Image Stitching Tamara Berg CSE 590 Computational Photography Many slides from Alyosha Efros & Derek Hoiem.
Overview Harris interest points Comparing interest points (SSD, ZNCC, SIFT) Scale & affine invariant interest points Evaluation and comparison of different.
Local invariant features Cordelia Schmid INRIA, Grenoble.
Computer Vision Lecture 4 FEATURE DETECTION. Feature Detection Feature Description Feature Matching Today’s Topics 2.
Photo by Carl Warner. Feature Matching and Robust Fitting Computer Vision James Hays Acknowledgment: Many slides from Derek Hoiem and Grauman&Leibe.
Interest Points Computational Photography Derek Hoiem, University of Illinois 10/24/13 Galatea of the Spheres Salvador Dali.
CSE 185 Introduction to Computer Vision Local Invariant Features.
CS 1699: Intro to Computer Vision Local Image Features: Extraction and Description Prof. Adriana Kovashka University of Pittsburgh September 17, 2015.
CSCE 643 Computer Vision: Extractions of Image Features Jinxiang Chai.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Local invariant features Cordelia Schmid INRIA, Grenoble.
Overview Introduction to local features Harris interest points + SSD, ZNCC, SIFT Scale & affine invariant interest point detectors Evaluation and comparison.
Feature extraction: Corners and blobs. Why extract features? Motivation: panorama stitching We have two images – how do we combine them?
Features, Feature descriptors, Matching Jana Kosecka George Mason University.
CSE 185 Introduction to Computer Vision Feature Matching.
Project 3 questions? Interest Points and Instance Recognition Computer Vision CS 143, Brown James Hays 10/21/11 Many slides from Kristen Grauman and.
Local features: detection and description
CS654: Digital Image Analysis
Presented by David Lee 3/20/2006
Interest Points Computational Photography Derek Hoiem, University of Illinois 10/23/12 Galatea of the Spheres Salvador Dali.
Midterm Review Computational Photography Derek Hoiem, University of Illinois 11/06/12 Magritte, Homesickness.
CSE 185 Introduction to Computer Vision Local Invariant Features.
Recognizing specific objects Matching with SIFT Original suggestion Lowe, 1999,2004.
SIFT Scale-Invariant Feature Transform David Lowe
Interest Points EE/CSE 576 Linda Shapiro.
Lecture 13: Feature Descriptors and Matching
Presented by David Lee 3/20/2006
Lecture 07 13/12/2011 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
CS 4501: Introduction to Computer Vision Sparse Feature Detectors: Harris Corner, Difference of Gaussian Connelly Barnes Slides from Jason Lawrence, Fei.
Local features: main components
Scale Invariant Feature Transform (SIFT)
Project 1: hybrid images
Motion illusion, rotating snakes
Corners and interest points
TP12 - Local features: detection and description
Source: D. Lowe, L. Fei-Fei Recap: edge detection Source: D. Lowe, L. Fei-Fei.
Scale and interest point descriptors
Local features: detection and description May 11th, 2017
Feature description and matching
Feature Tracking and Optical Flow
CAP 5415 Computer Vision Fall 2012 Dr. Mubarak Shah Lecture-5
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
SIFT keypoint detection
CSE 185 Introduction to Computer Vision
Lecture VI: Corner and Blob Detection
Feature descriptors and matching
Presentation transcript:

Interest Points Computational Photography Derek Hoiem, University of Illinois 10/14/10 Galatea of the Spheres Salvador Dali

Today’s class Review of recent materials Proj 3 favorites Interest points

Review of “The Digital Canvas” Cutting Growing Blending Capturing Measuring Reconstructing

Cutting: Intelligent Scissors and Graph Cuts You can treat the image as a graph – Nodes = pixels, edges connect neighboring pixels Intelligent Scissors: Good boundaries are a short (high gradient) path through the graph

Cutting: Intelligent Scissors and Graph Cuts You can treat the image as a graph – Nodes = pixels, edges connect neighboring pixels Graph cut: Good boundaries are a cheap cut, where some pixels want to be foreground, and some to be background

Growing: Texture synthesis and hole-filling Transfer based on simple matching is a powerful idea – Hallucinate new pixels from their surroundings Efros & Leung, Criminisi et al.: To fill in pixels, take the center pixel from a patch that matches known surrounding values. Work from the outside in, prioritizing pixels with strong gradients.

Pasting: Compositing and Blending Gradient-domain fusion: Treat the pixels as variables to solve for Adair’s Poisson Blending Result Poisson editing: make blended gradient as close as possible to source by solving a system of linear equations.

Pasting: Compositing and Blending Laplacian blending: blend low-frequency slowly, high frequency quickly – Blend with alpha mask values ranging from 0 to 1 laplacian level 4 laplacian level 2 laplacian level 0

Image warping Map between 2D coordinates using linear projection

Image morphing = warp + blend Warp coordinates with triangular mesh Transfer pixels using affine transforms that map between original and intermediate triangles, then blend – Use mapping from source to target

Fun with faces Use corresponding points to average, manipulate, and extrapolate PCA: compactly represent a large number of variables with a few coefficients by projecting onto directions of maximum variation Average face Make more feminine

Pinhole camera model Linear projection from 3D to 2D – Be familiar with projection matrix (focal length, optical center, etc.) Parallel lines in 3D intersect at a vanishing point in the image Vanishing point Vanishing line Vanishing point Vertical vanishing point (at infinity)

Single-view metrology and focus Can measure relative object heights using vanishing point tricks Aperture size and focal length control amount of exposure needed, depth of field, field of view

Single-view 3D Reconstruction Technically impossible to go from 2D to 3D, but we can do it with simplifying models – Need some interaction or recognition algorithms – Uses basic VP tricks and projective geometry

Project 3: Class favorites Brett Jones Brian Tran RJ Marsan Jia-bin Huang

Next section Correspondence – How do we find matching patches in two images? – How can we automatically align two images of the same scene? – How do we find images with content-based queries? – How do we tell if two pictures are of the same person’s face? – How can we detect objects from a particular category?

How can we align two pictures? What about global matching?

How can we align two pictures? Global matching? – But what if Not just translation change, but rotation and scale? Only small pieces of the pictures match?

Today: Keypoint Matching K. Grauman, B. Leibe B1B1 B2B2 B3B3 A1A1 A2A2 A3A3 1. Find a set of distinctive key- points 3. Extract and normalize the region content 2. Define a region around each keypoint 4. Compute a local descriptor from the normalized region 5. Match local descriptors

Main challenges Change in position, scale, and rotation Change in viewpoint Occlusion Articulation, change in appearance

Question Why not just take every patch in the original image and find best match in second image?

Goals for Keypoints Detect points that are repeatable and distinctive

Key trade-offs More Points More Repeatable B1B1 B2B2 B3B3 A1A1 A2A2 A3A3 Localization More Robust More Selective Description Robust to occlusion Works with less texture Robust detection Precise localization Deal with expected variations Maximize correct matches Minimize wrong matches

Keypoint Localization Goals: –Repeatable detection –Precise localization –Interesting content K. Grauman, B. Leibe

Which patches are easier to match? ?

Choosing interest points If you wanted to meet a friend would you say a)“Let’s meet on campus.” b)“Let’s meet on Green street.” c)“Let’s meet at Green and Wright.” Or if you were in a secluded area: a)“Let’s meet in the Plains of Akbar.” b)“Let’s meet on the side of Mt. Doom.” c)“Let’s meet on top of Mt. Doom.”

Choosing interest points Corners – “Let’s meet at Green and Wright.” Peaks/Valleys – “Let’s meet on top of Mt. Doom.”

Many Existing Detectors Available K. Grauman, B. Leibe Hessian & Harris [Beaudet ‘78], [Harris ‘88] Laplacian, DoG [Lindeberg ‘98], [Lowe 1999] Harris-/Hessian-Laplace [Mikolajczyk & Schmid ‘01] Harris-/Hessian-Affine [Mikolajczyk & Schmid ‘04] EBR and IBR [Tuytelaars & Van Gool ‘04] MSER [Matas ‘02] Salient Regions [Kadir & Brady ‘01] Others…

Harris Detector [ Harris88 ] Second moment matrix K. Grauman, B. Leibe Intuition: Search for local neighborhoods where the image content has two main directions (eigenvectors).

Harris Detector [ Harris88 ] Second moment matrix Image derivatives 2. Square of derivatives 3. Gaussian filter g(  I ) IxIx IyIy Ix2Ix2 Iy2Iy2 IxIyIxIy g(I x 2 )g(I y 2 ) g(I x I y ) 4. Cornerness function – both eigenvalues are strong har 5. Non-maxima suppression g(I x I y )

Harris Detector – Responses [ Harris88 ] Effect: A very precise corner detector.

Harris Detector – Responses [ Harris88 ]

So far: can localize in x-y, but not scale

Automatic Scale Selection K. Grauman, B. Leibe How to find corresponding patch sizes?

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

What Is A Useful Signature Function? Difference of Gaussian = “blob” detector K. Grauman, B. Leibe

Difference-of-Gaussian (DoG) K. Grauman, B. Leibe - =

DoG – Efficient Computation Computation in Gaussian scale pyramid K. Grauman, B. Leibe  Original image Sampling with step    =2   

Results: Lowe’s DoG K. Grauman, B. Leibe

T. Tuytelaars, B. Leibe Orientation Normalization Compute orientation histogram Select dominant orientation Normalize: rotate to fixed orientation 0 2  [Lowe, SIFT, 1999]

Available at a web site near you… For most local feature detectors, executables are available online: – – – K. Grauman, B. Leibe

How do we describe the keypoint?

Local Descriptors The ideal descriptor should be – Robust – Distinctive – Compact – Efficient Most available descriptors focus on edge/gradient information – Capture texture information – Color rarely used K. Grauman, B. Leibe

Local Descriptors: SIFT Descriptor [Lowe, ICCV 1999] Histogram of oriented gradients Captures important texture information Robust to small translations / affine deformations K. Grauman, B. Leibe

Details of Lowe’s SIFT algorithm Run DoG detector – Find maxima in location/scale space – Remove edge points Find all major orientations – Bin orientations into 36 bin histogram Weight by gradient magnitude Weight by distance to center (Gaussian-weighted mean) – Return orientations within 0.8 of peak Use parabola for better orientation fit For each (x,y,scale,orientation), create descriptor: – Sample 16x16 gradient mag. and rel. orientation – Bin 4x4 samples into 4x4 histograms – Threshold values to max of 0.2, divide by L2 norm – Final descriptor: 4x4x8 normalized histograms Lowe IJCV 2004

Matching SIFT Descriptors Nearest neighbor (Euclidean distance) Threshold ratio of nearest to 2 nd nearest descriptor Lowe IJCV 2004

Local Descriptors: SURF K. Grauman, B. Leibe Fast approximation of SIFT idea  Efficient computation by 2D box filters & integral images  6 times faster than SIFT  Equivalent quality for object identification [Bay, ECCV’06], [Cornelis, CVGPU’08] GPU implementation available  Feature 200Hz (detector + descriptor, 640×480 img) 

What to use when? Detectors Harris gives very precise localization but doesn’t predict scale – Good for some tracking applications DOG (difference of Gaussian) provides ok localization and scale – Good for multi-scale or long-range matching Descriptors SIFT: good general purpose descriptor

Things to remember Keypoint detection: repeatable and distinctive – Corners, blobs – Harris, DoG Descriptors: robust and selective – SIFT: spatial histograms of gradient orientation

Next time: Panoramic Stitching Camera Center