Download presentation
Presentation is loading. Please wait.
Published byBartholomew Gregory Modified over 9 years ago
1
Metric Self Calibration From Screw-Transform Manifolds Russell Manning and Charles Dyer University of Wisconsin -- Madison
2
Goal Find internal camera calibration Only input is images (views) Camera… –has fixed internal parameters –undergoes general motion
3
Input assorted views
4
Output Internal calibration (Optional) scene reconstruction reconstruction
5
Quick Overview Find pairwise fundamental matrices F i F1F1 F2F2
6
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
7
Each fundamental matrix induces a curved surface (manifold) in R 5 F1F1 every manifold point is a legal internal calibration
8
There is a unique mutual intersection point to all these manifolds F4F4 F1F1 F2F2 F3F3 intersection point gives calibration
9
Details What is a manifold? What is a screw transform? Screw-transform manifolds and their coordinate system Finding intersection point: voting algorithm
10
Manifold Surface in R n that has a coordinate system -2 0 1 3 4 5 6 7 8 2
11
Manifold grid paper example kappa theta
12
Screw Transformation
15
AB A
16
AB
17
AB
18
AB
19
AB
20
AB
21
AB B
22
the scene camera A camera B (=camera A in arbitrary new position) screw transformation
23
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
24
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
25
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
26
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
27
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
28
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
29
The Two Camera Matrices camera B... is exactly like camera A, but... the world has first undergone a screw transform S
30
The Two Camera Matrices
31
rotation by theta around the z-axis (== screw axis) translation by gamma parallel to z-axis
32
The Two Camera Matrices so we can refer to the column vectors of the camera matrices
33
Fundamental Matrix screw rotation angle screw translation columns from camera matrices H = [ h 1 h 2 h 3 ] = K R
34
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 ”
35
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?
36
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)
37
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
38
Voting Algorithm
39
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
40
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
41
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
42
Sketch the second manifold in the same way
43
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
44
Now “ zoom in ” -- start over using the smaller search region as the original search region “ binary search ”
47
Repeat the sketching and voting procedure. A winner emerges. Determine the new “ zoom in ” region
49
Voxelize the new search space No consensus!
50
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
51
Properties of Voting Algorithm General technique -- use whenever need to intersect manifolds
58
begin
65
end
67
(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).
68
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?
69
(pictures of me taking photos of scene…leading to self calibration and scene reconstruction)
70
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?
71
Camera Equation Consider the equation for how points in 3D get projected onto image plane of camera …
72
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)
73
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.
74
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?
75
Screw Transformation arbitrary movement in space
76
Screw Transformation screw axis
77
Screw Transformation screw axis
78
Screw Transformation screw axis
79
screw rotation Screw Transformation screw axis
80
screw rotation Screw Transformation screw axis
81
screw rotation Screw Transformation screw axis
82
screw rotation Screw Transformation screw axis
83
screw rotation Screw Transformation screw axis
84
screw rotation Screw Transformation screw axis
85
Screw Transformation the scene camera A camera B (=camera A in arbitrary new position) screw transformation
86
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
87
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
88
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
89
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
90
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
91
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
92
The Two Camera Matrices camera B... is exactly like camera A, but... the world has first undergone a screw transform S
93
The Two Camera Matrices
94
rotation by theta around the z-axis (== screw axis) translation by gamma parallel to z-axis
95
The Two Camera Matrices so we can refer to the column vectors of the camera matrices
96
Fundamental Matrix screw rotation angle screw translation columns from camera matrices H = [ h 1 h 2 h 3 ] = K R
97
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 ”
98
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
99
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?
100
Manifolds Example 1: A one-dimensional manifold in 2D space
101
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
102
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
103
Manifolds Example 2: A two-dimensional manifold in 3D space
104
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?
105
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.
106
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:
107
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?
108
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.
109
double intersection all manifolds intersect here for self calibration, we will want this point of mutual intersection
110
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?
111
(1) Take several pictures of a scene.
112
(2) Find all pairwise fundamental matrices.
113
(3) Each fundamental matrix leads to a screw- transform manifold. F1F1 F2F2 F3F3
114
(4) Find K by intersecting the manifolds.
115
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?
116
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
117
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
118
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
119
Sketch the second manifold in the same way
120
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
121
Now “ zoom in ” -- start over using the smaller search region as the original search region “ binary search ”
124
Repeat the sketching and voting procedure. A winner emerges. Determine the new “ zoom in ” region
126
Voxelize the new search space No consensus!
127
Experimental Results
128
Performance
129
Concluding Remarks
130
Last Slide
131
Self Calibration
132
Voting Algorithm
133
Tell me again why we want to find the mutual intersection point?
134
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).
135
More on K-space K-space is 5D; each STM is a 3D manifold in this space.
136
Screw Transformation (two photos of me moving camera to different positions)
137
Screw Transformation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.