Skip to content

A simple particle filter implementation for object tracking

License

Notifications You must be signed in to change notification settings

HsucheChiang/Particle-Filter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Particle-Filter

A simple particle filter implementation for object tracking

Requriement

  1. CMake ( version 3.5.1 or later )
  2. OpenCV ( version 3.4.1 or later )

Installation

The following building code and installation procedures are for Linux platform only.

  1. Please make sure your current working directories is under the program's root folder.
  2. mkdir build
  3. cd build
  4. cmake ..
  5. make
  6. make install
  7. Finally, the program will be installed under the Particle folder.
  8. ./ParticleFilter

Brief Introduction

The Simple Condensation Filter Algorithm (pseudo code) :

If ( First frame (t=1) ) 
{
  Random select N positions (# of particles) on current frame;
}
Else
{
  Sample the particles based on the transition probability;
}


Calculate the weight for each particle;


Normalization();


Resmaple();


The weight is updated iteratively based on the following equations :

1

Where

2

3



Demo

Video


Future Ideas

  1. The works is not scale invariant, it can apply some scale factors into the model to improve the robustness futher.
  2. I used a 3-dim histogram correlation to calculate the likelihood, however, it might be better to use other more accurate methods.
  3. Replace the more robust and efficient resampling algorithms to improve the running time and accuracy.

About

A simple particle filter implementation for object tracking

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published