Sie sind auf Seite 1von 7

Arshd Iqbal et al.

/ International Journal of Computer and Communication System Engineering (IJCCSE)


20 | P a g e
2014, IJCCSE All Rights Reserved Vol. 1 No.01 May 2014 www.ijccse.org

Non-Linear Moving Target Tracking: A Particle
Filter Approach
Arshad Iqbal
Dept. of Electrical Engineering
University of Engineering and Technology
Peshawar, Pakistan
khanan_5@yahoo.com
Syed Waqar Shah
Dept. of Electrical Engineering
University of Engineering and Technology
Peshawar, Pakistan
waqar.shah@nwfpuet.edu.pk
Shamim Khan
Dept. of Physics
Islamia College University
Peshawar, Pakistan
shamimkhan81@yahoo.com



AbstractMoving target detection and tracking is an
important subject for research in the domain of image processing
and computer vision. Motion of the object to be detected /
tracked can be categorized in two ways i.e. linear and non-linear.
Analysis of the given problem for nonlinear motion is
complicated. Different detection and tracking algorithms can be
applied for both linear and non-linear motion of objects and the
effect of certain conditions such as illumination changes in
environment and occlusion is also to be considered. Results
obtained are presented graphically. Mean-shift tracking
algorithm, kalman filter for tracking and particle filter algorithm
are implemented which covers linear and non -linear scenarios. It
has been observed that mean-shift tracking and kalman filter
tracking is effective when we are dealing with linear motion and
linear objects, while in case of nonlinear motion and non-linear
objects; particle filter tracking is more effective. Developed
system has application in the domain of traffic analysis, sport
analysis and surveillance.
I ndex TermsObject Tracking, Linear Motion, Non-Linear
Motion, Kalman Filter, Particle Filter.

I. INTRODUCTION
In past few years, with the help of technological
enhancement, the application based on the use of camera has
evolved enormously and the content produced by them is also
overwhelming. So automating objects detection in camera
frames and then tracking of those objects is a new evolving
subject. This paper focuses on the study and implementation
of efficient object tracking and detection techniques. These
techniques can then efficiently be used for the video
surveillance systems where physically people are present to
monitor the displayed camera feed.
With the recent evolution of computer vision, research has
been conducted to automate the processing of some data,
which results in decrease of human involvement in the
process. Research has been conducted in the individual blocks
of surveillance automation systems, such as event recognition,
object tracking and analysis and at distance human
identification. The most important task in these surveillance
automation systems is the object detection and tacking, on
which the use of other advanced technologies is based. Object
tracking is following one or more objects of any shape or size
across the scene and that tracking start when the object first
appeared in the scene. The target object can be anything of
interest from the scene [2]. Objects are to be detected and
matched in every frame. Different features can be extracted
from the current frame and then be compared to the target
object, explained in detail later in thesis. Problems such as
errors in detection (false detection or missed detection) and
occlusion are to be taken care of.
Object tracking is usually targeted for surveillance
systems where it is commonly desired to monitor vehicles and
people. These systems need to perform in real time and should
be able to handle changes in the environment such as change
in lightness and cluttered background. There are many
applications of these systems other than the surveillance, one
of which is sports. The ball tracking system also known as
Hawk-Eye is most famous for tracking of tennis and cricket
ball [14][1]. Another example of use of such systems is
development of smart rooms where occupants are being
monitored continuously, and tasks are performed according to
the response of occupants [15].
As already mentioned, tracking systems should function
under wide range of conditions. System should have the
ability to work correctly in both outdoor and indoor
environment and should also be able to handle varying
lightning conditions and also weather conditions. Another
challenge, which also is to be tackled, is occlusion for which
reasonable approximation of the objects position is to be
maintained [16]. To overcome these challenges multi camera
models are common.

Arshd Iqbal et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
21 | P a g e
2014, IJCCSE All Rights Reserved Vol. 1 No.01 May 2014 www.ijccse.org

