Address review comments, docs only.

release/4.3a0
Frank Dellaert 2021-08-29 19:38:20 -04:00
parent 372ae27a5e
commit c0262b074c
4 changed files with 11 additions and 3 deletions

View File

@ -35,7 +35,8 @@ namespace gtsam {
* The main building block for visual SLAM.
* @addtogroup SLAM
*/
template<class POSE=Pose3, class LANDMARK=Point3, class CALIBRATION = Cal3_S2>
template <class POSE = Pose3, class LANDMARK = Point3,
class CALIBRATION = Cal3_S2>
class GenericProjectionFactor: public NoiseModelFactor2<POSE, LANDMARK> {
protected:

View File

@ -2,7 +2,7 @@
## GenericProjectionFactor (defined in ProjectionFactor.h)
Non-linear factor for a constraint derived from a 2D measurement.
Non-linear factor that minimizes the re-projection error with respect to a 2D measurement.
The calibration is assumed known and passed in the constructor.
The main building block for visual SLAM.
@ -14,6 +14,7 @@ Templated on
## SmartFactors
These are "structure-less" factors, i.e., rather than introducing a new variable for an observed 3D point or landmark, a single factor is created that provides a multi-view constraint on several poses and/or cameras.
While one typically adds multiple GenericProjectionFactors (one for each observation of a landmark), a SmartFactor collects all measurements for a landmark, i.e., the factor graph contains 1 smart factor per landmark.
### SmartFactorBase
@ -46,6 +47,11 @@ Same as `SmartProjectionPoseFactor`, except:
TODO: DimPose and ZDim are hardcoded. Copy/paste from `SmartProjectionPoseFactor`. Unclear what the use case is.
## Linearized Smart Factors
The factors below are less likely to be relevant to the user, but result from using the non-linear smart factors above.
### RegularImplicitSchurFactor
A specialization of a GaussianFactor to structure-less SFM, which is very fast in a conjugate gradient (CG) solver.

View File

@ -44,7 +44,7 @@ namespace gtsam {
* factors. The methods take a CameraSet<CAMERA> argument and the value of a
* point, which is kept in the derived class.
*
* @tparam CAMERA should behave like a set of PinholeCamera.
* @tparam CAMERA should behave like a PinholeCamera.
*/
template<class CAMERA>
class SmartFactorBase: public NonlinearFactor {

View File

@ -24,6 +24,7 @@ TODO: Again, as no template arguments, we could move a lot to .cpp file.
### SmartStereoProjectionFactorPP
Similar `SmartStereoProjectionPoseFactor` but *additionally* adds an array of body_P_cam poses. The dimensions seem to be hardcoded and the types defined in the SmartFactorBase have been re-defined.
The body_P_cam poses are optimized here!
TODO: See above, same issues as `SmartStereoProjectionPoseFactor`.