A mixture of Gaussians adaptive updater based on Stauffer-Grimson. More...
#include <vpdt_update_mog.h>

Public Types | |
| typedef mog_type::component_type | gaussian_type |
| typedef gaussian_type::field_type | F |
| typedef vpdt_field_traits< F >::scalar_type | T |
| typedef mog_type | distribution_type |
| typedef mog_type::field_type | field_type |
Public Member Functions | |
| vpdt_mog_sg_updater (const gaussian_type &init_gaussian, unsigned int max_cmp=5, T g_thresh=T(2.5), T alpha=T(0.1), T init_weight=T(0.1), T min_stdev=T(0.16)) | |
| Constructor. More... | |
| void | operator() (mog_type &mix, const F &sample) const |
| The main function. More... | |
Protected Member Functions | |
| void | update (mog_type &mix, const F &sample, T alpha) const |
| Update the mixture with sample using learning rate alpha. More... | |
| void | insert (mog_type &mixture, const F &sample, T init_weight) const |
| insert a sample in the mixture. More... | |
| unsigned int | match (const mog_type &mix, const F &sample, const T >2, T &sqr_dist) const |
| Return the index of the first Gaussian within the threshold distance. More... | |
Protected Attributes | |
| T | gt2_ |
| Squared Gaussian Mahalanobis distance threshold. More... | |
| T | alpha_ |
| The learning rate. More... | |
| T | init_weight_ |
| The initial weight for added Gaussians. More... | |
| T | min_var_ |
| Minimum variance allowed in each Gaussian component. More... | |
| gaussian_type | init_gaussian_ |
| A model for new Gaussians inserted. More... | |
| unsigned int | max_components_ |
| The maximum number of components in the mixture. More... | |
A mixture of Gaussians adaptive updater based on Stauffer-Grimson.
Using the S-G approximation to prior probabilities This algorithm is based on: C. Stauffer and W.E.L. Grimson, "Adaptive background mixture models for real-time tracking", CVPR 1999
Definition at line 98 of file vpdt_update_mog.h.
|
inherited |
Definition at line 28 of file vpdt_update_mog.h.
| typedef gaussian_type::field_type vpdt_mog_sg_updater< mog_type >::F |
Definition at line 102 of file vpdt_update_mog.h.
|
inherited |
Definition at line 29 of file vpdt_update_mog.h.
| typedef mog_type::component_type vpdt_mog_sg_updater< mog_type >::gaussian_type |
Definition at line 101 of file vpdt_update_mog.h.
| typedef vpdt_field_traits<F>::scalar_type vpdt_mog_sg_updater< mog_type >::T |
Definition at line 103 of file vpdt_update_mog.h.
|
inline |
Constructor.
Definition at line 106 of file vpdt_update_mog.h.
|
inlineprotectedinherited |
insert a sample in the mixture.
| sample | A Gaussian is inserted with a mean of sample and a covariance from init_gaussian_ |
| init_weight | The normalized weight the resulting sample should have after insertion |
Definition at line 47 of file vpdt_update_mog.h.
|
inlineprotectedinherited |
Return the index of the first Gaussian within the threshold distance.
The threshold gt2 is on the square distance. The computed square distance is returned by reference in sqr_dist If there are no matches return the number of components (last index + 1)
Definition at line 73 of file vpdt_update_mog.h.
|
inline |
The main function.
Definition at line 117 of file vpdt_update_mog.h.
|
inlineprotected |
Update the mixture with sample using learning rate alpha.
Definition at line 125 of file vpdt_update_mog.h.
|
protected |
The learning rate.
Definition at line 153 of file vpdt_update_mog.h.
|
protected |
Squared Gaussian Mahalanobis distance threshold.
Definition at line 151 of file vpdt_update_mog.h.
|
mutableprotectedinherited |
A model for new Gaussians inserted.
Definition at line 87 of file vpdt_update_mog.h.
|
protected |
The initial weight for added Gaussians.
Definition at line 155 of file vpdt_update_mog.h.
|
protectedinherited |
The maximum number of components in the mixture.
Definition at line 89 of file vpdt_update_mog.h.
|
protected |
Minimum variance allowed in each Gaussian component.
Definition at line 157 of file vpdt_update_mog.h.
1.8.15