• Keine Ergebnisse gefunden

Multi-View 3D reconstruction

N/A
N/A
Protected

Academic year: 2022

Aktie "Multi-View 3D reconstruction"

Copied!
61
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Computer Vision I -

Multi-View 3D reconstruction

Carsten Rother

24/01/2015

(2)

Roadmap this lecture

β€’ Multi-view reconstruction – general scenario (calibrated, un-calibrated cameras)

β€’ From projective to metric space: auto-calibration

β€’ Multi-view reconstruction - special scenarios

β€’ affine cameras

β€’ reference plane

(3)

3D reconstruction – Problem definition

β€’ Given image observations in π‘š cameras of 𝑛 static 3D points

β€’ Formally: π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖 for 𝑗 = 1 … π‘š; 𝑖 = 1 … 𝑛

β€’ Important: In practice we do not have all points visible in all views, i.e. the number of π‘₯𝑖𝑗 ≀ π‘šπ‘› (this is captured by the β€œvisibilty matrix”)

β€’ Goal: find all 𝑃𝑗’s and 𝑋𝑖’s

Example: β€œVisibility” matrix

(4)

Names: 3D reconstruction

Sparse Structure from Motion (SfM)

In Robotics it is known as SLAM (Simultaneous Localization and Mapping):

β€œPlace a robot in an unknown location in an unknown environment and have the robot incrementally build a map of this environment while simultaneously using the map to compute the vehicle location”

2) Dense Multi-view reconstruction 1)

(5)

Example: Dense Reconstruction

(6)

Reconstruction Algorithm

Generic Outline (calibrated and un-calibrated cameras)

1) Compute robust 𝐹/𝐸-matrix between each pair of neighboring views 2) Compute initial reconstruction of each pair of views

3) Compute an initial full 3D reconstruction

4) Bundle-Adjustment to minimize overall geometric error

5) If cameras are not calibrated then perform auto-calibration (also known as self-calibration)

[See page 453 HZ]

Reconstruct in step 2): 𝑃1, 𝑃2 ; (𝑃2, 𝑃3); 𝑃3, 𝑃4 …

(7)

Step 2: Compute initial reconstruction of each pair of views

Input:

β€’ Calibrated Cameras: 𝐸-matrix, 𝐾, 𝐾’, 5+ matching points (π‘₯𝑖, π‘₯′𝑖)

β€’ Un-calibration Cameras: 𝐹-matrices, 7+ matching points (π‘₯𝑖, π‘₯′𝑖) Output: 𝑃, 𝑃’, 𝑋𝑖′𝑠 such that geometric error between 𝑃𝑋𝑖 π‘‘π‘œ π‘₯𝑖 and

𝑃′𝑋𝑖 π‘‘π‘œ π‘₯′𝑖 is small 2-Step Method:

1. Derive 𝑃, 𝑃’

2. Compute 𝑋𝑖′𝑠 (called Triangulation)

(8)

Derive 𝑃, 𝑃’: calibrated case

β€’ We have seen that we can get: 𝑅, 𝑇(up to scale) from 𝐸

β€’ We have set in previous lecture the camera matrices to:

𝑇~

~

π‘₯0 = 𝐾0 𝐼 0 𝑋 and π‘₯1 = 𝐾1π‘…βˆ’1 𝐼 βˆ’π‘‡ 𝑋~ We have done this already:

𝑃 𝑃′

(9)

Derive 𝑃, 𝑃’: un-calibrated case

β€’ Derivation (blackboard) see HZ page 256 𝑃 = 𝐼3Γ—3 0 ]; 𝑃′ = 𝑒′ ×𝐹 𝑒′]

(10)

Derivation

(11)

Derivation

(12)

Compute 𝑋 𝑖

β€²

𝑠 (Triangulation) – algebraic error

β€’ Input: π‘₯, π‘₯’, 𝑃, 𝑃’

β€’ Output: 𝑋𝑖′𝑠

β€’ Triangulation is also called intersection

β€’ Simple algebraic solution:

1) πœ†π‘₯ = 𝑃 𝑋 and πœ†β€²π‘₯β€² = 𝑃′ 𝑋

2) Eliminate πœ† by taking ratios. This gives 4 linear independent equations for 4 unknowns: 𝑋 = (𝑋1, 𝑋2, 𝑋3, 𝑋4) where 𝑋 = 1.

An example ratio is: π‘₯1

