motion2d part1 new

Upload: sreenath-reddy

Post on 13-Oct-2015

7 views

Category:

Documents


0 download

DESCRIPTION

Two-Dimensional Motion Estimation(Part I: Fundamentals & Basic Techniques)

TRANSCRIPT

  • 5/22/2018 Motion2d Part1 New

    1/50

    Two-Dimensional Motion EstimationPart I: Fundamentals & Basic Techni ues

    Yao Wang

    , ,

    http://eeweb.poly.edu/~yao

  • 5/22/2018 Motion2d Part1 New

    2/50

    Outline

    2-D motion model

    2-D motion vs. optical flow

    Optical flow equation and ambiguity in motion estimation

    General methodologies in motion estimation

    Motion representation

    Motion estimation criterion

    Optimization methods

    Gradient descent methods

    Pixel-based motion estimation

    Block-based motion estimation

    Yao Wang, 2003 2-D Motion Estimation, Part 1

  • 5/22/2018 Motion2d Part1 New

    3/50

    2-D Motion Model

    3D motion

    -

    2D motion due to rigid object motion

    Projective mapping

    Approximation of projective mapping

    Affine model

    Yao Wang, 2003 2-D Motion Estimation, Part 1 3

  • 5/22/2018 Motion2d Part1 New

    4/50

    Pinhole Camera

    Y

    Y

    X

    Z

    X

    3-D

    point

    X

    Z

    C

    x

    yF Camera

    center

    x

    x

    y

    2-DThe image of an object is reversed from its

    -

    Yao Wang, 2003 2-D Motion Estimation, Part 1 4

    Image

    plane

    image .

    when it is farther away.

  • 5/22/2018 Motion2d Part1 New

    5/50

    Pinhole Camera Model:

    XAll points in this ray will

    Y

    Y Z

    X

    ave e same mage

    x

    x

    y

    x

    y Z

    F

    YFy

    XFx

    YyXx,,

    C

    (a)

    Yao Wang, 2003 2-D Motion Estimation, Part 1 5

    Zyx torelatedinverselyare,

  • 5/22/2018 Motion2d Part1 New

    6/50

    Approximate Model:

    X

    X

    x

    y

    x

    x

    y

    ,

    )(farveryisobjectWhen the

    YyXx

    Z

    Yao Wang, 2003 2-D Motion Estimation, Part 1 6

    object.theofdistancethetocompared

  • 5/22/2018 Motion2d Part1 New

    7/50

    Rigid Object Motion

    X

    Object before

    motion

    ZC

    T

    Y

    X Object aftermotion

    '

    :centerobjecttheon wrp.translatiandRotation

    Yao Wang, 2003 2-D Motion Estimation, Part 1 7

    zyxzyx ,,,,

  • 5/22/2018 Motion2d Part1 New

    8/50

    Yao Wang, 2003 2-D Motion Estimation, Part 1 8

  • 5/22/2018 Motion2d Part1 New

    9/50

    Flexible Object Motion

    Decompose into multiple, but connected rigid sub-objects

    Global motion plus local motion in sub-objects

    Ex. Human body consists of many parts each undergo a

    rigid motion

    Yao Wang, 2003 2-D Motion Estimation, Part 1 9

  • 5/22/2018 Motion2d Part1 New

    10/50

    3-D Motion -> 2-D Motion

    YD

    2-D MV

    3-D MV

    X

    yxd

    X

    x

    C

    Yao Wang, 2003 2-D Motion Estimation, Part 1 10

  • 5/22/2018 Motion2d Part1 New

    11/50

    2-D Motion Corresponding to

    T

    T

    T

    Z

    Y

    X

    rrr

    rrr

    rrr

    Z

    Y

    X

    z

    y

    x

    '

    '

    '

    987

    654

    321

    FTZFryrxr

    FTZFryrxr

    Fx x

    )(

    )(

    '321

    ProjectionePerspectiv

    FTZFryrxr

    FTZFryrxrFy

    z

    y

    )(

    )('

    987

    654

    Projective mapping:

    ycxc

    ybxbby

    ycxc

    yaxaax

    21

    210

    21

    210

    1',

    1'

    :c)bYaX(ZplanarissurfaceobjectWhen the

    Yao Wang, 2003 2-D Motion Estimation, Part 1 11

  • 5/22/2018 Motion2d Part1 New

    12/50

    Sample Motion Field

  • 5/22/2018 Motion2d Part1 New

    13/50

    Occlusion Effect

    x

    T

    Changed regionMoving

    object

    Unchanged region

    Background

    to be covered

    Motion is undefined in occluded regions

    Framek

    Framek1

    Yao Wang, 2003 2-D Motion Estimation, Part 1 13

    ov ng

    objectBackground

  • 5/22/2018 Motion2d Part1 New

    14/50

    Typical Camera Motions

    Track rightDollybackward

    oom up

    Pan right

    Tilt up

    Track leftDolly forward

    Boom down

    Pan left

    Roll

    Yao Wang, 2003 2-D Motion Estimation, Part 1 14

  • 5/22/2018 Motion2d Part1 New

    15/50

    2-D Motion Corresponding to

    (b)(a)

    Camera zoom Camera rotation around Z-axis roll

    Yao Wang, 2003 2-D Motion Estimation, Part 1 15

  • 5/22/2018 Motion2d Part1 New

    16/50

    2-D Motion Corresponding to

    T

    T

    T

    Z

    Y

    X

    rrr

    rrr

    rrr

    Z

    Y

    X

    z

    y

    x

    '

    '

    '

    987

    654

    321

    FTZFryrxr

    FTZFryrxr

    Fx x

    )(

    )(

    '321

    ProjectionePerspectiv

    FTZFryrxr

    FTZFryrxrFy

    z

    y

    )(

    )('

    987

    654

    Projective mapping:

    ycxc

    ybxbby

    ycxc

    yaxaax

    21

    210

    21

    210

    1',

    1'

    :c)bYaX(ZplanarissurfaceobjectWhen the

    Yao Wang, 2003 2-D Motion Estimation, Part 1 16

  • 5/22/2018 Motion2d Part1 New

    17/50

    Projective Mapping

    Non-chirping models Chirping models

    (Original) (Affine) (Bilinear) (Projective) (Relative-

    projective)

    (Pseudo-

    perspective)

    (Biquadratic)

    Two features of projective mapping: Chirping: increasing perceived spatial frequency for far away objects

    Converging (Keystone): parallel lines converge in distance

    Yao Wang, 2003 2-D Motion Estimation, Part 1 17

  • 5/22/2018 Motion2d Part1 New

    18/50

    Affine and Bilinear Model

    ybxbb

    yaxaa

    yxd

    yxd

    y

    x

    210

    210

    ),(

    ),(

    Good for mapping triangles to triangles

    xybybxbb

    xyayaxaa

    yxd

    yxd

    y

    x

    3210

    3210

    ),(

    ),(

    Good for mapping blocks to quadrangles

    Yao Wang, 2003 2-D Motion Estimation, Part 1 18

  • 5/22/2018 Motion2d Part1 New

    19/50

    Motion Field Corresponding to

    -

    TranslationAffine

    a

    Bilinear Projective

    Yao Wang, 2003 2-D Motion Estimation, Part 1 19

    (c) (d)

  • 5/22/2018 Motion2d Part1 New

    20/50

    2-D Motion vs. Optical Flow

    - - ,

    projection operator Optical flow: Perceived 2-D motion based on changes in image pattern,

    also depends on illumination and object surface texture

    On the left, a sphere is rotating

    under a constant ambient

    illumination, but the observed image

    does not change.

    On the right, a point light source is

    rotating around a stationary

    sphere, causing the highlight point

    Yao Wang, 2003 2-D Motion Estimation, Part 1 20

    on e sp ere o ro a e.

  • 5/22/2018 Motion2d Part1 New

    21/50

    Optical Flow Equation

    ,

    can do it to estimate optical flow. Constant intensit assum tion -> O tical flow e uation

    ),,(),,(

    :"assumptionintensityconstant"Under

    tyxdtdydx tyx

    ),,(),,(

    :expansionsTaylor'usingBut,

    d

    yd

    yd

    xtyxdtdydx tyxtyx

    :equationflowopticalthehavewetwo,abovetheCompare

    T

    Yao Wang, 2003 2-D Motion Estimation, Part 1 21

    ttyxtyx

    yxtyx

  • 5/22/2018 Motion2d Part1 New

    22/50

    Ambi uities in Motion Estimation

    constrains the flow vectorin the gradient direction nv

    tangent direction ( ) is

    under-determined

    v tet

    nen

    tv

    brightness ( ), the

    flow is indeterminate ->

    0

    x

    Tangent line

    unreliable in regions withflat texture, more reliable

    near ed es0

    v

    vv

    n

    ttnn

    eev

    Yao Wang, 2003 2-D Motion Estimation, Part 1 22

  • 5/22/2018 Motion2d Part1 New

    23/50

    General Considerations

    Feature based (more often used in object tracking, 3Dreconstruction from 2D)

    Intensity based (based on constant intensity assumption)

    (more often used for motion compensated prediction,

    required in video coding, frame interpolation) -> Our focus Three important questions

    How to represent the motion field?

    How to search motion parameters?

    Yao Wang, 2003 2-D Motion Estimation, Part 1 23

  • 5/22/2018 Motion2d Part1 New

    24/50

    Motion Representation

    Global:

    Entire motion field isrepresented by a few

    global parameters

    Pixel-based:

    One MV at each pixel,

    with some smoothness

    constraint between

    (a) (b)

    .

    Region-based:

    Entire frame is divided

    into regions, each

    region corresponding

    Block-based:

    Entire frame is divided

    into blocks, and motion

    to an object or sub-object with consistent

    motion, represented by

    a few parameters.

    characterized by a fewparameters.

    Yao Wang, 2003 2-D Motion Estimation, Part 1 24

    (c) (d)

    Other representation: mesh-based (control grid) (to be discussed later)

  • 5/22/2018 Motion2d Part1 New

    25/50

    Notations

    Time t

    Time ttBackward motion estimation

    Anchor frame:

    Target frame:

    )(1 x

    )(2 x

    x

    d(x; t, tt)

    x

    Time tt

    Motion vector at a

    pixel in the anchor

    frame: )(xd

    xd(x; t, tt)

    Anchor frame

    Target frame

    Forward motion estimation

    Motion field:

    Mapping function:

    xaxd ),;(

    xaxdxaxw

    Yao Wang, 2003 2-D Motion Estimation, Part 1 25

  • 5/22/2018 Motion2d Part1 New

    26/50

    Motion Estimation Criterion

    MSE:2MAD;:1

    min)());(()( 12DFD

    Pp

    Ex

    p

    xaxdxa

    To satisfy the optical flow equation

    min)()();()()( 121OF

    x

    pT

    E xxaxdxa o mpose a t ona smoot ness constra nt us ng regu ar zat on

    technique (Important in pixel- and block-based representation)

    );();()(2

    aydaxdasE

    Bayesian (MAP) criterion: to maximize the a posteriori probability

    min)()(DFD

    aa

    x y

    ssDFD

    N

    EwEw

    x

    Yao Wang, 2003 2-D Motion Estimation, Part 1 26

    max),( 12 dDP

  • 5/22/2018 Motion2d Part1 New

    27/50

    Relation Amon Different Criteria

    .

    OF criterion can often yield closed-form solution asthe ob ective function is uadratic in MVs.

    When the motion is not small, can iterate the solution

    based on the OF criterion to satisfy the DFD criterion. Bayesian criterion can be reduced to the DFD

    criterion plus motion smoothness constraint

    Yao Wang, 2003 2-D Motion Estimation, Part 1 27

  • 5/22/2018 Motion2d Part1 New

    28/50

    Optimization Methods

    Typically used for the DFD criterion with p=1 (MAD) Guarantees reaching the global optimal

    Com utation re uired ma be unacce table when number ofparameters to search simultaneously is large!

    Fast search algorithms reach sub-optimal solution in shorter time

    Gradient-based search Typically used for the DFD or OF criterion with p=2 (MSE)

    the gradient can often be calculated analytically

    When used with the OF criterion, closed-form solution may be obtained

    Multi-resolution search

    Search from coarse to fine resolution, faster than exhaustive search

    Yao Wang, 2003 2-D Motion Estimation, Part 1 28

  • 5/22/2018 Motion2d Part1 New

    29/50

    Gradient Descent Method

    Iteratively update the current estimate in the direction opposite the gradientrec on.

    Not a ood initial

    A good initial

    Appropriate

    stepsize

    Stepsize

    The solution depends on the initial condition. Reaches the local minimum closestto the initial condition

    too big

    Yao Wang, 2003 2-D Motion Estimation, Part 1 29

    Choice of step side: Fixed stepsize: Stepsize must be small to avoid oscillation, requires many iterations

    Steepest gradient descent (adjust stepsize optimally)

  • 5/22/2018 Motion2d Part1 New

    30/50

    Newtons Method

    Converges faster than 1st order method (I.e. requires fewer number of iterations to

    reach convergence)

    Requires more calculation in each iteration More prone to noise (gradient calculation is subject to noise, more so with 2nd order

    than with 1st order)

    May not converge if \alpha >=1. Should choose \alpha appropriate to reach a good

    Yao Wang, 2003 2-D Motion Estimation, Part 1 30

    compromise between guaranteeing convergence and the convergence rate.

  • 5/22/2018 Motion2d Part1 New

    31/50

    Newton-Raphson Method

    -

    Approximate 2nd order gradient with product of 1st order gradients

    Applicable when the objective function is a sum of squared errors

    Onl needs to calculate 1st order radients, et conver e at a rate similar to

    Newtons method.

    Yao Wang, 2003 2-D Motion Estimation, Part 1 31

  • 5/22/2018 Motion2d Part1 New

    32/50

    Pixel-Based Motion Estimation

    -

    OF + smoothness criterion

    Multi oint nei hborhood method

    Assuming every pixel in a small block surrounding a pixel

    has the same MV

    -

    MV for a current pel is updated from those of its previous

    pels, so that the MV does not need to be coded

    eve ope or ear y genera on o v eo co er

    Yao Wang, 2003 2-D Motion Estimation, Part 1 32

  • 5/22/2018 Motion2d Part1 New

    33/50

    Multipoint Neighborhood Method

    ,

    DFD error over a neighborhood surrounding this pixel Every pixel in the neighborhood is assumed to have the same

    Minimizing function:

    2

    Optimization method:

    m n)(

    12nDFD nB

    nwxx

    xxx

    a time) Need to select appropriate search range and search step-size

    Gradient-based method

    Yao Wang, 2003 2-D Motion Estimation, Part 1 33

  • 5/22/2018 Motion2d Part1 New

    34/50

    Example: Gradient Descent

    2

    )()()( 2

    )(n

    n

    )(

    n

    B

    n

    B

    n

    n

    n

    ewE

    xdxx

    ddg

    dxxx

    xx

    )()()()(2

    2

    2

    22

    )(2

    n

    2

    n n

    T

    Bnn

    n

    ewwE

    xdxx

    xxx

    ddH

    dxdx

    xx

    )( 22

    )(

    T

    Bn

    n

    wxx

    x

    dxxx

    :methodRaphson-Newton

    )(

    )(

    n

    )(

    n

    )1(

    n

    llldgdd

    Yao Wang, 2003 2-D Motion Estimation, Part 1 34

    )()()(

    n

    )(

    n

    )(

    n

    )1(

    n

    lllldgdHdd

  • 5/22/2018 Motion2d Part1 New

    35/50

    Simplification Using OF Criterion

    1121

    )(

    121nOF

    0)()()()()(

    min)()()()()(

    n

    n

    T

    B

    n

    T

    wE

    wE

    xx

    xxxdxx

    xxdxxd

    121

    1

    11optn,

    )(n

    )()()()()()()(

    n

    BB

    T

    B

    wwxxxx

    xx

    xxxxxxxd

    The solution is good only if the actual MV is small. When this is not the

    , ,

    )()(

    )1()(n

    )1(n

    )(n2

    )1(2

    l

    n

    ll

    ll

    dd

    dxx

    Yao Wang, 2003 2-D Motion Estimation, Part 1 35

    iterationat thatfoundMVthedenote)1( lnwhere

  • 5/22/2018 Motion2d Part1 New

    36/50

    Block-Based Motion Estimation:

    ,

    search for the motion parameters for each block independently Block matching algorithm (BMA): assume translational motion, 1

    Exhaustive BMA (EBMA)

    Fast algorithms

    complex motion (affine, bilinear), to be discussed later.

    Yao Wang, 2003 2-D Motion Estimation, Part 1 36

  • 5/22/2018 Motion2d Part1 New

    37/50

    Block Matching Algorithm

    Assume all pixels in a block undergo a translation, denoted by asingle MV

    Estimate the MV for each block independently, by minimizing theDFD error over this block

    Minimizing function:

    Optimization method:

    min)()()( 12mDFD mB

    p

    mEx

    xdxd

    Exhaustive search (feasible as one only needs to search one MV ata time), using MAD criterion (p=1)

    Fast search algorithms

    Yao Wang, 2003 2-D Motion Estimation, Part 1 37

    .

  • 5/22/2018 Motion2d Part1 New

    38/50

    Exhaustive Block Matching

    Rx

    Ry

    dm

    Anchor frame

    Search region

    m

    Best match

    BmCurrent block

    Yao Wang, 2003 2-D Motion Estimation, Part 1 38

  • 5/22/2018 Motion2d Part1 New

    39/50

    Complexity of Integer-Pel EBMA

    Image size: MxM

    Block size: NxN

    Search ran e: -R R in each dimension

    Search stepsize: 1 pixel (assuming integer MV)

    Operation counts (1 operation=1 -, 1 +, 1 *):

    Each candidate position: N^2 Each block going through all candidates: (2R+1)^2 N^2

    Entire frame: (M/N)^2 (2R+1)^2 N^2=M^2 (2R+1)^2

    Independent of block size!

    Example: M=512, N=16, R=16, 30 fps Total operation count = 2.85x10^8/frame =8.55x10^9/second

    Regular structure suitable for VLSI implementation

    Yao Wang, 2003 2-D Motion Estimation, Part 1 39

    Challenging for software-only implementation

  • 5/22/2018 Motion2d Part1 New

    40/50

    Sample Matlab Script for

    -

    %f1: anchor frame; f2: target frame, fp: predicted image;

    ,

    %widthxheight: image size; N: block size, R: search range

    for i=1:N:height-N,

    for j=1:N:width-N %for every block in the anchor frame

    MAD_min=256*N*N;mvx=0;mvy=0;

    for k=-R:1:R,

    for l=-R:1:R %for every search candidate

    MAD=sum(sum(abs(f1(i:i+N-1,j:j+N-1)-f2(i+k:i+k+N-1,j+l:j+l+N-1))));

    if MAD

  • 5/22/2018 Motion2d Part1 New

    41/50

    Fractional Accuracy EBMA

    - .pixel MV, the search stepsize must be less than 1 pixel

    Half-pel EBMA: stepsize=1/2 pixel in both dimension

    Target frame only have integer pels

    Solution:

    Inter olate the tar et frame b factor of two before searchin Bilinear interpolation is typically used

    Complexity:

    4 times of integer-pel, plus additional operations for interpolation.

    Fast algorithms: Search in integer precisions first, then refine in a small search

    region in half-pel accuracy.

    Yao Wang, 2003 2-D Motion Estimation, Part 1 41

  • 5/22/2018 Motion2d Part1 New

    42/50

    Half-Pel Accuracy EBMA

    Bm:

    current

    dm

    block

    m

    matchingblock

    Yao Wang, 2003 2-D Motion Estimation, Part 1 42

  • 5/22/2018 Motion2d Part1 New

    43/50

    Bilinear Interpolation

    (x+1,y)(x,y) (2x,2y) (2x+1,2y)

    (2x,2y+1) (2x+1,2y+1)

    (x+1,y+1)(x,y+!)

    O[2x,2y]=I[x,y]O[2x+1,2y]=(I[x,y]+I[x+1,y])/2

    O[2x,2y+1]=(I[x,y]+I[x+1,y])/2

    Yao Wang, 2003 2-D Motion Estimation, Part 1 43

    x+ , y+ = x,y + x+ ,y + x,y+ + x+ ,y+

  • 5/22/2018 Motion2d Part1 New

    44/50

    chorfram

    argetfram

    at

    6

    dB)

    frame(29.

    onfield

    tedanch

    or

    Moti

    Predic

    Example: Half-pel EBMA

  • 5/22/2018 Motion2d Part1 New

    45/50

    Pros and Cons with EBMA

    predicted image

    Because the block-wise translation model is not accurate

    Motion field somewhat chaotic

    because MVs are estimated independently from block to block

    x : es - ase mo on es ma on nex ec ure

    Fix 2: Imposing smoothness constraint explicitly

    Wrong MV in the flat region

    because motion is indeterminate when spatial gradient is near zero

    Nonetheless, widely used for motion compensated prediction in

    video coding

    Yao Wang, 2003 2-D Motion Estimation, Part 1 45

    Because its simplicity and optimality in minimizing prediction error

  • 5/22/2018 Motion2d Part1 New

    46/50

    Fast Algorithms for BMA

    Reduce # of search candidates: Only search for those that are likely to produce small errors.

    ,

    Simplify the error measure (DFD) to reduce the computation

    involved for each candidate

    Three-step

    2D-log

    Many new fast algorithms have been developed since then Some suitable for software implementation, others for VLSI

    Yao Wang, 2003 2-D Motion Estimation, Part 1 46

  • 5/22/2018 Motion2d Part1 New

    47/50

    VcDemo Example

    VcDemo: Image and Video Compression Learning ToolDeveloped at Delft University of Technology

    http://www-ict.its.tudelft.nl/~inald/vcdemo/

    Use the ME tool to show the motion estimation results with different parameter choices

    Yao Wang, 2003 2-D Motion Estimation, Part 1 47

  • 5/22/2018 Motion2d Part1 New

    48/50

    Summary (I)

    3D Motion Rigid vs. non-rigid motion

    Camera model: 3D -> 2D projection Perspective projection vs. orthographic projection

    Object motion projected to 2D

    Camera motion

    Models corresponding to typical camera motion and object motion -motion

    Can be approximated by affine or bilinear functions

    Affine functions can also characterize some global camera motions

    Optical flow equation Derived from constant intensity and small motion assumption

    Ambiguity in motion estimation

    Yao Wang, 2003 2-D Motion Estimation, Part 1 48

  • 5/22/2018 Motion2d Part1 New

    49/50

    Summary (II)

    Pixel-based, block-based, region-based, global, etc.

    Estimation criterion:

    OF (constant intensity+small motion)

    Bayesian (MAP, DFD+motion smoothness)

    Search method: Exhaustive search, gradient-descent, multi-resolution (next lecture)

    Pixel-based motion estimation

    Most accurate representation, but also most costly to estimate

    Block-based motion estimation Good trade-off between accuracy and speed

    EBMA and its fast but suboptimal variant is widely used in video

    Yao Wang, 2003 2-D Motion Estimation, Part 1 49

    co ng or mot on-compensate tempora pre ct on.

  • 5/22/2018 Motion2d Part1 New

    50/50

    Homework

    Chap 5: Sec. 5.1, 5.5

    Chap 6: Sec. 6.1-6.4, Sec. 6.4.5,6.4.6 not required, Apx. A, B.

    Written assignment

    Prob. 5.3, 5.4, 5.6

    Correction:

    Prob. 5.3: Show that the projected 2-D motion of a 3-D object

    undergoing rigid motion can be described by Eq.(5.5.13) 5.4: change aX+bY+cZ=1 to Z=aX+bY+c

    Prob. 6.4,6.5,6.6

    Computer assignment (Due 2 weeks from lecture date)

    . . , .

    Note: you can download sample video frames from the course webpage.When applying your motion estimation algorithm, you should choose twoframes that have sufficient motion in between so that it is easy to observe

    Yao Wang, 2003 2-D Motion Estimation, Part 1 50

    . ,are several frames apart. For example, foreman: frame 100 and frame 103.