Non-Linear Moving Target Tracking: A Particle Filter Approach
Moving 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.
Non-Linear Moving Target Tracking: A Particle Filter Approach
Moving 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.
/ 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 [email protected] Syed Waqar Shah Dept. of Electrical Engineering University of Engineering and Technology Peshawar, Pakistan [email protected] Shamim Khan Dept. of Physics Islamia College University Peshawar, Pakistan [email protected]
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).
Design and Implemation of An Enhanced Dds Based Digital Modulator For Multiple Modulation Schemes Manoj Kollam, S.A.S Krishna Chaithanya and Nagaraju Kommu IJSSAN 2011