Last lecture. Passive Stereo Spacetime Stereo

Similar documents
Some books on linear algebra

CS 664 Structure and Motion. Daniel Huttenlocher

Epipolar Geometry and Stereo Vision

Structure from motion

Camera Geometry II. COS 429 Princeton University

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

Epipolar Geometry and Stereo Vision

Structure from Motion CSC 767

Epipolar geometry. x x

Structure from motion

3D Photography: Epipolar geometry

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

Undergrad HTAs / TAs. Help me make the course better! HTA deadline today (! sorry) TA deadline March 21 st, opens March 15th

Lecture 9: Epipolar Geometry

C280, Computer Vision

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

Structure from Motion

Today s lecture. Structure from Motion. Today s lecture. Parameterizing rotations

Epipolar Geometry Prof. D. Stricker. With slides from A. Zisserman, S. Lazebnik, Seitz

BIL Computer Vision Apr 16, 2014

Stereo and Epipolar geometry

Structure from Motion

Structure from motion

Two-view geometry Computer Vision Spring 2018, Lecture 10

Lecture 10: Multi-view geometry

Multiple Views Geometry

Robust Geometry Estimation from two Images

Week 2: Two-View Geometry. Padua Summer 08 Frank Dellaert

CS231M Mobile Computer Vision Structure from motion

Homographies and RANSAC

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

Unit 3 Multiple View Geometry

Structure from Motion and Multi- view Geometry. Last lecture

Epipolar Geometry class 11

Epipolar Geometry CSE P576. Dr. Matthew Brown

calibrated coordinates Linear transformation pixel coordinates

Lecture 6 Stereo Systems Multi- view geometry Professor Silvio Savarese Computational Vision and Geometry Lab Silvio Savarese Lecture 6-24-Jan-15

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

Lecture 6 Stereo Systems Multi-view geometry

Lecture 5 Epipolar Geometry

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

Step-by-Step Model Buidling

Structure from Motion

Lecture 14: Basic Multi-View Geometry

Structure from Motion

Dense 3D Reconstruction. Christiano Gava

CS231A Course Notes 4: Stereo Systems and Structure from Motion

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

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

Lecture 10: Multi view geometry

CS 231A: Computer Vision (Winter 2018) Problem Set 2

1 Projective Geometry

EE795: Computer Vision and Intelligent Systems

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

Recovering structure from a single view Pinhole perspective projection

Multiple View Geometry

Structure from Motion

But First: Multi-View Projective Geometry

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

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

Vision par ordinateur

arxiv: v1 [cs.cv] 28 Sep 2018

CS201 Computer Vision Camera Geometry

Camera Calibration. Schedule. Jesus J Caban. Note: You have until next Monday to let me know. ! Today:! Camera calibration

Computer Vision Lecture 20

Multi-view geometry problems

Epipolar geometry contd.

3D Computer Vision. Structure from Motion. Prof. Didier Stricker

Computer Vision Lecture 20

CS 664 Slides #9 Multi-Camera Geometry. Prof. Dan Huttenlocher Fall 2003

The end of affine cameras

Stereo Vision. MAN-522 Computer Vision

Multiple View Geometry. Frank Dellaert

Computer Vision I - Algorithms and Applications: Multi-View 3D reconstruction

Dense 3D Reconstruction. Christiano Gava

A Factorization Method for Structure from Planar Motion

Epipolar Geometry and the Essential Matrix

Agenda. Rotations. Camera models. Camera calibration. Homographies

Dr. Ulas Bagci

Z (cm) Y (cm) X (cm)

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

3D Reconstruction from Two Views

CS231A Midterm Review. Friday 5/6/2016

Application questions. Theoretical questions

Image Rectification (Stereo) (New book: 7.2.1, old book: 11.1)

Multiple View Geometry

Agenda. Rotations. Camera calibration. Homography. Ransac

Multi-stable Perception. Necker Cube

MAPI Computer Vision. Multiple View Geometry

Cameras and Stereo CSE 455. Linda Shapiro

EE795: Computer Vision and Intelligent Systems

Structure from Motion. Lecture-15

A Summary of Projective Geometry

Geometric camera models and calibration

Multiple Motion Scene Reconstruction from Uncalibrated Views

Computer Vision Projective Geometry and Calibration. Pinhole cameras

Computer Vision I - Robust Geometry Estimation from two Cameras

Structure from motion