II. COMPARATIVE REVIEW OF MOVING TARGET TRACKING
Moving target detection and tracking is difficult task in
computer vision. The main focus of this paper is the tracking
of moving objects especially the comparison of linear and
nonlinear motion of objects and their shape objects. The
implementation detail of following algorithms is presented:
mean-shift tracking, kalman filter for tracking and particle
filter for tracking.
A. Mean-Shift Tracking Algorithm
Mean-shift tracking algorithm is a statistical approach
towards tracking of moving targets. It uses the color based
statistical model for the estimation of next position of the
target. Bhattacharyya coefficients are used to measure
similarity and new position of the object is located [5]. The
main objectives of mean shift algorithm are mode seeking,
clustering density estimation and tracking.
Mean-shift iteratively shifts data points in its
neighborhood and locate the new position of the target using
density estimation and color histograms. Mean is estimated
using kernel function, that is a function of ||x||
2
and is given
by,

(1)
Where the profile of K is denoted by k and has the
properties, k is non-increasing and non-negative. Commonly
used kernels are: Flat kernel, Gaussian kernel and
Epanechnikov kernel. Flat kernel is represented as

(2)

And Gaussian kernel is represented as

(3)
d is the dimensionality of the kernal.

There are three main steps in mean shift tracking. In the
first step PDF (Probability Density Function) of the candidate
and target model are estimated and represented by p
u
and q
u

respectively [4].

(4)


(5)

In the second step Bhattacharyya coefficients are used to
calculate similarity measure between the candidate and target
model.

(6)

Let the current target location is denoted by y with color
distribution {p
u
(y)}, p
u
(y) > 0 for u = 1, . . . ,m and the
estimated new location near y is represented by z under the
supposition the no rapid change occurs in color distribution
[6]. Now using taylor formula above equation can be reduced
to

(7)

Where

(8)

In the last step the new position is estimated near the
previous position of target using similarity measure. The new
position is represented by z and is calculated as,

(9)
where

. The complete flow of the steps and


operation performed is shown in fig. 1.

Fig. 1. Mean-shift tracking flowchart

B. Kalman Filter
Kalman filter have its own importance in the studies of
system state prediction, analysis, control and processing in
linear motion scenarios. It is an ideal solution to problems like
discrete data linear filtering. It consists of mathematical
equation that is useful to solve sequential system efficiently.
The filter has many properties like it can estimate the past,
present and future states even if the complete nature of the
system is unknown [7]. The dynamic and measurement
models are given by the following equations,

(10)

(11)
Arshd Iqbal et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
22 | P a g e
2014, IJCCSE All Rights Reserved Vol. 1 No.01 May 2014 www.ijccse.org

Where x
k
is state vector of the system, process noise vector
is w
k
, z
k
is measurement vector and v
k
is measurement noise
vector.
The kalman filter tracking algorithm can be described in
two steps: the prediction state and the correction state. The
prediction state is represented by the equations given below,

(12)


(13)
The above equations use time state k to project to time state
k+1 to obtain the priori estimates for the time state k+1.
Correction of measurement update equations obtains an
improved a posteriori estimation by incorporating a new
observation in the a priori estimation [8]. The measurement
update equations are

(14)


(15)


(16)
Kalman filter calculates prior error covariance on the
completion of prediction state. On the basis of matching where
the target model mostly matches the candidate model kalman
filter finds the position in the search area.
Kalman filter has its own importance in tracking object
when the motion of the object is linear. Here Kalman filter is
implemented in Matlab and the results are obtained for both
linear and nonlinear motion. The complete stepwise flow of
the implemented algorithm is given in the fig. 2. The
algorithm takes a video as input, extracts the video frames and
detects the foreground in each frame respectively.
Start
Input Video
Extract
Frames
Detect
Foreground
Blob Analysis/
Detect Object
Location
Is Tracking Started
Is Object
Detected
Is Object Detected
Predict
Location
Correct
Location
Predict
Target
Location
Find
Coordinates
Show
Tracked
Object
Plot
Trajectory
End
Configure
Kalman Filter
Frame < No. Frames
No
Yes
Yes
No
Yes
No
Yes