π‘₯2 = 𝑝1𝑋1+𝑝2𝑋2+𝑝3𝑋3+𝑝4𝑋4

𝑝5𝑋1+𝑝6𝑋2+𝑝7𝑋3+𝑝8𝑋4

3) This gives (as usual) a least square optimization problem:

𝐴 𝑋 = 0 with 𝑋 = 1 where 𝐴 is of size 4 Γ— 4.

This can be solved in closed-form using SVD.

3x4 matrix

(13)

Compute 𝑋 𝑖

β€²

𝑠 (Triangulation) - geometric error

Minimize re-projection error with fixed fundamental matrix 𝐹 (Essential matrix 𝐸 can be done in a smart way)

π‘₯, π‘₯^ ^β€² = π‘Žπ‘Ÿπ‘”π‘šπ‘–π‘› 𝑑 π‘₯, π‘₯^ 2 + 𝑑 π‘₯β€², π‘₯β€²^ 2 subject to π‘₯^′𝐹π‘₯ = 0^

^ ^

^

(14)

Compute 𝑋 𝑖

β€²

𝑠 (Triangulation) - geometric error

β€’ Solution can be expressed as a 6-degree polynomial in 𝑑

β€’ This has up to 6 solutions and can be computed (roots of polynomial)

β€’ If you now put these π‘₯, π‘₯’ into the algebraic error computation, we will get the true 3D point 𝑋 (1D null-space) since all β€œgeometrically correct”.

Minimize re-projection error with fixed fundamental matrix.

π‘₯, π‘₯^ ^β€² = π‘Žπ‘Ÿπ‘”π‘šπ‘–π‘› 𝑑 π‘₯, π‘₯^ 2 + 𝑑 π‘₯β€², π‘₯β€²^ 2 subject to π‘₯^′𝐹π‘₯ = 0^

π‘₯, π‘₯^ ^β€²

(15)

Triangulation - uncertainty

Large baseline

Smaller uncertainty area

Smaller baseline Larger uncertainty area

Very small baseline Very large uncertainty area

(16)

Reconstruction Algorithm

Generic Outline (calibrated and un-calibrated cameras)

1) Compute robust 𝐹/𝐸-matrix between each pair of neighboring views 2) Compute initial reconstruction of each pair of views

3) Compute an initial full 3D reconstruction

4) Bundle-Adjustment to minimize overall geometric error

5) If cameras are not calibrated then perform auto-calibration (also known as self-calibration)

[See page 453 HZ]

Reconstruct in step 2): 𝑃1, 𝑃2 ; (𝑃2, 𝑃3); 𝑃3, 𝑃4 …

(17)

Step 3: Compute initial reconstruction

Three views of an un-calibrated or calibrated camera:

Reconstruct Points and Camera 1 and 2

Reconstruct Points and Camera 2 and 3 (denote with a dash)

β€’ Both reconstructions share: 5+ 3D points and one camera (here 𝑃2, 𝑃2β€²).

We denote the second reconstruction with a dash

β€’ Why are 𝑋i, 𝑋𝑖′ not the same?

In general we have the following ambiguity: π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖 = π‘ƒπ‘—π‘„βˆ’1𝑄𝑋𝑖 = 𝑃𝑗′𝑋𝑖′

β€’ Our Goal: make 𝑋𝑖 = 𝑋𝑖′ and 𝑃2 = 𝑃2β€² such that

𝑋𝑖, 𝑃1, 𝑃2 𝑋𝑖′, 𝑃2β€², 𝑃3β€²

π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖

(18)

Step 3: Compute initial reconstruction

Three views of an un-calibrated or calibrated camera:

Method:

β€’ Compute 𝑄 such that 𝑋1βˆ’5 = 𝑄𝑋1βˆ’5β€²

β€’ This can be done from 5+ 3D points in usual least-square system

( 𝑋1βˆ’5 βˆ’ 𝑄𝑋1βˆ’5β€² ), since each point gives 3 equations and 𝑄 has 15 DoF.

β€’ Convert the second reconstruction into the first one:

𝑃2,3 = 𝑃2,3β€² π‘„βˆ’1; 𝑋𝑖 = 𝑄𝑋𝑖′ (note: π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖 = π‘ƒπ‘—π‘„βˆ’1𝑄𝑋𝑖)

β€’ In this way you can β€œzipp” all reconstructions into one in sequential order

Reconstruct Points and Camera 1 and 2

Reconstruct Points and Camera 2 and 3 (denote with a dash)

