Bayes Filters Library
|
#include <EstimatesExtraction.h>
Public Member Functions | |
EstimatesExtraction (const std::size_t linear_size) noexcept | |
EstimatesExtraction (const std::size_t linear_size, const std::size_t circular_size) noexcept | |
EstimatesExtraction (EstimatesExtraction &&estimate_extraction) noexcept | |
EstimatesExtraction & | operator= (EstimatesExtraction &&estimate_extraction) noexcept |
~EstimatesExtraction () noexcept=default | |
bool | setMethod (const ExtractionMethod &extraction_method) |
bool | setMobileAverageWindowSize (const int window) |
std::pair< bool, Eigen::VectorXd > | extract (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights) |
std::pair< bool, Eigen::VectorXd > | extract (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities) |
bool | clear () |
std::vector< std::string > | getInfo () const |
Protected Types | |
enum | Statistics { Statistics::mean, Statistics::mode, Statistics::map } |
Protected Member Functions | |
Eigen::VectorXd | mean (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights) const |
Eigen::VectorXd | mode (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights) const |
Eigen::VectorXd | map (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities) const |
Return an approximatation of the MAP (maximum a posteriori) estimate from a running particle filter. More... | |
Eigen::VectorXd | simpleAverage (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities, const Statistics &base_est_ext) |
Eigen::VectorXd | weightedAverage (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities, const Statistics &base_est_ext) |
Eigen::VectorXd | exponentialAverage (const Eigen::Ref< const Eigen::MatrixXd > &particles, const Eigen::Ref< const Eigen::VectorXd > &weights, const Eigen::Ref< const Eigen::VectorXd > &previous_weights, const Eigen::Ref< const Eigen::VectorXd > &likelihoods, const Eigen::Ref< const Eigen::MatrixXd > &transition_probabilities, const Statistics &base_est_ext) |
Protected Attributes | |
ExtractionMethod | extraction_method_ = ExtractionMethod::emode |
HistoryBuffer | hist_buffer_ |
Eigen::VectorXd | sm_weights_ |
Eigen::VectorXd | wm_weights_ |
Eigen::VectorXd | em_weights_ |
std::size_t | linear_size_ |
std::size_t | circular_size_ |
std::size_t | state_size_ |
Definition at line 23 of file EstimatesExtraction.h.
|
strong |
Enumerator | |
---|---|
mean | |
smean | |
wmean | |
emean | |
mode | |
smode | |
wmode | |
emode | |
map | |
smap | |
wmap | |
emap |
Definition at line 36 of file EstimatesExtraction.h.
|
strongprotected |
Enumerator | |
---|---|
mean | |
mode | |
map |
Definition at line 67 of file EstimatesExtraction.h.
|
noexcept |
Definition at line 16 of file EstimatesExtraction.cpp.
|
noexcept |
Definition at line 21 of file EstimatesExtraction.cpp.
|
noexcept |
Definition at line 29 of file EstimatesExtraction.cpp.
|
defaultnoexcept |
bool EstimatesExtraction::clear | ( | ) |
Definition at line 181 of file EstimatesExtraction.cpp.
|
protected |
Definition at line 332 of file EstimatesExtraction.cpp.
References bfl::utils::log_sum_exp().
std::pair<bool, Eigen::VectorXd> bfl::EstimatesExtraction::extract | ( | const Eigen::Ref< const Eigen::MatrixXd > & | particles, |
const Eigen::Ref< const Eigen::VectorXd > & | weights | ||
) |
std::pair<bool, Eigen::VectorXd> bfl::EstimatesExtraction::extract | ( | const Eigen::Ref< const Eigen::MatrixXd > & | particles, |
const Eigen::Ref< const Eigen::VectorXd > & | weights, | ||
const Eigen::Ref< const Eigen::VectorXd > & | previous_weights, | ||
const Eigen::Ref< const Eigen::VectorXd > & | likelihoods, | ||
const Eigen::Ref< const Eigen::MatrixXd > & | transition_probabilities | ||
) |
std::vector< std::string > EstimatesExtraction::getInfo | ( | ) | const |
Definition at line 187 of file EstimatesExtraction.cpp.
|
protected |
Return an approximatation of the MAP (maximum a posteriori) estimate from a running particle filter.
The approximation is taken from: Saha, S., Boers, Y., Driessen, H., Mandal, P. K., Bagchi, A. (2009), 'Particle Based MAP State Estimation: A Comparison.', 12th International Conference on Information Fusion, Seattle, WA, USA, July 6-9, 2009
The vector 'particles' contains the position of the particles at the current time step k. The vector 'previous_weights' contains the weights at the previous time step (k - 1). The vector 'likelihoods' containts the likelihoods at the current time step k. The matrix 'transition_probabilities' contains, in each entry (i, j), the transition probability between the i-th particle at time k and the j-th particle at time (k-1).
|
protected |
|
protected |
|
noexcept |
Definition at line 43 of file EstimatesExtraction.cpp.
References extraction_method_.
bool EstimatesExtraction::setMethod | ( | const ExtractionMethod & | extraction_method | ) |
Definition at line 65 of file EstimatesExtraction.cpp.
bool EstimatesExtraction::setMobileAverageWindowSize | ( | const int | window | ) |
Definition at line 73 of file EstimatesExtraction.cpp.
|
protected |
Definition at line 266 of file EstimatesExtraction.cpp.
|
protected |
Definition at line 296 of file EstimatesExtraction.cpp.
References bfl::utils::log_sum_exp().
|
protected |
Definition at line 103 of file EstimatesExtraction.h.
|
protected |
Definition at line 65 of file EstimatesExtraction.h.
|
protected |
Definition at line 57 of file EstimatesExtraction.h.
Referenced by operator=().
|
protected |
Definition at line 59 of file EstimatesExtraction.h.
|
protected |
Definition at line 101 of file EstimatesExtraction.h.
|
protected |
Definition at line 61 of file EstimatesExtraction.h.
|
protected |
Definition at line 105 of file EstimatesExtraction.h.
|
protected |
Definition at line 63 of file EstimatesExtraction.h.