learning target dynamics while tracking using gaussian...
TRANSCRIPT
Learning Target Dynamics WhileTracking Using Gaussian ProcessesClas Veibäck
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
Gaussian Process Motion Model Clas Veibäck November 7, 2018 3
Introduction
• General-purpose motion models in tracking
• What if other behaviours or influences are visible?
Like
• Preferred paths in open terrain or indoors• Obstacles that are avoided or common
destinations• Velocity or acceleration profiles in racing events• Wind affecting flying vehicles• Currents in the water affecting animals and ships
• Approximate initial model
Gaussian Process Motion Model Clas Veibäck November 7, 2018 3
Introduction
• General-purpose motion models in tracking
• What if other behaviours or influences are visible?
Like
• Preferred paths in open terrain or indoors• Obstacles that are avoided or common
destinations• Velocity or acceleration profiles in racing events• Wind affecting flying vehicles• Currents in the water affecting animals and ships
• Approximate initial model
Gaussian Process Motion Model Clas Veibäck November 7, 2018 3
Introduction
• General-purpose motion models in tracking
• What if other behaviours or influences are visible?Like
• Preferred paths in open terrain or indoors
• Obstacles that are avoided or commondestinations
• Velocity or acceleration profiles in racing events• Wind affecting flying vehicles• Currents in the water affecting animals and ships
• Approximate initial model
Gaussian Process Motion Model Clas Veibäck November 7, 2018 3
Introduction
• General-purpose motion models in tracking
• What if other behaviours or influences are visible?Like
• Preferred paths in open terrain or indoors• Obstacles that are avoided or common
destinations
• Velocity or acceleration profiles in racing events• Wind affecting flying vehicles• Currents in the water affecting animals and ships
• Approximate initial model
Gaussian Process Motion Model Clas Veibäck November 7, 2018 3
Introduction
• General-purpose motion models in tracking
• What if other behaviours or influences are visible?Like
• Preferred paths in open terrain or indoors• Obstacles that are avoided or common
destinations• Velocity or acceleration profiles in racing events
• Wind affecting flying vehicles• Currents in the water affecting animals and ships
• Approximate initial model
Gaussian Process Motion Model Clas Veibäck November 7, 2018 3
Introduction
• General-purpose motion models in tracking
• What if other behaviours or influences are visible?Like
• Preferred paths in open terrain or indoors• Obstacles that are avoided or common
destinations• Velocity or acceleration profiles in racing events• Wind affecting flying vehicles
• Currents in the water affecting animals and ships
• Approximate initial model
Gaussian Process Motion Model Clas Veibäck November 7, 2018 3
Introduction
• General-purpose motion models in tracking
• What if other behaviours or influences are visible?Like
• Preferred paths in open terrain or indoors• Obstacles that are avoided or common
destinations• Velocity or acceleration profiles in racing events• Wind affecting flying vehicles• Currents in the water affecting animals and ships
• Approximate initial model
Gaussian Process Motion Model Clas Veibäck November 7, 2018 3
Introduction
• General-purpose motion models in tracking
• What if other behaviours or influences are visible?Like
• Preferred paths in open terrain or indoors• Obstacles that are avoided or common
destinations• Velocity or acceleration profiles in racing events• Wind affecting flying vehicles• Currents in the water affecting animals and ships
• Approximate initial model
Gaussian Process Motion Model Clas Veibäck November 7, 2018 4
Introduction
• Joint state estimation and learning of influences
• Model influences as sparse Gaussian processes
• Online learning using sequential algorithm
• Approximations to achieve tractable solution
• Shared influences between multiple targets
• Time-varying influences
Gaussian Process Motion Model Clas Veibäck November 7, 2018 4
Introduction
• Joint state estimation and learning of influences
• Model influences as sparse Gaussian processes
• Online learning using sequential algorithm
• Approximations to achieve tractable solution
• Shared influences between multiple targets
• Time-varying influences
Gaussian Process Motion Model Clas Veibäck November 7, 2018 4
Introduction
• Joint state estimation and learning of influences
• Model influences as sparse Gaussian processes
• Online learning using sequential algorithm
• Approximations to achieve tractable solution
• Shared influences between multiple targets
• Time-varying influences
Gaussian Process Motion Model Clas Veibäck November 7, 2018 4
Introduction
• Joint state estimation and learning of influences
• Model influences as sparse Gaussian processes
• Online learning using sequential algorithm
• Approximations to achieve tractable solution
• Shared influences between multiple targets
• Time-varying influences
Gaussian Process Motion Model Clas Veibäck November 7, 2018 4
Introduction
• Joint state estimation and learning of influences
• Model influences as sparse Gaussian processes
• Online learning using sequential algorithm
• Approximations to achieve tractable solution
• Shared influences between multiple targets
• Time-varying influences
Gaussian Process Motion Model Clas Veibäck November 7, 2018 4
Introduction
• Joint state estimation and learning of influences
• Model influences as sparse Gaussian processes
• Online learning using sequential algorithm
• Approximations to achieve tractable solution
• Shared influences between multiple targets
• Time-varying influences
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
Gaussian Process Motion Model Clas Veibäck November 7, 2018 6
Dynamic System with an Unknown Influence
x0 ∼ N (x0, P0),
yk = Ckxk + ek, k = 1, . . . ,K
xk = Akxk−1 +Bkfk−1 + vk, k = 1, . . . ,K
fk =(f1(zfk), . . . , f
J(zfk))T
f j(z) ∼ GP(0, K(z, z′)), j = 1, . . . , J
The noise is given by
vk ∼ N (0, Qk) and ek ∼ N (0, Rk).
Gaussian Process Motion Model Clas Veibäck November 7, 2018 6
Dynamic System with an Unknown Influence
x0 ∼ N (x0, P0),
yk = Ckxk + ek, k = 1, . . . ,K
xk = Akxk−1 +Bkfk−1 + vk, k = 1, . . . ,K
fk =(f1(zfk), . . . , f
J(zfk))T
f j(z) ∼ GP(0, K(z, z′)), j = 1, . . . , J
The noise is given by
vk ∼ N (0, Qk) and ek ∼ N (0, Rk).
Gaussian Process Motion Model Clas Veibäck November 7, 2018 6
Dynamic System with an Unknown Influence
x0 ∼ N (x0, P0),
yk = Ckxk + ek, k = 1, . . . ,K
xk = Akxk−1 +Bkfk−1 + vk, k = 1, . . . ,K
fk =(f1(zfk), . . . , f
J(zfk))T
f j(z) ∼ GP(0, K(z, z′)), j = 1, . . . , J
The noise is given by
vk ∼ N (0, Qk) and ek ∼ N (0, Rk).
Gaussian Process Motion Model Clas Veibäck November 7, 2018 6
Dynamic System with an Unknown Influence
x0 ∼ N (x0, P0),
yk = Ckxk + ek, k = 1, . . . ,K
xk = Akxk−1 +Bkfk−1 + vk, k = 1, . . . ,K
fk =(f1(zfk), . . . , f
J(zfk))T
f j(z) ∼ GP(0, K(z, z′)), j = 1, . . . , J
The noise is given by
vk ∼ N (0, Qk) and ek ∼ N (0, Rk).
Gaussian Process Motion Model Clas Veibäck November 7, 2018 6
Dynamic System with an Unknown Influence
x0 ∼ N (x0, P0),
yk = Ckxk + ek, k = 1, . . . ,K
xk = Akxk−1 +Bkfk−1 + vk, k = 1, . . . ,K
fk =(f1(zfk), . . . , f
J(zfk))T
f j(z) ∼ GP(0, K(z, z′)), j = 1, . . . , J
The noise is given by
vk ∼ N (0, Qk) and ek ∼ N (0, Rk).
Gaussian Process Motion Model Clas Veibäck November 7, 2018 6
Dynamic System with an Unknown Influence
x0 ∼ N (x0, P0),
yk = Ckxk + ek, k = 1, . . . ,K
xk = Akxk−1 +Bkfk−1 + vk, k = 1, . . . ,K
fk =(f1(zfk), . . . , f
J(zfk))T
f j(z) ∼ GP(0, K(z, z′)), j = 1, . . . , J
The noise is given by
vk ∼ N (0, Qk) and ek ∼ N (0, Rk).
Gaussian Process Motion Model Clas Veibäck November 7, 2018 6
Dynamic System with an Unknown Influence
x0 ∼ N (x0, P0),
yk = Ckxk + ek, k = 1, . . . ,K
xk = Akxk−1 +Bkfk−1 + vk, k = 1, . . . ,K
fk =(f1(zfk), . . . , f
J(zfk))T
F∼ N (0, Kff), F = (fT1 , . . . , fTK)T
The noise is given by
vk ∼ N (0, Qk) and ek ∼ N (0, Rk).
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
Gaussian Process Motion Model Clas Veibäck November 7, 2018 8
Fully Independent Conditional
Inducing points zul , for l = 1, . . . , L with values
ul = (f1(zul ), . . . , fJ(zul ))
T represented by
U = (uT1 , . . . ,u
TL)
T .
whereQab = KauK−1uuKub andΛ = diag(Kff −Qff ).
UsingW = (wT1 , . . . ,w
TL)
T = K−1uuU .
Gaussian Process Motion Model Clas Veibäck November 7, 2018 8
Fully Independent Conditional
Inducing points zul , for l = 1, . . . , L with values
ul = (f1(zul ), . . . , fJ(zul ))
T represented by
U = (uT1 , . . . ,u
TL)
T .
Original GP is(FU
)∼ N
(0,
(Kff Kfu
Kuf Kuu
)⊗ IJ
),
whereQab = KauK−1uuKub andΛ = diag(Kff −Qff ).
UsingW = (wT1 , . . . ,w
TL)
T = K−1uuU .
Gaussian Process Motion Model Clas Veibäck November 7, 2018 8
Fully Independent Conditional
Inducing points zul , for l = 1, . . . , L with values
ul = (f1(zul ), . . . , fJ(zul ))
T represented by
U = (uT1 , . . . ,u
TL)
T .
Fully independent conditional ( ) approximation is(FU
)∼ N
(0,
(Qff +Λ Kfu
Kuf Kuu
)⊗ IJ
),
whereQab = KauK−1uuKub andΛ = diag(Kff −Qff ).
UsingW = (wT1 , . . . ,w
TL)
T = K−1uuU .
Gaussian Process Motion Model Clas Veibäck November 7, 2018 8
Fully Independent Conditional
Inducing points zul , for l = 1, . . . , L with values
ul = (f1(zul ), . . . , fJ(zul ))
T represented by
U = (uT1 , . . . ,u
TL)
T .
Fully independent conditional ( ) approximation is(FW
)∼ N
(0,
(Qff +Λ KfuK
−1uu
K−1uuKuf K−1
uu
)⊗ IJ
),
whereQab = KauK−1uuKub andΛ = diag(Kff −Qff ).
UsingW = (wT1 , . . . ,w
TL)
T = K−1uuU .
Gaussian Process Motion Model Clas Veibäck November 7, 2018 9
Approximation of the Influence Function
Original GP model is
xk = Akxk−1 +Bkfk−1 + vk,
F ∼ N (0, Kff),
where vfk ∼ N (0, Λk) and Λk = [Λ]kk.
Using W0 = K−1uu U0 as the prior.
Gaussian Process Motion Model Clas Veibäck November 7, 2018 9
Approximation of the Influence Function
Sparse GP approximation gives
xk = Akxk−1 +Bkfk−1 + vk,(FW
)∼ N
(0,
(Qff +Λ KfuK
−1uu
K−1uuKuf K−1
uu
)⊗ IJ
)
where vfk ∼ N (0, Λk) and Λk = [Λ]kk.
Using W0 = K−1uu U0 as the prior.
Gaussian Process Motion Model Clas Veibäck November 7, 2018 9
Approximation of the Influence Function
Marginalizing out F results in
xk = Akxk−1 +Bk(Kk−1fu W + vf
k) + vk,
W∼ N (0, K−1uu ),
where vfk ∼ N (0, Λk) and Λk = [Λ]kk.
Using W0 = K−1uu U0 as the prior.
Gaussian Process Motion Model Clas Veibäck November 7, 2018 9
Approximation of the Influence Function
Adding a prior to the GP gives
xk = Akxk−1 +Bk(Kk−1fu W + vf
k) + vk,
W ∼ N (W0, K−1uu ),
where vfk ∼ N (0, Λk) and Λk = [Λ]kk.
Using W0 = K−1uu U0 as the prior.
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
Gaussian Process Motion Model Clas Veibäck November 7, 2018 11
Time-Varying Influence
Original GP model is
xk = Akxk−1 +Bk(Kk−1fu W + vf
k) + vk,
W∼ N (W0, K−1uu ),
Wk= GkWk−1 + vwk
where vwk ∼ N (µk,Σk) and
G = e−αT I,
µk = (1− e−αT )W0,
Σk = (1− e−2αT )K−1uu .
Gaussian Process Motion Model Clas Veibäck November 7, 2018 11
Time-Varying Influence
Time-varying influence is given by adding dynamics to
the function
xk = Akxk−1 +Bk(Kk−1fu Wk−1 + vf
k) + vk,
W0∼ N (W0, K−1uu ),
Wk= GkWk−1 + vwk
where vwk ∼ N (µk,Σk) and
G = e−αT I,
µk = (1− e−αT )W0,
Σk = (1− e−2αT )K−1uu .
Gaussian Process Motion Model Clas Veibäck November 7, 2018 11
Time-Varying Influence
xk = Akxk−1 +Bk(Kk−1fu Wk−1 + vf
k) + vk,
W0∼ N (W0, K−1uu ),
Wk= GkWk−1 + vwk
where vwk ∼ N (µk,Σk)
and
G = e−αT I,
µk = (1− e−αT )W0,
Σk = (1− e−2αT )K−1uu .
Gaussian Process Motion Model Clas Veibäck November 7, 2018 11
Time-Varying Influence
xk = Akxk−1 +Bk(Kk−1fu Wk−1 + vf
k) + vk,
W0∼ N (W0, K−1uu ),
Wk= GkWk−1 + vwk
where vwk ∼ N (µk,Σk) and
G = e−αT I,
µk = (1− e−αT )W0,
Σk = (1− e−2αT )K−1uu .
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
Gaussian Process Motion Model Clas Veibäck November 7, 2018 13
Multiple Systems with Shared Influence
Original GP model is
x0 ∼ N (x0, P0),
yk = Ckxk + ek,
xk = Akxk−1 +Bk(Kk−1fu Wk−1 + vf
k) + vk,
W0 ∼ N (W0, K−1uu ),
Wk = GkWk−1 + vwk
Gaussian Process Motion Model Clas Veibäck November 7, 2018 13
Multiple Systems with Shared Influence
Multiple systems are modelled by the extension
xi0 ∼ N (x0, P0),
yik = Ckx
ik + eik,
xik = Akx
ik−1 +Bk(K
k−1iu Wk−1 + vif
k ) + vik,
W0 ∼ N (W0, K−1uu ),
Wk = GkWk−1 + vwk
Gaussian Process Motion Model Clas Veibäck November 7, 2018 13
Multiple Systems with Shared Influence
Multiple systems are modelled by the extension
xi0 ∼ N (x0, P0),
yik = Ckx
ik + eik,
xik = Akx
ik−1 +Bk(K
k−1iu Wk−1 + vif
k ) + vik,
W0 ∼ N (W0, K−1uu ),
Wk = GkWk−1 + vwk
where zik is the input for process i = 1, . . . , I.
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
Gaussian Process Motion Model Clas Veibäck November 7, 2018 15
State-Dependent Influence
Original GP model is
xi0 ∼ N (x0, P0),
yik = Ckx
ik + eik,
xik = Akx
ik−1 +Bk
(Kk−1
iu Wk−1+
vifk
)+ vi
k,
W0 ∼ N (W0, K−1uu ),
Wk = GkWk−1 + vwk
where zik = Dkxik−1.
Gaussian Process Motion Model Clas Veibäck November 7, 2018 15
State-Dependent Influence
State dependence is modelled by the extension
xi0 ∼ N (x0, P0),
yik = Ckx
ik + eik,
xik = Akx
ik−1 +Bk
(K·u(Dkx
ik−1)Wk−1+
vifk (Dkx
ik−1)
)+ vi
k,
W0 ∼ N (W0, K−1uu ),
Wk = GkWk−1 + vwk
where zik = Dkxik−1.
Gaussian Process Motion Model Clas Veibäck November 7, 2018 15
State-Dependent Influence
Resulting in the Gaussian process motion
model(GPMM)
xi0 ∼ N (x0, P0),
yik = Ckx
ik + eik,
xik = Akx
ik−1 +Bk
(K·u(Dkx
ik−1)Wk−1+
vifk (Dkx
ik−1)
)+ vi
k,
W0 ∼ N (W0, K−1uu ),
Wk = GkWk−1 + vwk
where zik = Dkxik−1.
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
Gaussian Process Motion Model Clas Veibäck November 7, 2018 17
Extended Kalman Filter
• Non-linear dependence on state in kernel
• Almost linear-Gaussian
• Extended Kalman filter(EKF)
• Noisy input compensated for implicitly by filter
• Enormous state space so approximations are
needed
Gaussian Process Motion Model Clas Veibäck November 7, 2018 17
Extended Kalman Filter
• Non-linear dependence on state in kernel
• Almost linear-Gaussian
• Extended Kalman filter(EKF)
• Noisy input compensated for implicitly by filter
• Enormous state space so approximations are
needed
Gaussian Process Motion Model Clas Veibäck November 7, 2018 17
Extended Kalman Filter
• Non-linear dependence on state in kernel
• Almost linear-Gaussian
• Extended Kalman filter(EKF)
• Noisy input compensated for implicitly by filter
• Enormous state space so approximations are
needed
Gaussian Process Motion Model Clas Veibäck November 7, 2018 17
Extended Kalman Filter
• Non-linear dependence on state in kernel
• Almost linear-Gaussian
• Extended Kalman filter(EKF)
• Noisy input compensated for implicitly by filter
• Enormous state space so approximations are
needed
Gaussian Process Motion Model Clas Veibäck November 7, 2018 17
Extended Kalman Filter
• Non-linear dependence on state in kernel
• Almost linear-Gaussian
• Extended Kalman filter(EKF)
• Noisy input compensated for implicitly by filter
• Enormous state space so approximations are
needed
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
Gaussian Process Motion Model Clas Veibäck November 7, 2018 19
Velocity Field Simulation
0 200 400 600 800
Horizontal Position (m)
200
400
600
800
1000
1200
Vert
ical P
ositio
n (
m) • 200 targets
• 150 time steps
• Velocity given by function
• Targets are identified
• Velocity field estimated well
Gaussian Process Motion Model Clas Veibäck November 7, 2018 19
Velocity Field Simulation
0 200 400 600 800
Horizontal Position (m)
200
400
600
800
1000
1200
Vert
ical P
ositio
n (
m) • 200 targets
• 150 time steps
• Velocity given by function
• Targets are identified
• Velocity field estimated well
Gaussian Process Motion Model Clas Veibäck November 7, 2018 19
Velocity Field Simulation
0 200 400 600 800
Horizontal Position (m)
200
400
600
800
1000
1200
Vert
ical P
ositio
n (
m) • 200 targets
• 150 time steps
• Velocity given by function
• Targets are identified
• Velocity field estimated well
Gaussian Process Motion Model Clas Veibäck November 7, 2018 19
Velocity Field Simulation
0 200 400 600 800
Horizontal Position (m)
200
400
600
800
1000
1200
Vert
ical P
ositio
n (
m) • 200 targets
• 150 time steps
• Velocity given by function
• Targets are identified
• Velocity field estimated well
Gaussian Process Motion Model Clas Veibäck November 7, 2018 19
Velocity Field Simulation
0 200 400 600 800
Horizontal Position [m]
200
400
600
800
1000
1200
Vert
ical P
ositio
n [m
]
1
2
3
4
5
6
7
8
9
• 200 targets
• 150 time steps
• Velocity given by function
• Targets are identified
• Velocity field estimated well
Gaussian Process Motion Model Clas Veibäck November 7, 2018 20
Sea Ice Tracking
• Radar station detecting ice
• Measurements for long
tracks are extracted from
simple tracker
• Acceleration caused by
currents are modelled by GP
• Prediction errors are
reduced
Gaussian Process Motion Model Clas Veibäck November 7, 2018 20
Sea Ice Tracking
• Radar station detecting ice
• Measurements for long
tracks are extracted from
simple tracker
• Acceleration caused by
currents are modelled by GP
• Prediction errors are
reduced
Gaussian Process Motion Model Clas Veibäck November 7, 2018 20
Sea Ice Tracking
• Radar station detecting ice
• Measurements for long
tracks are extracted from
simple tracker
• Acceleration caused by
currents are modelled by GP
• Prediction errors are
reduced
Gaussian Process Motion Model Clas Veibäck November 7, 2018 20
Sea Ice Tracking
• Radar station detecting ice
• Measurements for long
tracks are extracted from
simple tracker
• Acceleration caused by
currents are modelled by GP
• Prediction errors are
reduced
1 Introduction2 Unknown Influence3 Approximation of Influence4 Time-Varying Influence5 Shared Influence6 State-Dependent Influence7 Estimation8 Applications9 Conclusions
Gaussian Process Motion Model Clas Veibäck November 7, 2018 22
Conclusions
Theory is presented on
• a Gaussian process motion model
• a number of variations of the model
• tractable estimation for the model
Demonstration through two applications
Gaussian Process Motion Model Clas Veibäck November 7, 2018 22
Conclusions
Theory is presented on
• a Gaussian process motion model
• a number of variations of the model
• tractable estimation for the model
Demonstration through two applications
Gaussian Process Motion Model Clas Veibäck November 7, 2018 22
Conclusions
Theory is presented on
• a Gaussian process motion model
• a number of variations of the model
• tractable estimation for the model
Demonstration through two applications
Gaussian Process Motion Model Clas Veibäck November 7, 2018 22
Conclusions
Theory is presented on
• a Gaussian process motion model
• a number of variations of the model
• tractable estimation for the model
Demonstration through two applications
Gaussian Process Motion Model Clas Veibäck November 7, 2018 23
Future Work
Possible future work is
• splitting up the input space
• analysis of the impact of approximations
• marginalized particle filter implementation
Gaussian Process Motion Model Clas Veibäck November 7, 2018 23
Future Work
Possible future work is
• splitting up the input space
• analysis of the impact of approximations
• marginalized particle filter implementation
Gaussian Process Motion Model Clas Veibäck November 7, 2018 23
Future Work
Possible future work is
• splitting up the input space
• analysis of the impact of approximations
• marginalized particle filter implementation
Thank you for listening!www.liu.se