You are on page 1of 32

Robotics and

Control
(EEE4027)
Project Review
Faculty: Dr. VINODH KUMAR E
Title:Tracking Multiple Objects In
Surveillance Cameras

Team:
Raghav Khattar(17BEE0023)
Sparsh Ra(17BEE0041)
Roshan Maharana(17BEE0138)
Jignasu Pathak Yagnesh(17BEE0124)
Chilakala Anil Kumar Reddy(17BEE0183)
Objective

● Objects tracking plays an important role to the traffic management system, as


accurate tracking and counting result will lead to a more efficient management
system.We have implemented a method for tracking multiple moving Objects in
a surveillance cameras. Firstly, Moving objects are detected and performed blob
analysis. Then a kalman filter or particle filter is applied to every target to get a
predicted position.
● Finally, we use Munkres' version of the Hungarian algorithm to compute an
assignment between detected and predicted position to associates the
detections corresponding to the same object. We will also compare kalman filter
and particle filter.
Introduction

● Vehicle tracking has been an active field of research within the past decade due to the increase
in computational power and the development of video surveillance infrastructure. Today, there
is a huge need for automatic tracking control and regulation, automatic video surveillance and
abnormal event detection. Robust car tracking is a fundamental low-level task necessary to
achieve such intelligence. There have been various techniques developed to track vehicles.
● Surveillance cameras are the most common cameras in tracking system. They are used to
monitor vehicles moving on the road. One of the features of surveillance cameras is stationary,
which is an advantage for analyzing the background and detecting vehicles. Generally, we want
to get two set of informations from camera. One is the traffic flow which can be used to
analyze the road's situation .
● In addition, specific Vehicles behaviors are also what we are interested, because we can
monitor if there is a vehicle breaking the traffic rules.
● Our project is based on Motion-Based Multiple Object Tracking
What is Particle?

A Particle is the least amount part of an object in an image.

An object contains one or more number of particles in an image.


What is a Filter?

A Filter is a device or process that removes some unwanted


components or features from a signal such as noise and
disturbances.
Software used: MATLAB
Flowchart for whole program
Flowchart of one track
Method

● Our program performs automatic detection and tracking of moving vehicles in a video
from a surveillance camera. Generally, the program contains 2 parts:
a. Detecting moving objects in each frame.
b. Associating the detections corresponding to the same object over time.
● The detection of moving objects uses a background subtraction algorithm based on
Gaussian mixture models.
● Morphological operations are applied to the resulting foreground mask to eliminate
noise.
● Finally, blob analysis detects groups of connected pixels, which are likely to correspond
to moving objects. The association of detections to the same object is based solely on
motion.
● The motion of each track is estimated by a Kalman filter or a particle filter.
● The filter is used to predict the track's location in each frame, and determine the
likelihood of each detection being assigned to each track.
PARTICLE FILTER
Introduction

● The original program use vision. Kalman Filter for prediction. We change it to a
particle filter.
● We save 10 or 100 particles in every tracks' structure. The program has 3 functions
for particle filters: pfDiffusion, pfResample and pfCorrect.
● pfDiffusion and pfResample is called in Predict New Locations of existing tracks
function for predicting position.
● pfCorrect is called in Update Assigned Tracks function.
● pfDiffusion: In this function, we apply diffusion to the state. R is model noise and we should make sure
the diffusioned positions are limited in the mask.

● pfResample: Measurements are applied on the binary mask.

● q is pixel of mask, u and v are the position of mask. So the measurements are binary. Systematic Re-
Sampling is applied.The algorithm is as following:
● pfCorrect: If assignment is successful, one track's estimated position will be correct. That mean all
particles of this track will be set to the same position.
● The position is the centroid of matched detected object.
Particle Filter Flowchart
KALMAN FILTER
INTRODUCTION
Kalman filtering is an algorithm that provides estimates of some
unknown variables given the measurements observed over time.

Kalman filters are used to estimate states based on linear


dynamical systems in state space format.

The process model defines the evolution of the state from time
k−1 to time k as:

x(k)=Fx(k−1)+Bu(k−1)+w(k−1)
STAGES OF KALMAN FILTER
IMPLEMENTATION
Kalman filter algorithm consists of two stages:
● Prediction/Propagation
● Update/Correction

PREDICTION