N-View Methods. Diana Mateus, Nassir Navab. Computer Aided Medical Procedures Technische Universität München. 3D Computer Vision II

Epipolar Geometry and Stereo Vision

Transcription:

Last lecture Passive Stereo Spacetime Stereo

Today Structure from Motion: Given pixel correspondences, how to compute 3D structure and camera motion? Slides stolen from Prof Yungyu Chuang

Epipolar geometry & fundamental matrix

The epipolar geometry What if only C,C,x are known?

The epipolar geometry epipolar geometry demo C,C,x,x and X are coplanar

The epipolar geometry All points on π project on l and l

The epipolar geometry Family of planes π and lines l and l intersect at e and e

The epipolar geometry epipolar pole = intersection of baseline with image plane epipolar geometry demo = projection of projection center in other image epipolar plane = plane containing baseline epipolar line = intersection of epipolar plane with image

The fundamental matrix F p x KX = K -1 x Τ R p p C C T=C -C X The equation of the epipolar plane through X is ( X T) ( T p) = 0 p' = Τ K' x' K' R(X - T) -1 x' Τ R(X - T) ( R p') ( T p) = 0

The fundamental matrix F 0 ) ( ') ( = Τ Τ p T p R Sp p T = = 0 0 0 x y x z y z T T T T T T S 0 ) ( ') ( = Τ Τ Sp p R 0 ) )( ' ( = Τ Sp R p ' = 0 Τ Ep p essential matrix

The fundamental matrix F R p p C C T=C -C p' Τ Ep = 0

The fundamental matrix F p' Τ Ep = 0 Let M and M be the intrinsic matrices, then p 1 1 x = K x p' = K' ' ( K' x' 1 Τ x') K' Τ Τ E( K EK 1 1 x x' Τ Fx = 0 x) = = 0 0 fundamental matrix

The fundamental matrix F R p p C C T=C -C p' Τ Ep = 0 x' Τ Fx = 0

The fundamental matrix F The fundamental matrix is the algebraic representation of epipolar geometry The fundamental matrix satisfies the condition that for any pair of corresponding points x x in the two images x' T Fx = 0 ( ) x' T l' = 0

The fundamental matrix F F is the unique 3x3 rank 2 matrix that satisfies x T Fx=0 for all x x 1. Transpose: if F is fundamental matrix for (P,P ), then F T is fundamental matrix for (P,P) 2. Epipolar lines: l =Fx & l=f T x 3. Epipoles: on all epipolar lines, thus e T Fx=0, x e T F=0, similarly Fe=0 4. F has 7 d.o.f., i.e. 3x3-1(homogeneous)-1(rank2) 5. F maps from a point x to a line l =Fx (not invertible)

The fundamental matrix F It can be used for Simplifies matching Allows to detect wrong matches

Estimation of F 8-point algorithm The fundamental matrix F is defined by x' Τ Fx = 0 for any pair of matches x and x in two images. Let x=(u,v,1) T and x =(u,v,1) T, each match gives a linear equation f F = f f 11 21 31 f f f 12 22 32 f f f 13 23 33 uu' f + vu' f12 + u' f13 + uv' f21 + vv' f22 + v' f23 + uf31 + vf32 + f33 11 = 0

8-point algorithm 0 1 1 1 33 32 31 23 22 21 13 12 11 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 = f f f f f f f f f v u v v v v u u u v u u v u v v v v u u u v u u v u v v v u v u v u u u n n n n n n n n n n n n M M M M M M M M M In reality, instead of solving, we seek f to minimize, least eigenvector of. = 0 Af Af A A Τ

8-point algorithm To enforce that F is of rank 2, F is replaced by F that minimizes subject to. F' F 0 ' det = F It is achieved by SVD. Let, where, let then is the solution. Τ = V U F Σ = 3 2 1 0 0 0 0 0 0 Σ σ σ σ = 0 0 0 0 0 0 0 Σ' 2 1 σ σ Τ = V U F Σ' '

8-point algorithm % Build the constraint matrix A = [x2(1,:).*x1(1,:)' x2(1,:)'.*x1(2,:)' x2(1,:)'... x2(2,:)'.*x1(1,:)' x2(2,:)'.*x1(2,:)' x2(2,:)'... x1(1,:)' x1(2,:)' ones(npts,1) ]; [U,D,V] = svd(a); % Extract fundamental matrix from the column of V % corresponding to the smallest singular value. F = reshape(v(:,9),3,3)'; % Enforce rank2 constraint [U,D,V] = svd(f); F = U*diag([D(1,1) D(2,2) 0])*V';

8-point algorithm Pros: it is linear, easy to implement and fast Cons: susceptible to noise

0 1 1 1 33 32 31 23 22 21 13 12 11 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 = f f f f f f f f f v u v v v v u u u v u u v u v v v v u u u v u u v u v v v u v u v u u u n n n n n n n n n n n n M M M M M M M M M Problem with 8-point algorithm ~10000 ~10000 ~10000 ~10000 ~100 ~100 1 ~100 ~100! Orders of magnitude difference between column of data matrix least-squares yields poor results

Normalized 8-point algorithm normalized least squares yields good results Transform image to ~[-1,1]x[-1,1] (0,500) (700,500) 2 700 0 2 500 1 1 1 (-1,1) (0,0) (1,1) (0,0) (700,0) (-1,-1) (1,-1)

Normalized 8-point algorithm 1. Transform input by, 2. Call 8-point on to obtain 3. F = T' Τ FT ˆ xˆ, ' i x i x ˆ = ˆ i Tx i ' x ˆ i = Fˆ Tx ' i x' Τ Fx = 0 x' ˆ Τ T' Τ FT 1 xˆ = 0 Fˆ

Normalized 8-point algorithm [x1, T1] = normalise2dpts(x1); [x2, T2] = normalise2dpts(x2); A = [x2(1,:).*x1(1,:)' x2(1,:)'.*x1(2,:)' x2(1,:)'... x2(2,:)'.*x1(1,:)' x2(2,:)'.*x1(2,:)' x2(2,:)'... x1(1,:)' x1(2,:)' ones(npts,1) ]; [U,D,V] = svd(a); F = reshape(v(:,9),3,3)'; [U,D,V] = svd(f); F = U*diag([D(1,1) D(2,2) 0])*V'; % Denormalise F = T2'*F*T1;

Normalization function [newpts, T] = normalise2dpts(pts) c = mean(pts(1:2,:)')'; % Centroid newp(1,:) = pts(1,:)-c(1); % Shift origin to centroid. newp(2,:) = pts(2,:)-c(2); meandist = mean(sqrt(newp(1,:).^2 + newp(2,:).^2)); scale = sqrt(2)/meandist; T = [scale 0 -scale*c(1) 0 scale -scale*c(2) 0 0 1 ]; newpts = T*pts;

RANSAC repeat select minimal sample (8 matches) compute solution(s) for F determine inliers until Γ(#inliers,#samples)>95% or too many times compute F based on all inliers

Results (ground truth)

Results (8-point algorithm)

Results (normalized 8-point algorithm)

From F to R, T x' E Τ M' x' Τ Fx = 0 Τ Τ EM 1 x = 0 = M' FM If we know camera parameters E = R[T] Hartley and Zisserman, Multiple View Geometry, 2 nd edition, pp 259

Application: View morphing

Application: View morphing

Main trick Prewarp with a homography to rectify images So that the two views are parallel Because linear interpolation works when views are parallel

Problem with morphing Without rectification

morph morph prewarp prewarp homographies input output input

Video demo

Triangulation Problem: Given some points in correspondence across two or more images (taken from calibrated cameras), {(u j,v j )}, compute the 3D location X Richard Szeliski CSE 576 (Spring 2005): Computer Vision 40

Triangulation Method I: intersect viewing rays in 3D, minimize: X is the unknown 3D point C j is the optical center of camera j V j is the viewing ray for pixel (u j,v j ) X s j is unknown distance along V j Advantage: geometrically intuitive V j C j Richard Szeliski CSE 576 (Spring 2005): Computer Vision 41

Triangulation Method II: solve linear equations in X advantage: very simple Method III: non-linear minimization advantage: most accurate (image plane error) Richard Szeliski CSE 576 (Spring 2005): Computer Vision 42

Structure from motion

Structure from motion Unknown camera viewpoints structure from motion: automatic recovery of camera motion and scene structure from two or more images. It is a self calibration technique and called automatic camera tracking or matchmoving.

Applications For computer vision, multiple-view shape reconstruction, novel view synthesis and autonomous vehicle navigation. For film production, seamless insertion of CGI into live-action backgrounds

Structure from motion 2D feature tracking 3D estimation optimization (bundle adjust) geometry fitting SFM pipeline

Structure from motion Step 1: Track Features Detect good features, Shi & Tomasi, SIFT Find correspondences between frames Lucas & Kanade-style motion estimation window-based correlation SIFT matching

Structure from Motion Step 2: Estimate Motion and Structure Simplified projection model, e.g., [Tomasi 92] 2 or 3 views at a time [Hartley 00]

Structure from Motion Step 3: Refine estimates Bundle adjustment in photogrammetry Other iterative methods

Structure from Motion Step 4: Recover surfaces (image-based triangulation, silhouettes, stereo ) Good mesh

Example : Photo Tourism

Factorization methods

Problem statement

Other projection models

SFM under orthographic projection 2D image point orthographic projection matrix 3D scene point image offset q = Πp + t Trick 2 1 2 3 3 1 2 1 Choose scene origin to be centroid of 3D points Choose image origins to be centroid of 2D points Allows us to drop the camera translation: q = Πp

factorization (Tomasi & Kanade) [ ] [ ] n 3 3 2 n 2 = Π n 2 1 n 2 1 p p p q q q L L projection of n features in one image: [ ] n 3 3 2m n 2m 2 1 2 1 2 1 2 22 21 1 12 11 = n m mn m m n n p p p Π Π Π q q q q q q q q q L M L M O M M L L projection of n features in m images W measurement M motion S shape Key Observation: rank(w) <= 3

Factorization known W = M S 2m n 2m 3 3 n solve for Factorization Technique W is at most rank 3 (assuming no noise) We can use singular value decomposition to factor W: W 2m n = M' S' 2m 3 3 n S differs from S by a linear transformation A: W = M' S' = ( MA )( AS) Solve for A by enforcing metric constraints on M 1

Metric constraints Orthographic Camera Rows of Π are orthonormal: Enforcing Metric Constraints 1 = 0 Compute A such that rows of M have these properties 0 T i i 1 M ' A = M Trick (not in original Tomasi/Kanade paper, but in followup work) Constraints are linear in AA T : 1 0 T T T T = i i = ' i A ' i A = ' i G ' i where G = AA 0 1 Solve for G first by writing equations for every Π i in M Then G = AA T by SVD ( ) T

Results

Extensions to factorization methods Paraperspective [Poelman & Kanade, PAMI 97] Sequential Factorization [Morita & Kanade, PAMI 97] Factorization under perspective [Christy & Horaud, PAMI 96] [Sturm & Triggs, ECCV 96] Factorization with Uncertainty [Anandan & Irani, IJCV 2002]

Bundle adjustment

Structure from motion How many points do we need to match? 2 frames: (R,t): 5 dof + 3n point locations 4n point measurements n 5 k frames: 6(k 1)-1 + 3n 2kn always want to use many more Richard Szeliski CSE 576 (Spring 2005): Computer Vision 62

Bundle Adjustment What makes this non-linear minimization hard? many more parameters: potentially slow poorer conditioning (high correlation) potentially lots of outliers Richard Szeliski CSE 576 (Spring 2005): Computer Vision 63

Lots of parameters: sparsity Only a few entries in Jacobian are non-zero Richard Szeliski CSE 576 (Spring 2005): Computer Vision 64

Robust error models Outlier rejection use robust penalty applied to each set of joint measurements for extremely bad data, use random sampling [RANSAC, Fischler & Bolles, CACM 81] Richard Szeliski CSE 576 (Spring 2005): Computer Vision 65

Structure from motion: limitations Very difficult to reliably estimate metric structure and motion unless: large (x or y) rotation or large field of view and depth variation Camera calibration important for Euclidean reconstructions Need good feature tracker Lens distortion Richard Szeliski CSE 576 (Spring 2005): Computer Vision 67

Issues in SFM Track lifetime Nonlinear lens distortion Prior knowledge and scene constraints Multiple motions

Track lifetime every 50th frame of a 800-frame sequence

Track lifetime lifetime of 3192 tracks from the previous sequence

Track lifetime track length histogram

Nonlinear lens distortion

Nonlinear lens distortion effect of lens distortion

Prior knowledge and scene constraints add a constraint that several lines are parallel

Prior knowledge and scene constraints add a constraint that it is a turntable sequence

Applications of Structure from Motion

Jurassic park

PhotoSynth http://labs.live.com/photosynth/