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

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

Step-by-Step Model Buidling

Autonomous Navigation for Flying Robots

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

Visual Tracking (1) Feature Point Tracking and Block Matching

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

EE795: Computer Vision and Intelligent Systems

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

Image processing and features

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

Visual Tracking (1) Pixel-intensity-based methods

Multi-stable Perception. Necker Cube

Final Exam Study Guide

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

CS6670: Computer Vision

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

CS231M Mobile Computer Vision Structure from motion

Application questions. Theoretical questions

Stereo and Epipolar geometry

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

Leow Wee Kheng CS4243 Computer Vision and Pattern Recognition. Motion Tracking. CS4243 Motion Tracking 1

calibrated coordinates Linear transformation pixel coordinates

Capturing, Modeling, Rendering 3D Structures

Final project bits and pieces

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

CS 532: 3D Computer Vision 7 th Set of Notes

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

Chaplin, Modern Times, 1936

Feature Tracking and Optical Flow

Dense Image-based Motion Estimation Algorithms & Optical Flow

Automatic Image Alignment (direct) with a lot of slides stolen from Steve Seitz and Rick Szeliski

Computer Vision Lecture 20

Computer Vision Lecture 20

Structure from motion

CS231A Course Notes 4: Stereo Systems and Structure from Motion

EE795: Computer Vision and Intelligent Systems

arxiv: v1 [cs.cv] 28 Sep 2018

Epipolar Geometry and Stereo Vision

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

Stereo Vision. MAN-522 Computer Vision

Feature Tracking and Optical Flow

3D Reconstruction from Two Views

Homographies and RANSAC

CSE 252B: Computer Vision II

Multiview Stereo COSC450. Lecture 8

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

Final Exam Study Guide CSE/EE 486 Fall 2007

Vision par ordinateur

Last lecture. Passive Stereo Spacetime Stereo

Lecture 16: Computer Vision

Lecture 16: Computer Vision

Optical flow and tracking

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

CS 4495 Computer Vision Motion and Optic Flow

Visual Tracking. Antonino Furnari. Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania

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

Object Recognition with Invariant Features

Computer Vision Lecture 17

Computer Vision Lecture 17

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

Epipolar Geometry and Stereo Vision

Visual Tracking. Image Processing Laboratory Dipartimento di Matematica e Informatica Università degli studi di Catania.

Augmenting Reality, Naturally:

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

Epipolar geometry. x x

CS 664 Structure and Motion. Daniel Huttenlocher

arxiv: v1 [cs.cv] 28 Sep 2018

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

VC 11/12 T11 Optical Flow

Recovering structure from a single view Pinhole perspective projection

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

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

EE795: Computer Vision and Intelligent Systems

Image correspondences and structure from motion

3D Geometry and Camera Calibration

3D Photography. Marc Pollefeys, Torsten Sattler. Spring 2015

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

Lecture 6 Stereo Systems Multi-view geometry

BIL Computer Vision Apr 16, 2014

Tracking in image sequences

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

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

Structure from Motion

Feature Based Registration - Image Alignment

Euclidean Reconstruction Independent on Camera Intrinsic Parameters

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

Rectification and Distortion Correction

Stereo. 11/02/2012 CS129, Brown James Hays. Slides by Kristen Grauman

3D Environment Measurement Using Binocular Stereo and Motion Stereo by Mobile Robot with Omnidirectional Stereo Camera

Camera calibration. Robotic vision. Ville Kyrki

EECS 442: Final Project

Lecture 14: Basic Multi-View Geometry

Peripheral drift illusion

Structure from motion

Displacement estimation

Instance-level recognition II.

3D Reconstruction of a Hopkins Landmark

Structure from Motion

CSCI 5980/8980: Assignment #4. Fundamental Matrix

Two-view geometry Computer Vision Spring 2018, Lecture 10

Transcription:

Computational Optical Imaging - Optique Numerique -- Single and Multiple View Geometry, Stereo matching -- Autumn 2015 Ivo Ihrke with slides by Thorsten Thormaehlen

Reminder: 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

SIFT: Keypoint localization Stereo pair with super-imposed SIFT features Arrow size indicates scale 729 out of 832 feature are left after contrast thresholding (try cross-eye fusion to identify the outliers :)

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

Correspondence Analysis KLT Tracker Correspondence Analysis For video KLT-Tracker (Kanade, Lucas and Tomasi) Minimization of the SSD between two windows in subsequent camera images to find the displacement vector window image K-1 image K

KLT Tracker Linearization of the image signal with a Taylor series Finding the minimum by setting the derivative to zero

KLT Tracker with

Optical Flow Horn & Schunck 81 Continuous version of tracking: optical flow Apparent motion of brightness patterns in an image sequence (typically two frames) For images: u( x): R 2 R 2, is a vector valued fct. Often visualized as vector field or color coded Optical Flow as seen by a person at the back of a train

right left Example Yosemite sequence Flow field (middlebury coding) middlebury coding IPOL coding Flow field (IPOL coding)

Optical Flow- Derivation Assume a video I( x, t): R 3 R Brightness constancy implies I x + u( x, t), t = I( x, t + 1) Look at one particular time step with flow vectors u = (u x, u y ) perform Taylor expansion of I x, t + 1 : I x, t + 1 I x, t + I x u x + I y u y + I t + O( 2 ) implies I x u x + I y u y + I t = 0 Alternative form: I u + I t = 0

KLT-Tracker: Resolution pyramids KLT and optical flow descriptions are differential in nature only suitable for small displacements (up to 2 pixels) Large displacements are small on a coarser scale compute displacements on coarse scale Upsample Iteratively compute residuals on finer scales resolution

KLT-Tracker: Affine mapping for longer sequences

KLT-Tracker summary For video (small displacements) Minimization of the SSD between two windows in subsequent camera images Linearization of the image signal with a Taylor series linear equation system Linearization only valid for small displacements Resolution Pyramids

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 parameters) 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