SlideShare a Scribd company logo
1 of 30
Kalman Filter for Object
Tracking
Kalman Filter For Object Tracking
• Kalman filter – as a linear discrete-time variant system
• Kalman Filtering Problem
• Optimal Estimation of Parameters
• Extended Kalman filter – Modeling Non-Linear Systems
• Object Tracking using Kalman filter
a) Using Linear KF model
b) Extended KF
• Mean Shift Optimal Prediction and Kalman Filter
for Object Tracking
• Object Tracking using an adaptive Kalman Filter combined
with Mean Shift
Kalman Filter - as linear discrete-time
dynamical system
•Dynamic System – State of the system is time-variant.
•System is described by “state vector” – which is
minimal set of data that is sufficient to uniquely
describe the dynamical behavior of the system.
•We keep on updating this system i.e. state of the
system or state vector based on observable data.
KF – as linear discrete -time system
System Description
• Process Equation :-
• xk+1 = F(k+1,k) * xk + wk ;
• Where F(k+1,k) is the transition matrix taking
the state xk from time k to time k+1.
• Process noise wk is assumed to be AWG with
zero mean and with covariance matrix defined
by :-
E [wn wkT] = Qk ; for n=k and zero otherwise.
• Measurement Equation :-
• yk = Hk * xk + vk ;
• Where yk is observable data at time k and Hk is
the measurment matrix.
• Process noise vk is assumed to be AWG with
zero mean and with covariance matrix defined
by :-
E [vn vkT] = Rk ; for n=k and zero otherwise.
KF – as linear discrete -time system
Measurement
KF- linear dynamical time variant
system
KF- Filtering Problem
Use the entire observed data, consisting of the vectors y1; y2…
yk, to find for each k ¸ 1 the minimum mean-square error
estimate of the state xk .
The problem is called filtering if i = k , prediction if i > k and
smoothing if 1<= i < k.
Kalman Filter – Optimal Estimates
• yk = xk + vk ;
• where xk is an unknown signal and vk is an additive noise
component. Where xk denote the a posteriori estimate of
the signal xk, given the observations y1; y2; … yk. In
general, the estimate ^xk is different from the unknown
signal xk.
• Cost function for incorrect measurements is mean square
error which is Jk = E[(xk - ^xk)2] ;
• Optimal Error Estimate :-
• ^xk = E[xk | y1, y2, …. yk] ;
KF – using observed data to improve
estimate of System Description
• Using the information contained in the new measurement yk
to update estimate of the unknown state xk.
• ^xk_ denote a prior estimate of the state which is already
available at time k.
• Posterior estimate after using the information in the observed
data
• ^xk = G(1,k) * ^xk_ + G(2,k) * yk ;
• Where G(1,k) and G(2,k) is to determined such that it performs
best linear estimation.
• Here we need Cost function estimate error and correct
parameters after that.
KF – Cost Function and Error
Calculation
• State Error Vector xk~ = xk - ^xk ;
• Using principle of Orthogonality
• E [ xk~ yiT] = 0 for i = 1 to k-1 ;
• Using error vector definition, system definition and this
orthogonality we can reduce above equations into the following
form :-
• E[(xk - G(1,k) ^xk_ - G(2,k)*Hk*xk – G(2,k)*vk)yiT] = 0 for i = 1
to k-1 ;
• Since vk is independent process of yi hence we can drop the
last term .
KF – Cost Function and Error
Calculation; Continued …
•Remaining expression can be written as by adding this element
“ G(1,k)*xk – G(1,k)*xk ” …
•E[(I - G(2,k) *Hk - G(1,k))*xk*yiT + G(1,k)(xk - ^xk_)yiT] = 0
for i = 1 to k-1 ;
•Second term again can be dropped using principle of
orthoganility.
•Expression reduced to (I - G(2,k) *Hk - G(1,k))*E[xk*yiT ] = 0
•Which should be true for arbitrary value xk and yi hence
following equation must hold
I – G(2,k)Hk – G(1,k) = 0 ;
• ^xk = ^xk_ + G(1,k)(yk – Hk * ^xk_) … G(1,k) is kalman gain we
will be using Gk for G(1,k) here onwards.
KF – Kalman Gain Calculation;
Continued …
• From the Principle of orthogonality
• E[ (xk - ^xk) yiT] = 0 and it follows that …
• E[ (xk - ^xk) ^yiT] = 0 where ^yiT is an estimate of yk given the
previous measurement y1,y2……..yk-1
• Define the innovations process yk~ = yk – ^yk ;
• Innovation process represents a measure of the “new”
information contained in yk;
• It may also be expressed as yk~ = yk – Hk* ^xk_ ;
which can be reduced to yk~ = vk + Hk* xk~ ;
• From above two equations we can deduce into the following
form E[ ( xk - ^xk)*yk~T] = 0
• State Error vector can be written as
• xk - ^xk = ~xk_ - Gk *(Hk*~xk_ + vk) further can be resolved
and putting back into the earlier equation :-
• E[{(I – Gk*Hk)*~xk_ - Gk*vk}*(Hk*~xk_ + vk)] = 0 ;
• (I-Gk*Hk)*E[~xk_*~xk_T]HkT - Gk*E[vkvkT]= 0
• Kalman Gain can be calculated once we know E[~xk_*~xk_T] ;
• Defining a priori covariance Pk_ =E[~xk_*~xk_T];
• And posteriori covariance Pk =E[~xk*~xkT];
• Given the “old” a posteriori covariance matrix Pk-1 , compute
the “updated” a priori covariance matrix Pk_ .
• Now task is to calculate posteriori from priori estimated
covariance matrix.
KF – Kalman Gain Calculation;
Continued …
• From the definition of covariance matrix we can get
the following expression :-
• Pk = (I – Gk*Hk)*E[~xk_ ~xk_T ]* (I – Gk*Hk)T
+Gk*E[vk vkT]*GkT ;
• Pk = (I – Gk*Hk)*Pk_* (I – Gk*Hk)T +Gk*E[vk
vkT]*GkT we got relation between prior and posteriori
covariance matrix ;
• On simplification of above expression the relation
between posteriori and prior condition can be boils
down to following expression :-
Pk = (I – Gk*Hk)*Pk_ ;
KF – Kalman Gain Calculation;
Continued …
KF – Calculation of Error covariance Matrix
Continued …
• For the second stage of error covariance we must
make sure that priori estimate of the stage is defined in
terms of the “old” a posteriori estimate as follows :-
• ~xk_ = F(k,k-1)*^xk-1 ;
• ~xk_ = xk - ^xk ;
• ~xk_ = (F(k,k-1)*xk-1 + wk-1) – (F(k,k-1)*^xk-1) which
is “ F(k,k-1)*~xk-1 + wk-1 ” ;
• Pk_ = F(k,k-1)*Pk-1*F(k,k-1)T + Qk-1 ;
• Which defines priori covariance Pk_ in terms of old
covariance matrix Pk-1 ;
KF – Calculation of Error covariance
Matrix ; Continued …
• Now we know how to estimate posteriori
using priori covariance matrix .
• And to calculate priori matrix using “old”
posteriori covariance matrix.
• Once we have error covariance matrix we can
get the kalman gain and hence new estimate of
the position.
• Only thing left is “Initialization of Error
Covariance Matrix”..
KF – Calculation of Error covariance
Matrix ; Continued …
•Initialization
•X0 = E[x0] ;
•P0 = E[(x0 - E[x0] )*(x0 - E[x0] )T] ;
•Initial condition has an advantage of yielding an
unbiased estimate of the state xk.
KF – Review the complete process
Kalman Filter – as Gaussian density
propagation process
• Random component wk
leads to spreading of the
density function.
• F(k+1,k)*XK causes drift
bodily.
• Effect of external
observation y is to
superimpose a reactive
effect on the diffusion in
which the density tends to
peak in the vicinity of
observations.
Extended Kalman Filter – modelling
Non-Linear Systems
• Process Equation :-
Xk+1 = f(k,Xk) + wk ;
• Measurement Equation :-
Yk = h(k,Xk) + vk ;
Where as before wk and vk are independent zero-mean white
gaussian noise process with covariance matrices Rk and Qk
respectively.
• f(k,Xk) denotes a nonlinear transition matrix function that is
possibly time-variant.
• H(k,Xk) denotes a nonlinear measurement matrix that may be
time-variant too.
• Linearize the state-space model for very short
duration i.e. at each time instant around the most
recent state estimate which is taken to be either ^Xk or
^Xk_ expending on which particular function is being
considered.
• F (k+1,k) = df (k,xk)/dx at x = ^xk .
• H(k) = dh(k,xk)/dx at x = ^xk .
• Taylor Approximation of the nonlinear functions F(k,x)
and H(k,x) around ^Xk and ^Xk_ respectively.
Extended Kalman Filter – modelling
Non-Linear Systems
• F(k,Xk) ≈ F( x ;^xk) + F (xk,^xk) k+1 to K ;
• H(k,Xk) ≈ H( x ;^xk) + H(xk,^xk) k+1 to K ;
• With these quantities in hand we can approximate as
following :-
Xk+1 ≈ F k+1,kxk + wk + dk and _yk ≈ Hkxk + vk ;
• Two new introduced quantities are as follows:
_yk = yk – {h(x,^xk_) Hk*^xk_} &&
dk = f(x,^xk) – F k+1,k * ^xk ;
Extended Kalman Filter – modelling
Non-Linear Systems
• Object is segmented using image processing techniques.
• Kalman filter is used to make more efficient the localization
method of the object.
• Steps Involved in vision tracking are :-
• Step 1:- Initialization ( k = 0 ) Find out the object position and
initially a big error tolerance(P0 = 1).
• Step 2:- Prediction( k > 0 ) predicting the relative position of
the object ^xk_ which is considered using as search center to
find the object.
• Step 3:- Correction( k > 0) its measurement to carry out the
state correction using Kalman Filter finding this way ^xk .
Object Tracking using Kalman Filter
• Advantage is to tolerate
small occlusions.
• Whenever object is
occluded we will skip the
measurement correction
and keeps on predicting
till we get object again
into localization.
Object Tracking using Kalman Filter
Object Tracking using Kalman Filter
for Non Linear Trajectory
• Extended
Kalman Filter
- modelling
more
dynamical
system using
unconstraine
d Brownian
Motion
Object Tracking using Kalman Filter
Mean Shift Optimal Prediction and Kalman Filter
for Object Tracking
Mean Shift Optimal Prediction and Kalman Filter
for Object Tracking
•Colour Based
Similarity
measurement –
Bhattacharyya
distance
• Target
Localization
• Distance
Maximization
• Kalman
Prediction
Object Tracking using an adaptive Kalman Filter
combined with Mean Shift
• Occlusion detection
based on value of
Bhattacharyya
coefficient.
• Based on trade-
offs between weight
to measurement and
residual error matrix
Kalman Parameters
are estimated.
Thank You