UPDATION
LIMITATION OF KALMAN FILTER

● All the functions used in Kalman Filter are linear as they do not
include any angle parameter in the equations.
● Therefore we can directly feed these linear function to Gaussian
distribution to get a Gaussian distribution mean and variance.
● But in real life situations most of the problems are non-linear due
to which we cannot directly feed this non-linear function to the
Gaussian distribution as it will lead to non Gaussian distribution.
● In any given frame, some detections may be assigned to tracks, while other detections
and tracks may remain unassigned.
● The assigned tracks are updated using the corresponding detections and the unassigned
tracks are marked invisible.
● An unassigned detection begins a new track. Each track keeps count of the number of
consecutive frames, where it remained unassigned.
● If the count exceeds a specified threshold, the example assumes that the object left the
field of view and it deletes the track.
Output and results

There are some particles centered on the center of boundary boxes. Due to the successful assignment and
pfCorrect function ,the 3 track's particle filters' particles are maintained as centroids.
Result when particles do not centered on the center of
boundary boxes

In the binary picture, we can find that object labeled 14 and 15 are connected, which leads to one of these 2
object disappeared because these 2 objects are considered as one and detect Objects function only returns
one centroid for them.
Prediction when targets lost

When the targets are lost , boundary boxes are given by estimator of each tracks. In this situation, we find
particle filter performs better than kalman filter.
Some more limitations of particle filter
Execution time (unit: seconds)

Method Execution time


1 2 3

100 particles 103.412583 27.1828 68.53584

10 particles 66.642374 19.46634 49.90434

Kalman filter 47.794069 17.59786 39.98926


Contribution:

Particle Filter Implementation: Sparsh Raj, Jignasu Pathak, C Anil Kumar Reddy

Kalman Filter Implementation: Raghav Khattar, Roshan Maharana

Documentation: Raghav Khattar, Sparsh Raj, Jignasu Pathak, C Anil Kumar Reddy,
Roshan Maharana
Conclusion:

In this project, we developed a particle filter for a program which can detect, label and track
moving objects in a video from a surveillance camera. Program generally achieves goal of
detecting, labeling and tracking moving objects, although it may produce tracking errors in
some conditions.

We compare kalman filter and particle lter in some aspects. Kalman filter perform faster and
has better prediction while objects' movement motion is linear. Particle filter give a following
result when the target is not detected well. If we can apply particle filters a good motion model,
particle filter may perform better in some condition.
References:

1. Motion-Based Multiple Object Tracking,


https://www.mathworks.com/help/vision/examples/motion-based-multiple-object-
tracking.html

2. Da-Peng Bai, Bing-Bing Lee: Based-on Particle Filter For Vehicle Detection And Tracking In
Digital Video : Proceedings of the Seventh International Conference on Machine Learning and
Cybernetics, Kunming, 12-15 July 2008

3. Francois Bardet and Thierry Chateau: MCMC Particle Filter for Real-Time Visual Tracking of
Vehicles : Proceedings of the 11th International IEEE Conference on Intelligent Transportation
Systems Beijing, China, October 12-15, 2008
4. P.L.M. Bouttefroy, A. Bouzerdoum, S.L. Phung , A. Beghdadi : Vehicle Tracking using
Projective Particle Filter : 2009 Advanced Video and Signal Based Surveillance

5. Mingxiu Lin, Feng Pan, Jingjing Wang, Shuai Chen : Vehicle tracking based on particle lter
using double features : 2009 International Conference on Information Engineering and
Computer Science

6. Yang Xu, Chengdong Wu , Xuedong Zhang , Ying Zhao : Tracking Moving Vehicles Using
Particle Filtering and Level Set : 2011 Chinese Control and Decision Conference (CCDC)

7. Christiano Bouvi, Jacob Scharcanski , Pablo Barcellos , Fabiano Lopes Escouto :Tracking and
Counting Vehicles in Trac Video Sequences Using Particle Filtering:: Instrumentation and
Measurement Technology Conference (I2MTC), 2013 IEEE International

8. Ashvini Kulkarni, Manasi Vargantwar , Sujata Virulkar : Video Based Tracking and
optimization Using Mean-Shift,Kalman Filter and Swarm Intelligence : 2015 International
Conference on Computing Communication Control and Automation

You might also like