120 likes | 273 Views
Thoughts about calibration. now that we have motivated the necessity for moving from projective information about the camera to metric information, we consider calibration of the camera (Chapters 8 and 19)this requires an understanding of the absolute conic O8 (Ch. 3.6-3.7) and the image of the abs
E N D
1. Objects at infinity used in calibration
2. Thoughts about calibration now that we have motivated the necessity for moving from projective information about the camera to metric information, we consider calibration of the camera (Chapters 8 and 19)
this requires an understanding of the absolute conic O8 (Ch. 3.6-3.7) and the image of the absolute conic or IAC ? (Ch 8.5), as well as the absolute dual quadric Q*8
we will start with IAC and develop a method for finding the calibration matrix K using a single image (but also some calibration objects)
later we will show how to develop the entire homography that corrects our camera matrix using IAC and Q*8 , using two views but no calibration objects
in short:
stage 1: calibration from a single view, using IAC and calibration objects
stage 2: calibration from two views, using IAC and Q*8 without calibration objects
3. More thoughts about calibration the absolute conic O8 -- and its dual, the absolute dual quadric Q*8 -- are structures that characterize a 3d similarity, like the dual conic did for the 2d similarity
we get interested in images of objects at infinity, since they depend only on camera rotation and calibration matrix K
IAC, a special object at infinity, depends only on K, so it contains the key to solving for K in the calibration stage
IAC and Q*8 allow angle to be measured in 3-space
given the relationship of IAC and Q*8 to angle, we can solve for them using angle constraints
4. Plane at infinity p8 once again, we shall be fascinated by objects at infinity
plane at infinity characterizes the affinity
in projective 3-space, points at infinity (x,y,z,0) lie on the plane at infinity p8 = (0,0,0,1)
two lines (resp., two planes, a line and a plane) are parallel iff intersection lies on p8
a projective transformation is an affinity iff p8 is fixed (as a plane, not pointwise)
i.e., this is a defining invariant of the affinity
identifies the excess: the difference between an affinity (12dof) and a projectivity (15dof) is exactly the 3dof of the plane at infinity p8
intuition: once p8 is known, parallelism is also known, which is a defining invariant of the affinity
can restore parallel lines (think of HW1)
just as angle is a defining invariant of the similarity
i.e., affine rectification involves restoring image of p8 to its rightful position
HZ80-81
5. The image of p8 we are interested in discovering the internal parameters of the camera such as focal length (or computationally in finding K)
to isolate the internal camera parameters, we need to factor out the effects of camera translation and rotation
we get interested in the image of objects at infinity, since these images are independent of the position of the camera
makes sense, since points at infinity are directions, independent of position
the homography between p8 and the image plane is a planar homography H = KR
proof: consider the image of an ideal point under the camera KR[I C]:
image(d 0) = KR[I C] (d 0) = KRd
have eliminated the last columns translation vector
HZ209-210
6. Absolute conic O8 absolute conic characterizes the similarity
absolute conic is 3D analogue to circular points (just as p8 is 3D analogue of L8 )
circular points are 0D subset of 1D line at infinity
absolute conic is 1D subset of 2D plane at infinity
conic = plane/quadric intersection
absolute conic O8 = intersection of quadric x2 + y2 + z2 = 0 with plane at infinity
equivalently, absolute conic O8 is represented by the conic with identity matrix I on the plane at infinity
a projective transformation is a similarity iff O8 is fixed (as a set)
proof: if A-t I A-1 = kI (so AAt = kI), then mapping A is scaled orthogonal, so represents scaled rotation (perhaps along with reflection)
identifies the excess: difference between a similarity (7dof) and an affinity (12dof) is exactly the 5dof of O8
HZ81-82
7. More on absolute conic metric rectification involves restoring O8 to its rightful position (Charles II)
recall that every circle contains the circular points of its plane
every sphere contains O8
any circle intersects O8 in 2 points = circular points of the plane that contains the circle
once again, we can measure angle using O8 (just as we could with dual of circular points)
and it is invariant to projectivities; but angle measure with next construct Q*8 is better
8. The image of O8 (aka ? or IAC) the image of p8 was good, but the image of O8 (a certain object on the plane at infinity) is even better: it is independent of both position and orientation of the camera
the image of the absolute conic O8 is known by its acronym IAC, and since it is so valued for calibration, it is given its own symbol ?
lowercase ? = uppercase O
well call it William
calibration is our end goal and often our last step (so omega)
? = (KKt)-1
proof: we saw that the plane at infinity transforms according to the homography KR, so the conic I on the plane at infinity transforms to (KR)-t I (KR)-1 = K-t RR-1 K-1 = (KKt)-1
since conics map contravariantly (HZ37) and R is orthogonal (Rt = R-1)
conclusion: knowledge of ? implies knowledge of K
HZ210
9. IAC and circular points we have seen that circular points lie on the absolute conic, so their image lies on William
this will be used to find William: if we can find enough points on William, we have William
every plane contains 2 circular points
in the planes coordinate system, these are (1,i,0) and (1,-i,0)
the plane intersects the plane at infinity in a line at infinity, which intersects the absolute dual conic in 2 points: these are the planes circular points
since the planes circular points lie on the absolute conic O8, their images lie on the IAC ?
how to find image of circular point?
we shall find the image of a circular point on plane p as H(1,+-i, 0) where H is the homography between p and the image plane
HZ82, 211
10. Calibrating with calibration objects: 3 squares yield 6 circular points we shall solve for William (the IAC) by finding 6 circular points that lie on William
you can find points on the vanishing line by intersecting parallel lines
you can find (imaged) circular points by finding a homography (to the image plane)
each planar homography yields 2 points
consider 3 calibration squares in the image on 3 non-parallel planes
assume wlog that the four vertices of each square are (0,0), (1,0), (0,1), (1,1)
aligning the coordinate frame in this way is a similarity
similarity does not affect circular points
HZ211
11. 3-square algorithm For each calibration square [find 2 points on ?]
Find the corners of the calibration square using user input or automated tracking (see Davids excellent demo).
Use the DLT algorithm to compute the homography H that maps each square vertex to its image [only 4 pts needed].
Apply this homography to the circular points I and J to find 2 points on ?.
they are h1 +- i h2, where h1 and h2 are first 2 columns of H
Fit ? to 6 points [using numerical computing]
real and imaginary components of x^t ? x = 0 (applied to circular points) yield 2 eqns:
h1t ? h2 = 0
h1t ? h1 = h2t ? h2
interesting: the pair of circular points encode the same information, so only one circular point gives useful information; but we still get 2dof because of real and imaginary components (so in effect we are not fitting to 6 points, but getting 6 constraints from 3 pts)
encode these linear equations in Hw = 0 where w is the row-major encoded ? (see development of DLT algorithm)
solve for w (and hence ?) as null vector
Extract calibration matrix K from ? using Cholesky.
?-1 = KKt
HZ211
12. Overview of 3-square algorithm homography of squares to imaged squares ? 6 imaged circular points (2 per square) ? image of absolute conic (by fitting) ?K (by Cholesky factorization) ? metric properties (see Chapter 19 for how to use K to get metric)