Metric Self Calibration From Screw-Transform Manifolds Russell Manning and Charles Dyer University of Wisconsin -- Madison.

Slides:



Advertisements
Similar presentations
Epipolar Geometry.
Advertisements

Announcements. Structure-from-Motion Determining the 3-D structure of the world, and/or the motion of a camera using a sequence of images taken by a moving.
Computer Vision, Robert Pless
Invariants (continued).
3D reconstruction.
Robot Vision SS 2005 Matthias Rüther 1 ROBOT VISION Lesson 3: Projective Geometry Matthias Rüther Slides courtesy of Marc Pollefeys Department of Computer.
Jan-Michael Frahm, Enrique Dunn Spring 2012
Two-view geometry.
Lecture 8: Stereo.
Camera calibration and epipolar geometry
Structure from motion.
The 2D Projective Plane Points and Lines.
Used slides/content with permission from
Projective geometry- 2D Acknowledgements Marc Pollefeys: for allowing the use of his excellent slides on this topic
Epipolar geometry. (i)Correspondence geometry: Given an image point x in the first view, how does this constrain the position of the corresponding point.
Structure from motion. Multiple-view geometry questions Scene geometry (structure): Given 2D point matches in two or more images, where are the corresponding.
Uncalibrated Geometry & Stratification Sastry and Yang
CS485/685 Computer Vision Prof. George Bebis
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
Multiple-view Reconstruction from Points and Lines
3D reconstruction of cameras and structure x i = PX i x’ i = P’X i.
© 2003 by Davi GeigerComputer Vision October 2003 L1.1 Structure-from-EgoMotion (based on notes from David Jacobs, CS-Maryland) Determining the 3-D structure.
Grading for ELE 5450 Assignment 28% Short test 12% Project 60%
Previously Two view geometry: epipolar geometry Stereo vision: 3D reconstruction epipolar lines Baseline O O’ epipolar plane.
The Pinhole Camera Model
MSU CSE 803 Fall 2008 Stockman1 CV: 3D sensing and calibration Coordinate system changes; perspective transformation; Stereo and structured light.
CS223b, Jana Kosecka Rigid Body Motion and Image Formation.
May 2004Stereo1 Introduction to Computer Vision CS / ECE 181B Tuesday, May 11, 2004  Multiple view geometry and stereo  Handout #6 available (check with.
Camera parameters Extrinisic parameters define location and orientation of camera reference frame with respect to world frame Intrinsic parameters define.
Camera Parameters and Calibration. Camera parameters From last time….
Stockman MSU/CSE Math models 3D to 2D Affine transformations in 3D; Projections 3D to 2D; Derivation of camera matrix form.
Structure Computation. How to compute the position of a point in 3- space given its image in two views and the camera matrices of those two views Use.
3-D Scene u u’u’ Study the mathematical relations between corresponding image points. “Corresponding” means originated from the same 3D point. Objective.
Multi-view geometry. Multi-view geometry problems Structure: Given projections of the same 3D point in two or more images, compute the 3D coordinates.
Automatic Camera Calibration
Lecture 11 Stereo Reconstruction I Lecture 11 Stereo Reconstruction I Mata kuliah: T Computer Vision Tahun: 2010.
875: Recent Advances in Geometric Computer Vision & Recognition Jan-Michael Frahm Fall 2011.
Lecture 12 Stereo Reconstruction II Lecture 12 Stereo Reconstruction II Mata kuliah: T Computer Vision Tahun: 2010.
Epipolar geometry The fundamental matrix and the tensor
1 Preview At least two views are required to access the depth of a scene point and in turn to reconstruct scene structure Multiple views can be obtained.
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
Geometric Models & Camera Calibration
视觉的三维运动理解 刘允才 上海交通大学 2002 年 11 月 16 日 Understanding 3D Motion from Images Yuncai Liu Shanghai Jiao Tong University November 16, 2002.
Objects at infinity used in calibration
Affine Structure from Motion
A Flexible New Technique for Camera Calibration Zhengyou Zhang Sung Huh CSPS 643 Individual Presentation 1 February 25,
Two-view geometry. Epipolar Plane – plane containing baseline (1D family) Epipoles = intersections of baseline with image planes = projections of the.
EECS 274 Computer Vision Affine Structure from Motion.
1 Chapter 2: Geometric Camera Models Objective: Formulate the geometrical relationships between image and scene measurements Scene: a 3-D function, g(x,y,z)
12/24/2015 A.Aruna/Assistant professor/IT/SNSCE 1.
Computer vision: models, learning and inference M Ahad Multiple Cameras
Auto-calibration we have just calibrated using a calibration object –another calibration object is the Tsai grid of Figure 7.1 on HZ182, which can be used.
Determining 3D Structure and Motion of Man-made Objects from Corners.
Uncalibrated reconstruction Calibration with a rig Uncalibrated epipolar geometry Ambiguities in image formation Stratified reconstruction Autocalibration.
Parameter estimation class 5 Multiple View Geometry CPSC 689 Slides modified from Marc Pollefeys’ Comp
Lec 26: Fundamental Matrix CS4670 / 5670: Computer Vision Kavita Bala.
Projective 2D geometry course 2 Multiple View Geometry Comp Marc Pollefeys.
Multi-view geometry. Multi-view geometry problems Structure: Given projections of the same 3D point in two or more images, compute the 3D coordinates.
Two-view geometry Computer Vision Spring 2018, Lecture 10
Epipolar geometry.
Fitting Curve Models to Edges
3D Photography: Epipolar geometry
Computer Graphics Recitation 12.
Estimating 2-view relationships
3D reconstruction class 11
Uncalibrated Geometry & Stratification
Reconstruction.
Multi-view geometry.
The Pinhole Camera Model
Calibration and homographies
Presentation transcript:

