4 #include "SearchMethod.h" 8 #define _REC_INIT_ERR_GRAD false 9 #define _DEBUG_MODE false 22 bool _rec_init_err_grad,
bool _debug_mode){
23 max_iters = _max_iters;
25 rec_init_err_grad = _rec_init_err_grad;
26 debug_mode = _debug_mode;
29 max_iters(_MAX_ITERS),
34 max_iters = params->max_iters;
35 epsilon = params->epsilon;
36 rec_init_err_grad = params->rec_init_err_grad;
37 debug_mode = params->debug_mode;
43 MatrixXd init_pix_jacobian, curr_pix_jacobian, mean_pix_jacobian;
44 RowVectorXd similarity_jacobian;
48 SSMData(
int n_pix,
int state_vec_size){
49 resize(n_pix, state_vec_size);
51 void resize(
int n_pix,
int state_vec_size){
52 ssm_update.resize(state_vec_size);
53 init_pix_jacobian.resize(n_pix, state_vec_size);
54 curr_pix_jacobian.resize(n_pix, state_vec_size);
55 mean_pix_jacobian.resize(n_pix, state_vec_size);
56 similarity_jacobian.resize(state_vec_size);
57 hessian.resize(state_vec_size, state_vec_size);
61 template<
class AM,
class SSM,
class SSM2>
83 typedef typename SSM2::ParamType SSM2Params;
86 HESM(
const ParamType *nesm_params = NULL,
88 SSM2Params *ssm2_params = NULL);
90 void initialize(
const cv::Mat &corners)
override;
91 void update()
override;
92 template<
class _SSM>
void updateSSM(_SSM *_ssm,
SSMData &_data);
102 Matrix24d prev_corners;
111 Matrix3d ssm2_warp_update;
126 MatrixXd _init_jacobian, _curr_jacobian;
double epsilon
maximum iterations of the HESM algorithm to run for each frame
Definition: HESM.h:15
bool rec_init_err_grad
maximum L1 norm of the state update vector at which to stop the iterations
Definition: HESM.h:16
Definition: StateSpaceModel.h:35
bool debug_mode
decides if the gradient of the error vector w.r.t.
Definition: HESM.h:18
Definition: AMParams.h:12
Definition: SearchMethod.h:10
HESMParams(int _max_iters, double _epsilon, bool _rec_init_err_grad, bool _debug_mode)
decides whether logging data will be printed for debugging purposes;
Definition: HESM.h:21