multi view geometry (spring '08)ocw.snu.ac.kr/sites/default/files/note/2772.pdf · 2018. 1. 30. ·...
TRANSCRIPT
-
Prof. Kyoung Mu LeeDept. of EECS, Seoul National University
Introduction 1
Multi View Geometry (Spring '08)
Introduction
K. M. Lee, EECS, SNU
Introduction 2
Multi View Geometry (Spring '08)
Course Objectives
• To understand the geometric relations between multiple views of scenes.
• To understand how to calibrate cameras• To understand how to reconstruct 3D structure information
using views• To understand the general principles of parameter
estimation.
-
K. M. Lee, EECS, SNU
Introduction 3
Multi View Geometry (Spring '08)
Materials
• Text book;“Multiple View Geometry in Computer
Vision” 2nd ed. by Richard Hartley and Andrew Zisserman, Cambridge University Press
• Reference:“An Invitation to 3-D Vision”, Yi Ma et
al., Springer“The Geometry from Multiple Images”,by Olivier Faugeras and Quan-Tuan Luong, MIT Press“Introductory Techniques for 3-D Computer Vision”, E. Trucco and A. Verri, Prentice Hall
K. M. Lee, EECS, SNU
Introduction 4
Multi View Geometry (Spring '08)
Related Links
• Course Home Page: http://cv.snu.ac.kr• Related Links
The Computer Vision HomepageCVonline: Compendium of Computer VisionAnnotated Computer Vision BibliographyUSC Computer Vision BibliographyThe Digital Michelangelo ProjectIBM's Pieta ProjectOpen Directory Project CV links Matlab HomepageMatlab PrimerOnline Tutorial by Pollefey: http://www.esat.kuleuven.ac.be/~pollefey/tutorial/
-
K. M. Lee, EECS, SNU
Introduction 5
Multi View Geometry (Spring '08)
Grading
• Grading:Participation : 20%Homework Assignments & Quiz: 50% Final Projects: 30%
• Computer Assignments:There will be 3-4 HWs (computer projects) during the semester. The grade of the projects will be based on the report, which should include the problem statement, your approaches, implement detail, experimental results and discussion. Computer projects can be done by using MATLAB or C++.
• Term Project : Each student has to turn in a term project. This project is due one week after the end of the class. The term project must be done INDIVIDUALLY .
K. M. Lee, EECS, SNU
Introduction 6
Multi View Geometry (Spring '08)
Grading
• Academic Integrity: Every student should submit only their own original work, or where applicable, to cite its origin, for the written and programming assignments. Programs shall not be copied. Standard and publicly available libraries may be used after seeking consent of the course instructor or TA.
-
K. M. Lee, EECS, SNU
Introduction 7
Multi View Geometry (Spring '08)
Content
• Background: Projective geometry (2D, 3D), Parameter estimation, Algorithm evaluation.
• Single View: Camera model, Calibration, Single View Geometry.
• Two Views: Epipolar Geometry, 3D reconstruction, Computing F, Computing structure, Plane and homographies.
• Three Views: Trifocal Tensor, Computing T.• More Views: N-Linearities, Multiple view reconstruction,
Bundle adjustment, auto-calibration, Dynamic SfM, Cheirality, Duality
K. M. Lee, EECS, SNU
Introduction 8
Multi View Geometry (Spring '08)
Overview
• Quick Overview (by Marc pollefey)
-
K. M. Lee, EECS, SNU
Introduction 9
Multi View Geometry (Spring '08)
Background
La reproduction interdite (Reproduction Prohibited), 1937, René Magritte.
K. M. Lee, EECS, SNU
Introduction 10
Multi View Geometry (Spring '08)
• Points, lines & conics
• Transformations
• Cross-ratio and invariants
Projective 2D Geometry
-
K. M. Lee, EECS, SNU
Introduction 11
Multi View Geometry (Spring '08)
Projective 3D Geometry
• Points, lines, planes and quadrics
• Transformations
• П∞, ω∞ and Ω ∞
K. M. Lee, EECS, SNU
Introduction 12
Multi View Geometry (Spring '08)
Estimation
How to compute a geometric relation from correspondences
Linear (normalized) Non-linear and Maximum Likelihood EstimationRobust Estimator (RANSAC, LMeds)
-
K. M. Lee, EECS, SNU
Introduction 13
Multi View Geometry (Spring '08)
Evaluation and error analysis
How to evaluate the accuracyBounds on performance
Covariance propagation & Monte-Carlo estimation
residual
error
( )+= − JΣJΣ XP 1T
K. M. Lee, EECS, SNU
Introduction 14
Multi View Geometry (Spring '08)
Single-View Geometry
The Cyclops, c. 1914, Odilon Redon
-
K. M. Lee, EECS, SNU
Introduction 15
Multi View Geometry (Spring '08)
Camera Models
X.xλor
110t
11
1
11λ
3
PR
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎦
⎤⎢⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
ZYX
pfpf
yx
y
x
T
pinhole (perspective) camera model
affine cameras
pushbroom camera, etc.
K. M. Lee, EECS, SNU
Introduction 16
Multi View Geometry (Spring '08)
Camera Calibration
• How to compute camera matrix P(normalized) linear, MLE,…
• How to correct Radial lens distortion
-
K. M. Lee, EECS, SNU
Introduction 17
Multi View Geometry (Spring '08)
More Single-View Geometry
• Projective cameras and planes, lines, conics and quadrics.
• Camera center and camera rotation
• Camera calibration and vanishing points, calibrating conic and the IAC
** CPPQ =T
coneQCPP =T
K. M. Lee, EECS, SNU
Introduction 18
Multi View Geometry (Spring '08)
Two-View Geometry
The Birth of Venus (detail), c. 1485, Sandro Botticelli
-
K. M. Lee, EECS, SNU
Introduction 19
Multi View Geometry (Spring '08)
Epipolar Geometry
Fundamental matrix Essential matrix
0xx' =FT ( ) 0x̂[t]'x̂ =×RT'PP,F → 'PP,E →
• What is Epipolar geometry?• What are Fundamental matrix and Essential matrix
K. M. Lee, EECS, SNU
Introduction 20
Multi View Geometry (Spring '08)
Two-View Reconstruction
-
K. M. Lee, EECS, SNU
• How to determine the Fundamental matrix F
Introduction 21
Multi View Geometry (Spring '08)
Epipolar Geometry Computation
(normalized) linear:
minimal:
MLE:
RANSAC… and automated two view matching
0xx' =FT
( ) 0λdet 21 =+ FF0).1,,,',',',',','( =fyxyyyxyxyxxx
( ) ( )
0x̂'x̂for which
'x̂,x'x̂,x 2i
2
=
+∑
ii
iiii dd
FT
K. M. Lee, EECS, SNU
Introduction 22
Multi View Geometry (Spring '08)
Image Rectification
Warp images to simplify epipolar geometryAlign epipolar lines
-
K. M. Lee, EECS, SNU
Introduction 23
Multi View Geometry (Spring '08)
Structure Computation
• How to recover 3D features• Points: Linear, optimal, direct optimal
• Also lines and vanishing points
K. M. Lee, EECS, SNU
Introduction 24
Multi View Geometry (Spring '08)
Three-View Geometry
The Birth of Venus (detail), c. 1485, Sandro Botticelli
-
K. M. Lee, EECS, SNU
Introduction 25
Multi View Geometry (Spring '08)
Trifocal Tensor
• Relationship between three view correspondence.
K. M. Lee, EECS, SNU
Introduction 26
Multi View Geometry (Spring '08)
Three View Reconstruction
• (normalized) linear• minimal (6 points)• MLE (Gold Standard)
-
K. M. Lee, EECS, SNU
Introduction 27
Multi View Geometry (Spring '08)
Multiple-View Geometry
The Birth of Venus (detail), c. 1485, Sandro Botticelli
K. M. Lee, EECS, SNU
Introduction 28
Multi View Geometry (Spring '08)
Multiple View Geometry
wxyzpqrs
lszkryjqxipwiiii Qxxxx 0=′′′′′′ εεεε
Quadrifocal tensor
wxyzpqrs
srqp Qllll 0=′′′′′′ 81 parameters, but only 29 DOF!
• Relationship between multiple view correspondence.
-
K. M. Lee, EECS, SNU
Introduction 29
Multi View Geometry (Spring '08)
Multiple View Reconstruction
• Affine factorization• Projective factorization
• Sequential reconstruction
[ ]nmn
mm
n
n
XXX
P
PP
xxx
xxxxxx
21
m
2
1
21
222
21
112
11
LM
L
MOMM
L
L
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
K. M. Lee, EECS, SNU
Introduction 30
Multi View Geometry (Spring '08)
Bundle Adjustment
Maximum Likelyhood Estimation for complete structure and motion
U1
U2
U3
WT
W
V
P1 P2 P3 M
=J == JJN T
12xm 3xn(in general
much larger)
( )( )∑∑= =
m
k
n
iikd
1 1
2
ki X̂P̂,x
-
K. M. Lee, EECS, SNU
Introduction 31
Multi View Geometry (Spring '08)
Bundle adjustment
No bundle adjustment
Bundle adjustment needed to avoid drift of virtual objectthroughout sequence
Bundle adjustment (including radial distortion)
K. M. Lee, EECS, SNU
• How to determine camera calibration matrix K directly from multiple uncalibrated images
Introduction 32
Multi View Geometry (Spring '08)
ω*Ω*
projection
constraints
Tii
Tiii Ωω KKPP ==
∗∗
Auto-calibration
Tijiijj ∞
∗∞
∗ = HH ωω
-
K. M. Lee, EECS, SNU
Introduction 33
Multi View Geometry (Spring '08)
Applications
• 3D modeling• Augmented Reality• Image-based rendering
• http://www.robots.ox.ac.uk/~vanguard/examples.html
K. M. Lee, EECS, SNU
Introduction 34
Multi View Geometry (Spring '08)
Applications
-
K. M. Lee, EECS, SNU
Applications
Scene reconstruction
Scene reconstruction
Photo Explorer
Photo Explorer
Input photographs Relative camera positions and orientations
Point cloud
Sparse correspondence
K. M. Lee, EECS, SNU
• Reading assignment:Read Ch. 1 & Ch 2.
/ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False
/Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure false /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles false /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /DocumentCMYK /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /UseDocumentProfile /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice