4 #include "ProjectiveBase.h" 10 bool iterative_sample_mean;
11 int sample_mean_max_iters;
12 double sample_mean_eps;
16 bool _normalized_init,
bool _iterative_sample_mean,
17 int _sample_mean_max_iters,
double _sample_mean_eps,
28 SL3(
const ParamType *params_in =
nullptr);
30 void setState(
const VectorXd &ssm_state)
override;
31 void setCorners(
const Matrix24d &corners)
override;
32 using StateSpaceModel::setCorners;
33 void compositionalUpdate(
const VectorXd& state_update)
override;
34 void getInitPixGrad(Matrix2Xd &ssm_grad,
int pix_id)
override;
35 void getCurrPixGrad(Matrix2Xd &ssm_grad,
int pix_id)
override;
37 void cmptInitPixJacobian(MatrixXd &jacobian_prod,
const PixGradT &pix_jacobian)
override;
38 void cmptWarpedPixJacobian(MatrixXd &dI_dp,
const PixGradT &dI_dw)
override;
39 void cmptPixJacobian(MatrixXd &jacobian_prod,
const PixGradT &pix_jacobian)
override;
40 void cmptApproxPixJacobian(MatrixXd &jacobian_prod,
41 const PixGradT &pix_jacobian)
override;
43 void estimateWarpFromCorners(VectorXd &state_update,
const Matrix24d &in_corners,
44 const Matrix24d &out_corners)
override;
46 void estimateWarpFromPts(VectorXd &state_update, vector<uchar> &mask,
47 const vector<cv::Point2f> &in_pts,
const vector<cv::Point2f> &out_pts,
50 void invertState(VectorXd& inv_state,
const VectorXd& state)
override{
53 void initializeSampler(
const VectorXd &state_sigma,
54 const VectorXd &state_mean)
override;
55 void setSampler(
const VectorXd &state_sigma,
56 const VectorXd &state_mean)
override;
57 using ProjectiveBase::initializeSampler;
58 VectorXd getSamplerSigma()
override;
59 void generatePerturbation(VectorXd &perturbation)
override;
61 void compositionalRandomWalk(VectorXd &perturbed_state,
62 const VectorXd &base_state)
override;
63 void compositionalAutoRegression1(VectorXd &perturbed_state, VectorXd &perturbed_ar,
64 const VectorXd &base_state,
const VectorXd &base_ar,
double a = 0.5)
override;
65 void estimateMeanOfSamples(VectorXd &sample_mean,
66 const std::vector<VectorXd> &samples,
int n_samples)
override;
71 Matrix3d lieAlgBasis[8];
73 ProjWarpT lie_group_perturbation;
75 Matrix8d covariance_mat;
79 void getWarpFromState(Matrix3d &warp_mat,
const VectorXd& ssm_state)
override;
80 void getStateFromWarp(VectorXd &state_vec,
const Matrix3d& warp_mat)
override;
81 void getLieAlgMatFromState(Matrix3d& lie_alg_mat,
const VectorXd& ssm_state);
82 void getStateFromLieAlgMat(VectorXd &state_vec,
83 const Matrix3d& lie_alg_mat);
Definition: StateSpaceModel.h:35
Definition: SSMEstimatorParams.h:9
SL3Params(const SSMParams *ssm_params, bool _normalized_init, bool _iterative_sample_mean, int _sample_mean_max_iters, double _sample_mean_eps, bool _debug_mode)
value constructor
base class for all SSMs that can be expressed by homogeneous multiplication with a 3x3 projective tra...
Definition: ProjectiveBase.h:14