Metric Self Calibration From Screw-Transform Manifolds Russell Manning and Charles Dyer University of Wisconsin -- Madison

Goal Find internal camera calibration Only input is images (views) Camera… –has fixed internal parameters –undergoes general motion

Input assorted views

Output Internal calibration (Optional) scene reconstruction reconstruction

Quick Overview Find pairwise fundamental matrices F i F1F1 F2F2

Don ’ t need an initial projective reconstruction Just need fundamental matrices, which are derived from view pairs So related to methods based on the Kruppa constraints rather than stratified calibration methods like the modulus constraint

Each fundamental matrix induces a curved surface (manifold) in R 5 F1F1 every manifold point is a legal internal calibration

There is a unique mutual intersection point to all these manifolds F4F4 F1F1 F2F2 F3F3 intersection point gives calibration

Details What is a manifold? What is a screw transform? Screw-transform manifolds and their coordinate system Finding intersection point: voting algorithm

Manifold Surface in R n that has a coordinate system

Manifold grid paper example kappa theta

Screw Transformation

AB A

AB

AB

AB

AB

AB

AB B

the scene camera A camera B (=camera A in arbitrary new position) screw transformation

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis *turntable is viewed by a single camera, fixed in position camera A scene rising turntable

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis *turntable is viewed by a single camera, fixed in position

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis *turntable is viewed by a single camera, fixed in position

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis *turntable is viewed by a single camera, fixed in position

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis camera B translated by gamma rotated by theta *turntable is viewed by a single camera, fixed in position

The Two Camera Matrices camera A... is located at position (1,0,0) is tilted by a rotation matrix R and has internal calibration K

The Two Camera Matrices camera B... is exactly like camera A, but... the world has first undergone a screw transform S

The Two Camera Matrices

rotation by theta around the z-axis (== screw axis) translation by gamma parallel to z-axis

The Two Camera Matrices so we can refer to the column vectors of the camera matrices

