Computational Optical Imaging - Optique Numerique. -- Multiple View Geometry and Stereo --

Similar documents
Computational Optical Imaging - Optique Numerique. -- Single and Multiple View Geometry, Stereo matching --

Step-by-Step Model Buidling

Structure from Motion. Introduction to Computer Vision CSE 152 Lecture 10

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

Scale Invariant Feature Transform

Scale Invariant Feature Transform

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

Object Recognition with Invariant Features

Local features: detection and description. Local invariant features

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

Feature Based Registration - Image Alignment

2D Image Processing Feature Descriptors

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

Image correspondences and structure from motion

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 253

Local features: detection and description May 12 th, 2015

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

Multiview Stereo COSC450. Lecture 8

The SIFT (Scale Invariant Feature

3D Reconstruction from Two Views

CS664 Lecture #19: Layers, RANSAC, panoramas, epipolar geometry

calibrated coordinates Linear transformation pixel coordinates

SIFT: Scale Invariant Feature Transform

3D Reconstruction From Multiple Views Based on Scale-Invariant Feature Transform. Wenqi Zhu

Homographies and RANSAC

EE795: Computer Vision and Intelligent Systems

Capturing, Modeling, Rendering 3D Structures

Epipolar Geometry and Stereo Vision

Vision par ordinateur

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

Application questions. Theoretical questions

Computer Vision with MATLAB MATLAB Expo 2012 Steve Kuznicki

Local invariant features

Motion Estimation and Optical Flow Tracking

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

Outline 7/2/201011/6/

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

School of Computing University of Utah

Local features and image matching. Prof. Xin Yang HUST

Image processing and features

CS 4495 Computer Vision A. Bobick. Motion and Optic Flow. Stereo Matching

Last lecture. Passive Stereo Spacetime Stereo

CSCI 5980/8980: Assignment #4. Fundamental Matrix

CS 395T Lecture 12: Feature Matching and Bundle Adjustment. Qixing Huang October 10 st 2018

Lecture 14: Basic Multi-View Geometry

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

Stereo and Epipolar geometry

Computer Vision I. Announcements. Random Dot Stereograms. Stereo III. CSE252A Lecture 16

Final Exam Study Guide

Chaplin, Modern Times, 1936

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

Invariant Features from Interest Point Groups

Feature descriptors and matching

Chapter 3 Image Registration. Chapter 3 Image Registration

Stereo Vision. MAN-522 Computer Vision

Reminder: Lecture 20: The Eight-Point Algorithm. Essential/Fundamental Matrix. E/F Matrix Summary. Computing F. Computing F from Point Matches

Augmenting Reality, Naturally:

CS 231A Computer Vision (Winter 2018) Problem Set 3

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Final project bits and pieces

Local Feature Detectors

Local Features: Detection, Description & Matching

Eppur si muove ( And yet it moves )

Hartley - Zisserman reading club. Part I: Hartley and Zisserman Appendix 6: Part II: Zhengyou Zhang: Presented by Daniel Fontijne

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

Local Features Tutorial: Nov. 8, 04

Visual Tracking (1) Pixel-intensity-based methods

Autonomous Navigation for Flying Robots

CS 4495 Computer Vision A. Bobick. Motion and Optic Flow. Stereo Matching

CAP 5415 Computer Vision Fall 2012

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

Fundamental matrix. Let p be a point in left image, p in right image. Epipolar relation. Epipolar mapping described by a 3x3 matrix F

Two-view geometry Computer Vision Spring 2018, Lecture 10

Multiple View Geometry. Frank Dellaert

Today. Stereo (two view) reconstruction. Multiview geometry. Today. Multiview geometry. Computational Photography

CS231M Mobile Computer Vision Structure from motion

EE795: Computer Vision and Intelligent Systems

CSE 252B: Computer Vision II

Dense 3D Reconstruction. Christiano Gava

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

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

Lecture 9: Epipolar Geometry

Overview. Augmented reality and applications Marker-based augmented reality. Camera model. Binary markers Textured planar markers

Epipolar Geometry and Stereo Vision

CS 664 Structure and Motion. Daniel Huttenlocher

Multi-stable Perception. Necker Cube

Camera Geometry II. COS 429 Princeton University

arxiv: v1 [cs.cv] 28 Sep 2018

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

55:148 Digital Image Processing Chapter 11 3D Vision, Geometry

Stereo II CSE 576. Ali Farhadi. Several slides from Larry Zitnick and Steve Seitz

CS4670: Computer Vision

arxiv: v1 [cs.cv] 28 Sep 2018

Obtaining Feature Correspondences

Feature Matching and Robust Fitting

Implementing the Scale Invariant Feature Transform(SIFT) Method

Model Fitting. Introduction to Computer Vision CSE 152 Lecture 11

Euclidean Reconstruction Independent on Camera Intrinsic Parameters

Multiple View Geometry

Final Exam Study Guide CSE/EE 486 Fall 2007

Transcription:

Computational Optical Imaging - Optique Numerique -- Multiple View Geometry and Stereo -- Winter 2013 Ivo Ihrke with slides by Thorsten Thormaehlen

Feature Detection and Matching Wide-Baseline-Matching

Wide-baseline Matching with SIFT SIFT = Scale Invariant Feature Transform David G. Lowe: Distinctive image features from scale-invariant keypoints (IJCV 2004) http://www.cs.ubc.ca/~lowe/keypoints/ Suited for wide-baseline matching Invariance to changes in illumination, scale, and rotation No gradient approach, but compares feature description of all candidates Many applications

Wide-baseline Matching with SIFT Application example: Mosaic generation

Wide-baseline Matching with SIFT Application example: Object recognition

Wide-baseline Matching with SIFT Algorithm steps Scale-space extrema detection Keypoint localization Orientation assignment Keypoint descriptor Descriptor matching

SIFT: Scale-space extrema detection Need to find characteristic scale for features Scale space representation

SIFT: Scale-space extrema detection Difference of Gaussian Source: http://fourier.eng.hmc.edu/e161/lectures/gradient/node11.html

SIFT: Scale-space extrema detection Difference of Gaussian

SIFT: Scale-space extrema detection Non-extremum suppression X is selected if it is larger or smaller than all 26 neighbors (alternatively other 3D windows)

SIFT: Keypoint localization Sub-pixel keypoint localization Finding the extrema by setting the derivative to zero Contrast threshold, reject feature if Cornerness threshold: Reject edges and keep corners, reject feature if

SIFT: Keypoint localization Contrast threshold 729 out of 832 feature are left after contrast thresholding

SIFT: Keypoint localization Cornerness threshold 536 out of 729 are left after cornerness thresholding

SIFT: Orientation assignment I Gradient magnitute for each pixel Orientation for each pixel

SIFT: Orientation assignment II Image location, scale, and orientation impose a repeatable local 2D coordinate system in which to describe the local image region A orientation histogram is formed from the gradient orientations of sample points within a region around the keypoint. The orientation histogram has 36 bins covering the 360 degree range of orientations. 0 2 The highest peak in the histogram is detected

SIFT: Keypoint descriptor Create 16 gradient histograms (8 bins) Weighted by magnitude and Gaussian window (σ is half the window size) Histogram and gradient values are interpolated and smoothed 128-feature vector

SIFT: Descriptor matching Nearest Neighbor algorithm based on L2-norm How to discard bad matches? Threshold on L2-norm => bad performance Solution: threshold on ratio: (best match) / (second best match)

SIFT: Descriptor matching

Software VLFeat (http://www.vlfeat.org/index.html) Implements SIFT and other modern features C-implementation with MATLAB bindings Win/Linux Good tutorials on parameter selection

Towards Multiple Views and Self- Calibration -- Two-View Geometry and Basic Stereo --

Fundamental Matrix Fundamental Matrix (F-Matrix):

Epipolar Geometry in our example

Fundamental Matrix F is a rank 2 homogeneous matrix with 7 degrees of freedom Epipolar lines Epipoles

Fundamental Matrix F can be computed from camera matrices General projective cameras: with and Canonical cameras not at infinity and

Use Case Stereo Matching Typical left and right image with parallel optical axes and only horizontally displaced Left image Right image [implementation by Rohit Singh and Mitul Sara]

Epipolar Geometry of a Stereo Pair Epipolar lines are parallel lines if optical axes are parallel

Epipolar Geometry of a Stereo Pair Simplest: Search a moving window and perform correlation E.g. SSD (sum of squared differences) Alternatively, SAD (sum of absolute differences), CC (cross correlation), etc. Usually restricted search range

Correlation-Based Stereo Matching Example, SSD, win=5, search range=15 [implementation by Rohit Singh and Mitul Saha]

Correlation-Based Stereo Matching Example, SSD, win=5, search range=8 [implementation by Rohit Singh and Mitul Saha]

Correlation-Based Stereo Matching Example, SAD, win=5, search range=8 [implementation by Rohit Singh and Mitul Saha]

Correlation-Based Stereo Matching Example, SSD, win=20, search range=8 [implementation by Rohit Singh and Mitul Saha]

A Modern Technique ADCensus [Mei 11] (#1 Middlebury stereo benchmark, Sept. 2013)

Towards Multiple Views and Self- Calibration -- The Structure-from-motion Pipeline --

Voodoo Camera Tracker - Steps of camera tracking image sequence Feature detection and correspondence analysis Outlier Elimination Incremental Bundle Adjustment Self-Calibration camera parameters

Outlier Elimination RANSAC (Random Sample Consensus) method

RANSAC example line fit LS-fit after RANSAC Least-squares fit

Outlier Elimination - Fundamental Matrix Fundamental Matrix (F-Matrix):

Fundamental Matrix Estimation Estimating the fundamental matrix from feature correspondence: multiple of these equations gives a linear equation system

Outlier Elimination - 2D Homography 2D Homography (H-Matrix):

2D Homography Matrix Estimation Estimating the 2D homography matrix from feature correspondence: multiple of these equations gives a linear equation system

Outlier Elimination - Camera Matrix Camera matrix (A-Matrix):

Incremental Bundle Adjustment

Bundle Adjustment Bundle Adjustment

Levenberg Marquardt - Non-linear Least Squares Measurement vector Parameter vector Taylor approximation: with N x M Jacobian Matrix

Levenberg Marquardt - Non-linear Least Squares transformed to linear least squares problem for each iteration

Levenberg Marquardt - Non-linear Least Squares Linear least squares problem can be solved with normal equations use to update solution iteratively

Levenberg Marquardt - Non-linear Least Squares Levenberg Marquardt uses slightly different normal equations Original normal equations Modified normal equations Lambda is changed during optimization successful iteration failed iteration small large ~ Newton style (quadratic convergence) ~ Gradient descent style (guaranteed decrease)

Levenberg Marquardt Requirements for Levenberg Marquardt minimization Function to compute f Start value X 0 Optionally, function to compute J (but numerical derivation works as well)

Sparse Levenberg Marquardt For bundle adjustment the problem becomes to large (100 cameras + 10000 3D object points = 31200 parameter) Can achieve huge speed-up by exploiting sparse structure of Jacobian matrix Partition parameters partition A partition B (only dependent on A and itself) (typically A contains camera parameters, and B contains 3D points)

Sparse Levenberg Marquardt Jacobian becomes Normal equations become

Sparse Levenberg Marquardt Corresponding block structure is where denotes augmented by multiplying its diagonal entries by a factor of 1 +, and likewise. Left multiplication with yields which can be used to find with which may be back-substituted to get with

Sparse Levenberg Marquardt Jacobian for bundle adjustment has sparse block structure im.pts. A 1 J A 1 A 2 A 3 P J T J U 1 U 2 W U 3 12 x m 3 x n (in general much larger) W T Needed for non-linear minimization V

Voodoo camera tracker demo session

Self-calibration Why self-calibration? Allows flexible acquisition No prior calibration necessary Possibility to vary intrinsic camera parameters Use archive footage

Self-calibration We want to find a 4x4 transformation matrix that transforms all projective cameras into metric cameras This does not change the back-projections onto the feature points

Voodoo Camera Tracker - Some applications Virtual advertising

Voodoo Camera Tracker - More applications Car navigation 3D Endoscopy UAV terrain reconstruction Architectural visualisation

Matchmoving in Cloverfield

Matchmoving in Cloverfield

References 1. Multiple View Geometry in Computer Vision, Richard Hartley and Andrew Zisserman, 2 nd Edition 2. Triggs, B.: Autocalibration and the absolute quadric. In IEEE Conference on Computer Vision and Pattern Recognition, S. 609 614. 1997 3. Pollefeys, M., Koch, R., Gool, L. V.: Self-Calibration and Metric Reconstruction in Spite of Varying and Unknown Internal Camera Parameters. In EEE International Conference on Computer Vision, S. 90 95. 1998

Homework: Camera motion estimation with Voodoo Download and install voodoo camera tracker 1.0.1 from course website or from Download and install Blender 2.49b from course website or from http://www.digilab.unihannover.de/download.html http://www.blender.org/download/getblender/

Homework: Camera motion estimation with Voodoo Perform camera tracking with voodoo using the free move example sequence Export data File Save Blender Python Script Load the python script into Blender's text editor and execute the script with ALT-P. Select the "voodoo_render_cam" camera and press Ctrl-Numpad 0 to activate it. To display the image sequence as a backbuffer in Blender, go to [Buttons

Homework: Camera motion estimation with Voodoo Add a (animated) 3D model of your choice Render the sequence Submit frame 190, 200, and 210 as jpeg to thormae@mpii.de Submit before next lecture (optional) generate an avi-file and put it to a webspace that is accessible for me and send the link

That s it for today Source: Belfast Telegraph, UK