Fig. 2. Kalman filter flowchart

In the next step, check if tracking is not started and object is
detected then configure kalman filter parameters according to
the specifications of the object. If tracking is not started then
check whether if the object is detected or not. In case the
object is detected, predict the location of the object and the
correct the location of target. If the object is not detected then
on the basis of previous information predict the current state
of the target and go to the next step. Find coordinates of the
tracked object and show the tracked object. Repeat the process
until the video ends. Plot the trajectory of the target.
Algorithm can be summarized as; current state is actually
linearly dependent on previous state and some control
sequence and the relation is also linear between estimated
state and the actual state. New state can be estimated as a
linear combination of priori and posteriori state estimation.
C. Particle Filter
For non-Gaussian and non-linear state-space models,
problems like estimation do not accept analytic answers. Since
1993, particle filtering plays a very vital role in in solving the
problems of estimation numerically in a very effective
manner, i.e. observations becomes available recursively and
now can be used normally in the diverse fields of computer
vision, robotics and navigation [9].

Arshd Iqbal et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
23 | P a g e
2014, IJCCSE All Rights Reserved Vol. 1 No.01 May 2014 www.ijccse.org

Particle filter uses the idea of general hidden Markov
models and semantic Monticello method. For modeling tame
parameters and series a flexible framework is provided by the
general state space hidden Markov models. These models are
expansive in intractability, analytic solutions to the inference
problems are difficult are even impossible with the exception
of minimum number of specifically simple cases. The particle
filter method is developed over the past fifteen years to
provide approximate and nearest solutions to these intractable
inference problems.
In computer vision moving target detection and tracking
is an area of interest. Features of a good tracking algorithm
may be described as accuracy in tracking, speed and
robustness. Particle filter is one of the stochastic algorithms
used for tracking purposes. Basically it is an estimation
algorithm and is based on semantic Monte Carlo method [10].
The main idea of the particle filter is it maintains the record of
the tracking objects having probability distribution over some
state. This distribution is represented by particle filters as set
of weighted particles and samples. Each sample represents
objects possible state. In other words the tracked object is
being represented by a possible location denoted by the
particle. A particle set comprises more weights at places
where the estimated tracked position lies. Now using Bayesian
filtering equations the weighted distribution is propagated
through time and the trajectory of the tracked object is
determined at the places where the particles have highest
weights [10].
The main goal of the Bayesian her is to estimate the state
x
n
, if we have all of the results and observation up to that point
(
y1:n
), or alternatively we are interested in posterior distribution
on the basis of current state. Having Bayesian theorem as,


(17)

And the joint probability can be written as,




(18)

The algorithm has two main stages: the prediction stage
and the update stage. In the prediction stage the prior samples
are generated by passing the particles from the time step using
the equation described in equation (18), while in the update
stage the generated prior samples are updated. The likely hood
estimation is given by equation (20).


(19)


(20)
The particle filter tracking algorithm here is implemented
in Matlab on the basis of color histogram and is capable of
single object tracking at a time. The complete flow of the
algorithm and steps are shown in fig. 3. A video is taken as
input to the program. Frames are extracted from the video.
Parameters containing number of particles be used, color to be
tracked and motion model etc. The efficiency of tracking
depends upon the number of particles to be used for tracking
[11]. If particles are in excess tracking will be good at the cost
of extensive computation. In the next step create particles that
should be used in tracking. Read the frame from video and
update the particles with respect to that frame. Calculate the
likelihood of the particles using constant acceleration model.
Resample the particles on the basis of likelihood estimated
previously. Show the particles in the same frame as the image
and observe that if the image is tracked. Show the tracked
object if the video is processed completely.
Input Video
Initialize Parameters
Extract Frames
Create Particles
Frame=1:No.Frames
Read Object
Update Particles
Calculate Likelihood
Resample Particles
Show Particles
Show Estimated
State
Frames< No.Frames
Plot Trajectory
End
Start
Yes
No