Fundamental Matrix screw rotation angle screw translation columns from camera matrices H = [ h 1 h 2 h 3 ] = K R

Fundamental Matrix through this representation, we will be able to find K from F by picking three real numbers: theta, gamma, and kappa ! these real numbers parameterize a “ screw-transform manifold ”

Screw Transform Manifold You give me 3 real numbers (kappa, theta, gamma) and a fundamental matrix I run the numbers through an algorithm (given in the paper) to get a legal internal calibration matrix (K) Set of legal K ’ s is the screw-transform manifold (kappa, theta, gamma) are the coordinate system Where does manifold live?

Screw Transform Manifold Manifold lives in R 5 because K is 3x3 upper-triangular matrix: xxx 0 0 x0 xx only 5 degrees of freedom since don’t care about scale (e.g., make norm 1)

Mutual Intersection Point Manifold is a set of points Each point is a legal internal calibration matrix Manifold corresponds to fundamental matrix The mutual intersection point of all the manifolds is a legal internal calibration matrix for every fundamental matrix

Voting Algorithm

Basic Idea “ sketch ” the manifolds within initial search region find approximate region where manifolds seem to intersect “ zoom in ” : repeat the process starting in the new, smaller search region

Manifold defined by function f(t) with one underlying real-valued parameter t In the limited search space shown at left, t might vary between 0 and 1 Pick t at random, say t=0.6, and find f(t) f(t) is shown as a dotted line because we don ’ t know it ’ s shape initially

Continue picking random values for t in range [0,1] to sketch manifold f(t) To utilize the randomly-selected points ( “ votes ” ), first drop a voxel grid over the search space Mark voxels that receive at least one vote

Sketch the second manifold in the same way

Now consider tabulating the votes For each voxel, keep track of how many manifolds have voted for that voxel lighter color means higher number of votes When some region receives enough votes, zoom in on that region

Now “ zoom in ” -- start over using the smaller search region as the original search region “ binary search ”

Repeat the sketching and voting procedure. A winner emerges. Determine the new “ zoom in ” region

Voxelize the new search space No consensus!

Properties of Voting Algorithm Benefits from using lots of fundamental matrices Noisy manifolds will contribute votes in empty regions and thus be ignored Zoom-in step eliminates bad manifolds Determines a small region where K is rather than an exact point Quick convergence at end when manifolds become linear

Properties of Voting Algorithm General technique -- use whenever need to intersect manifolds

begin

end

(1) What is self calibration? (2) What is a screw transform? (3) Fundamental matrix + choice of three screw transform parameters  internal calibration matrix. (4) Internal calibration matrix K lives in a 5D space (termed “K-space”). (5) Each fundamental matrix yields a 3D manifold in K-space, termed “screw-transform manifold.” (6) Intersection of 3 or more manifolds gives K matrix common to all view pairs (i.e., finds internal calibration).

Map of the Talk (1) A sample application of self calibration (2) The “ K ” matrix (internal calibration matrix). (3) Relationship between K and “ screw transform ” that underlies pairwise views. (5) The screw-transform manifold. (6) Intersecting screw-transform manifolds. (7) Algorithm for self calibration. (8) Voting algorithm to find intersection point. (4) What is a manifold?

(pictures of me taking photos of scene…leading to self calibration and scene reconstruction)

Map of the Talk (1) A sample application of self calibration (2) The “ K ” matrix (internal calibration matrix). (3) Relationship between K and “ screw transform ” that underlies pairwise views. (5) The screw-transform manifold. (6) Intersecting screw-transform manifolds. (7) Algorithm for self calibration. (8) Voting algorithm to find intersection point. (4) What is a manifold?

Camera Equation Consider the equation for how points in 3D get projected onto image plane of camera …

Camera Equation p == K [ R | t ] P position P in space… …gets translated by t and rotated by R… …then transformed to camera’s internal coordinate system by K p is projected position on image plane (in homogeneous coords)

