Summary of Previous Lecture A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging.

Slides:



Advertisements
Similar presentations
Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.
Advertisements

Feature extraction: Corners
Summary of Friday A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging planes or.
CSE 473/573 Computer Vision and Image Processing (CVIP)
Interest points CSE P 576 Ali Farhadi Many slides from Steve Seitz, Larry Zitnick.
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
TP14 - Local features: detection and description Computer Vision, FCUP, 2014 Miguel Coimbra Slides by Prof. Kristen Grauman.
Matching with Invariant Features
Computational Photography
Invariant Features.
Algorithms and Applications in Computer Vision
Automatic Image Alignment (direct) : Computational Photography Alexei Efros, CMU, Fall 2006 with a lot of slides stolen from Steve Seitz and Rick.
Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
Harris corner detector
Lecture 6: Feature matching CS4670: Computer Vision Noah Snavely.
1 Interest Operators Find “interesting” pieces of the image –e.g. corners, salient regions –Focus attention of algorithms –Speed up computation Many possible.
Recognising Panoramas
Lecture 4: Feature matching
1 Interest Operator Lectures lecture topics –Interest points 1 (Linda) interest points, descriptors, Harris corners, correlation matching –Interest points.
Automatic Panoramic Image Stitching using Local Features Matthew Brown and David Lowe, University of British Columbia.
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2005 with a lot of slides stolen from Steve Seitz and.
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 Image Stitching using Invariant Features Matthew Brown and David Lowe, University of British Columbia.
Lecture 3a: Feature detection and matching CS6670: Computer Vision Noah Snavely.
Automatic Image Alignment via Motion Estimation
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2006 with a lot of slides stolen from Steve Seitz and.
1 Image Features Hao Jiang Sept Image Matching 2.
CS4670: Computer Vision Kavita Bala Lecture 7: Harris Corner Detection.
Feature Matching and RANSAC : Computational Photography Alexei Efros, CMU, Fall 2005 with a lot of slides stolen from Steve Seitz and Rick Szeliski.
Optical flow Combination of slides from Rick Szeliski, Steve Seitz, Alyosha Efros and Bill Freeman.
Overview Introduction to local features
Image Stitching Shangliang Jiang Kate Harrison. What is image stitching?
Overview Harris interest points Comparing interest points (SSD, ZNCC, SIFT) Scale & affine invariant interest points Evaluation and comparison of different.
Lecture 06 06/12/2011 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
CSE 185 Introduction to Computer Vision Local Invariant Features.
Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
776 Computer Vision Jan-Michael Frahm, Enrique Dunn Spring 2013.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Notes on the Harris Detector
Local invariant features Cordelia Schmid INRIA, Grenoble.
Harris Corner Detector & Scale Invariant Feature Transform (SIFT)
Feature extraction: Corners and blobs. Why extract features? Motivation: panorama stitching We have two images – how do we combine them?
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
Automatic Image Alignment : Computational Photography Alexei Efros, CMU, Fall 2011 with a lot of slides stolen from Steve Seitz and Rick Szeliski.
Features Jan-Michael Frahm.
Lecture 9 Feature Extraction and Motion Estimation Slides by: Michael Black Clark F. Olson Jean Ponce.
CS654: Digital Image Analysis
Automatic Image Alignment with a lot of slides stolen from Steve Seitz and Rick Szeliski © Mike Nese CS194: Image Manipulation & Computational Photography.
Summary of Monday A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging planes or.
CSE 185 Introduction to Computer Vision Local Invariant Features.
Lecture 10: Harris Corner Detector CS4670/5670: Computer Vision Kavita Bala.
Keypoint extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
Invariant Local Features Image content is transformed into local feature coordinates that are invariant to translation, rotation, scale, and other imaging.
CS 4501: Introduction to Computer Vision Sparse Feature Detectors: Harris Corner, Difference of Gaussian Connelly Barnes Slides from Jason Lawrence, Fei.
3D Vision Interest Points.
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.
Local features: detection and description May 11th, 2017
Features Readings All is Vanity, by C. Allan Gilbert,
CSE 455 – Guest Lectures 3 lectures Contact Interest points 1
Feature Matching and RANSAC
Lecture 5: Feature detection and matching
Lecture VI: Corner and Blob Detection
Lecture 5: Feature invariance
Lecture 5: Feature invariance
Corner Detection COMP 4900C Winter 2008.
Presentation transcript:

Summary of Previous Lecture A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging planes or planes in the scene. If a camera is stationary, a homography can perfectly relate two photos taken at different rotations and focal lengths. We covered how to capture and build a panorama.

Automatic Image Alignment cs129: Computational Photography James Hays, Brown, Fall 2012 Slides from Alexei Efros, Steve Seitz, and Rick Szeliski © Mike Nese

Live Homography DEMO Check out panoramio.com “Look Around” feature! Also see OpenPhoto VR:

Image Alignment How do we align two images automatically? Two broad approaches: Feature-based alignment –Find a few matching features in both images –compute alignment Direct (pixel-based) alignment –Search for alignment where most pixels agree

Direct Alignment The simplest approach is a brute force search (project 1) Need to define image matching function –SSD, Normalized Correlation, edge matching, etc. Search over all parameters within a reasonable range: e.g. for translation: for tx=x0:step:x1, for ty=y0:step:y1, compare image1(x,y) to image2(x+tx,y+ty) end; Need to pick correct x0,x1 and step What happens if step is too large?