More Related Content

What's hot (20)

Kalman filter for Beginners
Kalman filter for BeginnersKalman filter for Beginners
Kalman filter for Beginners
 
Kalman filters
Kalman filtersKalman filters
Kalman filters
 
Kalman Filter | Statistics
Kalman Filter | StatisticsKalman Filter | Statistics
Kalman Filter | Statistics
 
Kalman filters
Kalman filtersKalman filters
Kalman filters
 
Lecture Notes on Adaptive Signal Processing-1.pdf
Lecture Notes on Adaptive Signal Processing-1.pdfLecture Notes on Adaptive Signal Processing-1.pdf
Lecture Notes on Adaptive Signal Processing-1.pdf
 
Kalman Filter and its Application
Kalman Filter and its ApplicationKalman Filter and its Application
Kalman Filter and its Application
 
Kalman_filtering
Kalman_filteringKalman_filtering
Kalman_filtering
 
Real time implementation of unscented kalman filter for target tracking
Real time implementation of unscented kalman filter for target trackingReal time implementation of unscented kalman filter for target tracking
Real time implementation of unscented kalman filter for target tracking
 
Kalman Equations
Kalman EquationsKalman Equations
Kalman Equations
 
Kalman Filter
 Kalman Filter    Kalman Filter
Kalman Filter
 