Self Calibration K is an upper triangular, 3x3 matrix: xxx 0 0 x0 xx only 5 degrees of freedom since don’t care about scale (e.g., make norm 1) p == K [ R | t ] P Goal of self calibration is to find K up to a scale factor.

Map of the Talk (1) A sample application of self calibration (2) The “ K ” matrix (internal calibration matrix). (3) Relationship between K and “ screw transform ” that underlies pairwise views. (5) The screw-transform manifold. (6) Intersecting screw-transform manifolds. (7) Algorithm for self calibration. (8) Voting algorithm to find intersection point. (4) What is a manifold?

Screw Transformation arbitrary movement in space

Screw Transformation screw axis

Screw Transformation screw axis

Screw Transformation screw axis

screw rotation Screw Transformation screw axis

screw rotation Screw Transformation screw axis

screw rotation Screw Transformation screw axis

screw rotation Screw Transformation screw axis

screw rotation Screw Transformation screw axis

screw rotation Screw Transformation screw axis

Screw Transformation the scene camera A camera B (=camera A in arbitrary new position) screw transformation

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis *is viewed by a single camera, fixed in position camera A scene rising turntable

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis *is viewed by a single camera, fixed in position

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis *is viewed by a single camera, fixed in position

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis *is viewed by a single camera, fixed in position

Equivalent to Rising Turntable rising turntable: just like a normal turntable except can also translate (rise) parallel to its rotation axis *is viewed by a single camera, fixed in position camera B translated by gamma rotated by theta

The Two Camera Matrices camera A... is located at position (1,0,0) is tilted by a rotation matrix R and has internal calibration K

The Two Camera Matrices camera B... is exactly like camera A, but... the world has first undergone a screw transform S

The Two Camera Matrices

rotation by theta around the z-axis (== screw axis) translation by gamma parallel to z-axis

The Two Camera Matrices so we can refer to the column vectors of the camera matrices

Fundamental Matrix screw rotation angle screw translation columns from camera matrices H = [ h 1 h 2 h 3 ] = K R

Fundamental Matrix through this representation, we will be able to find K from F by picking three real numbers: theta, gamma, and kappa ! these real numbers parameterize a “ screw-transform manifold ”

Finding K from F F and kappa  h 3 h 3 and theta  h 1 and h 2 up to a scale factor gamma  h 1 and h 2 h 1, h 2, and h 3  K R = [ h 1 h 2 h 3 ] K R  K since (K R) (K R) T = K R R T K T = K K T, which gives K by Cholesky factorization

Map of the Talk (1) A sample application of self calibration (2) The “ K ” matrix (internal calibration matrix). (3) Relationship between K and “ screw transform ” that underlies pairwise views. (5) The screw-transform manifold. (6) Intersecting screw-transform manifolds. (7) Algorithm for self calibration. (8) Voting algorithm to find intersection point. (4) What is a manifold?

Manifolds Example 1: A one-dimensional manifold in 2D space

Manifolds A 1D manifold in the 2D space Another 1D manifold Manifold can be seen as a function f(t) that maps real numbers R into R 2 t “ parameterizes ” the manifold Part of a 2D space

Manifolds Manifolds are locally flat That is, locally a manifold behaves like its underlying parameter space (which is R n ) In this case, each manifold is locally like a line

Manifolds Example 2: A two-dimensional manifold in 3D space

Map of the Talk (1) A sample application of self calibration (2) The “ K ” matrix (internal calibration matrix). (3) Relationship between K and “ screw transform ” that underlies pairwise views. (5) The screw-transform manifold. (6) Intersecting screw-transform manifolds. (7) Algorithm for self calibration. (8) Voting algorithm to find intersection point. (4) What is a manifold?

Screw-Transform Manifold Using this formulation, it can be shown that once a fundamental matrix between two views is known, then internal calibration K is known up to three parameters (i.e., K has three degrees of freedom). Earlier it was shown how the fundamental matrix between two views relates to the parameters of the underlying screw transformation.

