4 #include "SearchMethod.h" 6 #define IALK2_MAX_ITERS 10 7 #define IALK2_EPSILON 0.01 8 #define IALK2_HESS_TYPE 0 9 #define IALK2_SEC_ORD_HESS false 10 #define IALK2_DEBUG_MODE false 15 enum class HessType{ InitialSelf, CurrentSelf, Std };
25 HessType _hess_type,
bool _sec_ord_hess,
28 max_iters = _max_iters;
30 hess_type = _hess_type;
31 sec_ord_hess = _sec_ord_hess;
32 debug_mode = _debug_mode;
35 max_iters(IALK2_MAX_ITERS),
37 hess_type(static_cast<HessType>(IALK2_HESS_TYPE)),
38 sec_ord_hess(IALK2_SEC_ORD_HESS),
39 debug_mode(IALK2_DEBUG_MODE){
41 max_iters = params->max_iters;
42 epsilon = params->epsilon;
43 hess_type = params->hess_type;
44 sec_ord_hess = params->sec_ord_hess;
45 debug_mode = params->debug_mode;
50 template<
class AM,
class SSM>
55 typedef typename ParamType::HessType HessType;
67 IALK2(
const ParamType *iclk_params = NULL,
70 void initialize(
const cv::Mat &corners)
override;
71 void update()
override;
82 MatrixXd init_pix_jacobian, curr_pix_jacobian;
84 MatrixXd init_pix_hessian, curr_pix_hessian;
86 Matrix24d prev_corners;
87 VectorXd ssm_update, inv_update;
89 ClockType start_time, end_time;
90 std::vector<double> proc_times;
91 std::vector<char*> proc_labels;
94 void updatePixJacobian();
95 void updatePixHessian();
double epsilon
maximum iterations of the IALK2 algorithm to run for each frame
Definition: IALK2.h:18
Definition: StateSpaceModel.h:35
HessType hess_type
maximum L1 norm of the state update vector at which to stop the iterations
Definition: IALK2.h:19
Definition: AMParams.h:12
IALK2Params(int _max_iters, double _epsilon, HessType _hess_type, bool _sec_ord_hess, bool _debug_mode)
decides whether logging data will be printed for debugging purposes;
Definition: IALK2.h:24
Definition: SearchMethod.h:10