Lecture’9:’’ Epipolar’Geometry’ - Artificial...

67
Lecture 9 - Fei-Fei Li Lecture 9: Epipolar Geometry Professor FeiFei Li Stanford Vision Lab 19Oct12 1

Transcript of Lecture’9:’’ Epipolar’Geometry’ - Artificial...

Lecture 9 - !!!

Fei-Fei Li!

Lecture  9:    Epipolar  Geometry  

Professor  Fei-­‐Fei  Li  Stanford  Vision  Lab  

19-­‐Oct-­‐12  1  

Lecture 9 - !!!

Fei-Fei Li!

What  we  will  learn  today?  

•   Why  is  stereo  useful?  •   Epipolar  constraints  •   EssenEal  and  fundamental  matrix  •   EsEmaEng  F  (Problem  Set  2  (Q2))  •  RecEficaEon    

19-­‐Oct-­‐12  2  

Reading:    [HZ]  Chapters:  4,  9,  11    [FP]  Chapters:  10    

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  3  

Recovering  structure  from  a  single  view  Pinhole  perspecEve  projecEon  

C  

Ow  

P  p  

CalibraEon  rig  

Scene  

Camera  K  

Why  is  it  so  difficult?  

Intrinsic  ambiguity  of  the  mapping  from  3D  to  image  (2D)  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  4  

Recovering  structure  from  a  single  view  Pinhole  perspecEve  projecEon  

Intrinsic  ambiguity  of  the  mapping  from  3D  to  image  (2D)  

Courtesy  slide  S.  Lazeb

nik  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  5  

Two  eyes  help!  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  6  

Two  eyes  help!  

O2   O1  

x2  x1  

?  

This  is  called  triangulaEon  

K  =known  K  =known  

R,  T  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  7  

