Vous êtes sur la page 1sur 13

DSP PROJECT

TARGET TRACKING USING


KALMAN FILTER

SUBMITTED BY
DEVENDER BUDHWAR(4411)
SAHIL SANDHU(4455)
AMIT KUMAR KARNA (04403)
INDEX
„ INTRODUCTION TO KALMAN FILTER
„ PROBLEM DEFINITION
„ APPROACH
„ CODE
„ RESULT
„ CONCLUSION
INTRODUCTION
‰ The Kalman filter is an efficient recursive filter which estimates
the state of a dynamic system from a series of incomplete and noisy
measurements, developed by Rudolf Kalman.
‰ Kalman filters are an important technique for building fault-
tolerance into a wide range of systems, including real-time imaging.
‰ In the field of motion estimation for video coding
many techniques have been applied . It is now quite
common to see the Kalman filtering technique and some
of its extensions to be used for the estimation of motion
within image sequences.
‰ In control theory, the Kalman filter is most commonly referred to as
linear quadratic estimation (LQE)
PROBLEM DEFINITION
„ 2D TARGET TRACKING.
„ The state of the system is represented as a vector of real numbers.
At each discrete time increment, a linear operator is applied to the
state to generate the new state, with some noise mixed in, and
optionally some information from the controls on the system if they
are known.
„ This Problem proposes a ball based motion estimation using Kalman
filtering to improve the motion vector estimates.
APPROACH
„ In order to use the Kalman filter to estimate the internal state of a
process given only a sequence of noisy observations, one must
model the process in accordance with the framework of the Kalman
filter. This means specifying the matrices Fk, Hk, Qk, Rk, and
sometimes Bk for each time-step k as described below.

Model underlying the Kalman filter.


APPROACH
„ Circles are vectors, squares are matrices, and stars represent
Gaussian noise with the associated covariance matrix at the lower
right.
„ The Kalman filter model assumes the true state at time k is
evolved from the state at (k − 1) according to

where
Fk is the state transition model which is applied to the previous
state xk−1;
Bk is the control-input model which is applied to the control
vector uk;
wk is the process noise which is assumed to be drawn from a
zero mean multivariate normal distribution with covariance Qk.
APPROACH
„ V(k+ 1 )=F(k)V(k) + W(k) where V(k) is the motion
vector.
„ Prediction:
Motion vector prediction
V( k+ 1 / k ) = F( k ) V( k / k )
Prediction error
P(k+ 1/ k ) = F ( k ) P ( k / k ) F ' ( k ) + Q ( k )
where p( k )denotes the transpose matrix of F(k).
CODE

extracts the center (cc,cr


(cc,cr)) and radius of the largest blob
function [cc,cr,radius,flag
[cc,cr,radius,flag]=extractball(Imwork,Imback,index)%,fig1,fig2,fig3,fig15,index)
]=extractball(Imwork,Imback,index)%,fig1,fig2,fig3,fig15,index)

cc = 0;
cr = 0;
radius = 0;
flag = 0;
[MR,MC,Dim]
MR,MC,Dim] = size(Imback);
size(Imback);

% subtract background & select pixels with a big difference


fore = zeros(MR,MC);
zeros(MR,MC); %image subtracktion
fore = (abs(Imwork(:,:,1)-
(abs(Imwork(:,:,1)-Imback(:,:,1)) > 10) ...
| (abs(Imwork(:,:,2) - Imback(:,:,2)) > 10) ...
| (abs(Imwork(:,:,3) - Imback(:,:,3)) > 10);

% Morphology Operation erode to remove small noise


foremm = bwmorph(fore,'erode',2); %2 time

% select largest object


labeled = bwlabel(foremm,4);
stats = regionprops(labeled,['basic']);%basic mohem nist
[N,W] = size(stats);
size(stats);
if N < 1
return
end
CODE
% do bubble sort (large to small) on regions in case there are more than 1
id = zeros(N);
zeros(N);
for i = 1 : N
id(i)
id(i) = i;
end
for i = 1 : N-
N-1
for j = i+1 : N
if stats(i).Area < stats(j).Area
tmp = stats(i);
stats(i);
stats(i)
stats(i) = stats(j);
stats(j);
stats(j)
stats(j) = tmp;
tmp;
tmp = id(i);
id(i);
id(i)
id(i) = id(j);
id(j);
id(j)
id(j) = tmp;
tmp;
end
end
end

% make sure that there is at least 1 big region


if stats(1).Area < 100
return
end
selected = (labeled==id(1));

% get center of mass and radius of largest


centroid = stats(1).Centroid;
radius = sqrt(stats(1).Area/pi);
cc = centroid(1);
cr = centroid(2);
flag = 1;
RESULT AND CONCLUSIONS
„ As we have seen in the videos 2D Tracking is possible using kalman
filter.
„ Although some errors(prediction errors) are there but this method is
widely used.
„ The above presented results are encouraging, in the
sense that with the appropriate state model and assumptions close
to the real motion vector behaviour, we are able through Kalman
filtering to have a greater SNR than the other techniques for any
frame of the sequence.
THANK YOU

Vous aimerez peut-être aussi