7
1 CSE486, Penn State Robert Collins Lecture 25: Structure from Motion CSE486, Penn State Robert Collins Structure from Motion Given a set of flow fields or displacement vectors from a moving camera over time, determine: the sequence of camera poses the 3D structure of the scene Scene structure Sequence of camera poses CSE486, Penn State Robert Collins SFM “Killer App” Track a set of feature points through a movie sequence Deduce where the cameras are and the 3D locations of the points that were tracked Render synthetic objects with respect to the deduced 3D geometry of the scene / cameras Match Move CSE486, Penn State Robert Collins Match Move Examples “Harts’ War” and “Graham Kimpton” examples from www.realviz.com MatchMover Professional gallery. Copyrighted. CSE486, Penn State Robert Collins Factorization Tomasi and Kanade, “Shape and Motion from Image Streams under Orthography,” International Journal of Computer Vision (IJCV), Vol 9, pp.137-154, 1992. Goal: combine point correspondence information from multiple points over multiple frames to solve for scene structure and camera motion (structure from motion) Approach: numerically stable approach based on using SVD to “factor” matrix of observed point positions. Historical significance: until that time, most SFM work dealt with minimal configurations, and noise-free data. Factorization was one of the first “practical SFM algorithms” CSE486, Penn State Robert Collins Recall : World to Camera Transform P C = R ( P W - C ) 1 0 0 0 1 0 0 1 0 0 z y x c c c 0 0 1 1 0 0 0 r 13 r 12 r 11 r 23 r 22 r 21 r 33 r 32 r 31 P C = M ext P W . 1 P z P y P x W W W 1 P z P y P x C C C

