26
Two-view geometry

Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

  • Upload
    vanphuc

  • View
    218

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Two-view geometry

Page 2: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar geometryX

x x’

• Epipolar Plane – plane containing baseline (1D family)• Baseline – line connecting the two camera centers

• Epipoles = intersections of baseline with image planes = projections of the other camera center

Page 3: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

The Epipole

Photo by Frank Dellaert

Page 4: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar geometryX

x x’

• Epipolar Plane – plane containing baseline (1D family)• Baseline – line connecting the two camera centers

• Epipoles = intersections of baseline with image planes = projections of the other camera center• Epipolar Lines - intersections of epipolar plane with imageplanes (always come in corresponding pairs)

Page 5: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Example: Converging cameras

Page 6: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Example: Motion parallel to image plane

Page 7: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Example: Motion perpendicular to image plane

Page 8: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Example: Motion perpendicular to image plane

Page 9: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Example: Motion perpendicular to image plane

e’

ee

Epipole has same coordinates in both imagesin both images.Points move along lines radiating from e: “Focus of expansion”

Page 10: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraintX

x x’

• If we observe a point x in one image, where th di i t ’ b i th thcan the corresponding point x’ be in the other

image?

Page 11: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraint

X

X

X

x x’

x’

X

x’

• Potential matches for x have to lie on the correspondingPotential matches for x have to lie on the corresponding epipolar line l’.

• Potential matches for x’ have to lie on the corresponding• Potential matches for x have to lie on the corresponding epipolar line l.

Page 12: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraint example

Page 13: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraint: Calibrated case

X

x x’

• Assume that the intrinsic and extrinsic parameters of the cameras are knownW lti l th j ti t i f h ( d th• We can multiply the projection matrix of each camera (and the image points) by the inverse of the calibration matrix to get normalized image coordinates

• We can also set the global coordinate system to the coordinate• We can also set the global coordinate system to the coordinate system of the first camera. Then the projection matrix of the first camera is [I | 0].

Page 14: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraint: Calibrated case

X = RX’ + t

x x’

tRt

The vectors x, t, and Rx’ are coplanar

Page 15: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraint: Calibrated case

X

x x’

0)]([ =′×⋅ xRtx RtExExT ][with0 ×==′

Essential Matrix(Longuet-Higgins 1981)(Longuet Higgins, 1981)

The vectors x, t, and Rx’ are coplanar

Page 16: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraint: Calibrated case

X

x x’

E ’ i th i l li i t d ith ’ (l E ’)

0)]([ =′×⋅ xRtx RtExExT ][with0 ×==′

• E x’ is the epipolar line associated with x’ (l = E x’)• ETx is the epipolar line associated with x (l’ = ETx)• E e’ = 0 and ETe = 0• E is singular (rank two)• E has five degrees of freedom

Page 17: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraint: Uncalibrated case

X

x x’

• The calibration matrices K and K’ of the two cameras are unknown

• We can write the epipolar constraint in terms of unknown normalized coordinates:

0ˆˆ =′xExT xKxxKx ′′=′= ˆ,ˆ

Page 18: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraint: Uncalibrated case

X

x x’

0ˆˆ =′xExT 1with0 −− ′==′ KEKFxFx TT

Fundamental Matrix(Faugeras and Luong 1992)xKx

xKx′′=′

=−

1

1

ˆˆ

(Faugeras and Luong, 1992)xKx =

Page 19: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Epipolar constraint: Uncalibrated case

X

x x’

0ˆˆ =′xExT 1with0 −− ′==′ KEKFxFx TT

F ’ i th i l li i t d ith ’ (l F ’)• F x’ is the epipolar line associated with x’ (l = F x’)• FTx is the epipolar line associated with x (l’ = FTx)• F e’ = 0 and FTe = 0F e 0 and F e 0• F is singular (rank two)• F has seven degrees of freedom

Page 20: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

The eight-point algorithm

x = (u, v, 1)T, x’ = (u’, v’, 1)T

Minimize:

2)(N

T F ′∑under the constraint

1)( i

ii xFx∑

=

F33 = 1

Page 21: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

The eight-point algorithm

• Meaning of error :)( 2

1i

N

i

Ti xFx ′∑

=

sum of Euclidean distances between points xi and epipolar lines Fx’i (or points x’i and epipolar lines FTxi) multiplied by a scale factor

• Nonlinear approach: minimize

[ ]∑=

′+′N

ii

Tiii xFxxFx

1

22 ),(d),(di 1

Page 22: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Problem with eight-point algorithm

Page 23: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Problem with eight-point algorithm

Poor numerical conditioningCan be fixed by rescaling the data

Page 24: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

The normalized eight-point algorithm

• Center the image data at the origin, and scale it so

(Hartley, 1995)

the mean squared distance between the origin and the data points is 2 pixels

• Use the eight point algorithm to compute F from the• Use the eight-point algorithm to compute F from the normalized points

• Enforce the rank-2 constraint (for example, take SVD of F and throw out the smallest singular value)

• Transform fundamental matrix back to original units: if T and T’ are the normalizing transformations in theif T and T are the normalizing transformations in the two images, than the fundamental matrix in original coordinates is TT F T’

Page 25: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

Comparison of estimation algorithms

8-point Normalized 8-point Nonlinear least squaresp p q

Av. Dist. 1 2.33 pixels 0.92 pixel 0.86 pixel

Av. Dist. 2 2.18 pixels 0.85 pixel 0.80 pixel

Page 26: Two-view geometrylazebnik/spring11/lec14_epipolar.pdfEpipolar geometry X x x’ • Epipolar Plane – plane containing baseline (1D family) • Baseline – line connecting the two

From epipolar geometry to camera calibration

• Estimating the fundamental matrix is known as “weak calibration”

• If we know the calibration matrices of the two cameras, we can estimate the essential matrix: E = KTFK’matrix: E = KTFK

• The essential matrix gives us the relative rotation and translation between the camerasrotation and translation between the cameras, or their extrinsic parameters