- 138 Views
- Uploaded on
- Presentation posted in: General

Calibration

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Calibration

- Geometric
- Intrinsics: Focal length, principal point, distortion
- Extrinsics: Position, orientation

- Radiometric
- Mapping between pixel value and scene radiance
- Can be nonlinear at a pixel (gamma, etc.)
- Can vary between pixels (vignetting, cos4, etc.)
- Dynamic range (calibrate shutter speed, etc.)

- Camera Model
- Orthogonal axes?
- Square pixels?
- Distortion?

- Calibration Target
- Known 3D points, noncoplanar
- Known 3D points, coplanar
- Unknown 3D points (structure from motion)
- Other features (e.g., known straight lines)

- Optimization method
- Depends on camera model, available data
- Linear vs. nonlinear model
- Closed form vs. iterative
- Intrinsics only vs. extrinsics only vs. both
- Need initial guess?

- y axis up vs. y axis down
- Origin at center vs. corner
- Will often write (u,v) for image coordinates

u

v

v

u

v

u

- Given:
- 3D 2D correspondences
- General perspective camera model (no distortion)

- Don’t care about “z” after transformation
- Homogeneous scale ambiguity 11 free parameters

- Write equations:

- Linear equation
- Overconstrained (more equations than unknowns)
- Underconstrained (rank deficient matrix – any multiple of a solution, including 0, is also a solution)

- Standard linear least squares methods forAx=0 will give the solution x=0
- Instead, look for a solution with |x|= 1
- That is, minimize |Ax|2 subject to |x|2=1

- Minimize |Ax|2 subject to |x|2=1
- |Ax|2 = (Ax)T(Ax) = (xTAT)(Ax) = xT(ATA)x
- Expand x in terms of eigenvectors of ATA:x = m1e1+ m2e2+… xT(ATA)x = l1m12+l2m22+… |x|2 = m12+m22+…

- To minimizel1m12+l2m22+…subject tom12+m22+… = 1set mmin= 1 and all other mi=0
- Thus, least squares solution is eigenvector corresponding to minimum (non-zero) eigenvalue of ATA

- Incorporating additional constraints intocamera model
- No shear (u, v axes orthogonal)
- Square pixels
- etc.

- Doing minimization in image space
- All of these impose nonlinear constraints oncamera parameters

- Option 1: nonlinear least squares
- Usually “gradient descent” techniques
- e.g. Levenberg-Marquardt

- Option 2: solve for general perspective model, find closest solution that satisfies constraints
- Use closed-form solution as initial guess foriterative minimization

- Radial distortion can not be representedby matrix
- (cu, cv) is image center,u*img= uimg– cu, v*img= vimg– cv,k is first-order radial distortion coefficient

- Incorporating radial distortion
- Option 1:
- Find distortion first (e.g., straight lines incalibration target)
- Warp image to eliminate distortion
- Run (simpler) perspective calibration

- Option 2: nonlinear least squares

- Full 3D (nonplanar)
- Can calibrate with one image
- Difficult to construct

- 2D (planar)
- Can be made more accuracte
- Need multiple views
- Better constrained than full SFM problem

- Identification of features
- Manual
- Regular array, manually seeded
- Regular array, automatically seeded
- Color coding, patterns, etc.

- Subpixel estimation of locations
- Circle centers
- Checkerboard corners

[Bouguet]

[Marschner et al.]

[Gortler et al.]

[Culbertson]

- Calibrate camera
- Project pattern onto a known object(usually plane)
- Can use time-coded structured light

- Form (uproj, vproj, x, y, z) tuples
- Use regular camera calibration code
- Typically lots of keystoning relative to cameras

- Epipolar geometry – relationship between observed positions of points in multiple cameras
- Assume:
- 2 cameras
- Known intrinsics and extrinsics

P

p1

p2

C1

C2

P

l2

p1

p2

C1

C2

P

Epipolar line

l2

p1

p2

C1

C2

Epipoles

- Goal: derive equation for l2
- Observation: P, C1, C2 determine a plane

P

l2

p1

p2

C1

C2

- Work in coordinate frame of C1
- Normal of plane is T Rp2, where T is relative translation, R is relative rotation

P

l2

p1

p2

C1

C2

- p1 is perpendicular to this normal: p1 (T Rp2) = 0

P

l2

p1

p2

C1

C2

- Write cross product as matrix multiplication

P

l2

p1

p2

C1

C2

- p1 T* R p2 = 0 p1TEp2 = 0
- E is the essential matrix

P

l2

p1

p2

C1

C2

- E depends only on camera geometry
- Given E, can derive equation for line l2

P

l2

p1

p2

C1

C2

- Can define fundamental matrix F analogously, operating on pixel coordinates instead of camera coordinatesu1TFu2 = 0
- Advantage: can sometimes estimate F without knowing camera calibration