Parameterizing the Trifocal Tensor

Similar documents
Trinocular Geometry Revisited

Lecture 5. Epipolar Geometry. Professor Silvio Savarese Computational Vision and Geometry Lab. 21-Jan-15. Lecture 5 - Silvio Savarese

Vision par ordinateur

The Multibody Trifocal Tensor: Motion Segmentation from 3 Perspective Views

Algorithms for Computing a Planar Homography from Conics in Correspondence

CSE 252B: Computer Vision II

Multiple View Geometry in Computer Vision

A Practical Method for Decomposition of the Essential Matrix

Multiple View Geometry in Computer Vision

EPIPOLAR GEOMETRY WITH MANY DETAILS

A Study of Kruppa s Equation for Camera Self-calibration

Computation of the Quadrifocal Tensor

Math (P)Review Part I:

TheFourierTransformAndItsApplications-Lecture28

Lecture 4: Applications of Orthogonality: QR Decompositions

Midterm 1 Review. Distance = (x 1 x 0 ) 2 + (y 1 y 0 ) 2.

Algebra 8.6 Simple Equations

Lecture 10: Powers of Matrices, Difference Equations

The calibrated trifocal variety

Differential Equations

Lesson 21 Not So Dramatic Quadratics

Reconstruction from projections using Grassmann tensors

irst we need to know that there are many ways to indicate multiplication; for example the product of 5 and 7 can be written in a variety of ways:

Eigenvectors and Hermitian Operators

Linear Classifiers and the Perceptron

Physics 202 Laboratory 5. Linear Algebra 1. Laboratory 5. Physics 202 Laboratory

Segmentation of Dynamic Scenes from the Multibody Fundamental Matrix

Induced Planar Homologies in Epipolar Geometry

Determining the Translational Speed of a Camera from Time-Varying Optical Flow

Pose estimation from point and line correspondences

CS 246 Review of Linear Algebra 01/17/19

CS 542G: Robustifying Newton, Constraints, Nonlinear Least Squares

CS4495/6495 Introduction to Computer Vision. 3D-L3 Fundamental matrix

Uncertainty Models in Quasiconvex Optimization for Geometric Reconstruction

Linear Algebra & Geometry why is linear algebra useful in computer vision?

Outline. Linear Algebra for Computer Vision

PAijpam.eu EPIPOLAR GEOMETRY WITH A FUNDAMENTAL MATRIX IN CANONICAL FORM Georgi Hristov Georgiev 1, Vencislav Dakov Radulov 2

Math 291-2: Lecture Notes Northwestern University, Winter 2016

The structure tensor in projective spaces

Multiview Geometry and Bundle Adjustment. CSE P576 David M. Rosen

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

CS168: The Modern Algorithmic Toolbox Lecture #7: Understanding Principal Component Analysis (PCA)

Final Review Sheet. B = (1, 1 + 3x, 1 + x 2 ) then 2 + 3x + 6x 2

Why Bayesian? Rigorous approach to address statistical estimation problems. The Bayesian philosophy is mature and powerful.

October 25, 2013 INNER PRODUCT SPACES

base 2 4 The EXPONENT tells you how many times to write the base as a factor. Evaluate the following expressions in standard notation.

More on Bracket Algebra

Notes for CS542G (Iterative Solvers for Linear Systems)

GAUSSIAN ELIMINATION AND LU DECOMPOSITION (SUPPLEMENT FOR MA511)

Getting Started with Communications Engineering

Vision 3D articielle Session 2: Essential and fundamental matrices, their computation, RANSAC algorithm

General and Nested Wiberg Minimization: L 2 and Maximum Likelihood

CS168: The Modern Algorithmic Toolbox Lecture #8: How PCA Works

Linear Least-Squares Data Fitting

Math (P)Review Part II:

A Primer on Three Vectors

CMU CS 462/662 (INTRO TO COMPUTER GRAPHICS) HOMEWORK 0.0 MATH REVIEW/PREVIEW LINEAR ALGEBRA