(19)

Reconstruction Algorithm

Generic Outline (calibrated and un-calibrated cameras)

1) Compute robust 𝐹/𝐸-matrix between each pair of neighboring views 2) Compute initial reconstruction of each pair of views

3) Compute an initial full 3D reconstruction

4) Bundle-Adjustment to minimize overall geometric error

5) If cameras are not calibrated then perform auto-calibration (also known as self-calibration)

(20)

Bundle adjustment

β€’ Global refinement of jointly structure (points) and cameras

β€’ Minimize geometric error:

here 𝛼𝑖𝑗 is 1 if 𝑋𝑗 visible in view 𝑃𝑗 (otherwise 0)

β€’ Non-linear optimization with e.g. Levenberg-Marquard π‘Žπ‘Ÿπ‘”π‘šπ‘–π‘›{𝑃𝑗,𝑋𝑖}

𝑗 𝑖

𝛼𝑖𝑗 𝑑(𝑃𝑗𝑋𝑖, π‘₯𝑖𝑗)

(21)

Reconstruction Algorithm

Generic Outline (calibrated and un-calibrated cameras)

1) Compute robust 𝐹/𝐸-matrix between each pair of neighboring views 2) Compute initial reconstruction of each pair of views

3) Compute an initial full 3D reconstruction

4) Bundle-Adjustment to minimize overall geometric error

5) If cameras are not calibrated then perform auto-calibration (also known as self-calibration)

(22)

Auto-calibration

β€’ All is correct: π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖 for 𝑗 = 1 … π‘š; 𝑖 = 1 … 𝑛

β€’ But does the reconstruction look already nice?

(23)

Roadmap this lecture

β€’ Multi-view reconstruction – general scenario (calibrated, un-calibrated cameras)

β€’ From projective to metric space: auto-calibration

β€’ Multi-view reconstruction - special scenarios

β€’ affine cameras

β€’ reference plane

(24)

Scale ambiguity

Is the pumpkin 5m or 30cm tall?

(25)

Structure from Motion Ambiguity

β€’ We can always write:

π‘₯ = 𝑃 π‘˜

π‘˜ 𝑋 = 1

π‘˜ 𝑃 (π‘˜π‘‹)

β€’ It is impossible to recover the absolute scale of the scene where π‘˜ ∈ 𝑅

(26)

Scale ambiguity

(27)

Projective ambiguity

We can write (most general): π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖 = π‘ƒπ‘—π‘„βˆ’1𝑄𝑋𝑖 = 𝑃𝑗′𝑋𝑖′

β€’ 𝑄 has 15 DoF (projective ambiguity)

β€’ If we do not have any additional information about the cameras or points then we cannot recover 𝑄.

β€’ Possible information (we will see details later)

β€’ Calibration matrix is same for all cameras

β€’ External constraints: orthogonal vanishing points

(28)

Projective ambiguity

This is a β€œprotectively” correct reconstruction

… but not a nice looking one

3D points map to image points

(29)

Affine ambiguity

We can write (most general): π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖 = π‘ƒπ‘—π‘„βˆ’1𝑄𝑋𝑖 = 𝑃𝑗′𝑋𝑖′

β€’ 𝑄 has now 12 DoF (affine ambiguity)

β€’ 𝑄 leaves the plane at infinity πœ‹βˆž = 0,0,0,1 𝑇 in place:

any point on πœ‹βˆž moves like: 𝑄 π‘Ž, 𝑏, 𝑐, 0 𝑇 = (π‘Žβ€², 𝑏′, 𝑐′, 0)

β€’ Therefore parallel 3D lines stay parallel for any 𝑄

(30)

Affine ambiguity

3D Points at infinity stay at infinity

(31)

Similarity Ambiguity (Metric space)

β€’ 𝑄 has now 12 DoF (similarity ambiguity)

β€’ 𝑄 preserves angles, ratios of lengths, etc.

β€’ For visualization purpose this ambiguity is sufficient. (We don’t need to know if reconstruction is the size of 1m, 1cm, etc. means)

β€’ Note, if we do not care about the choice of 𝑄 we can set for instance the We can write (most general): π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖 = π‘ƒπ‘—π‘„βˆ’1𝑄𝑋𝑖 = 𝑃𝑗′𝑋𝑖′

(32)

Similarity Ambiguity

(33)

How to β€œupgrade” a reconstruction

β€’ Camera is calibrated