Direct Alignment (brute force) What if we want to search for more complicated transformation, e.g. homography? for a=a0:astep:a1, for b=b0:bstep:b1, for c=c0:cstep:c1, for d=d0:dstep:d1, for e=e0:estep:e1, for f=f0:fstep:f1, for g=g0:gstep:g1, for h=h0:hstep:h1, compare image1 to H(image2) end; end; end; end;

Problems with brute force Not realistic Search in O(N 8 ) is problematic Not clear how to set starting/stopping value and step What can we do? Use pyramid search to limit starting/stopping/step values For special cases (rotational panoramas), can reduce search slightly to O(N 4 ): –H = K 1 R 1 R 2 -1 K 2 -1 (4 DOF: f and rotation) Alternative: gradient descent on the error function i.e. how do I tweak my current estimate to make the SSD error go down? Can do sub-pixel accuracy BIG assumption? –Images are already almost aligned (<2 pixels difference!) –Can improve with pyramid Same tool as in motion estimation

Image alignment

Feature-based alignment (project 6) 1.Find a few important features (aka Interest Points) 2.Match them across two images 3.Compute image transformation How do we choose good features? They must prominent in both images Easy to localize Think how you would do it by hand Corners!

Feature Detection

Feature Matching How do we match the features between the images? Need a way to describe a region around each feature –e.g. image patch around each feature Use successful matches to estimate homography –Need to do something to get rid of outliers Issues: What if the image patches for several interest points look similar? –Make patch size bigger What if the image patches for the same feature look different due to scale, rotation, exposure etc. –Need an invariant descriptor

Invariant Feature Descriptors Schmid & Mohr 1997, Lowe 1999, Baumberg 2000, Tuytelaars & Van Gool 2000, Mikolajczyk & Schmid 2001, Brown & Lowe 2002, Matas et. al. 2002, Schaffalitzky & Zisserman 2002

Invariant Local Features Image content is transformed into local feature coordinates that are invariant to translation, rotation, scale, and other imaging parameters Features Descriptors

Applications Feature points are used for: Image alignment (homography, fundamental matrix) 3D reconstruction Motion tracking Object recognition Scene categorization Indexing and database retrieval Robot navigation … other

Today’s lecture 1 Feature detector scale invariant Harris corners 1 Feature descriptor patches, oriented patches Reading: Brown, Szeliski, and Winder. Multi-image Matching using Multi-scale image patches, CVPR 2005 (linked from Project 6)

Harris corner detector C.Harris, M.Stephens. “A Combined Corner and Edge Detector”. 1988

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

Harris Detector: Basic Idea “flat” region: no change in all directions “edge”: no change along the edge direction “corner”: significant change in all directions

Harris Detector: Mathematics Change of intensity for the shift [u,v]: Intensity Shifted intensity Window function or Window function w(x,y) = Gaussian1 in window, 0 outside

Harris Detector: Mathematics For small shifts [u,v ] we have a bilinear approximation: where M is a 2  2 matrix computed from image derivatives:

Harris Detector: Mathematics 1 2 “Corner” 1 and 2 are large, 1 ~ 2 ; E increases in all directions 1 and 2 are small; E is almost constant in all directions “Edge” 1 >> 2 “Edge” 2 >> 1 “Flat” region Classification of image points using eigenvalues of M: But eigenvalues are expensive to compute

Harris Detector: Mathematics Measure of corner response:

Harris Detector The Algorithm: Find points with large corner response function R (R > threshold) Take the points of local maxima of R

Harris Detector: Workflow

Compute corner response R

Harris Detector: Workflow Find points with large corner response: R>threshold

Harris Detector: Workflow Take only the points of local maxima of R

Harris Detector: Workflow

Harris Detector: Some Properties Rotation invariance Ellipse rotates but its shape (i.e. eigenvalues) remains the same Corner response R is invariant to image rotation

Harris Detector: Some Properties Partial invariance to affine intensity change Only derivatives are used => invariance to intensity shift I  I + b Intensity scale: I  a I R x (image coordinate) threshold R x (image coordinate)

Harris Detector: Some Properties But: non-invariant to image scale! All points will be classified as edges Corner !

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

Scale Invariant Detection The problem: how do we choose corresponding circles independently in each image? Choose the scale of the “best” corner

Example: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia

Why “Recognising Panoramas”?

1D Rotations (  ) Ordering  matching images

Why “Recognising Panoramas”? 1D Rotations (  ) Ordering  matching images

Why “Recognising Panoramas”? 1D Rotations (  ) Ordering  matching images

Why “Recognising Panoramas”? 2D Rotations (, ) –Ordering  matching images 1D Rotations (  ) Ordering  matching images

Why “Recognising Panoramas”? 1D Rotations (  ) Ordering  matching images 2D Rotations (, ) –Ordering  matching images

Why “Recognising Panoramas”? 1D Rotations (  ) Ordering  matching images 2D Rotations (, ) –Ordering  matching images

Why “Recognising Panoramas”?

Overview Feature Matching Image Matching Bundle Adjustment Multi-band Blending Results Conclusions

RANSAC for Homography

Probabilistic model for verification

Finding the panoramas

Parameterise each camera by rotation and focal length This gives pairwise homographies Homography for Rotation

Bundle Adjustment New images initialised with rotation, focal length of best matching image

Bundle Adjustment New images initialised with rotation, focal length of best matching image

Multi-band Blending Burt & Adelson 1983 Blend frequency bands over range 

Results