Systematic Uncertainty Max Bean John Jay College of Criminal Justice, Physics Program

Visual SLAM Tutorial: Bundle Adjustment

Chapter 3 Numerical Methods

DIFFERENTIAL EQUATIONS

Optimisation on Manifolds

CSE 252B: Computer Vision II

LINEAR ALGEBRA: THEORY. Version: August 12,

CS 361: Probability & Statistics

Visual Object Recognition

Usually, when we first formulate a problem in mathematics, we use the most familiar

Approximation, Taylor Polynomials, and Derivatives

εx 2 + x 1 = 0. (2) Suppose we try a regular perturbation expansion on it. Setting ε = 0 gives x 1 = 0,

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Linear Algebra /34

NoBS Linear Algebra and Vector Geometry

LAB 8: INTEGRATION. Figure 1. Approximating volume: the left by cubes, the right by cylinders

Machine Learning. A Bayesian and Optimization Perspective. Academic Press, Sergios Theodoridis 1. of Athens, Athens, Greece.

Descriptive Statistics (And a little bit on rounding and significant digits)

STAT 151A: Lab 1. 1 Logistics. 2 Reference. 3 Playing with R: graphics and lm() 4 Random vectors. Billy Fang. 2 September 2017

Metric-based classifiers. Nuno Vasconcelos UCSD

There are two main properties that we use when solving linear equations. Property #1: Additive Property of Equality

3D Computer Vision - WT 2004

Mathematics for Intelligent Systems Lecture 5 Homework Solutions

Algebra & Trig Review

Algebra. Here are a couple of warnings to my students who may be here to get a copy of what happened on a day that you missed.

CPSC 340: Machine Learning and Data Mining. MLE and MAP Fall 2017

Structure from Motion with Known Camera Positions

Tutorial 2 - Learning about the Discrete Fourier Transform