β€’ Calibration from external constraints (Example(1): 5 known 3D points)

β€’ Calibration from a mix of in- and external constraints

(Example(2): single camera and 3 orthogonal vanishing points and a square-pixel camera)

β€’ Calibration from internal constraints only (known as auto-calibration)

(Examples(3): 2 views with unknown focal lengths)

Illustrating some ways to upgrade from Projective to Affine and then to Metric Space (see details in HZ page 270ff and chapter 19)

β€’ Find plane at infinity and move in canonical position:

β€’ One of the cameras is affine (3rdof camera matrix is plane at infinity. See HZ page 271)

β€’ 3 non-collinear 3D vanishing points

β€’ Translational motion (HZ page 268)

(34)

Projective to Metric: Direct Method (Example 1)

Given: Five known 3D points (e.g. measured) Compute 𝑄:

1) 𝑄𝑋𝑖 = 𝑋𝑖′ (each 3D point gives 3 linear independent equations)

2) 5 points give 15 equations, enough to compute 𝑄 (15 DoF) using SVD Upgrade cameras and points:

𝑃𝑗′ = π‘ƒπ‘—π‘„βˆ’1 and 𝑋𝑖′ = 𝑄𝑋𝑖 (remember: π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖 = π‘ƒπ‘—π‘„βˆ’1𝑄𝑋𝑖)

(Same method as above: β€œStep 3: Compute initial reconstruction”)

(35)

β€’ For a camera 𝑃 = 𝐾 [𝐼 | 0] the ray outwards is:

π‘₯ = 𝑃 𝑋 hence 𝑋 = πΎβˆ’1π‘₯

β€’ The angle Θ is computed as the normalized rays 𝑑1, 𝑑2:

β€’ We define the matrix: πœ” = πΎβˆ’π‘‡πΎβˆ’1

β€’ Comment: (πΎβˆ’1)𝑇 = (𝐾𝑇)βˆ’1 =: πΎβˆ’π‘‡

But without external knowledge?

cos Θ = 𝑑1𝑇𝑑2

𝑑1𝑇𝑑1 𝑑2𝑇𝑑2 = πΎβˆ’1π‘₯1 𝑇 πΎβˆ’1π‘₯2

√ πΎβˆ’1π‘₯1 𝑇 πΎβˆ’1π‘₯1 √ πΎβˆ’1π‘₯2 𝑇 πΎβˆ’1π‘₯2

= π‘₯1π‘‡πœ” π‘₯2

π‘₯1π‘‡πœ”π‘₯1 π‘₯2π‘‡πœ”π‘₯2

~

(36)

But without external knowledge?

cos Θ = π‘₯1π‘‡πœ” π‘₯2

π‘₯1π‘‡πœ”π‘₯1 π‘₯2π‘‡πœ”π‘₯2

β€’ We have:

β€’ If we were to know πœ” then we can compute angle Θ (Comment, if Θ = 90π‘œ then we have π‘₯1π‘‡πœ” π‘₯2 = 0)

β€’ 𝐾 can be derived from πœ” = πΎβˆ’π‘‡πΎβˆ’1 using Cholesky decomposition (see HZ page 582)

β€’ Note, πœ” depends on 𝐾 only and not on 𝑅, 𝐢. Hence it plays a central role in auto-calibration.

β€’ How do we get πœ”?

~

(37)

Degrees of Freedom of πœ”

β€’ We have:

πœ” = (πΎβˆ’1)π‘‡πΎβˆ’1 =

π‘Ž 0 0 𝑏 𝑑 0 𝑐 𝑒 1

π‘Ž 𝑏 𝑐 0 𝑑 𝑒 0 0 1

=

π‘Ž2 π‘Žπ‘ π‘Žπ‘

π‘Žπ‘ 𝑏2 + 𝑑2 𝑏𝑐 + 𝑑𝑒 π‘Žπ‘ 𝑏𝑐 + 𝑑𝑒 𝑐2 + 𝑒2 + 1

=

πœ”1 πœ”2 πœ”3 πœ”2 πœ”4 πœ”5 πœ”3 πœ”5 πœ”6

𝐾 =

𝑓 𝑠 𝑝π‘₯ 0 π‘šπ‘“ 𝑝𝑦

0 0 1

then πΎβˆ’1 =

π‘Ž 𝑏 𝑐 0 𝑑 𝑒 0 0 1