Adaptive filter
Adaptive filterAdaptive filter
Adaptive filter
 
kalman filtering "From Basics to unscented Kaman filter"
 kalman filtering "From Basics to unscented Kaman filter" kalman filtering "From Basics to unscented Kaman filter"
kalman filtering "From Basics to unscented Kaman filter"
 
Kalman Filter Presentation
Kalman Filter PresentationKalman Filter Presentation
Kalman Filter Presentation
 
Data fusion with kalman filtering
Data fusion with kalman filteringData fusion with kalman filtering
Data fusion with kalman filtering
 
Wiener Filter
Wiener FilterWiener Filter
Wiener Filter
 
Particle filter
Particle filterParticle filter
Particle filter
 
Kalmanfilter
Kalmanfilter Kalmanfilter
Kalmanfilter
 
Report kalman filtering
Report kalman filteringReport kalman filtering
Report kalman filtering
 
Kalman Filter Basic
Kalman Filter BasicKalman Filter Basic
Kalman Filter Basic
 
Wiener filters
Wiener filtersWiener filters
Wiener filters
 

Similar to Kalman filter for object tracking

Control of Uncertain Nonlinear Systems Using Ellipsoidal Reachability Calculus
Control of Uncertain Nonlinear Systems Using Ellipsoidal Reachability CalculusControl of Uncertain Nonlinear Systems Using Ellipsoidal Reachability Calculus
Control of Uncertain Nonlinear Systems Using Ellipsoidal Reachability CalculusLeo Asselborn
 
