a global linear method for camera pose registration

29
A Global Linear Method for Camera Pose Registration Nianjuan Jiang* 1 , Zhaopeng Cui* 2 , Ping Tan 2 1 Advanced Digital Sciences Center, Singapore 2 National University of Singapore *Joint first authors 1

Upload: trygg

Post on 23-Feb-2016

71 views

Category:

Documents


1 download

DESCRIPTION

A Global Linear Method for Camera Pose Registration. Nianjuan Jiang* 1 , Zhaopeng Cui* 2 , Ping Tan 2 1 Advanced Digital Sciences Center, Singapore 2 National University of Singapore *Joint first authors. Structure from Motion ( SfM ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Global Linear Method for Camera Pose Registration

1

A Global Linear Method for Camera Pose Registration

Nianjuan Jiang*1, Zhaopeng Cui*2, Ping Tan2

1Advanced Digital Sciences Center, Singapore2National University of Singapore

*Joint first authors

Page 2: A Global Linear Method for Camera Pose Registration

2

Structure from Motion (SfM)

Simultaneously recover both 3D scene points and camera poses

Page 3: A Global Linear Method for Camera Pose Registration

3

SfM PipelineStep 1. Epipolar geometry;

compute relative motion between 2 or 3 camerasβ€’ 6-point method [Quan 1995]β€’ 7-point method [Torr & Murray 1997]β€’ 8-point method (normalized) [Hartley 1997] β€’ 5-point method [Nister 2004]

Images with matched feature points

Page 4: A Global Linear Method for Camera Pose Registration

4

SfM PipelineStep 1. Epipolar geometry;Step 2. Camera registration;

put all cameras in the same coordinate system (auto-calibration if needed [Pollefeys et al. 1998])

β€’ [Fitzgibbon & Zisserman 1998]β€’ [Pollefeys et al. 2004]

Page 5: A Global Linear Method for Camera Pose Registration

5

SfM PipelineStep 1. Epipolar geometry;Step 2. Camera registration;Step 3. Bundle adjustment.

optimize all cameras and pointsβ€’ [Triggs et al. 1999]

Page 6: A Global Linear Method for Camera Pose Registration

6

β€œThe Black Art ”Step 1. Epipolar geometry;Step 2. Camera registration;Step 3. Bundle adjustment.

The state-of-the-art:1. Step 1 and 3 are very well studied with

elegant theories and algorithms.

2. The step 2 is often ad-hoc and heuristic.

The camera registration to initialize bundle adjustment β€œβ€¦ is still to some extent a black art…”.

Page 452, Chapter 18.6

Page 7: A Global Linear Method for Camera Pose Registration

7

Typical Solutions

[Lhuillier & Quan 2005]

Hierarchical solution:Iteratively merge sub-sequences

[Fitzgibbon & Zisserman 1998]

Page 8: A Global Linear Method for Camera Pose Registration

8

Typical Solutions

[Lhuillier & Quan 2005]

Hierarchical solution:Iteratively merge sub-sequences

[Fitzgibbon & Zisserman 1998]

[Pollefeys et al. 2004]

Incremental solution: Iteratively add cameras one by one

[Snavely et al. 2006]

Page 9: A Global Linear Method for Camera Pose Registration

9

The block diagram (for the incremental solution):

Drawbacks:1. Repetitively calling bundle adjustment Inefficiency 90% of the total computation time is spent on bundle adjustment.2. Some cameras are fixed before the others asymmetric formulation leads to inferior results.

Pain of Existing Solutions

Our objective:Simultaneously register all cameras to

initialize the bundle adjustment

Add Cameras Bundle Adjustment More Cameras?

Initial Reconstruction

(2 cameras)

Step 1: Epipolar Geometry Register All Cameras in a Single Step Step 3: Bundle

Adjustment

Page 10: A Global Linear Method for Camera Pose Registration

10

Previous Works

L

[Govindu 2001]

[Martinec et al. 2007] [Arie-Nachimson et al. 2012][Kahl 2005]

linear global solution to rotations

[Hartley et al. 2013]

elegant quasi-convex optimization linear global solution to translations

[Crandall et al. 2011]

discrete-continuous optimization

cannot solve translations

sensitive to outliers

require coplanar cameras

degenerate at collinear motion

Desirable features:1. Solve both rotations & translations;2. Linear & robust solution;3. No degeneracy.

Page 11: A Global Linear Method for Camera Pose Registration

11

The Input Epipolar GeometryThe essential matrix encodes the relative motion

𝐸𝑖𝑗= [𝑑 𝑖𝑗 ]×𝑅𝑖𝑗

𝑅𝑖𝑗

𝑑𝑖𝑗𝐸𝑖𝑗 𝑑𝑖𝑗𝑅𝑖𝑗 and

Page 12: A Global Linear Method for Camera Pose Registration

12

A linear equation from every two cameras

Rotation Registration

𝑅𝑖

𝑅 𝑗=𝑅𝑖𝑗𝑅 𝑖

𝑅𝑖=[ , ,]

𝑅𝑖𝑗

π‘Ÿ3π‘–π‘Ÿ2

π‘–π‘Ÿ1𝑖

⨀⨀𝑅 𝑗

[Martinec et al. 2007]

𝑅2=𝑅12 𝑅1{cam1 , cam 2 }

……

𝑅3=𝑅23𝑅3{cam 2, cam 3 }

𝑅𝑛=π‘…π‘šπ‘›π‘…π‘š{camm , camn }

Page 13: A Global Linear Method for Camera Pose Registration

13

Input:

Relative translations:

Output:

Camera positions:

ci cj

ck

Translation Registration (3 cameras)

𝑐 π‘–π‘˜

𝑐 𝑖𝑗

𝑐 π‘—π‘˜

Page 14: A Global Linear Method for Camera Pose Registration

14

Translation Registration (3 cameras)

Suppose , are known, can be computed by:

ci cj

ck

π‘π‘˜βˆ’π‘π‘–=𝑅 𝑖(πœƒ 𝑖❑ )𝑠𝑖𝑗

π‘–π‘˜(𝑐 π‘—βˆ’π‘ 𝑖)

cj

A linear equation:

𝑅𝑖 (πœƒ 𝑖❑ )

π‘ π‘–π‘—π‘–π‘˜

πœƒπ‘–β‘

𝑐 π‘–π‘˜

𝑐 𝑖𝑗

𝑅𝑖 (πœƒ 𝑖❑ )π‘ π‘–π‘—π‘–π‘˜

1. rotate to match the orientation of 2. shrink/grow to match the length of

both are easy to compute

Page 15: A Global Linear Method for Camera Pose Registration

15

Translation Registration (3 cameras)

A similar linear equation by matching and

π‘π‘˜βˆ’π‘ 𝑗=𝑅 𝑗 (βˆ’πœƒ 𝑗❑ ) 𝑠𝑖𝑗

π‘—π‘˜(𝑐 π‘–βˆ’π‘ 𝑗)

ci cj

ck

ci

πœƒ 𝑗❑

𝑐 𝑖𝑗

𝑐 π‘—π‘˜

Page 16: A Global Linear Method for Camera Pose Registration

16

Translation Registration (3 cameras)

A geometric explanation

ijc

jkc

ci cj

π‘π‘˜βˆ’π‘π‘–=𝑅 𝑖 (πœƒ 𝑖❑ )𝑠𝑖𝑗

π‘–π‘˜(𝑐 π‘—βˆ’π‘ 𝑖)

π‘π‘˜βˆ’π‘ 𝑗=𝑅 𝑗 (βˆ’πœƒ 𝑗❑ ) 𝑠𝑖𝑗

π‘—π‘˜(𝑐 π‘–βˆ’π‘ 𝑗)

ikc

πœ‹ 1 πœ‹ 2

: plane spanned by and

: plane spanned by and

and are non-coplanar

ck

Page 17: A Global Linear Method for Camera Pose Registration

17

Translation Registration (3 cameras)

A geometric explanation

ijc

jkc

ci cj

ck

π‘π‘˜βˆ’π‘π‘–=𝑅 𝑖 (πœƒ 𝑖❑ )𝑠𝑖𝑗

π‘–π‘˜(𝑐 π‘—βˆ’π‘ 𝑖)

π‘π‘˜βˆ’π‘ 𝑗=𝑅 𝑗 (βˆ’πœƒ 𝑗❑ ) 𝑠𝑖𝑗

π‘—π‘˜(𝑐 π‘–βˆ’π‘ 𝑗)

Bikc

A

πœ‹ 1 πœ‹ 2 : the mutual perpendicular line

: the middle point of

β‰ˆ A

β‰ˆπ΅π‘π‘˜=𝑐 𝑖+𝑅𝑖 (πœƒπ‘–

❑) π‘ π‘–π‘—π‘–π‘˜(𝑐 π‘—βˆ’π‘π‘–)

π‘π‘˜=𝑐 𝑗+𝑅 𝑗 (βˆ’πœƒ 𝑗❑) 𝑠𝑖𝑗

π‘—π‘˜(π‘π‘–βˆ’π‘ 𝑗)

Our linear equations minimizes an approximate geometric error!

see derivation in the paper

Page 18: A Global Linear Method for Camera Pose Registration

18

Translation Registration (3 cameras)No degeneracy with collinear motion

ci cj

ck𝑐 π‘–π‘˜

𝑐 𝑖𝑗

𝑐 π‘—π‘˜

π‘π‘˜βˆ’π‘π‘–=𝑅 𝑖 (0 )π‘ π‘–π‘—π‘–π‘˜(𝑐 π‘—βˆ’π‘ 𝑖)

π‘π‘˜βˆ’π‘ 𝑗=𝑅 𝑗 ( 0 )π‘ π‘–π‘—π‘—π‘˜(𝑐 π‘–βˆ’π‘ 𝑗)

Page 19: A Global Linear Method for Camera Pose Registration

19

Translation Registration (3 cameras)

Suppose , are known, can be computed by:

ci cj

ck

πœƒπ‘–β‘

πœƒπ‘˜β‘π‘ π‘–π‘˜

𝑐 𝑖𝑗

𝑐 π‘—π‘˜

𝑐 π‘—βˆ’π‘ 𝑖=𝑅𝑖 (βˆ’πœƒ 𝑖❑ )π‘ π‘–π‘˜π‘–π‘— (π‘π‘˜βˆ’π‘π‘–)

𝑐 π‘—βˆ’π‘π‘˜=π‘…π‘˜ (πœƒπ‘˜ )π‘ π‘–π‘˜π‘—π‘˜(𝑐 π‘–βˆ’π‘π‘˜)

Page 20: A Global Linear Method for Camera Pose Registration

20

Translation Registration (3 cameras)

Suppose , are known, can be computed by:

ci cj

ck

πœƒπ‘˜β‘

πœƒ 𝑗❑

𝑐 π‘–π‘˜

𝑐 𝑖𝑗

𝑐 π‘—π‘˜

𝑐 π‘–βˆ’π‘π‘˜=π‘…π‘˜ (βˆ’πœƒπ‘˜β‘ )𝑠 π‘—π‘˜

π‘–π‘˜ (𝑐 π‘—βˆ’π‘π‘˜)

𝑐 π‘–βˆ’π‘ 𝑗=𝑅 𝑗 (πœƒ 𝑗 ) 𝑠 π‘—π‘˜π‘–π‘— (π‘π‘˜βˆ’π‘ 𝑗)

Page 21: A Global Linear Method for Camera Pose Registration

21

Translation Registration (3 cameras)

Collecting all six equations

π΅π‘–π‘—π‘˜(𝑐 𝑖

𝑐 π‘—π‘π‘˜)=0

Page 22: A Global Linear Method for Camera Pose Registration

Translation Registration (n cameras)

1. Collect equations from all triangles in the match graph.

𝐡2 (𝑐2 ,𝑐3 ,𝑐4 )=0𝐡1 (𝑐1,𝑐2 ,𝑐3 )=0

2. Solve all equations

Generalize to n cameras

π΅π‘Œ=0 π‘Œ=[𝑐1

𝑐2

𝑐3

𝑐4

𝑐5

𝑐6

𝑐7

𝑐8

𝑐9

]The match graph:each camera is a vertex,connect two cameras if their relative motion is known.

cameras can be non-coplanar.

Page 23: A Global Linear Method for Camera Pose Registration

23

TriangulationOnce cameras are fixed, triangulate matched corners to generate 3D points.

Page 24: A Global Linear Method for Camera Pose Registration

24

Robustness Issuesβ€’ Exclude unreliable tripletsβ€’ More consistency checks in the paper

𝑐 π‘–π‘˜

𝑐 𝑖𝑗

𝑐 π‘—π‘˜

οΏ½Μ‚οΏ½ π‘–π‘˜ οΏ½Μ‚οΏ½ π‘—π‘˜

οΏ½Μ‚οΏ½ 𝑖𝑗

Check if ??

Page 25: A Global Linear Method for Camera Pose Registration

ResultsAccuracy evaluation:Compare with recent methods on data with known ground truth.

Fountain-P11 Herz-Jesu-P25 Castle-P30

c meters

R degrees

c meters

R degrees

c meters

R degrees

Ours 0.0139 0.1954 0.0636 0.1880 0.2345 0.4800

[Arie-Nachimson et al. 2012] 0.0226 0.4211 0.0479 0.3125 - -

[Sinha et al. 2010] 0.1317 - 0.2538 - - -

VisualSFM 0.0364 0.2794 0.0551 0.2868 0.2639 0.3980

Fountain-P11 Herz-Jesu-P25 Castle-P30

All results are after the final bundle adjustment.

Page 26: A Global Linear Method for Camera Pose Registration

ResultsEfficiency evaluation:

Building (128) Notre Dame (371) Pisa (481) Trevi Fountain (1259)

Our Method

Visual-SFM

Our Method

Visual-SFM

Our Method

Visual-SFM

Our Method

Visual-SFM

Total running time (s)* 17 62 49 479 69 479 135 1790

BA time (s) 11 57 20 442 52 444 61 1715

Registration time (s) 6 5 29 37 17 12 74 75

# of reconstructed images

128 128 362 365 479 480 1255 1253

# of reconstructed points 91,290 78,100 103,629 104,657 134,555 129,484 297,766 292,277

* The total running time excludes the time spent on feature matching and epipolar geometry computation.

Building Notre Dame Pisa Trevi Fountain

Page 27: A Global Linear Method for Camera Pose Registration

27

Conclusions

β€’ A global solution for orientations & positions;β€’ Linear, robust & geometrically meaningful;β€’ No degeneracy.

Page 28: A Global Linear Method for Camera Pose Registration

Thanks!

code & data available at:http://www.ece.nus.edu.sg/stfpage/eletp/

Page 29: A Global Linear Method for Camera Pose Registration

29

A large scale scene

Results

Quasi-dense points generated by CMVS [Furukawa et al. 2010] for better visualization.