where π‘Ž, 𝑏, 𝑐, 𝑑, 𝑒 are some values that depend on: 𝑓, π‘š, 𝑠, 𝑝π‘₯, 𝑝𝑦

β€’ Then it is:

β€’ This means that πœ” has 5 DoF (scale is not unique)

β€’

(38)

Degrees of Freedom of πœ” (special case)

β€’ Assume we have a β€œsquare-pixel” camera, i.e. π‘š = 1 and 𝑠 = 0 (practically this is often the case)

β€’ We have:

πœ” = (πΎβˆ’1)π‘‡πΎβˆ’1 =

π‘“βˆ’1 0 0 0 π‘“βˆ’1 0

π‘Ž 𝑏 1

π‘“βˆ’1 0 π‘Ž 0 π‘“βˆ’1 𝑏

0 0 1

=

π‘“βˆ’2 0 π‘“βˆ’1π‘Ž 0 π‘“βˆ’2 π‘“βˆ’1𝑏 π‘“βˆ’1π‘Ž π‘“βˆ’1𝑏 π‘Ž2 + 𝑏2 + 1

=

πœ”1 0 πœ”2 0 πœ”1 πœ”3 πœ”2 πœ”3 πœ”4

𝐾 =

𝑓 0 𝑝π‘₯ 0 𝑓 𝑝𝑦

0 0 1

then πΎβˆ’1 =

π‘“βˆ’1 0 π‘Ž 0 π‘“βˆ’1 𝑏

0 0 1

where π‘Ž, 𝑏 are some values that depend on: 𝑓, 𝑝π‘₯, 𝑝𝑦

β€’ Then it is:

β€’ This means that πœ” has 3 DoF (scale is not unique)

(39)

Single Camera: internal + external constraints (Example 2)

β€’ Square pixel cameras (i.e. π‘š = 1, 𝑠 = 0 in 𝐾) gives

πœ” =

πœ”1 0 πœ”2 0 πœ”1 πœ”3 πœ”2 πœ”3 πœ”4

with only 3 DoF

β€’ Given 3 image points 𝑣1βˆ’3 that correspond to orthogonal directions We know: 𝑣1π‘‡πœ” 𝑣2 = 0; 𝑣1π‘‡πœ” 𝑣3 = 0; 𝑣2π‘‡πœ” 𝑣3 = 0

β€’ This gives an linear system of equations π΄πœ” = 0 with 𝐴 of size 3 Γ— 4.

𝑣1

𝑣2 𝑣3

cos Θ = π‘₯1π‘‡πœ” π‘₯2

π‘₯1π‘‡πœ”π‘₯1 π‘₯2π‘‡πœ”π‘₯2

(40)

Auto-Calibration: Only internal constraints

β€’ Chapter 19 HZ

β€’ Insight: Multiple views automatically give extra constraints (not discussed here in great detail)

intrinsic

𝐾 =

𝑓 𝑠 𝑝π‘₯ 0 π‘šπ‘“ 𝑝𝑦

0 0 1

Remember: We have 5 intrinsic parameters:

intrinsic

(41)

Example – Reconstruction from a Video

(42)

Building Rome in a day – Reconstruction from Flickr

[Agarwal, Snavely, Simon, Seitz, Szeliski; ICCV β€˜99]

(43)

Main Problem of iterative methods is Drift

Solutions: 1) look for β€œLoop closure” if possible (not discussed)

This is a different, probabilistic system with additional uncertainty, but it

illustrate the main problem of iterative reconstruction methods (before bundle adjustment): β€œDrift”

(44)

Roadmap this lecture

β€’ Multi-view reconstruction – general scenario (calibrated, un-calibrated cameras)

β€’ From projective to metric space: auto-calibration

β€’ Multi-view reconstruction - special scenarios

β€’ affine cameras

β€’ reference plane

(45)

Reminder: affine cameras (from previous lecture)

β€’ Affine camera has 8 DoF:

β€’ Parallel 3D lines map to parallel 2D lines (since points stay at infinity)

π‘₯ 𝑦 1

=

π‘Ž 𝑏 𝑐 𝑑 𝑒 𝑓 𝑔 β„Ž 0 0 0 1

𝑋 π‘Œ 𝑍 1

π‘₯ 𝑦 0

=

π‘Ž 𝑏 𝑐 𝑑 𝑒 𝑓 𝑔 β„Ž 0 0 0 1

𝑋 π‘Œπ‘ 0

β€’ In short: π‘₯ = 𝑀𝑋 + 𝑑

