Go to the documentation of this file.
160 std::map<mrpt::vision::TFeatureID, TRelativeFeaturePos>;
172 using BASE = std::vector<TFeatureObservation>;
187 const std::string& filName,
bool skipFirstCommentLine =
false)
const;
227 std::map<TCameraPoseID, TCameraPoseID>* old2new_camIDs =
nullptr,
228 std::map<TLandmarkID, TLandmarkID>* old2new_lmIDs =
nullptr);
240 const std::string& section)
override;
309 TROI(
float x1,
float x2,
float y1,
float y2,
float z1,
float z2)
444 const std::string& section)
override;
447 #define COPY_MEMBER(_m) this->_m = o._m;
448 #define CHECK_MEMBER(_m) this->_m == o._m
568 bool _useOriFilter,
double _oriThreshold,
bool _useDepthFilter,
569 double _th,
double _th2,
const unsigned int& _lwscl1,
570 const unsigned int& _lwscl2,
const unsigned int& _hwscl1,
571 const unsigned int& _hwscl2,
int _searchAreaSize,
int _lsth,
int _tsth,
572 int _minFeaturesToFind,
int _minFeaturesToBeLost)
592 const std::string& section)
override;
595 const std::string& section)
const override;
646 const unsigned int& _basePSize,
const std::vector<double>& _scales,
647 const unsigned int& _comLScl,
const unsigned int& _comHScl,
double _sg1,
648 double _sg2,
double _sg3,
bool _computeDepth,
const bool _blurImage,
649 double _fx,
double _cx,
double _cy,
double _baseline,
650 bool _computeHashCoeffs,
double _cropValue)
666 scales.resize(_scales.size());
667 for (
unsigned int k = 0; k < _scales.size(); ++k)
673 const std::string& section)
override;
676 const std::string& section)
const override;
698 using namespace
mrpt::vision;
uint32_t highScl1
The highest scales in the two features to be taken into account in the matching process.
float maxEDSD_TH
Maximum Euclidean Distance Between SURF Descriptors.
A pair (x,y) of pixel coordinates (subpixel resolution).
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form,...
std::vector< mrpt::poses::CPose3D > TFramePosesVec
A list of camera frames (6D poses), which assumes indexes are unique, consecutive IDs.
@ featLSD
LSD detector, OpenCV's implementation.
uint32_t minFeaturesToFind
The minimum number of features allowed in the system.
double matchingThreshold
The absolute threshold in descriptor distance for considering a match.
float maxEDD_TH
Maximum Euclidean Distance Between SIFT Descriptors.
bool useXRestriction
Whether or not employ the x-coord restriction for finding correspondences (bumblebee camera,...
void operator=(const TMatchingOptions &o)
double maxORB_dist
Maximun distance between ORB descriptors.
@ descORB
Bit-based feature descriptor.
float factor_b
Beta factor for the SUT.
@ featHarris
Harris border and corner detector [HARRIS].
std::map< mrpt::vision::TFeatureID, TRelativeFeaturePos > TRelativeFeaturePosMap
An index of feature IDs and their relative locations.
@ featKLT
Kanade-Lucas-Tomasi feature [SHI'94].
TLandmarkID id_feature
A unique ID of this feature.
#define MRPT_ENUM_TYPE_END()
TSequenceFeatureObservations()=default
@ descPolarImages
Polar image descriptor.
@ featFAST
FAST feature detector, OpenCV's implementation ("Faster and better: A machine learning approach to...
void loadFromTextFile(const std::string &filName)
Load from a text file, in the format described in saveToTextFile.
float min_disp
Disparity limits, see also 'useDisparityLimits'.
float rCC_TH
Maximum Ratio Between the two highest CC values.
@ descLATCH
LATCH Line descriptor.
double SAD_RATIO
Boundary Ratio between the two highest SAD.
@ status_OOB
Feature fell Out Of Bounds (out of the image limits, too close to image borders)
Struct containing the output after matching multi-resolution SIFT-like descriptors.
float factor_a
Alpha factor for SUT.
TROI(float x1, float x2, float y1, float y2, float z1, float z2)
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.
MRPT_FILL_ENUM(featNotDefined)
Copyright (C) 2010 Hauke Strasdat Imperial College London Copyright (c) 2005-2020,...
float stdDisp
Standard deviation of the error in disparity computation.
uint32_t lowScl1
The lowest scales in the two features to be taken into account in the matching process.
bool computeDepth
Whether or not to compute the depth of the feature.
@ descBLD
BLD Line descriptor.
std::vector< int > secondListCorrespondences
Contains the indexes within the first list corresponding to the second one.
std::vector< double > firstListDistance
Contains the distances between the descriptors.
mrpt::math::CMatrixDouble33 F
std::vector< mrpt::math::TPoint3D > TLandmarkLocationsVec
A list of landmarks (3D points), which assumes indexes are unique, consecutive IDs.
@ featSURF
Speeded Up Robust Feature [BAY'06].
Struct containing the options when computing the multi-resolution SIFT-like descriptors.
float epipolar_TH
Epipolar constraint (rows of pixels)
float factor_k
K factor for the UT.
TMultiResDescMatchOptions()=default
Default constructor.
bool useDepthFilter
Whether or not use the filter based on the depth test.
float EDSD_RATIO
Boundary Ratio between the two lowest SURF EDSD.
void loadFromConfigFile(const mrpt::config::CConfigFileBase &cfg, const std::string §ion) override
Load all the params from a config source, in the format described in saveToConfigFile()
Struct containing the options when matching multi-resolution SIFT-like descriptors.
@ featORB
ORB detector and descriptor, OpenCV's implementation.
uint64_t TLandmarkID
Unique IDs for landmarks.
A complete sequence of observations of features from different camera frames (poses).
mrpt::vision::TStereoCalibResults out
bool blurImage
Whether or not to blur the image previously to compute the descriptors.
@ descSURF
SURF descriptors.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A structure for storing a 3D ROI.
TMatchingMethod
Method for propagating the feature's image coordinate uncertainty into 3D space.
size_t xMin
X coordinate limits [0,imageWidth)
@ mmDescriptorSIFT
Matching by Euclidean distance between SIFT descriptors.
@ mmDescriptorORB
Matching by Hamming distance between ORB descriptors.
#define MRPT_ENUM_TYPE_BEGIN(_ENUM_TYPE_WITH_NS)
bool useEpipolarRestriction
Whether or not take into account the epipolar restriction for finding correspondences.
bool useDisparityLimits
Whether or not use limits (min,max) for the disparity, see also 'min_disp, max_disp'.
bool parallelOpticalAxis
Whether or not the stereo rig has the optical axes parallel.
std::map< TLandmarkID, mrpt::math::TPoint3D > TLandmarkLocationsMap
A list of landmarks (3D points) indexed by unique IDs.
TRelativeFeaturePos(const mrpt::vision::TCameraPoseID _id_frame_base, const mrpt::math::TPoint3D &_pos)
void saveToTextFile(const std::string &filName, bool skipFirstCommentLine=false) const
Saves all entries to a text file, with each line having this format: #FRAME_ID #FEAT_ID #PIXEL_X #PIX...
mrpt::math::CMatrixDouble33 K
Intrinsic parameters.
TSequenceFeatureObservations(size_t size)
std::vector< int > firstListFoundScales
Contains the scales of the first list where the correspondence was found.
float minDCC_TH
Minimum Difference Between the Maximum Cross Correlation Values.
uint64_t TFeatureID
Definition of a feature ID.
@ mmDescriptorSURF
Matching by Euclidean distance between SURF descriptors.
TMultiResDescOptions()
Default constructor.
double oriThreshold
The threshold for the orientation test.
A structure for defining a ROI within an image.
@ Prop_SUT
Uncertainty propagation through the Scaled Unscented Transformation.
TMultiResDescMatchOptions(bool _useOriFilter, double _oriThreshold, bool _useDepthFilter, double _th, double _th2, const unsigned int &_lwscl1, const unsigned int &_lwscl2, const unsigned int &_hwscl1, const unsigned int &_hwscl2, int _searchAreaSize, int _lsth, int _tsth, int _minFeaturesToFind, int _minFeaturesToBeLost)
void compressIDs(std::map< TCameraPoseID, TCameraPoseID > *old2new_camIDs=nullptr, std::map< TLandmarkID, TLandmarkID > *old2new_lmIDs=nullptr)
Rearrange frame and feature IDs such as they start at 0 and there are no gaps.
double fx
Intrinsic stereo pair parameters for computing the depth of the feature.
double matchingRatioThreshold
The ratio between the two lowest distances threshold for considering a match.
uint64_t TCameraPoseID
Unique IDs for camera frames (poses)
@ status_LOST
Unable to track this feature (mismatch is too high for the given tracking window: lack of texture?...
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form,...
@ Prop_Linear
Linear propagation of the uncertainty.
@ status_IDLE
Inactive (right after detection, and before being tried to track)
TRelativeFeaturePos()=default
@ Prop_UT
Uncertainty propagation through the Unscented Transformation.
This class allows loading and storing values and vectors of different types from a configuration text...
double maxSAD_TH
Minimum Euclidean Distance Between Sum of Absolute Differences.
mrpt::img::TPixelCoordf px
The pixel coordinates of the observed feature.
One relative feature observation entry, used with some relative bundle-adjustment functions.
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
@ featAKAZE
AKAZE detector, OpenCV's implementation.
size_t size(const MATRIXLIKE &m, const int dim)
std::vector< int > firstListCorrespondences
Contains the indexes within the second list corresponding to the first one.
float stdPixel
Standard deviation of the error in feature detection.
bool saveAsSBAFiles(const TLandmarkLocationsVec &pts, const std::string &pts_file, const TFramePosesVec &cams, const std::string &cams_file) const
Save the list of observations + the point locations + the camera frame poses to a pair of files in th...
bool enable_robust_1to1_match
Whether or not only permit matches that are consistent from left->right and right->left.
bool operator==(const TMatchingOptions &o) const
@ descSpinImages
Intensity-domain spin image descriptors.
std::vector< double > scales
The set of scales relatives to the base patch.
uint32_t timesSeenThreshold
The minimum number of frames for a certain feature to be considered stable.
@ featBeacon
A especial case: this is not an image feature, but a 2D/3D beacon (used for range-only SLAM from mrpt...
bool addMatches
Whether or not to add the matches found into the input matched list (if false the input list will be ...
uint32_t minFeaturesToBeLost
The minimum number of features allowed in the system to not be considered to be lost.
@ mmSAD
Matching by sum of absolute differences of the image patches.
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form,...
float minCC_TH
Minimum Value of the Cross Correlation.
@ featSIFT
Scale Invariant Feature Transform [LOWE'04].
TKeyPointMethod
Types of key point detectors.
std::map< TCameraPoseID, mrpt::poses::CPose3D > TFramePosesMap
A list of camera frames (6D poses) indexed by unique IDs.
TStereoSystemParams()
Initilization of default parameters.
TDescriptorType
The bitwise OR combination of values of TDescriptorType are used in CFeatureExtraction::computeDescri...
TFeatureObservation()=default
@ descLogPolarImages
Log-Polar image descriptor.
One feature observation entry, used within sequences with TSequenceFeatureObservations.
uint32_t comLScl
The subset of scales for which to compute the descriptors.
double sg1
The sigmas for the Gaussian kernels.
@ descSIFT
SIFT descriptors.
@ status_TRACKED
Feature correctly tracked.
TCameraPoseID id_frame
A unique ID of a "frame" (camera position) from where the feature was observed.
double maxDepthThreshold
The maximum allowed depth for the matching.
TFeatureObservation(const TLandmarkID _id_feature, const TCameraPoseID _id_frame, const mrpt::img::TPixelCoordf &_px)
@ mmCorrelation
Matching by cross correlation of the image patches.
TMatchingOptions()
Intrinsic parameters of the stereo rig.
float maxZ
Maximum allowed distance.
bool useOriFilter
Whether or not use the filter based on orientation test.
Parameters associated to a stereo system.
mrpt::math::TPoint3D pos
The (x,y,z) location of the feature, wrt to the camera frame id_frame_base.
TImageROI(size_t x1, size_t x2, size_t y1, size_t y2)
@ featNotDefined
Non-defined feature (also used for Occupancy features)
bool computeHashCoeffs
Whether or not compute the coefficients for mantaining a HASH table of descriptors (for relocalizatio...
uint32_t lastSeenThreshold
The allowed number of frames since a certain feature was seen for the last time.
TMultiResDescOptions(const unsigned int &_basePSize, const std::vector< double > &_scales, const unsigned int &_comLScl, const unsigned int &_comHScl, double _sg1, double _sg2, double _sg3, bool _computeDepth, const bool _blurImage, double _fx, double _cx, double _cy, double _baseline, bool _computeHashCoeffs, double _cropValue)
TUnc_Prop_Method
Method for propagating the feature's image coordinate uncertainty into 3D space.
bool hasFundamentalMatrix
Whether or not there is a fundamental matrix.
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string §ion) override
Load all the params from a config source, in the format described in saveToConfigFile()
uint32_t searchAreaSize
Size of the squared area where to search for a match.
float maxY
Maximum allowed height.
uint32_t basePSize
The size of the base patch.
bool estimateDepth
Whether or not estimate the 3D position of the real features for the matches (only with parallelOptic...
void saveToConfigFile(mrpt::config::CConfigFileBase &cfg, const std::string §ion) const override
This method saves the options to a ".ini"-like file or memory-stored string list.
size_t removeFewObservedFeatures(size_t minNumObservations=3)
Remove all those features that don't have a minimum number of observations from different camera fram...
TMultiResMatchingOutput()=default
TMatchingMethod matching_method
Matching method.
mrpt::math::CMatrixDouble33 F
Stereo Fundamental matrix.
float minZ
Maximum allowed distance.
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form,...
void saveToConfigFile(mrpt::config::CConfigFileBase &cfg, const std::string §ion) const override
This method saves the options to a ".ini"-like file or memory-stored string list.
mrpt::vision::TCameraPoseID id_frame_base
The ID of the camera frame which is the coordinate reference of pos.
void decimateCameraFrames(const size_t decimate_ratio)
Remove all but one out of decimate_ratio camera frame IDs from the list (eg: from N camera pose IDs a...
TUnc_Prop_Method uncPropagation
std::vector< TFeatureObservation > BASE
float EDD_RATIO
Boundary Ratio between the two lowest EDD.
size_t yMin
Y coordinate limits [0,imageHeight)
double cropValue
The SIFT-like descriptor is cropped at this value during normalization.
@ descAny
Used in some methods to mean "any of the present descriptors".
A structure containing options for the matching.
Page generated by Doxygen 1.8.17 for MRPT 2.0.3 at Fri May 29 13:06:46 UTC 2020 | |