Camera Calibration The purpose of camera calibration is to determine the intrinsic camera parameters (c 0,r 0 ), f, s x, s y, skew parameter (s =

Understanding Exponents Eric Rasmusen September 18, 2018

Linear Algebra and Robot Modeling

Polynomial Eigenvalue Solutions to the 5-pt and 6-pt Relative Pose Problems

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology

A Factorization Method for 3D Multi-body Motion Estimation and Segmentation

Roberto s Notes on Linear Algebra Chapter 9: Orthogonality Section 2. Orthogonal matrices

Sparse least squares and Q-less QR

The Gram-Schmidt Process

Linear Algebra March 16, 2019

Error Correcting Codes Prof. Dr. P. Vijay Kumar Department of Electrical Communication Engineering Indian Institute of Science, Bangalore

COLLEGE ALGEBRA. Paul Dawkins

Topic 15 Notes Jeremy Orloff

Frequency, Vibration, and Fourier

Embeddings Learned By Matrix Factorization

Linear Algebra, Summer 2011, pt. 3

Transcription:

Parameterizing the Trifocal Tensor May 11, 2017 Based on: Klas Nordberg. A Minimal Parameterization of the Trifocal Tensor. In Computer society conference on computer vision and pattern recognition (CVPR). 2009 Silver (Joni) De Guzman and Anthony Thomas May 11, 2017 1 / 44

What is the Trifocal Tensor and Why Should we Care? Encodes the geometric relationship between three corresponding views. Analogous to the fundamental matrix of two-view geometry, but trifocal tensor extends to three-views. Can be determined only from feature correspondences between three images. Applications: Accurate 3D scene reconstruction Robotics Virtual and augmented reality May 11, 2017 2 / 44

Why Use Three Views Instead of Two? The geometry on an image sequence can be more accurately and robustly determined from image triplets than image pairs. More views means more accuracy for reconstruction. May 11, 2017 3 / 44

3D Reconstruction Building Rome (Actually Dubrovnik) in a Day University of Washington Grail Lab May 11, 2017 4 / 44

Review of Two-View Geometry We ll use two-view geometry to motivate some facts about the trifocal tensor Consider point correspondences x 1 x 2 between two images. Is it possible to constrain the search for x 2? Yes! Let s see how... Richard Hartley and A. Zisserman (2003) Multiple View Geometry in Computer Vision. Cambridge University Press May 11, 2017 5 / 44

The Fundamental Matrix The Fundamental Matrix The fundamental matrix F encodes the geometric relationship between two views. F maps points in view one to epipolar lines in view two: l = Fx. For any corresponding x x : xfx = 0. We can determine F without knowing anything about the underlying cameras! May 11, 2017 6 / 44

The Fundamental Matrix An Important Note: The fundamental matrix is invariant to projective transformations (denoted H) of the 3D scene. Why? C 1 X = (C 1 H)(H 1 X) and C 2 X = (C 2 H)(H 1 X) If x 1 and x 2 are matched under C 1 and C 2 then they re still matched under the transformation. Implication: two projection matrices uniquely determine the fundamental matrix, but the converse is not true! Richard Hartley and A. Zisserman (2003) Multiple View Geometry in Computer Vision. Cambridge University Press May 11, 2017 7 / 44

Introducing the Trifocal Tensor What happens when we introduce a third view? Meet the Trifocal Tensor May 11, 2017 8 / 44

Trifocal Tensor Properties Characterizes projective geometry in three views. { } It s a tensor (super matrix): T =, T 2, T 3 3 3 3 T 1 3 3 3 3 3 3 Like fundamental matrix it s invariant under projective transformations of the 3D scene. Richard Hartley and A. Zisserman (2003) Multiple View Geometry in Computer Vision. Cambridge University Press May 11, 2017 9 / 44

Structure of the Tensor Structure of the Tensor The Trifocal Tensor can be computed from the camera projection matrices: C 1 = (I 0), C 2 = (A a 4 ), C 3 = (B b 4 ) C 2 = a 11 a 12 a 13 a 1 4 a 21 a 22 a 23 a 2 4 a 31 a 32 a 33 a 3 4 C 3 = b 11 b 12 b 13 b 1 4 b 21 b 22 b 23 b 2 4 b 31 b 32 b 33 b 3 4 T i = a i b T 4 a 4 b T i This works in reverse too: given T we can recover C 1, C 2, C 3 and their epipoles May 11, 2017 10 / 44

Degrees of Freedom Any tensor computed from three camera matrices is said to be consistent (geometrically valid). C i has 11 dof 3 cameras = 33 degrees of freedom. But... 3 4 Invariant under projective transformations H so: 33 15 = 18 dof. 4 4 Any geometrically valid T satisfies 27 18 1 = 8 internal constraints. Analogous to the det(f) = 0 constraint on the fundamental matrix. But much more complicated so we won t talk about them here... May 11, 2017 11 / 44

Comparison of Fundamental Matrix and Trifocal Tensor Fundamental Matrix 2 views 3x3 matrix with 9 elements 7 degrees of freedom 1 internal constraint: det(f) = 0 minimum 7 point correspondences depends solely on feature correspondences Trifocal Tensor 3 views 3x3x3 tensor with 27 elements 18 degrees of freedom 8 internal constraints minimum 6 point correspondences depends solely on feature correspondences May 11, 2017 12 / 44

The Trilinear Relations I Just like F, the trifocal tensor encodes relationships between points and lines in the three views. Point-Point-Point X x x / / x / / / C C / C [x ] x ( i x i T i ) [x ] x = 0 May 11, 2017 13 / 44

The Trilinear Relations II Point-Line-Line L X l // x // C x x / / l / / C / C l T ( ) x i T i l = 0 We get lots more: point-line-point, point-point-line, etc... i Richard Hartley and A. Zisserman (2003) Multiple View Geometry in Computer Vision. Cambridge University Press May 11, 2017 14 / 44

A Note on Notation Kronecker Products and the Tensor x 1 x 2 x 3 = ( x1 1 x2 1 x3 1, x1 1 x2 1 x3 2,, x1 3 x2 3 x 3 ) T 3 = a 3 1 3 1 3 1 27 1 T (x 1 x 2 x 3 ) = vect(t ) T a Point-line-line correspondence under this notation: l T 2 ( i x i T i )l 3 = T (x 1 l 2 l 3 ) = 0 Also generalizes to matrix Kronecker products T (U W V) = vect(t ) T M T 27 27 May 11, 2017 15 / 44

Estimating the Tensor The heavily condensed version: 1 Detect feature correspondences and apply MSAC outlier-rejection (requires 6 point correspondences). 2 Apply a linear algorithm (DLT) to obtain an initial estimate T 0 T0 needs to satisfy the eight internal constraints. Apply another round of estimation minimizing algebraic error. Or maybe something else... 3 Apply the Levenberg-Marquardt algorithm to obtain the gold-standard estimate minimizing geometric error (easier said than done). Richard Hartley and A. Zisserman (2003) Multiple View Geometry in Computer Vision. Cambridge University Press May 11, 2017 16 / 44

Parameterizing the Trifocal Tensor How should we parameterize the tensor? May 11, 2017 17 / 44

Parameterizing the Trifocal Tensor Klas Nordberg. A Minimal Parameterization of the Trifocal Tensor. In Computer society conference on computer vision and pattern recognition (CVPR). 2009 Proposition The trifocal tensor may be parameterized by three 3 3 orthogonal matrices and a homogeneous 10-vector. The proof of this follows on the next many slides. In the words of the author: Here we go! May 11, 2017 18 / 44

Some Terminology Skew-Symmetric Matrices and Cross-Products: [a] x = 0 a 3 a 2 a 3 0 a 1 a 2 a 1 0 Note: [a] x b = b T [a] x = a b A couple other useful properties: [a] x a = 0 and b T [a] x b = 0 Remember the Kronecker Product: ( ) T U W V 3 3 3 3 3 3 = vect(t ) T M 27 27 T May 11, 2017 19 / 44

Problem Setup Let C 1, C 2, C 3 be three generic camera matrices. Ci = (R i t i ) We want the cameras to be canonical to deal with projective ambiguity We ll rotate the first camera so it aligns with the scene plane SVD(C 1 ) = L (S 0) H 3 3 3 4 4 4 C 1 = S 1 L T C 1 H = (I 0) C 2 = C 2 H = (A a 4 ) C 3 = C 3 H = (B b 4 ) May 11, 2017 20 / 44

Problem Setup Now we can use the nice form of T : T i = a i b T 4 a 4 b T i Let T be the canonical tensor and let T be the raw one We want a way to go back and forth: T T We can show this relationship is well defined and described by the following: Takeaway: T = T (S 1 L T I I) = T (D I I) We can transform the scene such that the first camera is canonical. There exists a well defined relationship between T and T and we can use T from now on. May 11, 2017 21 / 44

Another Proposition Proposition There exists three orthogonal matrices U, V, W which can be used to transform the trifocal tensor such that exactly ten well defined elements are non-zero. May 11, 2017 22 / 44

Parameterizing the Trifocal Tensor Consider the following transformation: T jk i = T m pq Ui m VpW j q k m,p,q = u m ( ) i v T p T m w q m T = T (U V W) Intuition: Elements of T are formed by multiplying triplets of columns from U, V, W onto slices of T We ll now show that for the correct choice of U, V, W something pretty cool happens... May 11, 2017 23 / 44

Parameterizing The Trifocal Tensor Consider the following matrices whose columns are orthogonal: ( [ ] 2 ] ) U 0 = A 1 a 4, A 1 a 4 B 1 b 4, [A 1 a 4 B 1 b 4 x x ) V 0 = (a 4, [a 4 ] x AB 1 b 4, [a 4 ] 2x AB 1 b 4 ) W 0 = (b 4, [b 4 ] x BA 1 a 4, [b 4 ] 2x BA 1 a 4 (1) (2) (3) Lemma: For a matrix M 0 with orthogonal columns, the transformation M = M 0 (M T 0 M 0 ) 1 2 yields an orthogonal matrix. May 11, 2017 24 / 44

Proof of the Proposition First some preliminaries: Define: r = AB 1 b 4, r = [a 4 ] x r, s = BA 1 a 4, s = [b 4 ] x s. Then: V 0 = (a 4, [a 4 ] x r, [a 4 ] x r, [a 4 ] x r ) and W 0 = (b 4, [b 4 ] x s, [b 4 ] x s ) The transformation M 0 M simply rescales the columns of M so it suffices to prove the proposition using U 0, V 0, W 0. May 11, 2017 25 / 44

Proof of the Proposition Remember the transformation: T jk i = T m pq Ui m VpW j q k? 1 We want to show 17 elements of T are zero under this transformation. 2 The full proof is tedious so we ll provide the necessary intuition. 3 Let s look at how we can show some elements to be zero... May 11, 2017 26 / 44

Proof of the Proposition First we ll look at: T 22 i = T m pq U i Vp 2 Wq 2 = T m pq U i Vp 2 Wq 2 = U i v T 2 T iw 2 i m,p,q Want to show: V = v 1 v 2 v 3 v 11 v 12 v 13 v 21 v 22 v 23 v 31 v 23 v 33 W = T 11 T 12 T 13 T i = T 21 T 22 T 23 T 31 T 23 T 33 T i = 0 w 1 w 2 w 3 w 11 w 12 w 13 w 21 w 22 w 23 u 31 w 23 w 33 May 11, 2017 27 / 44

Proof of the Proposition To start note: m,p,q T pq m U i V 2 p W 2 q = U i v T 2 T iw 2 i If we can show v T 2 T iw 2 = 0 then we can forget about U i so: T 22 i = v T 2 T iw 2 Now let s plug in the definitions of T i, v T 2, and w 2 : ( T i 22 = r T [a 4 ] T x a i b T 4 a 4 b T i Then we can distribute as follows: ) [b 4 ] x s T 22 i = r T [a 4 ] T x a ib T 4 [b 4 ] x s r T [a 4 ] T x a 4b T i [b 4 ] x s May 11, 2017 28 / 44

Proof of the Proposition Now let s recall that a a = 0 and note that we can take advantage of this here: T 22 i = r T [a 4 ] T x a i b T 4 [b 4 ] x s r T [a 4 ] T x a 4 b T i [b 4 ] x s Which gives us the desired result! T 22 i = r T 0 0 s = 0 May 11, 2017 29 / 44

Proof of the Proposition We can apply similar techniques to transform T into: 0 0 T 1 = 0 0 0 T 2 = 0 0 0 T 3 = 0 0 0 0 0 0 0 0 0 Note: this was the simplest case but all the other derivations use the same basic technique... May 11, 2017 30 / 44

Some Intuition Where did the orthogonal matrices come from? Meditating in the woods of Sweden? Medication? Careful exploitation of the internal structure of T and properties of the cross product? The Orthogonal Matrices U, V, W and T i are all constructed using the camera matrices. It is the interaction of the columns of the orthogonal matrices and the slices of T which allow us to exploit properties of the cross product which cause certain elements to become zero. May 11, 2017 31 / 44

Coming Full Circle What Exactly Have We Shown? The trifocal tensor can be transformed using three orthogonal matrices into a sparse form with exactly ten non-zero elements We ve proved the proposition but so what? We know how to parameterize this space! The three orthogonal matrices may be parameterized using matrix exponentials ([ω w ] x = log (W)) yielding nine parameters. The ten non-zero elements may be parameterized as a homogeneous vector yielding the remaining nine parameters. May 11, 2017 32 / 44

Un-Canonicalizing the Transformations We ve found our minimal parameterization - But wait - there s a catch... The derivations above assumed canonical cameras. We need to undo the original canonicalization. May 11, 2017 33 / 44

Un-Canonicalizing the Transformations T jk i = T m pq Ui m VpW j q k = T (U V W) recall: T = T (D I I) so: T = T (D I I)(U V W) = T (DU V W) In general DU will not be orthogonal So let s take a QR decomposition: DU = QR Q is orthogonal and R is upper-triangular Now we have what we need: T = T (Q V W)(R I I) T = T (R 1 I I) = T (Q V W) May 11, 2017 34 / 44

Un-Canonicalizing the Transformations What Have We Shown? The relationship between the sparse tensor and the original tensor without the assumption of canonical cameras is well defined. This relationship is described by: T = T (Q T V T W T ) May 11, 2017 35 / 44

Are We Done? Now we re done! Or are we... May 11, 2017 36 / 44

Determining the Orthogonal Transformations We ve said nothing about how to determine U, V, W in practice. Given noisy data we can t expect to perfectly recover the sparse form We instead wish to find the U, V, W which minimize the sum of squares of the zero valued elements. Stated mathematically: we wish to solve the following minimization: min U,V,W P z [T (Q V W)] 2 Where P Z is a projection operator mapping the zero valued elements of T to euclidean space. May 11, 2017 37 / 44

Determining the Orthogonal Transformations This problem can be solved using standard nonlinear optimization techniques Use the DLT algorithm to initialize T 0. Extract the projection matrices to initialize U, V, W. Apply LM to solve the problem above. This gives a corrected estimate of T 0 to which the gold-standard MLE estimate minimizing geometric error can be applied using the same parameterization. Bam! You ve got yourself a trifocal tensor satisfying the eight internal constraints May 11, 2017 38 / 44

Some Concluding Points This parameterization also allows us to enforce the internal constraints on a linear estimate We can show (but won t) that T 0 is the best approximation to the true trifocal tensor satisfying the internal constraints. But maybe the DLT is almost as good... Does this really get us anywhere? May 11, 2017 39 / 44

Experimental Evaluation Experimental Set Up Generate synthetic projection matrices and a 3D scene Project the scene under each matrix and add some noise Measure the distance between the true epipole e 21 and its position estimated from T. Compare: 1 T 0: Vanilla DLT algorithm 2 T 1: Sparse algorithm without data normalization 3 T 2: Sparse algorithm with data normalization Repeat 1000 times for varying number of image correspondences (N) May 11, 2017 40 / 44

Experimental Evaluation Results: Takeaways: Points DLT Sparse w/o Norm. Sparse w/i Norm. 7 50 (34%) 56 (1%) 49 (38%) 10 43 (77%) 52 (1%) 40 (80%) 15 33 (95%) 52 (3%) 30 (97%) 20 25 (99%) 54 (5%) 23 (99%) 50 13 (100%) 45 (15%) 12 (100%) Sparse estimate is consistently the best, but... It s very sensitive to data normalization. May 11, 2017 41 / 44

Now We re Really Done What Have We Shown? Any Trifocal Tensor can be expressed using three rotation matrices and a 10-vector. This leads to a straightforward parameterization. Which leads to better estimates than current state-of-the-art (from 2003). May 11, 2017 42 / 44

3D Reconstruction Again Byrod, Josephson and Astrom Fast Optimal Three View Triangulation. In Computer Vision-ACCV 2007. May 11, 2017 43 / 44

Questions? (1) Hedborg, Robinson and Felsberg. Robust Three View Triangulation Done Fast. In CVPR 2014. (2) Nister. Reconstruction from Uncalibrated Sequences with a Hierarchy of Trifocal Tensors. In ECCV00, volume 1, 2000. May 11, 2017 44 / 44