31 #include <visp3/rbt/vpRBFeatureTracker.h>
33 #if defined(VISP_HAVE_SIMDLIB)
34 #include <Simd/SimdLib.h>
61 #if defined(VISP_HAVE_SIMDLIB)
64 const unsigned int N = interaction.
getRows();
66 for (
unsigned int i = 0; i < 6; ++i) {
68 for (
unsigned int j = 0; j < N; ++j) {
69 ssum += interaction[j][i] * error[j];
79 double sigma2 = (covDiagE.
t() * covDiag * e) / ((
double)e.
getRows());
80 return (DJ.
t() * covDiag * DJ).pseudoInverse() * sigma2;
unsigned int getCols() const
Type * data
Address of the first element of the data array.
unsigned int getRows() const
Implementation of column vector and the associated operations.
void resize(unsigned int i, bool flagNullify=true)
error that can be emitted by the vpMatrix class and its derivatives
@ incorrectMatrixSizeError
Incorrect matrix size.
Implementation of a matrix and operations on matrices.
bool m_enableDisplay
Whether VVS has converged, should be updated every VVS iteration.
static vpMatrix computeCovarianceMatrix(const vpMatrix &A, const vpColVector &b, const vpMatrix &W)
vpColVector m_covWeightDiag
Covariance matrix.
double m_userVvsWeight
Number of considered features.
static void computeJTR(const vpMatrix &interaction, const vpColVector &error, vpColVector &JTR)
bool m_vvsConverged
User-defined weight for this specific type of feature.
virtual void updateCovariance(const double lambda)
Update the covariance matrix.
unsigned m_numFeatures
Error weights.
vpMatrix m_cov
Right side of the Gauss Newton minimization.