| 
    MRPT
    2.0.0
    
   | 
 
Classes for computer vision, detectors, features, etc.
Copyright (C) 2010 Hauke Strasdat Imperial College London Copyright (c) 2005-2020, Individual contributors, see AUTHORS file See: https://www.mrpt.org/Authors - All rights reserved.
mrpt_vision_grp
bundle_adjuster.h is part of RobotVision.
RobotVision is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
RobotVision is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU General Public License and the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Namespaces | |
| detail | |
| pinhole | |
| Functions related to pinhole camera models, point projections, etc.  | |
| pnp | |
| Perspective n Point (PnP) Algorithms toolkit for MRPT mrpt_vision_grp.  | |
Classes | |
| class | CDifodo | 
| This abstract class implements a method called "Difodo" to perform Visual odometry with range cameras.  More... | |
| class | CFeature | 
| A generic 2D feature from an image, extracted with CFeatureExtraction Each feature may have one or more descriptors (see descriptors), in addition to an image patch.  More... | |
| class | CFeatureExtraction | 
| The central class from which images can be analyzed in search of different kinds of interest points and descriptors computed for them.  More... | |
| class | CFeatureLines | 
| This class wraps different line detectors and descriptors from OpenCV.  More... | |
| class | CFeatureList | 
| A list of visual features, to be used as output by detectors, as input/output by trackers, etc.  More... | |
| class | CFeatureListKDTree | 
| Helper class: KD-tree search class for vector<KeyPoint>: Call mark_as_outdated() to force rebuilding the kd-tree after modifying the linked feature list.  More... | |
| struct | CFeatureTracker_KL | 
| Track a set of features from old_img -> new_img using sparse optimal flow (classic KL method).  More... | |
| struct | CGenericFeatureTracker | 
| A virtual interface for all feature trackers, implementing the part of feature tracking that is common to any specific tracker implementation.  More... | |
| class | CImagePyramid | 
| Holds and builds a pyramid of images: starting with an image at full resolution (octave=1), it builds a number of half-resolution images: octave=2 at 1/2 , octave=3 at 1/2^2, octave=N at 1/2^(N-1).  More... | |
| class | CMatchedFeatureList | 
| A list of features.  More... | |
| class | CStereoRectifyMap | 
| Use this class to rectify stereo images if the same distortion maps are reused over and over again.  More... | |
| class | CUndistortMap | 
| Use this class to undistort monocular images if the same distortion map is used over and over again.  More... | |
| class | CVideoFileWriter | 
| An output stream which takes a sequence of images and writes a video file in any of a given of compatible formats.  More... | |
| struct | JacData | 
| struct | KeypointResponseSorter | 
| A helper struct to sort keypoints by their response: It can be used with these types:  More... | |
| struct | lm_stat_t | 
| struct | TFeatureObservation | 
| One feature observation entry, used within sequences with TSequenceFeatureObservations.  More... | |
| struct | TImageCalibData | 
| Data associated to each image in the calibration process mrpt::vision::checkerBoardCameraCalibration (All the information can be left empty and will be filled up in the calibration method).  More... | |
| struct | TImageROI | 
| A structure for defining a ROI within an image.  More... | |
| struct | TImageStereoCalibData | 
| Data associated to each stereo image in the calibration process mrpt::vision::checkerBoardCameraCalibration (All the information can be left empty and will be filled up in the calibration method).  More... | |
| struct | TImageStereoCallbackData | 
| Params of the optional callback provided by the user.  More... | |
| struct | TKeyPoint_templ | 
| Simple structure for image key points.  More... | |
| struct | TKeyPointList_templ | 
| A list of image features using the structure TKeyPoint for each feature Users normally will use directly: TKeyPointList, TKeyPointfList.  More... | |
| struct | TKeyPointTraits | 
| struct | TKeyPointTraits< TKeyPoint > | 
| struct | TKeyPointTraits< TKeyPointf > | 
| struct | TMatchingOptions | 
| A structure containing options for the matching.  More... | |
| struct | TMultiResDescMatchOptions | 
| Struct containing the options when matching multi-resolution SIFT-like descriptors.  More... | |
| struct | TMultiResDescOptions | 
| Struct containing the options when computing the multi-resolution SIFT-like descriptors.  More... | |
| struct | TMultiResMatchingOutput | 
| Struct containing the output after matching multi-resolution SIFT-like descriptors.  More... | |
| struct | TRelativeFeaturePos | 
| One relative feature observation entry, used with some relative bundle-adjustment functions.  More... | |
| struct | TResidJacobElement | 
| Data associated to each observation in the Lev-Marq.  More... | |
| struct | TROI | 
| A structure for storing a 3D ROI.  More... | |
| struct | TSequenceFeatureObservations | 
| A complete sequence of observations of features from different camera frames (poses).  More... | |
| struct | TSIFTDescriptorsKDTreeIndex | 
| A kd-tree builder for sets of features with SIFT descriptors.  More... | |
| struct | TStereoCalibParams | 
| Input parameters for mrpt::vision::checkerBoardStereoCalibration.  More... | |
| struct | TStereoCalibResults | 
| Output results for mrpt::vision::checkerBoardStereoCalibration.  More... | |
| struct | TStereoSystemParams | 
| Parameters associated to a stereo system.  More... | |
| struct | TSURFDescriptorsKDTreeIndex | 
| A kd-tree builder for sets of features with SURF descriptors.  More... | |
Typedefs | |
| using | TCalibrationImageList = std::map< std::string, TImageCalibData > | 
| A list of images, used in checkerBoardCameraCalibration.  More... | |
| using | TSteroCalibCallbackFunctor = void(*)(const TImageStereoCallbackData &d, void *user_data) | 
| Prototype of optional user callback function.  More... | |
| using | TCalibrationStereoImageList = std::vector< TImageStereoCalibData > | 
| A list of images, used in checkerBoardStereoCalibration.  More... | |
| using | TKeyPoint = TKeyPoint_templ< mrpt::img::TPixelCoord > | 
| Simple structure for image key points.  More... | |
| using | TKeyPointf = TKeyPoint_templ< mrpt::img::TPixelCoordf > | 
| A version of TKeyPoint with subpixel precision.  More... | |
| using | TKeyPointList = TKeyPointList_templ< TKeyPoint > | 
| A list of image features using the structure TKeyPoint for each feature.  More... | |
| using | TKeyPointfList = TKeyPointList_templ< TKeyPointf > | 
| A list of image features using the structure TKeyPointf for each feature - capable of KD-tree computations.  More... | |
| using | CGenericFeatureTrackerAutoPtr = std::unique_ptr< CGenericFeatureTracker > | 
| using | TFeatureID = uint64_t | 
| Definition of a feature ID.  More... | |
| using | TLandmarkID = uint64_t | 
| Unique IDs for landmarks.  More... | |
| using | TCameraPoseID = uint64_t | 
| Unique IDs for camera frames (poses)  More... | |
| using | TFramePosesMap = std::map< TCameraPoseID, mrpt::poses::CPose3D > | 
| A list of camera frames (6D poses) indexed by unique IDs.  More... | |
| using | TFramePosesVec = std::vector< mrpt::poses::CPose3D > | 
| A list of camera frames (6D poses), which assumes indexes are unique, consecutive IDs.  More... | |
| using | TLandmarkLocationsMap = std::map< TLandmarkID, mrpt::math::TPoint3D > | 
| A list of landmarks (3D points) indexed by unique IDs.  More... | |
| using | TLandmarkLocationsVec = std::vector< mrpt::math::TPoint3D > | 
| A list of landmarks (3D points), which assumes indexes are unique, consecutive IDs.  More... | |
| using | TRelativeFeaturePosMap = std::map< mrpt::vision::TFeatureID, TRelativeFeaturePos > | 
| An index of feature IDs and their relative locations.  More... | |
| using | TResidualJacobianList = std::vector< mrpt::aligned_std_vector< TResidJacobElement > > | 
Enumerations | |
| enum | TListIdx { firstList = 0, secondList, bothLists } | 
| enum | TKeyPointMethod : int8_t {  featNotDefined = -1, featKLT = 0, featHarris = 1, featSIFT = 3, featSURF = 4, featBeacon = 5, featFAST = 6, featORB = 10, featAKAZE = 11, featLSD = 12 }  | 
| Types of key point detectors.  More... | |
| enum | TDescriptorType : uint16_t {  descAny = 0, descSIFT = 1, descSURF = 2, descSpinImages = 4, descPolarImages = 8, descLogPolarImages = 16, descORB = 32, descBLD = 64, descLATCH = 128 }  | 
| The bitwise OR combination of values of TDescriptorType are used in CFeatureExtraction::computeDescriptors to indicate which descriptors are to be computed for features.  More... | |
| enum | TFeatureTrackStatus : uint8_t { status_IDLE = 0, status_TRACKED = 5, status_OOB = 1, status_LOST = 10 } | 
Functions | |
| bool | checkerBoardCameraCalibration (TCalibrationImageList &images, unsigned int check_size_x, unsigned int check_size_y, double check_squares_length_X_meters, double check_squares_length_Y_meters, mrpt::img::TCamera &out_camera_params, bool normalize_image=true, double *out_MSE=nullptr, bool skipDrawDetectedImgs=false, bool useScaramuzzaAlternativeDetector=false) | 
| Performs a camera calibration (computation of projection and distortion parameters) from a sequence of captured images of a checkerboard.  More... | |
| bool | checkerBoardCameraCalibration (TCalibrationImageList &images, unsigned int check_size_x, unsigned int check_size_y, double check_squares_length_X_meters, double check_squares_length_Y_meters, mrpt::math::CMatrixDouble33 &intrinsicParams, std::vector< double > &distortionParams, bool normalize_image=true, double *out_MSE=nullptr, bool skipDrawDetectedImgs=false, bool useScaramuzzaAlternativeDetector=false) | 
| bool | findChessboardCorners (const mrpt::img::CImage &img, std::vector< mrpt::img::TPixelCoordf > &cornerCoords, unsigned int check_size_x, unsigned int check_size_y, bool normalize_image=true, bool useScaramuzzaMethod=false) | 
| Look for the corners of a chessboard in the image using one of two different methods.  More... | |
| void | findMultipleChessboardsCorners (const mrpt::img::CImage &img, std::vector< std::vector< mrpt::img::TPixelCoordf >> &cornerCoords, unsigned int check_size_x, unsigned int check_size_y) | 
| Look for the corners of one or more chessboard/checkerboards in the image.  More... | |
| bool | checkerBoardStereoCalibration (TCalibrationStereoImageList &images, const TStereoCalibParams ¶ms, TStereoCalibResults &out_results) | 
| Optimize the calibration parameters of a stereo camera or a RGB+D (Kinect) camera.  More... | |
| template<class DESCRIPTOR_KDTREE > | |
| size_t | find_descriptor_pairings (std::vector< std::vector< size_t >> *pairings_1_to_multi_2, std::vector< std::pair< size_t, size_t >> *pairings_1_to_2, const CFeatureList &feats_img1, const DESCRIPTOR_KDTREE &feats_img2_kdtree, const mrpt::vision::TDescriptorType descriptor=descSIFT, const size_t max_neighbors=4, const double max_relative_distance=1.2, const typename DESCRIPTOR_KDTREE::kdtree_t::DistanceType max_distance=std::numeric_limits< typename DESCRIPTOR_KDTREE::kdtree_t::DistanceType >::max()) | 
| Search for pairings between two sets of visual descriptors (for now, only SURF and SIFT features are considered).  More... | |
| void | openCV_cross_correlation (const mrpt::img::CImage &img, const mrpt::img::CImage &patch_img, size_t &x_max, size_t &y_max, double &max_val, int x_search_ini=-1, int y_search_ini=-1, int x_search_size=-1, int y_search_size=-1) | 
| Computes the correlation between this image and another one, encapsulating the openCV function cvMatchTemplate This implementation reduced computation time.  More... | |
| mrpt::math::TPoint3D | pixelTo3D (const mrpt::img::TPixelCoordf &xy, const mrpt::math::CMatrixDouble33 &A) | 
| Extract a UNITARY 3D vector in the direction of a 3D point, given from its (x,y) pixels coordinates, and the camera intrinsic coordinates.  More... | |
| mrpt::math::CMatrixDouble33 | buildIntrinsicParamsMatrix (const double focalLengthX, const double focalLengthY, const double centerX, const double centerY) | 
| Builds the intrinsic parameters matrix A from parameters:  More... | |
| mrpt::math::CMatrixDouble33 | defaultIntrinsicParamsMatrix (unsigned int camIndex=0, unsigned int resolutionX=320, unsigned int resolutionY=240) | 
| Returns the stored, default intrinsic params matrix for a given camera:  More... | |
| double | computeMsd (const mrpt::tfest::TMatchingPairList &list, const poses::CPose3D &Rt) | 
| Computes the mean squared distance between a set of 3D correspondences ...  More... | |
| void | cloudsToMatchedList (const mrpt::obs::CObservationVisualLandmarks &cloud1, const mrpt::obs::CObservationVisualLandmarks &cloud2, mrpt::tfest::TMatchingPairList &outList) | 
| Transform two clouds of 3D points into a matched list of points ...  More... | |
| float | computeMainOrientation (const mrpt::img::CImage &image, unsigned int x, unsigned int y) | 
| Computes the main orientation of a set of points with an image (for using in SIFT-based algorithms)  More... | |
| void | normalizeImage (const mrpt::img::CImage &image, mrpt::img::CImage &nimage) | 
| Normalizes the brigthness and contrast of an image by setting its mean value to zero and its standard deviation to unit.  More... | |
| size_t | matchFeatures (const CFeatureList &list1, const CFeatureList &list2, CMatchedFeatureList &matches, const TMatchingOptions &options=TMatchingOptions(), const TStereoSystemParams ¶ms=TStereoSystemParams()) | 
| Find the matches between two lists of features which must be of the same type.  More... | |
| void | generateMask (const CMatchedFeatureList &mList, mrpt::math::CMatrixBool &mask1, mrpt::math::CMatrixBool &mask2, int wSize=10) | 
| Calculates the Sum of Absolutes Differences (range [0,1]) between two patches.  More... | |
| double | computeSAD (const mrpt::img::CImage &patch1, const mrpt::img::CImage &patch2) | 
| Calculates the Sum of Absolutes Differences (range [0,1]) between two patches.  More... | |
| void | addFeaturesToImage (const mrpt::img::CImage &inImg, const CFeatureList &theList, mrpt::img::CImage &outImg) | 
| Draw rectangles around each of the features on a copy of the input image.  More... | |
| void | projectMatchedFeatures (const CMatchedFeatureList &matches, const mrpt::img::TStereoCamera &stereo_camera, std::vector< mrpt::math::TPoint3D > &out_points) | 
| void | projectMatchedFeatures (const CFeatureList &leftList, const CFeatureList &rightList, std::vector< mrpt::math::TPoint3D > &vP3D, const TStereoSystemParams ¶ms=TStereoSystemParams()) | 
| Computes the 3D position of a set of matched features from their coordinates in the images.  More... | |
| void | projectMatchedFeature (const CFeature &leftFeat, const CFeature &rightFeat, mrpt::math::TPoint3D &p3D, const TStereoSystemParams ¶ms=TStereoSystemParams()) | 
| Computes the 3D position of a particular matched feature.  More... | |
| void | projectMatchedFeatures (CMatchedFeatureList &mfList, const TStereoSystemParams ¶m, mrpt::maps::CLandmarksMap &landmarks) | 
| Project a list of matched features into the 3D space, using the provided parameters of the stereo system.  More... | |
| void | projectMatchedFeatures (CFeatureList &leftList, CFeatureList &rightList, const TStereoSystemParams ¶m, mrpt::maps::CLandmarksMap &landmarks) | 
| Project a pair of feature lists into the 3D space, using the provided options for the stereo system.  More... | |
| void | StereoObs2BRObs (const mrpt::obs::CObservationStereoImages &inObs, const std::vector< double > &sg, mrpt::obs::CObservationBearingRange &outObs) | 
| Converts a stereo images observation into a bearing and range observation.  More... | |
| void | StereoObs2BRObs (const CMatchedFeatureList &inMatches, const mrpt::math::CMatrixDouble33 &intrinsicParams, double baseline, const mrpt::poses::CPose3D &sensorPose, const std::vector< double > &sg, mrpt::obs::CObservationBearingRange &outObs) | 
| Converts a matched feature list into a bearing and range observation (some of the stereo camera system must be provided).  More... | |
| void | StereoObs2BRObs (const mrpt::obs::CObservationVisualLandmarks &inObs, mrpt::obs::CObservationBearingRange &outObs) | 
| Converts a CObservationVisualLandmarks into a bearing and range observation (without any covariances).  More... | |
| void | computeStereoRectificationMaps (const mrpt::img::TCamera &cam1, const mrpt::img::TCamera &cam2, const mrpt::poses::CPose3D &rightCameraPose, void *outMap1x, void *outMap1y, void *outMap2x, void *outMap2y) | 
| Computes a pair of x-and-y maps for stereo rectification from a pair of cameras and the relative pose of the second one wrt the first one.  More... | |
| template<bool POSES_ARE_INVERSE> | |
| void | frameJac (const mrpt::img::TCamera &camera_params, const mrpt::poses::CPose3D &cam_pose, const mrpt::math::TPoint3D &landmark_global, mrpt::math::CMatrixFixed< double, 2, 6 > &out_J) | 
The projective camera 2x6 Jacobian   (wrt the 6D camera pose)  More... | |
| template<bool POSES_ARE_INVERSE> | |
| void | pointJac (const mrpt::img::TCamera &camera_params, const mrpt::poses::CPose3D &cam_pose, const mrpt::math::TPoint3D &landmark_global, mrpt::math::CMatrixFixed< double, 2, 3 > &out_J) | 
| Jacobians wrt the point.  More... | |
| template<bool POSES_ARE_INVERSE> | |
| void | ba_compute_Jacobians (const TFramePosesVec &frame_poses, const TLandmarkLocationsVec &landmark_points, const mrpt::img::TCamera &camera_params, std::vector< JacData< 6, 3, 2 >> &jac_data_vec, const size_t num_fix_frames, const size_t num_fix_points) | 
| void | ba_build_gradient_Hessians (const TSequenceFeatureObservations &observations, const std::vector< std::array< double, 2 >> &residual_vec, const std::vector< JacData< 6, 3, 2 >> &jac_data_vec, std::vector< mrpt::math::CMatrixFixed< double, 6, 6 >> &U, std::vector< CVectorFixedDouble< 6 >> &eps_frame, std::vector< mrpt::math::CMatrixFixed< double, 3, 3 >> &V, std::vector< CVectorFixedDouble< 3 >> &eps_point, const size_t num_fix_frames, const size_t num_fix_points, const vector< double > *kernel_1st_deriv) | 
| Construct the BA linear system.  More... | |
| double | recompute_errors_and_Jacobians (const lm_stat_t &lm_stat, TResidualJacobianList &res_jac, bool use_robust_kernel, double kernel_param) | 
| void | build_linear_system (const TResidualJacobianList &res_jac, const std::vector< size_t > &var_indxs, mrpt::math::CVectorDynamic< double > &minus_g, mrpt::math::CMatrixDouble &H) | 
| void | add_lm_increment (const mrpt::math::CVectorDynamic< double > &eps, const std::vector< size_t > &var_indxs, lm_stat_t &new_lm_stat) | 
Bundle-Adjustment Auxiliary methods  | |
| void | ba_initial_estimate (const mrpt::vision::TSequenceFeatureObservations &observations, const mrpt::img::TCamera &camera_params, mrpt::vision::TFramePosesVec &frame_poses, mrpt::vision::TLandmarkLocationsVec &landmark_points) | 
| Fills the frames & landmark points maps with an initial gross estimate from the sequence observations, so they can be fed to bundle adjustment methods.  More... | |
| void | ba_initial_estimate (const mrpt::vision::TSequenceFeatureObservations &observations, const mrpt::img::TCamera &camera_params, mrpt::vision::TFramePosesMap &frame_poses, mrpt::vision::TLandmarkLocationsMap &landmark_points) | 
| double | reprojectionResiduals (const mrpt::vision::TSequenceFeatureObservations &observations, const mrpt::img::TCamera &camera_params, const mrpt::vision::TFramePosesVec &frame_poses, const mrpt::vision::TLandmarkLocationsVec &landmark_points, std::vector< std::array< double, 2 >> &out_residuals, const bool frame_poses_are_inverse, const bool use_robust_kernel=true, const double kernel_param=3.0, std::vector< double > *out_kernel_1st_deriv=nullptr) | 
| Compute reprojection error vector (used from within Bundle Adjustment methods, but can be used in general) See mrpt::vision::bundle_adj_full for a description of most parameters.  More... | |
| double | reprojectionResiduals (const mrpt::vision::TSequenceFeatureObservations &observations, const mrpt::img::TCamera &camera_params, const mrpt::vision::TFramePosesMap &frame_poses, const mrpt::vision::TLandmarkLocationsMap &landmark_points, std::vector< std::array< double, 2 >> &out_residuals, const bool frame_poses_are_inverse, const bool use_robust_kernel=true, const double kernel_param=3.0, std::vector< double > *out_kernel_1st_deriv=nullptr) | 
| Compute reprojection error vector (used from within Bundle Adjustment methods, but can be used in general) See mrpt::vision::bundle_adj_full for a description of most parameters.  More... | |
| void | add_se3_deltas_to_frames (const mrpt::vision::TFramePosesVec &frame_poses, const mrpt::math::CVectorDouble &delta, const size_t delta_first_idx, const size_t delta_num_vals, mrpt::vision::TFramePosesVec &new_frame_poses, const size_t num_fix_frames) | 
| For each pose in the vector frame_poses, adds a "delta" increment to the manifold, with the "delta" given in the se(3) Lie algebra:  More... | |
| void | add_3d_deltas_to_points (const mrpt::vision::TLandmarkLocationsVec &landmark_points, const mrpt::math::CVectorDouble &delta, const size_t delta_first_idx, const size_t delta_num_vals, mrpt::vision::TLandmarkLocationsVec &new_landmark_points, const size_t num_fix_points) | 
| For each pose in the vector frame_poses, adds a "delta" increment to the manifold, with the "delta" given in the se(3) Lie algebra:  More... | |
Bundle-Adjustment methods | |
| using | TBundleAdjustmentFeedbackFunctor = std::function< void(const size_t cur_iter, const double cur_total_sq_error, const size_t max_iters, const mrpt::vision::TSequenceFeatureObservations &input_observations, const mrpt::vision::TFramePosesVec ¤t_frame_estimate, const mrpt::vision::TLandmarkLocationsVec ¤t_landmark_estimate)> | 
| A functor type for BA methods.  More... | |
| double | bundle_adj_full (const mrpt::vision::TSequenceFeatureObservations &observations, const mrpt::img::TCamera &camera_params, mrpt::vision::TFramePosesVec &frame_poses, mrpt::vision::TLandmarkLocationsVec &landmark_points, const mrpt::system::TParametersDouble &extra_params=mrpt::system::TParametersDouble(), const mrpt::vision::TBundleAdjustmentFeedbackFunctor user_feedback=mrpt::vision::TBundleAdjustmentFeedbackFunctor()) | 
| Sparse Levenberg-Marquart solution to bundle adjustment - optimizes all the camera frames & the landmark locations.  More... | |
| using mrpt::vision::TBundleAdjustmentFeedbackFunctor = typedef std::function<void( const size_t cur_iter, const double cur_total_sq_error, const size_t max_iters, const mrpt::vision::TSequenceFeatureObservations& input_observations, const mrpt::vision::TFramePosesVec& current_frame_estimate, const mrpt::vision::TLandmarkLocationsVec& current_landmark_estimate)> | 
A functor type for BA methods.
Definition at line 50 of file bundle_adjustment.h.
| using mrpt::vision::TResidualJacobianList = typedef std::vector<mrpt::aligned_std_vector<TResidJacobElement> > | 
Definition at line 72 of file chessboard_stereo_camera_calib_internal.h.
| Enumerator | |
|---|---|
| firstList | |
| secondList | |
| bothLists | |
Definition at line 26 of file CFeature.h.
| void mrpt::vision::add_lm_increment | ( | const mrpt::math::CVectorDynamic< double > & | eps, | 
| const std::vector< size_t > & | var_indxs, | ||
| lm_stat_t & | new_lm_stat | ||
| ) | 
Definition at line 870 of file chessboard_stereo_camera_calib.cpp.
References eps, mrpt::vision::lm_stat_t::left_cam_params, mrpt::vision::lm_stat_t::left_cam_poses, mrpt::vision::lm_stat_t::right2left_pose, mrpt::vision::lm_stat_t::right_cam_params, and mrpt::vision::lm_stat_t::valid_image_pair_indices.
Referenced by checkerBoardStereoCalibration().
| void mrpt::vision::ba_build_gradient_Hessians | ( | const TSequenceFeatureObservations & | observations, | 
| const std::vector< std::array< double, 2 >> & | residual_vec, | ||
| const std::vector< JacData< 6, 3, 2 >> & | jac_data_vec, | ||
| std::vector< mrpt::math::CMatrixFixed< double, 6, 6 >> & | U, | ||
| std::vector< CVectorFixedDouble< 6 >> & | eps_frame, | ||
| std::vector< mrpt::math::CMatrixFixed< double, 3, 3 >> & | V, | ||
| std::vector< CVectorFixedDouble< 3 >> & | eps_point, | ||
| const size_t | num_fix_frames, | ||
| const size_t | num_fix_points, | ||
| const vector< double > * | kernel_1st_deriv | ||
| ) | 
Construct the BA linear system.
Set kernel_1st_deriv!=nullptr if using robust kernel.
| void mrpt::vision::ba_compute_Jacobians | ( | const TFramePosesVec & | frame_poses, | 
| const TLandmarkLocationsVec & | landmark_points, | ||
| const mrpt::img::TCamera & | camera_params, | ||
| std::vector< JacData< 6, 3, 2 >> & | jac_data_vec, | ||
| const size_t | num_fix_frames, | ||
| const size_t | num_fix_points | ||
| ) | 
Definition at line 206 of file ba_internals.h.
References ASSERT_, ASSERTDEB_, mrpt::vision::JacData< FrameDof, PointDof, ObsDim >::frame_id, mrpt::vision::JacData< FrameDof, PointDof, ObsDim >::J_frame, mrpt::vision::JacData< FrameDof, PointDof, ObsDim >::J_frame_valid, mrpt::vision::JacData< FrameDof, PointDof, ObsDim >::J_point, mrpt::vision::JacData< FrameDof, PointDof, ObsDim >::J_point_valid, MRPT_END, MRPT_START, and mrpt::vision::JacData< FrameDof, PointDof, ObsDim >::point_id.
| void mrpt::vision::build_linear_system | ( | const TResidualJacobianList & | res_jac, | 
| const std::vector< size_t > & | var_indxs, | ||
| mrpt::math::CVectorDynamic< double > & | minus_g, | ||
| mrpt::math::CMatrixDouble & | H | ||
| ) | 
Definition at line 754 of file chessboard_stereo_camera_calib.cpp.
References mrpt::math::CVectorDynamic< T >::asEigen(), mrpt::math::CMatrixDynamic< T >::asEigen(), mrpt::vision::TResidJacobElement::J, mrpt::system::pause(), mrpt::vision::TResidJacobElement::residual, mrpt::math::MatrixVectorBase< Scalar, Derived >::saveToTextFile(), mrpt::math::MatrixVectorBase< Scalar, Derived >::setZero(), mrpt::math::MatrixVectorBase< T, CVectorDynamic< T > >::Zero(), and mrpt::math::MatrixVectorBase< Scalar, Derived >::Zero().
Referenced by checkerBoardStereoCalibration().
| void mrpt::vision::frameJac | ( | const mrpt::img::TCamera & | camera_params, | 
| const mrpt::poses::CPose3D & | cam_pose, | ||
| const mrpt::math::TPoint3D & | landmark_global, | ||
| mrpt::math::CMatrixFixed< double, 2, 6 > & | out_J | ||
| ) | 
The projective camera 2x6 Jacobian 
 (wrt the 6D camera pose) 