CSE486, Penn State Structure from Motionrtc12/CSE486/lecture25_6pp.pdf · 2007. 12. 18. · 1 CSE486, Penn State Robert Collins Lecture 25: Structure from Motion CSE486, Penn State

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    CSE486, Penn StateRobert Collins

    Lecture 25:

    Structure from Motion

    CSE486, Penn StateRobert Collins

    Structure from Motion

    Given a set of flow fields or displacement vectors from a moving camera over time, determine:

    • the sequence of camera poses• the 3D structure of the scene

    Scene structure

    Sequence of camera poses

    CSE486, Penn StateRobert Collins

    SFM “Killer App”

    Track a set of feature points through a movie sequence

    Deduce where the cameras are and the 3D locations of the points that were tracked

    Render synthetic objects with respect to thededuced 3D geometry of the scene / cameras

    Match Move

    CSE486, Penn StateRobert Collins

    Match Move Examples

    “Harts’ War” and “Graham Kimpton” examples from www.realviz.comMatchMover Professional gallery. Copyrighted.

    CSE486, Penn StateRobert Collins

    Factorization

    Tomasi and Kanade, “Shape and Motion from ImageStreams under Orthography,” International Journal of Computer Vision (IJCV), Vol 9, pp.137-154, 1992.

    Goal: combine point correspondence information frommultiple points over multiple frames to solve for scenestructure and camera motion (structure from motion)

    Approach: numerically stable approach based on usingSVD to “factor” matrix of observed point positions.

    Historical significance: until that time, most SFM workdealt with minimal configurations, and noise-free data.Factorization was one of the first “practical SFM algorithms”

    CSE486, Penn StateRobert Collins

    Recall : World to Camera Transform

    PC = R ( PW - C )

    1000

    10

    01

    00

    z

    y

    x

    c

    c

    c

    0

    0

    1

    1000

    r13r12r11

    r23r22r21r33r32r31

    PC = Mext PW.

    1

    Pz

    Py

    PxW

    W

    W

    1

    Pz

    Py

    PxC

    C

    C

  • 2

    CSE486, Penn StateRobert Collins

    Perspective Projection

    XX

    YY

    ZZ

    ff

    OO

    PP

    ppxx

    yy

    Z

    Yfy

    Z

    Xfx

    ••NonNon--linear equationslinear equations••Any point on the ray OP has image p !!Any point on the ray OP has image p !!

    CSE486, Penn StateRobert Collins

    Perspective Projection

    O.Camps, PSU

    ZXfx

    ZYfy

    Perspective Projection : parallel lines appear to meetPerspective Projection : parallel lines appear to meetat a vanishing point; farther objects seem smaller at a vanishing point; farther objects seem smaller

    CSE486, Penn StateRobert Collins

    Simplification: Weak Perspective

    Weak perspective = Parallel projection (parallel Weak perspective = Parallel projection (parallel lines remain parallel) + Scaling to simulate change lines remain parallel) + Scaling to simulate change in size due to object distance.in size due to object distance.

    oZX

    fx

    oZY

    fy

    CSE486, Penn StateRobert Collins

    Simpler: Orthographic Projection

    Pure parallel projection. Highly simplified casePure parallel projection. Highly simplified casewhere we even ignore the scaling due to distance.where we even ignore the scaling due to distance.

    Xx

    Yy

    CSE486, Penn StateRobert Collins

    Perspective Matrix Equation(Camera Coordinates)

    Z

    Yfy

    Z

    Xfx

    Using homogeneous coordinates:Using homogeneous coordinates:

    '

    '

    '

    '

    z

    yy

    z

    xx

    10

    0

    0

    1

    0

    0

    0

    0

    0

    0

    '

    '

    '

    Z

    Y

    X

    f

    f

    z

    y

    x

    CSE486, Penn StateRobert Collins

    Weak Perspective Approximation

    Using homogeneous coordinates:Using homogeneous coordinates:

    '

    '

    '

    '

    z

    yy

    z

    xx

    10

    0

    0

    1

    0

    0

    0

    0

    0

    0

    '

    '

    '

    Z

    Y

    X

    f

    f

    z

    y

    xoZ

    Xf

    x

    oZY

    fy Z00

    Z0

    Z0

  • 3

    CSE486, Penn StateRobert Collins

    Let’s Consider Orthographic

    Using homogeneous coordinates:Using homogeneous coordinates:

    '

    '

    '

    '

    z

    yy

    z

    xx

    10

    0

    0

    1

    0

    0

    0

    0

    0

    0

    '

    '

    '

    Z

    Y

    X

    f

    f

    z

    y

    xXx

    Yy Z001

    1

    CSE486, Penn StateRobert Collins

    Combine with External Params

    0

    001

    00

    0

    1

    1000

    r13r12r11

    r23r22r21r33r32r31

    1

    Pz

    Py

    PxW

    W

    W

    1000

    10

    01

    00

    z

    y

    x

    c

    c

    c

    0

    0

    1

    y

    x

    r13r12r11

    r23r22r21

    1

    Pz

    Py

    PxW

    W

    W

    1000

    10

    01

    00

    z

    y

    x

    c

    c

    c

    0

    0

    1

    y

    x

    CSE486, Penn StateRobert Collins

    Combine with External Params

    r13r12r11

    r23r22r21

    1

    Pz

    Py

    PxW

    W

    W

    1000

    10

    01

    00

    z

    y

    x

    c

    c

    c

    0

    0

    1

    y

    x

    r13r12r11r23r22r21

    Pz

    Py

    PxW

    W

    W

    z

    y

    x

    c

    c

    cy

    x

    CSE486, Penn StateRobert Collins

    Orthographic: Algebraic Equation

    r13r12r11r23r22r21

    Pz

    Py

    PxW

    W

    W

    z

    y

    x

    c

    c

    cy

    xiT

    jT

    TP

    x = iT ( P - T )

    y = jT ( P - T )

    CSE486, Penn StateRobert Collins

    Multiple Points, Multiple Frames

    x = iT ( P - T )

    y = jT ( P - T )P1 P2 … Pj … PN

    N points

    i1 i2 … ii … iFj1 j2 … ji … jF

    T1 T2 …Ti …TFF f

    ram

    es xij = iiT ( Pj - Ti )

    yij = jiT ( Pj - Ti )

    Eq 8.31-8.32T&V book

    Notation (attack of the killer subscripts)

    CSE486, Penn StateRobert Collins

    Factorization Approach

    xij = iiT ( Pj - Ti )

    yij = jiT ( Pj - Ti )

    Note that absolute position of the set of points is something that cannot be uniquely recovered, so…

    First Trick: set the origin of the world coordinatesystem to be the center of pass of the N points!

    N

    N

    P1 P2 … Pj … PN

    N points

    (We want to recover these)

  • 4

    CSE486, Penn StateRobert Collins

    Factorization Approach

    xij = iiT ( Pj - Ti )

    yij = jiT ( Pj - Ti ) N

    N

    Centroid at 0:

    Note: this is the center of mass of x coordinates in frame t

    Implication:N N N

    N N Nit

    CSE486, Penn StateRobert Collins

    Factorization Approach

    Second Trick: subtract off the center of mass of the2D points in each frame. (Centering)

    xij = iiT ( Pj - Ti )

    yij = jiT ( Pj - Ti )

    CSE486, Penn StateRobert Collins

    Factorization Approach

    xij = iiT ( Pj - Ti )

    yij = jiT ( Pj - Ti )

    What have we accomplished so far?

    2) More importantly, we can now write everything As a big matrix equation…

    1) Removed unknown camera locations from equations.

    centering

    CSE486, Penn StateRobert Collins

    Factorization Approach

    Form a matrix of centeredimage points.

    x11 x12 x13 … x1N~ ~ ~ ~

    xF1 xF2 xF3 … xFN~ ~ ~ ~

    y11 y12 y13 … y1N~ ~ ~ ~

    yF1 yF2 yF3 … yFN~ ~ ~ ~

    2FxN

    All N pointsin one frame

    CSE486, Penn StateRobert Collins

    Factorization Approach

    Form a matrix of centeredimage points.

    x11 x12 x13 … x1N~ ~ ~ ~

    xF1 xF2 xF3 … xFN~ ~ ~ ~

    y11 y12 y13 … y1N~ ~ ~ ~

    yF1 yF2 yF3 … yFN~ ~ ~ ~

    Tracking onepoint throughall F frames

    2FxN

    CSE486, Penn StateRobert Collins

    Factorization Approach

    matrix of centered image points:

    x11 x12 x13 … x1N~ ~ ~ ~

    xF1 xF2 xF3 … xFN~ ~ ~ ~

    y11 y12 y13 … y1N~ ~ ~ ~

    yF1 yF2 yF3 … yFN~ ~ ~ ~

    2FxN

    =

    2Fx3

    i1T

    iFT

    j1T

    jFT

    P1 P2 PN

    3xN

    it

    it

    it

    it

  • 5

    CSE486, Penn StateRobert Collins

    Factorization Approach

    W = M SCentered

    measurement matrix

    2F x N 2F x 3 3 x N

    “Motion”(camera rotation)

    Structure(3D scene

    points)

    CSE486, Penn StateRobert Collins

    Factorization Approach

    W = M S2F x N 2F x 3 3 x N

    Rank Theorem:

    The 2FxN centered observation matrix has at most rank 3.

    Proof:Trivial, using the properties:• rank of mxn matrix is at most min(m,n)• rank of A*B is at most min(rank(A),rank(B))

    CSE486, Penn StateRobert Collins

    Rank of a Matrix

    What is rank of a matrix, anyways?

    Number of columns (rows) that are linearly independent.

    If matrix A is treated as a linear map, it is the intrinsicdimension of the space that is mapped into.

    N-dimensionalspace

    M-dimensionalspace A

    MxN matrix

    This matrix would have rank 1

    CSE486, Penn StateRobert Collins

    Factorization Rank Theorem

    Importance of rank theorem:

    •Shows that video data is highly redundant

    •Precisely quantifies the redundancy

    •Suggests an algorithm for solving SFM

    CSE486, Penn StateRobert Collins

    Factorization Approach

    Form SVD of measurement matrix W

    W = U D VT2FxN 2Fx2F 2FxN NxN

    Diagonal matrix with eigenvaluessorted in decreasing order:

    d11 >= d22 >= d33 >= …

    CSE486, Penn StateRobert Collins

    Factorization Approach

    Form SVD of measurement matrix W

    W = U D VT2FxN 2Fx2F 2FxN NxN

    Another useful rank property:

    Rank of a matrix is equal to the number ofnonzero eigenvalues.

    d11, d22, d33 are only nonzero eigenvalues (the rest are 0).

  • 6

    CSE486, Penn StateRobert Collins

    Factorization Approach

    = * *

    2FxN 2Fx2F 2FxN NxN

    Eigenvalues indecreasing order

    CSE486, Penn StateRobert Collins

    Factorization Approach

    = * *

    2FxN 2Fx2F 2FxN NxN

    Rank theorem says:

    These 3 are nonzero

    These should be zero

    In practice, due to noise, there may be more than3 nonzero eigenvalues, but rank theorem tells usto ignore all but the largest three.

    CSE486, Penn StateRobert Collins

    Factorization Approach

    = * *

    2FxN 2Fx2F 2FxN NxN

    3x32Fx3 3xN

    W = U’ D’ V’T

    CSE486, Penn StateRobert Collins

    Factorization Approach

    W = U’ D’ V’T

    W = U’ D’1/2 D’1/2 V’T2FxN 2Fx3 3xN

    Observed image points

    SVD

    W = M SCameramotion

    Scenestructure

    CSE486, Penn StateRobert Collins

    Annoying Details

    W = (U’ D’1/2 )(D’1/2 V’T)2FxN 2Fx3 3xN

    W = M SProblems:

    1) This is not a unique decomposition.

    eg: (M Q) (Q-1 S) = M Q Q-1 S = M S

    2) iT, jT pairs (rows of M) are not necessarily orthogonal

    CSE486, Penn StateRobert Collins

    Solving the Annoying Details

    Solve for Q such that appropriate rows of M satisfy

    Solution to both problems:

    unit vectors

    orthogonal

    But these are nonlinear equationslinearize and iterate(see Exercise 8.8 in book for Newton’s method)(alternative approach is to use Cholesky decomposition – outside our scope)

    3N equations in 9 unknowns

  • 7

    CSE486, Penn StateRobert Collins

    Factorization SummaryAssumptions

    - orthographic camera - N non-coplanar points tracking in F>=3 frames

    Rank theorem: The centered measurement matrix has a rank of at most 3

    Form the centered measurement matrix W=[X ; Y]- where xij = xij – mxj- where yij = yij – myj- mxj and myj are mean of points in frame i- j ranges over set of points

    ~

    ~

    ~ ~

    CSE486, Penn StateRobert Collins

    Factorization Algorithm

    1) Form the centered measurement matrix W from N points tracked over F frames.

    2) Compute SVD of W = U D VT

    - U is 2Fx2F- D is 2FxN- VT is NxN

    3) Take largest 3 eigenvalues, and form - D’ = 3x3 diagonal matrix of largest eigenvalues- U’ = 2Fx3 matrix of corresponding column vectors from U- V’T = 3xN matrix of corresponding row vectors from VT

    4) DefineM = U’ D’1/2 and S = D’1/2 V’T

    5) Solve for Q that makes appropriate rows of M orthogonal6) Final solution is

    M* = M Q and S* = Q-1 S

    CSE486, Penn StateRobert Collins

    Sample Results

    QuickTime™ and aCinepak decompressor

    are needed to see this picture.

    CSE486, Penn StateRobert Collins

    Sample Results

    QuickTime™ and aCinepak decompressor

    are needed to see this picture.