~ ~

2 Γ— 3 2 Γ— 1

(46)

Reminder: Affine cameras (from previous lecture)

(very large focal length) (normal focal length)

β€œClose to parallel projection”

(47)

Affine Cameras give affine reconstruction

Assume we have reconstructed the scene with

𝑃𝑗 =

π‘Ž 𝑏 𝑐 𝑑 𝑒 𝑓 𝑔 β„Ž 0 0 0 1

Then the transformations 𝑄 has to be an affine transformation in order to keep cameras affine:

π‘₯𝑖𝑗 = 𝑃𝑗𝑋𝑖 = π‘ƒπ‘—π‘„π‘„βˆ’1𝑋𝑖 = 𝑃𝑗′𝑋𝑖′

not:

(48)

Multi-View Reconstruction for affine cameras

(derivation on blackboard)

(49)

Multi-View Reconstruction for affine cameras

(derivation on blackboard)

Note, Frobenius norm:

𝐴 𝐹 = ( 𝑖 𝑗 π‘Žπ‘–π‘— 2)

1 2

(50)

Comments / Extensions

β€’ Main restriction is that all points have to be visible in all views.

(can be used for a subset of views and then β€œzipping” sub-views together)

β€’ Extensions to missing data have been done (see HZ ch. 18)

β€’ Extensions to projective cameras have been done (see HZ ch. 18.4)

β€’ Extensions to non-rigidly moving scenes (see HZ ch. 18.3)

(51)

Roadmap this lecture

β€’ Multi-view reconstruction – general scenario (calibrated, un-calibrated cameras)

β€’ From projective to metric space: auto-calibration

β€’ Multi-view reconstruction - special scenarios

β€’ affine cameras

β€’ reference plane (see extra slides below)

(52)

The following slides contain additional Information, which

is not relevant for the exam

(53)

Direct reference plane approach (DRP)

β€’ 𝐻∞ = 𝐾𝑅 is called infinity homography since it is the mapping from the plane at infinity to the image:

π‘₯ = 𝐻∞(𝐼| βˆ’ 𝐢) π‘₯𝑦 𝑧 0

= 𝐻∞ π‘₯𝑦 𝑧

~

β€’ Basic Idea: simply define any plane as plane at infinity πœ‹βˆž = 0,0,0,1 𝑇 (this can be done in projective space)

(54)

Direct reference plane approach (DRP)

Derivation on blackboard

[Rother PhD Thesis 2003]

(55)

Results

(56)

How to get infinite Homographies

β€’ Real Plane in the scene:

β€’ Fixed / known 𝐾 and 𝑅, e.g. translating camera with fixed camera intrinsic

β€’ Orthogonal scene directions and a square pixel camera.

We can get out: 𝐾, 𝑅 (up to a small, discrete ambiguity)

(57)

Results: University Stockholm

(58)

β€’ Between 2 views we have the so-called Kruppa equations: (see HZ ch. 19.4)

𝑒1π‘‡πœ”0βˆ’1𝑒1

𝜎02𝑣0π‘‡πœ”1βˆ’1𝑣0

=

𝑒0π‘‡πœ”0βˆ’1𝑒1

𝜎0𝜎1𝑣0π‘‡πœ”1βˆ’1𝑣1

=

𝑒0π‘‡πœ”0βˆ’1𝑒0

𝜎12𝑣1π‘‡πœ”1βˆ’1𝑣1

where SVD of 𝐹 = 𝑒0 𝑒1 𝑒1

𝜎0 0 0 0 𝜎1 0

0 0 0

𝑣0𝑇 𝑣1𝑇 𝑒0𝑇

and πœ”π‘–βˆ’1 = (πΎπ‘–βˆ’π‘‡πΎπ‘–βˆ’1) = 𝐾𝑖 𝐾𝑖𝑇 = diag(𝑓𝑖2, 𝑓𝑖2, 1)

β€’ This can be solved for 𝑓0, 𝑓1 in closed form (see blackboard)

Practically most important case (Example 3)

β€’ Assume two cameras with: 𝑠 = 0, π‘š = 1, π‘Žπ‘›π‘‘ 𝑝π‘₯, 𝑝𝑦 known

β€’ Let us shift images to get 𝑝π‘₯ = 0, 𝑝𝑦 = 0

𝐾 =

𝑓 𝑠 𝑝π‘₯ 0 π‘šπ‘“ 𝑝𝑦