Fig. 3. Particle filter tracking flowchart

III. MOTION MODEL
While we are doing tracking of moving target we may
have a motion model for our system, particle filter. There are
two motion models for particle filter using for moving target
tracking: constant velocity model and constant acceleration
model [12]. On the basis of these models we can achieve the
task of moving target tracking or analysis of objects in motion.


Arshd Iqbal et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
24 | P a g e
2014, IJCCSE All Rights Reserved Vol. 1 No.01 May 2014 www.ijccse.org

The constant velocity model is represented by A in the
above matrix, where T represents the time space among the
observation.
In the current work we used constant velocity model for the
moving target tracking task having T=1. The algorithm is
implemented on the basis of color density and is tested upon
different videos.
IV. RESULTS
Moving target tracking is achieved in linear and non-linear
scenarios using the algorithms discussed in detail in section.
The tests are performed in indoor environment. The algorithms
are capable of single target detection and tracking. The tracking
objects in this work was a ball moving linearly and a women
moving non-linearly. Both the cases are evaluated and the
results are obtained. Three different techniques are
implemented in this regard to achieve the task of moving target
tracking.






(a)





(b)




(c)
Fig. 4. (a) Tracking of object using Mean Shift Tracking Algorithm for linear
motion of objects
(b) Tracking of object using Kalman Filter linear motion of objects
(c) Tracking of object using Particle Filter linear motion of objects






(a)




(b)




(c)
Fig. 5. (a) Tracking of object using Mean Shift Tracking Algorithm for non-
linear motion of objects
(b) Tracking of object using Kalman Filter for non-linear motion of objects
(c) Tracking of object using Particle Filter for non-linear motion of objects



(a) (b)


(c) (d)


(e) (f)
Arshd Iqbal et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
25 | P a g e
2014, IJCCSE All Rights Reserved Vol. 1 No.01 May 2014 www.ijccse.org

Fig. 6. (a) Tracking trajectory of object during linear motion using Mean Shift
Tracking Algorithm, (b) Tracking trajectory of object during non-linear motion
using Mean Shift Tracking Algorithm, (c) Tracking trajectory of object during
linear motion using Kalman Filter, (d) Tracking trajectory of object during non-
linear motion using Kalman Filter, (e) Tracking trajectory of object during linear
motion using Particle Filter, (f) Tracking trajectory of object during non-linear
motion using Particle Filter

Figure 7a shows Error with respect to actual trajectory of
linear motion of objects in case of Mean shift, Kalman filter
and Particle filter. Kalman filter is observed to be performing
better in specified scenario. Figure 7b shows Error with respect
to actual trajectory of non-linear motion of objects in case of
Mean shift, Kalman filter and Particle filter. Particle filter is
observed to be performing better in specified scenario. Figure 8
depicts change in performance for Particle filter as numbers of
particles are changed.


(a)

(b)
Fig. 7. (a) Tracking Error for Mean-Shift, Kalman Filter and Particle Filter in
case of linear motion of object (b) Tracking Error for Mean-Shift, Kalman
Filter and Particle Filter in case of non-linear motion of object


Fig. 7. Tracking error depiction of particle filter for different number of
particles

V. CONCLUSION
Moving target detection and tracking is a challenging task
and is of great importance in computer vision. To achieve the
task of moving target tracking different algorithms are
implemented to track objects in linear as well as nonlinear
motion. Mean-shift algorithm, kalman filter and particle filter
algorithm for tracking are implemented both in linear and
nonlinear motion to track the moving objects and then the
results of all the algorithms are compared.
Mean-shift tracking algorithm depends on the color
histogram of the target and the candidate model. It is effective
in case of linear motion and scenes having multiple objects.
Mean-shift is less effective in case of non-linear motion
because it is based on histogram and rapid change in it will
disturb the tracking.
Kalman filter is a good option in case of linear motion
single object tracking. It depends upon the previous state of
the object to estimate the current state or upon the current state
to predict the next state. Kalman filter first predict the target
location on the basis of previous state and some motion model
i.e. constant acceleration model in our case. The accuracy is
satisfying in case of linear motion and less effective in case of
non-linear motion.
Particle filter has the concept theory like kalman filter, but
is most effective in case of non-linear motion. It is based on
semantic Monte-Carlo method and hidden markov model. It
estimates the posterior probability in case if the observation
variables are known. It has application in computer vision,
robotics and navigation where we require non-linear tracking.