Target tracking suing multiple auxiliary particle filtering
Target tracking suing multiple auxiliary particle filteringTarget tracking suing multiple auxiliary particle filtering
Target tracking suing multiple auxiliary particle filteringLuis Úbeda Medina
 
Discrete control2 converted
Discrete control2 convertedDiscrete control2 converted
Discrete control2 convertedcairo university
 
Balancing Robot Kalman Filter Design – Estimation Theory Project
Balancing Robot Kalman Filter Design – Estimation Theory ProjectBalancing Robot Kalman Filter Design – Estimation Theory Project
Balancing Robot Kalman Filter Design – Estimation Theory ProjectSurya Chandra
 
Robust Control of Uncertain Switched Linear Systems based on Stochastic Reach...
Robust Control of Uncertain Switched Linear Systems based on Stochastic Reach...Robust Control of Uncertain Switched Linear Systems based on Stochastic Reach...
Robust Control of Uncertain Switched Linear Systems based on Stochastic Reach...Leo Asselborn
 
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]AI Robotics KR
 
lecture_18-19_state_observer_design.pptx
lecture_18-19_state_observer_design.pptxlecture_18-19_state_observer_design.pptx
lecture_18-19_state_observer_design.pptxAnshulShekhar3
 
Control of Discrete-Time Piecewise Affine Probabilistic Systems using Reachab...
Control of Discrete-Time Piecewise Affine Probabilistic Systems using Reachab...Control of Discrete-Time Piecewise Affine Probabilistic Systems using Reachab...
Control of Discrete-Time Piecewise Affine Probabilistic Systems using Reachab...Leo Asselborn
 
Probabilistic Control of Switched Linear Systems with Chance Constraints
Probabilistic Control of Switched Linear Systems with Chance ConstraintsProbabilistic Control of Switched Linear Systems with Chance Constraints
Probabilistic Control of Switched Linear Systems with Chance ConstraintsLeo Asselborn
 
Probabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic ReachabilityProbabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic ReachabilityLeo Asselborn
 
QM-Lect12 (The Delta Potential).pptx
QM-Lect12 (The Delta Potential).pptxQM-Lect12 (The Delta Potential).pptx
QM-Lect12 (The Delta Potential).pptxGovtCollege7
 
presentation.ppt
presentation.pptpresentation.ppt
presentation.pptWasiqAli28
 
Computer graphics lab report with code in cpp
Computer graphics lab report with code in cppComputer graphics lab report with code in cpp
Computer graphics lab report with code in cppAlamgir Hossain
 
Lines and curves algorithms
Lines and curves algorithmsLines and curves algorithms
Lines and curves algorithmsMohammad Sadiq
 

Similar to Kalman filter for object tracking (20)

Slideshare
SlideshareSlideshare
Slideshare
 
Kalman
KalmanKalman
Kalman
 
Control of Uncertain Nonlinear Systems Using Ellipsoidal Reachability Calculus
Control of Uncertain Nonlinear Systems Using Ellipsoidal Reachability CalculusControl of Uncertain Nonlinear Systems Using Ellipsoidal Reachability Calculus
Control of Uncertain Nonlinear Systems Using Ellipsoidal Reachability Calculus
 
Target tracking suing multiple auxiliary particle filtering
Target tracking suing multiple auxiliary particle filteringTarget tracking suing multiple auxiliary particle filtering
Target tracking suing multiple auxiliary particle filtering
 
Control assignment#4
Control assignment#4Control assignment#4
Control assignment#4
 
Discrete control2 converted
Discrete control2 convertedDiscrete control2 converted
Discrete control2 converted
 