Triangula:on  •  Find  X  that  minimizes   ),(),( 22

211

2 XPxdXPxd +

O1   O2  

x1  x2  

X  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  8  

Stereo-­‐view  geometry  

•  Correspondence:  Given  a  point  in  one  image,  how  can  I  find  the  corresponding  point  x’  in  another  one?    

•  Camera  geometry:  Given  corresponding  points  in  two  images,  find  camera  matrices,  posiEon  and  pose.  

•  Scene  geometry:  Find  coordinates  of  3D  point  from  its  projecEon  into  2  or  mulEple  images.  

This  lecture  (#9)  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  9  

Stereo-­‐view  geometry  

•  Correspondence:  Given  a  point  in  one  image,  how  can  I  find  the  corresponding  point  x’  in  another  one?    

•  Camera  geometry:  Given  corresponding  points  in  two  images,  find  camera  matrices,  posiEon  and  pose.  

•  Scene  geometry:  Find  coordinates  of  3D  point  from  its  projecEon  into  2  or  mulEple  images.  

Next  lecture  (#10)  

Lecture 9 - !!!

Fei-Fei Li!

What  we  will  learn  today?  

•   Why  is  stereo  useful?  •   Epipolar  constraints  •   EssenEal  and  fundamental  matrix  •   EsEmaEng  F  •  RecEficaEon    

19-­‐Oct-­‐12  10  

Reading:    [HZ]  Chapters:  4,  9,  11    [FP]  Chapters:  10    

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  11  

Epipolar  geometry  

•   Epipolar  Plane   •   Epipoles  e1,  e2  

•   Epipolar  Lines  •   Baseline  

O1   O2  

p2  

P  

p1  

e1   e2  

=  intersecEons  of  baseline  with  image  planes    =  projecEons  of  the  other  camera  center  =  vanishing  points  of  camera  moEon  direcEon  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  12  

Example:  Converging  image  planes  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  13  

Example:  Parallel  image  planes  

O1   O2  

P  

e2  p1   p2  

e2  

•   Baseline  intersects  the  image  plane  at  infinity  •   Epipoles  are  at  infinity  •   Epipolar  lines  are  parallel  to  x  axis  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  14  

Example:  Parallel  image  planes  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  15  

Example:  Forward  transla:on  

•   The  epipoles  have  same  posiEon  in  both  images  •   Epipole  called  FOE  (focus  of  expansion)  

O2  

e1  

e2  

O2  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  16  

Epipolar  Constraint  

-­‐   Two  views  of  the  same  object    -­‐   Suppose  I  know  the  camera  posiEons  and  camera  matrices  -­‐  Given  a  point  on  leh  image,  how  can  I  find  the  corresponding  point  on  right  image?  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  17  

Epipolar  Constraint  

•     PotenEal  matches  for  p  have  to  lie  on  the  corresponding  epipolar  line  l’.  

•     PotenEal  matches  for  p’  have  to  lie  on  the  corresponding  epipolar  line  l.  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  18  

Epipolar  Constraint  

⎥⎥⎥

⎢⎢⎢

=→

1vu

PMp

O   O’  

p  p’  

P  

R,  T  

⎥⎥⎥

⎢⎢⎢

⎡ʹ′

ʹ′

=ʹ′→

1vu

PMp

[ ]0IKM = [ ]TRK'M =

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  19  

Epipolar  Constraint  

[ ]0IKM =

O   O’  

p  p’  

P  

R,  T  

[ ]TRK'M =      K1  and  K2  are  known        (calibrated  cameras)  

[ ]0IM = [ ]TRM ='

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  20  

Epipolar  Constraint  

O   O’  

p  p’  

P  

R,  T  

[ ] 0)pR(TpT =ʹ′×⋅Perpendicular  to  epipolar  plane  

)( pRT ʹ′×

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  21  

Cross  product  as  matrix  mulEplicaEon  

baba ][0

00

×=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

z

y

x

xy

xz

yz

bbb

aaaaaa

“skew  symmetric  matrix”  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  22  

Triangula:on  

O   O’  

p  p’  

P  

R,  T  

[ ] 0)pR(TpT =ʹ′×⋅ [ ] 0pRTpT =ʹ′⋅⋅→ ×

E  =  essenEal  matrix  (Longuet-­‐Higgins,  1981)  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  23  

Triangula:on  

•  E  p2    is  the  epipolar  line  associated  with  p2  (l1  =  E  p2)  •  ET  p1    is  the  epipolar  line  associated  with  p1  (l2  =  ET  p1)  •  E  is  singular  (rank  two)  •  E  e2  =  0      and      ET  e1  =  0  •  E  is  3x3  matrix;  5  DOF    

O1   O2  

p2  

P  

p1  

e1   e2  l1   l2  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  24  

Triangula:on  

PMP→ ⎥⎦

⎤⎢⎣

⎡=→vu

p [ ]0IKM =unknown  

O   O’  

p  p’  

P  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  25  

Triangula:on  

O   O’  

p  p’  

P  

[ ] 0pRTpT =ʹ′⋅⋅ ×

pKp 1−→The image part with relationship ID rId8 was not found in the file.

[ ] 0pKRT)pK( 1T1 =ʹ′ʹ′⋅⋅→ −×

[ ] 0pKRTKp 1TT =ʹ′ʹ′⋅⋅ −×

− 0pFpT =ʹ′→

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  26  

Triangula:on  

O   O’  

p  p’  

P  

0pFpT =ʹ′

F  =  Fundamental  Matrix  (Faugeras  and  Luong,  1992)  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  27  

Triangula:on  

O1   O2  

p2  

P  

p1  

e1   e2  

•  F  p2    is  the  epipolar  line  associated  with  p2  (l1  =  F  p2)  •  FT  p1    is  the  epipolar  line  associated  with  p1  (l2  =  FT  p1)  •  F  is  singular  (rank  two)  •  F  e2  =  0      and      FT  e1  =  0  •  F  is  3x3  matrix;  7  DOF    

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  28  

Why  is  F  useful?  

-­‐   Suppose  F  is  known  -­‐   No  addiEonal  informaEon  about  the  scene  and  camera  is  given  -­‐  Given  a  point  on  leh  image,  how  can  I  find  the  corresponding  point  on  right  image?  

l’  =  FT  p  p  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  29  

Why  is  F  useful?  

•  F  captures  informaEon  about  the  epipolar  geometry  of  2  views  +  camera  parameters    

•  MORE  IMPORTANTLY:  F  gives  constraints  on  how  the  scene  changes  under  view  point  transformaEon  (without  reconstrucEng  the  scene!)  

•  Powerful  tool  in:  •   3D  reconstrucEon  •   MulE-­‐view  object/scene  matching    

Lecture 9 - !!!

Fei-Fei Li!

•   Why  is  stereo  useful?  •   Epipolar  constraints  •   EssenEal  and  fundamental  matrix  •   EsEmaEng  F  (Problem  Set  2  (Q2))  •  RecEficaEon    

19-­‐Oct-­‐12  30  

What  we  will  learn  today?  

Reading:    [HZ]  Chapters:  4,  9,  11    [FP]  Chapters:  10    

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  31  

Es:ma:ng  F  

O   O’  

p  p’  

P  The  Eight-­‐Point  Algorithm  

⎥⎥⎥

⎢⎢⎢

⎡ʹ′

ʹ′

=ʹ′→

1vu

pP⎥⎥⎥

⎢⎢⎢

=→

1vu

pP 0pFpT =ʹ′

(Hartley,  1995)  

(Longuet-­‐Higgins,  1981)  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  32  

Es:ma:ng  F  

0pFpT =ʹ′

Let’s  take  8  corresponding  points    

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  33  

Es:ma:ng  F  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  34  

Es:ma:ng  F  

Lsq.  soluEon  by  SVD!  

•   Rank  8   A  non-­‐zero  soluEon  exists  (unique)  

•   Homogeneous  system  

•   If  N>8   F̂

f

1=f

W 0=fW

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  35  

Es:ma:ng  F  

0pF̂pT =ʹ′The  esEmated  F  may  have  full  rank  (det(F)  ≠0)    (F  should  have  rank=2  instead)  

0F̂F =−Find  F  that  minimizes  

Subject  to  det(F)=0  

Frobenius  norm  (*)  

SVD  (again!)  can  be  used  to  solve  this  problem  

^   ^  

(*)  Sqrt  root  of  the  sum  pf  squares  of  all  entries  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  36  

Example  D

ata

cour

tesy

of R

. Moh

r and

B. B

oufa

ma.

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  37  

Example  

Mean  errors:  10.0pixel  9.1pixel  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  38  

Normaliza:on    

Is  the  accuracy  in  esEmaEng  F  funcEon  of  the  ref.  system  in  the  image  plane?  

iii pTq = iii pTq ʹ′ʹ′=ʹ′

E.g.  under  similarity  transformaEon    (T  =  scale  +  translaEon):  

Does  the  accuracy  in  esEmaEng  F  change  if  a  transformaEon  T  is  applied?  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  39  

Normaliza:on    

Why?  

• The  accuracy  in  esEmaEng  F  does  change  if  a  transformaEon  T  is  applied  

• There  exists  a  T  for  which  accuracy  is  maximized  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  40  

Normaliza:on    

-­‐  SVD  enforces  Rank(W)=8    

-­‐  Recall  the  structure  of  W:          Highly  un-­‐balance            (not  well  condiEoned)    

-­‐ Values  of  W  must  have  similar  magnitude  

F1=f,0=fW Lsq  soluEon    

by  SVD  

More  details  HZ  pag  108    

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  41  

Normaliza:on    

IDEA:  Transform  image  coordinate  system  (T  =  translaEon  +  scaling)  such  that:  

•   Origin  =  centroid  of  image  points  •   Mean  square  distance  of  the  data    points  from  origin  is  2  pixels  

 

iii pTq = iii pTq ʹ′ʹ′=ʹ′ (normalizaEon)  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  42  

The  Normalized  Eight-­‐Point  Algorithm    

1.   Normalize  coordinates:  

2.  Use  the  eight-­‐point  algorithm  to  compute  F’q  from  the        points  q    and  q’    .  

3.   Enforce  the  rank-­‐2  constraint.  

4.   De-­‐normalize  Fq:  

i   i  

iii pTq = iii pTq ʹ′ʹ′=ʹ′

0qFq qT =ʹ′

qF→

TFTF qTʹ′=

0)Fdet( q =

0.    Compute  Ti  and  Ti’  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  43  

With

 transformaE

on  

With

out  

transformaE

on   Mean  

errors:  10.0pixel  9.1pixel  

Mean  errors:  1.0pixel  0.9pixel  

Example  

Lecture 9 - !!!

Fei-Fei Li!

•   Why  is  stereo  useful?  •   Epipolar  constraints  •   EssenEal  and  fundamental  matrix  •   EsEmaEng  F  •  RecEficaEon    

19-­‐Oct-­‐12  44  

What  we  will  learn  today?  

Reading:    [HZ]  Chapters:  4,  9,  11    [FP]  Chapters:  10    

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  45  

Rec:fica:on  

p’  

P  

p  

O   O’  •   Make  two  camera  images  “parallel”  •   Correspondence  problem  becomes  easier  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  46  

Rec:fica:on  

O   O  

P  

e2  p   p’  

e2  

K   K  x  

y  

z  

u  

v  

u  

v  

•   Parallel  epipolar  lines  •   Epipoles  at  infinity    •   v  =  v’  

Let’s  see  why….  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  47  

Rec:fica:on  

K1=K2  =  known  x  parallel  to  O1O2  

RtE ][ ×=

O   O  

P  

e2  p   p’  

e2  

K   K  x  

y  

z  

u  

v  

u  

v  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  48  

baba ][0

00

×=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

z

y

x

xy

xz

yz

bbb

aaaaaa

Cross  product  as  matrix  mulEplicaEon  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  49  

Rec:fica:on  

K1=K2  =  known  x  parallel  to  O1O2   ⎥

⎥⎥

⎢⎢⎢

−== ×

0000

000][

TTRtE

O   O  

P  

e2  p   p’  

e2  

K   K  x  

y  

z  

u  

v  

u  

v  

→  v  =  v’?  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  50  

Rec:fica:on  

( ) ( ) vTTvvTTvuv

u

TTvu ʹ′==

⎟⎟⎟

⎜⎜⎜

ʹ′

−=⎟⎟⎟

⎜⎜⎜

⎛ʹ′

ʹ′

⎥⎥⎥

⎢⎢⎢

− 00

10100

00000

1

O   O  

P  

e2  p   p’  

e2  

K   K  x  

y  

z  

u  

v  

u  

v  

0pEpT =ʹ′

→  v  =  v’  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  51  

Rec:fica:on  

p’  p  

O   O’  

H  

GOAL  of  rec:fica:on  :  EsEmate  a  perspecEve  transformaEon  H  that  makes  images  parallel   Impose  v’=v  •   This  leaves  degrees  of  freedom  for  determining  H  •   If  not  appropriate  H  is  chosen,  severe  projecEve  distorEons  on  image  take  place  •   We  impose  a  number  of  restricEon  while  compuEng  H   [HZ]  Chapters:  11  (sec.  11.12)  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  52  

Rec:fica:on  

H  

Courtesy  figure  S.  Lazebnik  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  53  

Applica:on:  view  morphing  S.  M.  Seitz  and  C.  R.  Dyer,  Proc.  SIGGRAPH  96,  1996,  21-­‐30    

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  54  

Applica:on:  view  morphing  If  recEficaEon  is  not  applied,  the  morphing  procedure  does  not  generate  geometrically  correct  interpolaEons  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  55  

Applica:on:  view  morphing  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  56  

Applica:on:  view  morphing  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  57  

Applica:on:  view  morphing  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  58  

Applica:on:  view  morphing  

Lecture 9 - !!!

Fei-Fei Li! 19-­‐Oct-­‐12  59  

The  Fundamental  Matrix  Song  hzp://danielwedge.com/fmatrix/  

Lecture 9 - !!!

Fei-Fei Li!

•   Why  is  stereo  useful?  •   Epipolar  constraints  •   EssenEal  and  fundamental  matrix  •   EsEmaEng  F  (Problem  Set  2  (Q2))  •  RecEficaEon    

19-­‐Oct-­‐12  60  

What  we  have  learned  today?  

Reading:    [HZ]  Chapters:  4,  9,  11    [FP]  Chapters:  10    

Lecture 9 - !!!

Fei-Fei Li!

Supplementary  materials  

19-­‐Oct-­‐12  61  

Lecture 9 - !!!

Fei-Fei Li!

Making  image  planes  parallel  

T21

T ]1ee[TRKe == TKe ʹ′=ʹ′

Making  image  planes  parallel  

p’  

P  

p  

e   e’  K   K’  

R,T  

[ ] PTRKP ʹ′→[ ] P0IKP→

O   O’  

0.  Compute  epipoles  

19-­‐Oct-­‐12  62  

Lecture 9 - !!!

Fei-Fei Li!

Making  image  planes  parallel  

1.  Map  e  to  the  x-­‐axis  at  locaEon  [1,0,1]T    (normalizaEon)  

[ ]T101

→= T21 ]1ee[e

p’  

P  

p  

e’  

O   O’  

HHTRH =1

e  

19-­‐Oct-­‐12  63  

Lecture 9 - !!!

Fei-Fei Li!

Making  image  planes  parallel  

2.  Send  epipole  to  infinity:  

p’  p  

[ ]T101e =

⎥⎥⎥

⎢⎢⎢

=

101010001

H2

P  

[ ]T001

e  

O   O’  

Minimizes  the  distorEon  in  a    neighborhood  (approximates  id.  mapping)  

19-­‐Oct-­‐12  64  

Lecture 9 - !!!

Fei-Fei Li!

Making  image  planes  parallel  

4.  Align  epipolar  lines  

p’  p  

H  =  H2  H1  

P  

e  

O   O’  

e’  

3.  Define:  H  =  H2  H1  

19-­‐Oct-­‐12  65  

Lecture 9 - !!!

Fei-Fei Li!

ProjecEve  transformaEon  of  a  line  (in  2D)  

lHl T−→

⎥⎦

⎤⎢⎣

⎡=

bvtA

H

19-­‐Oct-­‐12  66  

Lecture 9 - !!!

Fei-Fei Li!

Making  image  planes  parallel  

p’  p  

H  =  H2  H1  

P  

e  

O   O’  

e’  

4.  Align  epipolar  lines  

3.  Define:  H  =  H2  H1   lHlH TT −− =ʹ′ʹ′These  are  called  matched  pair  of  transformaEon  

l lʹ′

[HZ]  Chapters:  11  (sec.  11.12)  

19-­‐Oct-­‐12  67