REFERENCES
[1] N. Prabhakar, etal Object Tracking Using Frame Differencing
and Template Matching, Research Journal of Applied Sciences,
Engineering and Technology 4(24): 5497-5501, 2012.
[2] Amedome. M-D Kodjo, Y. Jinhua, Real-time Moving Object
Tracking in Video, International Conference on
Optoelectronics and Microelectronics (ICOM), 978-1-4673-
2639-1/12, 2012.
[3] http://www.epixea.com/research/multi-view-video-coding.html
[Access Date: 21st March 2014].
[4] Prabhakar N, Vaithiyanathan V, Sharma AP, Singh A, Singhal
P. Object tracking using Frame differencing and template
matching. Research Journal of Applied Sciences, Engineering
and Technology 2012; 4(24): 5497-5501
[5] Pande RP, Mishra ND, Gulhane S, Joshi A. Detection of
moving object with the help of motion detection alarm system in
video surveillance. Journal of Signal and Image Processing
2012; 3(3):118-121.
[6] J. Iqbal, M. Pasha, S. Riaz, H. Khan, J. Iqbal. Real-Time Target
Detection and Tracking: A Comparative In-depth Review of
Strategies, Life Sci J - Acta Zhengzhou University Overseas
Edition, ISSN: 1097-8135, 2013;10(3): 804-813.
[7] Niu L, Jiang N. A moving objects detection algorithm based on
improved background subtraction. In: Proceedings of 8
th

Arshd Iqbal et al. / International Journal of Computer and Communication System Engineering (IJCCSE)
26 | P a g e
2014, IJCCSE All Rights Reserved Vol. 1 No.01 May 2014 www.ijccse.org

International Conference on Intelligent Systems Design and
Applications 2008, vol. 3, pp. 604-607.
[8] Zhang L, Liang Y. Motion human detection based on
background subtraction. In: Proceedings of 2
nd
International
Workshop on Education Technology and Computer Science
2010, pp. 284-287.
[9] Madhavi BSM, Rao MVG. A fast and reliable motion human
detection and tracking based on background subtraction. IOSR
Journal of Electronics and Communication Engineering
2012;1(1):29-35.
[10] B JS, Song TL. Image tracking algorithm using template
matching and PSNF-m. International Journal of Control,
Automation, and Systems 2008;6(3):413-423.
[11] Du K, Ju Y, Jin Y, Li G, Qian S, Li Y. MeanShift tracking
algorithm with adaptive block color histogram. In: Proceedings
of 2
nd
International Conference on Consumer Electronics,
Communications and Networks (CECNet) 2012, pp. 2692-2695.
[12] Fukunaga K, Hostetler L. The estimation of the gradient of a
density function, with applications in pattern recognition. IEEE
Tran. IT 1975; vol. 21:32-40.
[13] Land DS, Lang SW, Choi H. Human body tracking with
structural Kalman filter. Pattern Recognition 2002; 35(10):2041-
2049.
[14] Simon D. Kalman filtering. Embedded Systems Programming
2001;14(6):72-79.
[15] Kodjo AMD, Jinhua Y. Real-time moving object tracking in
video. In: Proceedings of International Conference on
Optoelectronics and Microelectronics (ICOM) 2012, pp. 580-
584.
[16] J. Iqbal, S.M. Pasha, B. Khelifa, A.A. Khan and J. Iqbal.
Computer vision inspired real-time autonomous moving target
detection, tracking and locking, Life Sci J - Acta Zhengzhou
University Overseas Edition 2013; 10(4).