Definition at line 79 of file ba_internals.h.
References ASSERT_, mrpt::poses::CPose3D::composePoint(), mrpt::img::TCamera::fx(), mrpt::img::TCamera::fy(), mrpt::poses::CPose3D::getRotationMatrix(), mrpt::poses::CPose3D::inverseComposePoint(), mrpt::math::CMatrixFixed< T, ROWS, COLS >::loadFromArray(), R, mrpt::square(), mrpt::math::TPoint3D_data< T >::x, mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::x(), mrpt::math::TPoint3D_data< T >::y, mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::y(), and mrpt::math::TPoint3D_data< T >::z.
| void mrpt::vision::pointJac | ( | const mrpt::img::TCamera & | camera_params, | 
| const mrpt::poses::CPose3D & | cam_pose, | ||
| const mrpt::math::TPoint3D & | landmark_global, | ||
| mrpt::math::CMatrixFixed< double, 2, 3 > & | out_J | ||
| ) | 
Jacobians wrt the point.
Definition at line 166 of file ba_internals.h.
References ASSERT_, mrpt::poses::CPose3D::composePoint(), mrpt::img::TCamera::fx(), mrpt::img::TCamera::fy(), mrpt::poses::CPose3D::inverseComposePoint(), mrpt::square(), mrpt::math::UNINITIALIZED_MATRIX, mrpt::math::TPoint3D_data< T >::x, mrpt::math::TPoint3D_data< T >::y, and mrpt::math::TPoint3D_data< T >::z.
| double mrpt::vision::recompute_errors_and_Jacobians | ( | const lm_stat_t & | lm_stat, | 
| TResidualJacobianList & | res_jac, | ||
| bool | use_robust_kernel, | ||
| double | kernel_param | ||
| ) | 
Definition at line 1053 of file chessboard_stereo_camera_calib.cpp.
References mrpt::math::CMatrixFixed< T, ROWS, COLS >::asEigen(), mrpt::math::TPose3D::composePoint(), mrpt::math::TPose3D::composePose(), mrpt::img::TCamera::cx(), mrpt::img::TCamera::cy(), mrpt::math::estimateJacobian(), mrpt::img::TCamera::fx(), mrpt::img::TCamera::fy(), mrpt::vision::lm_stat_t::images, mrpt::vision::TResidJacobElement::J, jacob_dA_eps_D_p_deps(), jacob_db_dp(), jacob_deps_D_p_deps(), jacob_dh_db_and_dh_dc(), mrpt::img::TCamera::k1(), mrpt::img::TCamera::k2(), mrpt::img::TCamera::k3(), mrpt::vision::lm_stat_t::left_cam_params, mrpt::vision::lm_stat_t::left_cam_poses, mrpt::vision::lm_stat_t::obj_points, out, mrpt::img::TCamera::p1(), mrpt::img::TCamera::p2(), mrpt::vision::TResidJacobElement::predicted_obs, project_point(), mrpt::vision::TResidJacobElement::residual, mrpt::vision::lm_stat_t::right2left_pose, mrpt::vision::lm_stat_t::right_cam_params, mrpt::math::MatrixVectorBase< T, CMatrixFixed< T, ROWS, COLS > >::setZero(), mrpt::vision::lm_stat_t::valid_image_pair_indices, mrpt::img::TPixelCoordf::x, and mrpt::img::TPixelCoordf::y.
Referenced by checkerBoardStereoCalibration().
| Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020 |