44 FeatureBA(
const cv::KeyPoint & kptIn,
const float & depthIn = 0.0f,
const cv::Mat & descriptorIn = cv::Mat()):
73 void getConnectedGraph(
75 const std::map<int, Transform> & posesIn,
76 const std::multimap<int, Link> & linksIn,
77 std::map<int, Transform> & posesOut,
78 std::multimap<int, Link> & linksOut)
const;
83 virtual Type type()
const = 0;
105 virtual void parseParameters(
const ParametersMap & parameters);
107 std::map<int, Transform> optimizeIncremental(
109 const std::map<int, Transform> & poses,
110 const std::multimap<int, Link> & constraints,
111 std::list<std::map<int, Transform> > * intermediateGraphes = 0,
112 double * finalError = 0,
113 int * iterationsDone = 0);
115 std::map<int, Transform> optimize(
117 const std::map<int, Transform> & poses,
118 const std::multimap<int, Link> & constraints,
119 std::list<std::map<int, Transform> > * intermediateGraphes = 0,
120 double * finalError = 0,
121 int * iterationsDone = 0);
124 virtual std::map<int, Transform> optimize(
126 const std::map<int, Transform> & poses,
127 const std::multimap<int, Link> & constraints,
128 cv::Mat & outputCovariance,
129 std::list<std::map<int, Transform> > * intermediateGraphes = 0,
130 double * finalError = 0,
131 int * iterationsDone = 0);
132 virtual std::map<int, Transform> optimizeBA(
134 const std::map<int, Transform> & poses,
135 const std::multimap<int, Link> & links,
136 const std::map<int, CameraModel> & models,
137 std::map<int, cv::Point3f> & points3DMap,
138 const std::map<
int, std::map<int, FeatureBA> > & wordReferences,
139 std::set<int> * outliers = 0);
141 std::map<int, Transform> optimizeBA(
143 const std::map<int, Transform> & poses,
144 const std::multimap<int, Link> & links,
145 const std::map<int, Signature> & signatures,
146 std::map<int, cv::Point3f> & points3DMap,
147 std::map<
int, std::map<int, FeatureBA> > & wordReferences,
148 bool rematchFeatures =
false);
150 std::map<int, Transform> optimizeBA(
152 const std::map<int, Transform> & poses,
153 const std::multimap<int, Link> & links,
154 const std::map<int, Signature> & signatures,
155 bool rematchFeatures =
false);
160 std::map<int, cv::Point3f> & points3DMap,
161 const std::map<
int, std::map<int, FeatureBA> > & wordReferences,
162 std::set<int> * outliers = 0);
164 void computeBACorrespondences(
165 const std::map<int, Transform> & poses,
166 const std::multimap<int, Link> & links,
167 const std::map<int, Signature> & signatures,
168 std::map<int, cv::Point3f> & points3DMap,
169 std::map<
int, std::map<int, FeatureBA > > & wordReferences,
170 bool rematchFeatures =
false);
174 int iterations = Parameters::defaultOptimizerIterations(),
175 bool slam2d = Parameters::defaultRegForce3DoF(),
176 bool covarianceIgnored = Parameters::defaultOptimizerVarianceIgnored(),
177 double epsilon = Parameters::defaultOptimizerEpsilon(),
178 bool robust = Parameters::defaultOptimizerRobust(),
179 bool priorsIgnored = Parameters::defaultOptimizerPriorsIgnored(),
180 bool landmarksIgnored = Parameters::defaultOptimizerLandmarksIgnored(),
181 float gravitySigma = Parameters::defaultOptimizerGravitySigma());
bool priorsIgnored() const
FeatureBA(const cv::KeyPoint &kptIn, const float &depthIn=0.0f, const cv::Mat &descriptorIn=cv::Mat())
float gravitySigma() const
void setIterations(int iterations)
std::map< std::string, std::string > ParametersMap
bool isCovarianceIgnored() const
void setSlam2d(bool enabled)
bool landmarksIgnored() const
void setPriorsIgnored(bool enabled)
void setLandmarksIgnored(bool enabled)
void setGravitySigma(float value)
void setRobust(bool enabled)
void setCovarianceIgnored(bool enabled)
void setEpsilon(double epsilon)