Screw-Transform Manifold The set of possible K matrices that are consistent with a given fundamental matrix is a 3D manifold in (5D) K-space. K-space == space of possible K matrices (of norm 1) theta = angle of rotation for the screw transform gamma = translation parallel to the screw axis kappa = determines location of screw axis The three underlying parameters:

Map of the Talk (1) A sample application of self calibration (2) The “ K ” matrix (internal calibration matrix). (3) Relationship between K and “ screw transform ” that underlies pairwise views. (5) The screw-transform manifold. (6) Intersecting screw-transform manifolds. (7) Algorithm for self calibration. (8) Voting algorithm to find intersection point. (4) What is a manifold?

Mutual Intersection Point Every point on screw-transform manifold i represents a K matrix that is consistent with fundamental matrix i. Thus a point that lies in the intersection of all the screw transform manifolds is a legal K that is consistent with every fundamental matrix. At least one such point exists (since the camera has an internal calibration matrix). Others have shown that, under the right conditions, there is a unique intersection point.

double intersection all manifolds intersect here for self calibration, we will want this point of mutual intersection

Map of the Talk (1) A sample application of self calibration (2) The “ K ” matrix (internal calibration matrix). (3) Relationship between K and “ screw transform ” that underlies pairwise views. (5) The screw-transform manifold. (6) Intersecting screw-transform manifolds. (7) Algorithm for self calibration. (8) Voting algorithm to find intersection point. (4) What is a manifold?

(1) Take several pictures of a scene.

(2) Find all pairwise fundamental matrices.

(3) Each fundamental matrix leads to a screw- transform manifold. F1F1 F2F2 F3F3

(4) Find K by intersecting the manifolds.

Map of the Talk (1) A sample application of self calibration (2) The “ K ” matrix (internal calibration matrix). (3) Relationship between K and “ screw transform ” that underlies pairwise views. (5) The screw-transform manifold. (6) Intersecting screw-transform manifolds. (7) Algorithm for self calibration. (8) Voting algorithm to find intersection point. (4) What is a manifold?

Basic Idea “ sketch ” the manifolds within initial search region find approximate region where manifolds seem to intersect “ zoom in ” : repeat the process starting in the new, smaller search region

Manifold defined by function f(t) with one underlying real-valued parameter t In the limited search space shown at left, t might vary between 0 and 1 Pick t at random, say t=0.6, and find f(t) f(t) is shown as a dotted line because we don ’ t know it ’ s shape initially

Continue picking random values for t in range [0,1] to sketch manifold f(t) To utilize the randomly-selected points ( “ votes ” ), first drop a voxel grid over the search space Mark voxels that receive at least one vote

Sketch the second manifold in the same way

Now consider tabulating the votes For each voxel, keep track of how many manifolds have voted for that voxel lighter color means higher number of votes When some region receives enough votes, zoom in on that region

Now “ zoom in ” -- start over using the smaller search region as the original search region “ binary search ”

Repeat the sketching and voting procedure. A winner emerges. Determine the new “ zoom in ” region

Voxelize the new search space No consensus!

Experimental Results

Performance

Concluding Remarks

Last Slide

Self Calibration

Voting Algorithm

Tell me again why we want to find the mutual intersection point?

Every point in K-space corresponds to a possible K matrix (where K is the internal calibration that we wish to find). Each fundamental matrix F induces a “screw-transform manifold” in K-space consisting of all possible K matrices that are consistent with F. Hence the mutual intersection point is consistent with all the fundamental matrices and must represent the internal calibration of the camera. 3 or more fundamental matrices are necessary for the manifold intersection to be a single point (or finite set of points).

More on K-space K-space is 5D; each STM is a 3D manifold in this space.

Screw Transformation (two photos of me moving camera to different positions)

Screw Transformation