Unit 4 jwfiles
Unit 4 jwfilesUnit 4 jwfiles
Unit 4 jwfiles
 
Balancing Robot Kalman Filter Design – Estimation Theory Project
Balancing Robot Kalman Filter Design – Estimation Theory ProjectBalancing Robot Kalman Filter Design – Estimation Theory Project
Balancing Robot Kalman Filter Design – Estimation Theory Project
 
Robust Control of Uncertain Switched Linear Systems based on Stochastic Reach...
Robust Control of Uncertain Switched Linear Systems based on Stochastic Reach...Robust Control of Uncertain Switched Linear Systems based on Stochastic Reach...
Robust Control of Uncertain Switched Linear Systems based on Stochastic Reach...
 
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
 
lecture_18-19_state_observer_design.pptx
lecture_18-19_state_observer_design.pptxlecture_18-19_state_observer_design.pptx
lecture_18-19_state_observer_design.pptx
 
Control of Discrete-Time Piecewise Affine Probabilistic Systems using Reachab...
Control of Discrete-Time Piecewise Affine Probabilistic Systems using Reachab...Control of Discrete-Time Piecewise Affine Probabilistic Systems using Reachab...
Control of Discrete-Time Piecewise Affine Probabilistic Systems using Reachab...
 
Assignment2 control
Assignment2 controlAssignment2 control
Assignment2 control
 
Probabilistic Control of Switched Linear Systems with Chance Constraints
Probabilistic Control of Switched Linear Systems with Chance ConstraintsProbabilistic Control of Switched Linear Systems with Chance Constraints
Probabilistic Control of Switched Linear Systems with Chance Constraints
 
Probabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic ReachabilityProbabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
 
QM-Lect12 (The Delta Potential).pptx
QM-Lect12 (The Delta Potential).pptxQM-Lect12 (The Delta Potential).pptx
QM-Lect12 (The Delta Potential).pptx
 
presentation.ppt
presentation.pptpresentation.ppt
presentation.ppt
 
Computer graphics lab report with code in cpp
Computer graphics lab report with code in cppComputer graphics lab report with code in cpp
Computer graphics lab report with code in cpp
 
Lines and curves algorithms
Lines and curves algorithmsLines and curves algorithms
Lines and curves algorithms
 
2.circle
2.circle2.circle
2.circle
 

