45 #ifndef BSFM_RANSAC_2D_3D_RANSAC_PROBLEM_H
46 #define BSFM_RANSAC_2D_3D_RANSAC_PROBLEM_H
48 #include <Eigen/Dense>
52 #include "../camera/camera.h"
53 #include "../camera/camera_intrinsics.h"
54 #include "../geometry/point_3d.h"
55 #include "../slam/landmark.h"
56 #include "../slam/observation.h"
57 #include "../matching/feature.h"
58 #include "../util/disallow_copy_and_assign.h"
62 using Eigen::Matrix3d;
63 using Eigen::Vector3d;
73 const std::vector<Observation::Ptr>& matches);
76 virtual double Error()
const;
80 double error_tolerance);
104 virtual std::vector<Observation::Ptr>
SampleData(
unsigned int num_samples);
108 unsigned int num_sampled_previously)
const;
112 const std::vector<Observation::Ptr>& input_data)
const;
std::shared_ptr< Observation > Ptr
virtual std::vector< Observation::Ptr > SampleData(unsigned int num_samples)
virtual bool IsGoodFit(const Observation::Ptr &observation, double error_tolerance)
virtual PnPRansacModel FitModel(const std::vector< Observation::Ptr > &input_data) const
double EvaluateReprojectionError(const Observation::Ptr &observation) const
void SetIntrinsics(CameraIntrinsics &intrinsics)
virtual double Error() const
virtual ~PnPRansacProblem()
CameraIntrinsics intrinsics_
virtual ~PnPRansacModel()
std::vector< Observation::Ptr > matches_
#define DISALLOW_COPY_AND_ASSIGN(TypeName)
virtual std::vector< Observation::Ptr > RemainingData(unsigned int num_sampled_previously) const