1 #ifndef MTF_HOMOGRAPHY_H     2 #define MTF_HOMOGRAPHY_H     4 #include "ProjectiveBase.h"    13     bool corner_based_sampling;
    17         bool _normalized_init,
    18         bool _corner_based_sampling, 
bool _debug_mode);
    26     using ProjectiveBase::setCorners;
    28     Homography( 
const ParamType *params_in = 
nullptr);
    29     void compositionalUpdate(
const VectorXd& state_update) 
override;
    31     void cmptInitPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &am_jacobian) 
override;
    32     void cmptPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &am_jacobian) 
override;
    33     void cmptWarpedPixJacobian(MatrixXd &jacobian_prod,
    34         const PixGradT &pix_jacobian) 
override;
    36     void cmptApproxPixJacobian(MatrixXd &jacobian_prod,
    37         const PixGradT &pix_jacobian) 
override;
    38     void estimateWarpFromCorners(VectorXd &state_update, 
const CornersT &in_corners,
    39         const CornersT &out_corners) 
override;
    40     void cmptInitPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    41         const PixGradT &pix_grad) 
override;
    43     void cmptWarpedPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    44         const PixGradT &pix_grad) 
override;
    45     void cmptWarpedPixHessian2(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    46         const PixGradT &pix_grad);
    47     void cmptApproxPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    48         const PixGradT &pix_grad) 
override;
    49     void cmptPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    50         const PixGradT &pix_grad) 
override;
    52     void setCorners(
const CornersT& corners) 
override;
    53     void estimateWarpFromPts(VectorXd &state_update, vector<uchar> &mask,
    54         const vector<cv::Point2f> &in_pts, 
const vector<cv::Point2f> &out_pts,
    57     void invertState(VectorXd& inv_state, 
const VectorXd& state) 
override;
    59     void updateGradPts(
double grad_eps) 
override;
    60     void updateHessPts(
double hess_eps) 
override;
    62     void getInitPixGrad(Matrix2Xd &jacobian_prod, 
int pix_id) 
override;
    63     void getCurrPixGrad(Matrix2Xd &jacobian_prod, 
int pix_id) 
override;
    65     void generatePerturbation(VectorXd &state_update) 
override;
    66     void compositionalRandomWalk(VectorXd &perturbed_state,
    67         const VectorXd &base_state) 
override;
    68     void compositionalAutoRegression1(VectorXd &perturbed_state, VectorXd &perturbed_ar,
    69         const VectorXd &base_state, 
const VectorXd &base_ar, 
double a = 0.5) 
override;
    71     void getWarpFromState(Matrix3d &warp_mat, 
const VectorXd& ssm_state) 
override;
    72     void getStateFromWarp(VectorXd &state_vec, 
const Matrix3d& warp_mat) 
override;
    75     bool supportsSPI()
 override{ 
return true; }
    83     CornersT disturbed_corners;
 Definition: Homography.h:22
 
Definition: StateSpaceModel.h:35
 
Definition: Homography.h:8
 
Definition: SSMEstimatorParams.h:9
 
base class for all SSMs that can be expressed by homogeneous multiplication with a 3x3 projective tra...
Definition: ProjectiveBase.h:14