Recently uploaded

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Kalman filter for object tracking

  • 1. Kalman Filter for Object Tracking
  • 2. Kalman Filter For Object Tracking • Kalman filter – as a linear discrete-time variant system • Kalman Filtering Problem • Optimal Estimation of Parameters • Extended Kalman filter – Modeling Non-Linear Systems • Object Tracking using Kalman filter a) Using Linear KF model b) Extended KF • Mean Shift Optimal Prediction and Kalman Filter for Object Tracking • Object Tracking using an adaptive Kalman Filter combined with Mean Shift
  • 3. Kalman Filter - as linear discrete-time dynamical system •Dynamic System – State of the system is time-variant. •System is described by “state vector” – which is minimal set of data that is sufficient to uniquely describe the dynamical behavior of the system. •We keep on updating this system i.e. state of the system or state vector based on observable data.
  • 4. KF – as linear discrete -time system System Description • Process Equation :- • xk+1 = F(k+1,k) * xk + wk ; • Where F(k+1,k) is the transition matrix taking the state xk from time k to time k+1. • Process noise wk is assumed to be AWG with zero mean and with covariance matrix defined by :- E [wn wkT] = Qk ; for n=k and zero otherwise.
  • 5. • Measurement Equation :- • yk = Hk * xk + vk ; • Where yk is observable data at time k and Hk is the measurment matrix. • Process noise vk is assumed to be AWG with zero mean and with covariance matrix defined by :- E [vn vkT] = Rk ; for n=k and zero otherwise. KF – as linear discrete -time system Measurement
  • 6. KF- linear dynamical time variant system
  • 7. KF- Filtering Problem Use the entire observed data, consisting of the vectors y1; y2… yk, to find for each k ¸ 1 the minimum mean-square error estimate of the state xk . The problem is called filtering if i = k , prediction if i > k and smoothing if 1<= i < k.
  • 8. Kalman Filter – Optimal Estimates • yk = xk + vk ; • where xk is an unknown signal and vk is an additive noise component. Where xk denote the a posteriori estimate of the signal xk, given the observations y1; y2; … yk. In general, the estimate ^xk is different from the unknown signal xk. • Cost function for incorrect measurements is mean square error which is Jk = E[(xk - ^xk)2] ; • Optimal Error Estimate :- • ^xk = E[xk | y1, y2, …. yk] ;
  • 9. KF – using observed data to improve estimate of System Description • Using the information contained in the new measurement yk to update estimate of the unknown state xk. • ^xk_ denote a prior estimate of the state which is already available at time k. • Posterior estimate after using the information in the observed data • ^xk = G(1,k) * ^xk_ + G(2,k) * yk ; • Where G(1,k) and G(2,k) is to determined such that it performs best linear estimation. • Here we need Cost function estimate error and correct parameters after that.
  • 10. KF – Cost Function and Error Calculation • State Error Vector xk~ = xk - ^xk ; • Using principle of Orthogonality • E [ xk~ yiT] = 0 for i = 1 to k-1 ; • Using error vector definition, system definition and this orthogonality we can reduce above equations into the following form :- • E[(xk - G(1,k) ^xk_ - G(2,k)*Hk*xk – G(2,k)*vk)yiT] = 0 for i = 1 to k-1 ; • Since vk is independent process of yi hence we can drop the last term .
  • 11. KF – Cost Function and Error Calculation; Continued … •Remaining expression can be written as by adding this element “ G(1,k)*xk – G(1,k)*xk ” … •E[(I - G(2,k) *Hk - G(1,k))*xk*yiT + G(1,k)(xk - ^xk_)yiT] = 0 for i = 1 to k-1 ; •Second term again can be dropped using principle of orthoganility. •Expression reduced to (I - G(2,k) *Hk - G(1,k))*E[xk*yiT ] = 0 •Which should be true for arbitrary value xk and yi hence following equation must hold I – G(2,k)Hk – G(1,k) = 0 ; • ^xk = ^xk_ + G(1,k)(yk – Hk * ^xk_) … G(1,k) is kalman gain we will be using Gk for G(1,k) here onwards.
  • 12. KF – Kalman Gain Calculation; Continued … • From the Principle of orthogonality • E[ (xk - ^xk) yiT] = 0 and it follows that … • E[ (xk - ^xk) ^yiT] = 0 where ^yiT is an estimate of yk given the previous measurement y1,y2……..yk-1 • Define the innovations process yk~ = yk – ^yk ; • Innovation process represents a measure of the “new” information contained in yk; • It may also be expressed as yk~ = yk – Hk* ^xk_ ; which can be reduced to yk~ = vk + Hk* xk~ ; • From above two equations we can deduce into the following form E[ ( xk - ^xk)*yk~T] = 0
  • 13. • State Error vector can be written as • xk - ^xk = ~xk_ - Gk *(Hk*~xk_ + vk) further can be resolved and putting back into the earlier equation :- • E[{(I – Gk*Hk)*~xk_ - Gk*vk}*(Hk*~xk_ + vk)] = 0 ; • (I-Gk*Hk)*E[~xk_*~xk_T]HkT - Gk*E[vkvkT]= 0 • Kalman Gain can be calculated once we know E[~xk_*~xk_T] ; • Defining a priori covariance Pk_ =E[~xk_*~xk_T]; • And posteriori covariance Pk =E[~xk*~xkT]; • Given the “old” a posteriori covariance matrix Pk-1 , compute the “updated” a priori covariance matrix Pk_ . • Now task is to calculate posteriori from priori estimated covariance matrix. KF – Kalman Gain Calculation; Continued …
  • 14. • From the definition of covariance matrix we can get the following expression :- • Pk = (I – Gk*Hk)*E[~xk_ ~xk_T ]* (I – Gk*Hk)T +Gk*E[vk vkT]*GkT ; • Pk = (I – Gk*Hk)*Pk_* (I – Gk*Hk)T +Gk*E[vk vkT]*GkT we got relation between prior and posteriori covariance matrix ; • On simplification of above expression the relation between posteriori and prior condition can be boils down to following expression :- Pk = (I – Gk*Hk)*Pk_ ; KF – Kalman Gain Calculation; Continued …
  • 15. KF – Calculation of Error covariance Matrix Continued … • For the second stage of error covariance we must make sure that priori estimate of the stage is defined in terms of the “old” a posteriori estimate as follows :- • ~xk_ = F(k,k-1)*^xk-1 ; • ~xk_ = xk - ^xk ; • ~xk_ = (F(k,k-1)*xk-1 + wk-1) – (F(k,k-1)*^xk-1) which is “ F(k,k-1)*~xk-1 + wk-1 ” ; • Pk_ = F(k,k-1)*Pk-1*F(k,k-1)T + Qk-1 ; • Which defines priori covariance Pk_ in terms of old covariance matrix Pk-1 ;
  • 16. KF – Calculation of Error covariance Matrix ; Continued … • Now we know how to estimate posteriori using priori covariance matrix . • And to calculate priori matrix using “old” posteriori covariance matrix. • Once we have error covariance matrix we can get the kalman gain and hence new estimate of the position. • Only thing left is “Initialization of Error Covariance Matrix”..
  • 17. KF – Calculation of Error covariance Matrix ; Continued … •Initialization •X0 = E[x0] ; •P0 = E[(x0 - E[x0] )*(x0 - E[x0] )T] ; •Initial condition has an advantage of yielding an unbiased estimate of the state xk.
  • 18. KF – Review the complete process
  • 19. Kalman Filter – as Gaussian density propagation process • Random component wk leads to spreading of the density function. • F(k+1,k)*XK causes drift bodily. • Effect of external observation y is to superimpose a reactive effect on the diffusion in which the density tends to peak in the vicinity of observations.
  • 20. Extended Kalman Filter – modelling Non-Linear Systems • Process Equation :- Xk+1 = f(k,Xk) + wk ; • Measurement Equation :- Yk = h(k,Xk) + vk ; Where as before wk and vk are independent zero-mean white gaussian noise process with covariance matrices Rk and Qk respectively. • f(k,Xk) denotes a nonlinear transition matrix function that is possibly time-variant. • H(k,Xk) denotes a nonlinear measurement matrix that may be time-variant too.
  • 21. • Linearize the state-space model for very short duration i.e. at each time instant around the most recent state estimate which is taken to be either ^Xk or ^Xk_ expending on which particular function is being considered. • F (k+1,k) = df (k,xk)/dx at x = ^xk . • H(k) = dh(k,xk)/dx at x = ^xk . • Taylor Approximation of the nonlinear functions F(k,x) and H(k,x) around ^Xk and ^Xk_ respectively. Extended Kalman Filter – modelling Non-Linear Systems
  • 22. • F(k,Xk) ≈ F( x ;^xk) + F (xk,^xk) k+1 to K ; • H(k,Xk) ≈ H( x ;^xk) + H(xk,^xk) k+1 to K ; • With these quantities in hand we can approximate as following :- Xk+1 ≈ F k+1,kxk + wk + dk and _yk ≈ Hkxk + vk ; • Two new introduced quantities are as follows: _yk = yk – {h(x,^xk_) Hk*^xk_} && dk = f(x,^xk) – F k+1,k * ^xk ; Extended Kalman Filter – modelling Non-Linear Systems
  • 23. • Object is segmented using image processing techniques. • Kalman filter is used to make more efficient the localization method of the object. • Steps Involved in vision tracking are :- • Step 1:- Initialization ( k = 0 ) Find out the object position and initially a big error tolerance(P0 = 1). • Step 2:- Prediction( k > 0 ) predicting the relative position of the object ^xk_ which is considered using as search center to find the object. • Step 3:- Correction( k > 0) its measurement to carry out the state correction using Kalman Filter finding this way ^xk . Object Tracking using Kalman Filter
  • 24. • Advantage is to tolerate small occlusions. • Whenever object is occluded we will skip the measurement correction and keeps on predicting till we get object again into localization. Object Tracking using Kalman Filter
  • 25. Object Tracking using Kalman Filter for Non Linear Trajectory • Extended Kalman Filter - modelling more dynamical system using unconstraine d Brownian Motion
  • 26. Object Tracking using Kalman Filter
  • 27. Mean Shift Optimal Prediction and Kalman Filter for Object Tracking
  • 28. Mean Shift Optimal Prediction and Kalman Filter for Object Tracking •Colour Based Similarity measurement – Bhattacharyya distance • Target Localization • Distance Maximization • Kalman Prediction
  • 29. Object Tracking using an adaptive Kalman Filter combined with Mean Shift • Occlusion detection based on value of Bhattacharyya coefficient. • Based on trade- offs between weight to measurement and residual error matrix Kalman Parameters are estimated.