0 0 1

See HZ, example 19.8 (page 472)

𝑇 =

1 0 βˆ’π‘π‘₯ 0 1 βˆ’π‘π‘¦

0 0 1

we get: 𝑇π‘₯ = 𝑇𝐾 𝑅 (𝐼3Γ—3 | βˆ’ 𝐢) 𝑋

𝑇𝐾 =

𝑓 𝑠 0

0 π‘šπ‘“ 0

0 0 1

(59)

The solution for 𝑓 0 , 𝑓 1

(

(60)

Constant intrinsic parameters (sketch only)

β€’ Assume 𝐾 is constant over 3+ Frames then 𝐾 can be computed

β€’ We know that we can get 𝐾, 𝑅, 𝐢 from 𝑃 = 𝐾 𝑅 (𝐼3Γ—3 | βˆ’ 𝐢)

β€’ We have 𝑃1, 𝑃2, 𝑃3 and it is

π‘₯𝑖1 = 𝑃1𝑋𝑖 = 𝑃1π‘„βˆ’1𝑄𝑋𝑖 = 𝑃1′𝑋𝑖′ π‘₯𝑖2 = 𝑃2𝑋𝑖 = 𝑃2π‘„βˆ’1𝑄𝑋𝑖 = 𝑃2′𝑋𝑖′ π‘₯𝑖3 = 𝑃3𝑋𝑖 = 𝑃3π‘„βˆ’1𝑄𝑋𝑖 = 𝑃3′𝑋𝑖′

β€’ Try to find a 𝑄 such that all 𝑃1, 𝑃2, 𝑃3 have the same 𝐾 but different 𝑅1βˆ’3 and 𝐢1βˆ’3

β€’ See details in chapter 19 HZ

β€’ (Note: this does not work if camera zooms during capture)

~

~

~

(61)

Side comment: Where does πœ” come from?

β€’ There a β€œstrange thing” call the absolute conic Ω∞ = 𝐼3Γ—3 that lives on the plane at infinity πœ‹βˆž = 0,0,0,1 𝑇

β€’ The absolute conic is an β€œimaginary circle with radius 𝑖”:

π‘₯, 𝑦, 1 Ω∞ π‘₯, 𝑦, 1 𝑇 = 0 hence: π‘₯2 + 𝑦2 = βˆ’1

β€’ πœ” is called the β€œimage of the absolute conic”,

since it is the mapping of the absolute conic onto the image plane

β€’ Proof:

image

𝐻∞

πœ”

1. The homography 𝐻∞ = 𝐾𝑅 is the mapping from the pane at infinity to the image plane. Since

π‘₯ = 𝐾𝑅 𝐼 βˆ’ 𝐢] π‘₯, 𝑦, 𝑧, 0 𝑇 hence π‘₯ = 𝐾𝑅 π‘₯, 𝑦, 𝑧 𝑇

2. The conic Ω∞ = I3Γ—3 maps from the plane at infinity to πœ‹βˆž to the image as:

π»βˆžβˆ’TΞ©βˆžπ»βˆžβˆ’1 = 𝐾𝑅 βˆ’π‘‡πΌ 𝐾𝑅 βˆ’1 = πΎβˆ’π‘‡π‘…βˆ’π‘‡π‘…βˆ’1πΎβˆ’1 = πΎβˆ’π‘‡πΎβˆ’1 = πœ”

Referenzen

Γ„HNLICHE DOKUMENTE

An efficient and fast (real-time) methodology for robust user recognition based on two different types of geometric features related to the facial surface of the users has

This approach allows combination of the results of multiple views more easily and also allows taking into account the different shapes of correlation windows in the different

Figure 4: Illustration of the camera-based reconstruction (all light red regions) of an object (dark red region) in-between a known environment (blue) using the

Using color or grayscale cameras, ordinary change detection methods can be utilized. These change detection methods segment an image into foreground and background

They develop two approaches to find pointMR efficient (hence also setMR efficient) solutions: First they extend an al- gorithm for the single-objective minmax robust problem

In each of them, we could make a first-stage decision, when knowing only the probability distribution of the demand, and a second-stage decision, where we see the actual demand..

This data set can be considered to be single- resolution since all input images have the same resolution and distance to the object, resulting in the complete temple surface to

Using Geometric Phase Analysis (GPA) [3], a technique analyzing the geometric distortions in the HREM micrograph of a crystal lattice by means of the Fourier analysis