Lei Li Computer Science Department Carnegie Mellon University Given a sequence of motion capture data, to estimate the velocity and acceleration of each joint at every time stamp Scenario: observation with noise Application: Computer vision: object tracking Control: estimate missile trajectory Motion capture data: Other time series: economics data Developed by Rudolf Kalman in 1961 Also called linear dynamic system Could be easily interpreted using probabilistic graphical model Similar to Hidden Markov Model A bit probability, esp. Gaussian Distribution A bit linear algebra and matrix computation A bit about Expectation Maximization N(u0, V0) N(A∙z1, Γ) z1 N(C∙z1, Σ) x1 z2 N(C∙z2, Σ) x2 zn N(A∙zn, Γ) zn+1 N(C∙zn, Σ) xn xn+1 xn : observed position(e.g. x coordinate of left hand), one dimensional zn : hidden variable(e.g. actual pos, velocity, acceleration), three dimensional N(u0, V0) N(A∙z1, Γ) z1 N(C∙z1, Σ) x1 z2 N(C∙z2, Σ) x2 zn N(A∙zn, Γ) zn+1 N(C∙zn, Σ) xn xn+1 A : transition matrix Γ: transition variance, noises among transition N(u0, V0) N(A∙z1, Γ) z1 N(C∙z1, Σ) x1 z2 N(C∙z2, Σ) x2 zn N(A∙zn, Γ) zn+1 N(C∙zn, Σ) xn xn+1 C : transmission matrix Σ: transmission variance, observation noises z n ( p n , vn , a n ) T pn 1 1 1 1 / 2 pn vn 1 1 1 vn n a 1 an n 1 pn xn 1 0 0 vn n a n Given the parameters and the observation, estimate the posterior P(zi|x1, … xN;u0,V0,A, Γ,C,Σ ) Solution: forward-backward algorithm(sum-product) The posterior given the sequence up to current observation Define: alpha(zn) = P(zn|x1, … xn) = assume N(un, Vn) N(u0, V0) N(A∙z1, Γ) z1 N(C∙z1, Σ) x1 z2 N(C∙z2, Σ) x2 zn N(A∙zn, Γ) zn+1 N(C∙zn, Σ) xn xn+1 Define: cn+1 = P(xn+1|x1, … xn) N(u0, V0) N(A∙z1, Γ) z1 N(C∙z1, Σ) x1 z2 N(C∙z2, Σ) x2 zn N(A∙zn, Γ) zn+1 N(C∙zn, Σ) xn xn+1 Cn ∙ alpha(zn) = P(xn,zn|x1, … xn-1 ) = P(xn|zn) ∫ alpha(zn-1) ∙P(zn|zn-1) dzn-1 = N(C∙zn,Σ) ∫alpha(zn-1)∙N(A∙zn-1,Γ) dzn-1 N(un, Vn) N(un, Vn) Could get the close solution for the forward recursion: There is a similar backward recursion: The posterior given the whole observation sequence Gamma(zn) = P(zn|x1, … xN) = ∫P(zn+1|x1, … xN) ∙ P(zn|zn+1 , x1, … xn) dzn+1 =∫ Gamma(zn+1) ∙ P(zn|zn+1 , x1, … xn) dzn+1 N(wn, Wn) N(wn+1, Wn+1) Given the observation, estimate the most likely parameters Maximize Expected Log-likehood J = E[ log P(z1, … zN , x1, … xN|u0,V0,A, Γ,C,Σ )] J is a convex function, could get close solution Problem: Given two motion-capture sequences that are to be stitched together, how can we assess the goodness of the stitching? Idea: Naive solution: Euclidean distance Dynamics based: compute the effort by approximating the work of making the intended transition Review the Kalman filter Review the forward-backward algorithm Application to motion capture data Thank you
© Copyright 2026 Paperzz