Skip to content

Latest commit

 

History

History
72 lines (60 loc) · 1.74 KB

README.md

File metadata and controls

72 lines (60 loc) · 1.74 KB

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.