You are on page 1of 34

Lecture # 34: Motion Analysis

(Particle Filters)

Muhammad Rzi Abbas Department of Mechatronics and Control Engineering


muhammadrziabbas@uet.edu.pk
Lecturer, Mechatronics Dept.
University of Engineering and Technology, Lahore
• Object tracking is an important task within the field of computer
vision
• There are three key steps in video analysis:
• detection of interesting moving objects,
• tracking of such objects from frame to frame, and
• analysis of object tracks to recognize their behavior
• Tracking objects can be complex due to:
• loss of information caused by projection of the 3D world on a 2D
image,
• noise in images,
• complex object motion,
• Non-rigid or articulated nature of objects,
• partial and full object occlusions,
• complex object shapes,
• scene illumination changes, and
• real-time processing requirements.
• One can simplify tracking by imposing constraints on the motion
and/or appearance of objects.
• For example, almost all tracking algorithms assume that the object
motion is smooth with no abrupt changes.
• Other constraints may be of constant velocity or constant acceleration
based on a priori information.
• Prior knowledge about the number and the size of objects, or the
object appearance and shape, can also be used to simplify the
problem.
• Numerous approaches for object tracking have been proposed. These
primarily differ from each other based on the way they approach the
following questions:
• Which object representation is suitable for tracking?
• Which image features should be used?
• How should the motion, appearance, and shape of the object be
modeled?
• Hence important things for Object tracker are:
• Object Representation
• Selection of image features for tracking
• Object detection
• Object Tracking Methods
• We can use particle filters when:
• There is something we want to know
• We can measure something related to what-we-want-to-know
• We know something about the relationship between observed
and real thing
• Applications include
• Localization
• SLAM
• Tracking
• Basic Working Algorithm
1. Generate random particles – initial guess of target
2. Make observation and assign weights to each particle based on
its accuracy
3. Delete particles having small weights
4. Generate new particles in place of deleted particles but at
positions where particles have large weights
5. Apply Motion Model on the particles
6. Go to step 2
Lets suppose we are somewhere
near Abbottabad…. ☺
We want to track our Quad-copter
flying over this beautiful scene…
But where is our Quad-copter???
Here it comes…
A sensor can approximately give
you the height of your QC
But exactly where is our QC???
Judging by the height only, our QC
can be anywhere…
So lets start by initially guessing the
location

Here is a mismatch so we would


assign small weight to this particle.
What is the importance of samples
having small weights???
We don’t need them… So we will do a
trick called RESAMPLING
• Resampling
• Delete particles having small weights
• But keep in mind the number of particles should remain constant
• So to keep number of particles constant generate new particles
on top of the particles having larger weights
• Hence new particle distribution would look like…
After resampling, weight of all particles is same

We know the direction of motion of our QC, so lets


move our particles with some random speeds in
the direction of motion of QC
Now things will get easy. Repeat the
process of weight assignment,
resampling and motion.
• Object Tracking: A Survey
Alper Yilmaz (Ohio State University), Omar Javed (ObjectVideo, Inc.), and
Mubarak Shah (University of Central Florida)
• The Particle Filter – Explained without Equations
• Andreas Svensson, Department of Information Technology, Uppsala University

You might also like