preferencesDialog 0 0 1058 725 0 0 Preferences :/images/RTAB-Map.ico:/images/RTAB-Map.ico 0 160 0 QAbstractItemView::NoEditTriggers false 0 true 0 0 760 1502 0 0 0 QFrame::Raised 19 General settings (GUI) true Insert new data received in the GUI cache. Used to show the loop closure image and the 3D Map. true Beep! on special events (finished processing the data set, an error has occured, ...). true Loop closure detection view true Show the image of the highest hypothesis. true false Show image when an hypothesis is rejected. true Vertical layout. false true Show loop closure hypotheses on the graph view. Nodes are colorized from blue to red depending on the highest hypothesis (which is red). Posterior hypotheses should be published. true true 3D Map view 9999 50 Odometry warning theshold: Show a yellow background when the number of odometry inliers goes under this threshold. If 0, it is ignored. You can see the current odometry inliers count under Statistics view -> General -> Odom inliers. true Save/load settings Load settings (*.ini) ... Save settings (*.ini) ... Reset all settings Qt::Horizontal 40 20 Qt::Vertical 0 0 3D Rendering Cloud filtering true true For visualization, superposed clouds are not shown. By comparing poses in the same area, only one cloud in a fixed radius and angle is kept. true m 0.010000000000000 0.100000000000000 Radius. degrees 0 180.000000000000000 30.000000000000000 Angle. Occupancy grid map false false When the Graph view is visible or if the "Show in 3D map view" below is checked, the grid map is generated using the laser scans. true 0.750000000000000 1.000000000000000 0.750000000000000 false Show in 3D map view. m 0.010000000000000 1.000000000000000 0.050000000000000 Resolution (cell size). Opacity. false Occupancy from 3D cloud projection on the ground. Laser scans are ignored when activated. true Erode. true false QFrame::StyledPanel QFrame::Raised true 1 64 3D cloud decimation (1-2-4-8-...). true Map Qt::AlignCenter true Odometry Qt::AlignCenter true true true Show 3D clouds. true m 3 1.000000000000000 0.010000000000000 0.000000000000000 m 3 1.000000000000000 0.010000000000000 0.000000000000000 3D cloud voxel size. true 1 32 4 1 32 2 m 1 100.000000000000000 0.100000000000000 4.000000000000000 m 1 100.000000000000000 0.100000000000000 0.000000000000000 3D cloud maximum depth (0 means no limit). true 2 1.000000000000000 0.100000000000000 1.000000000000000 2 1.000000000000000 0.100000000000000 1.000000000000000 3D cloud opacity. true 1 64 1 64 3D cloud point size (1..64). true true Show 2D scans. true 2 1.000000000000000 0.100000000000000 1.000000000000000 2 1.000000000000000 0.100000000000000 1.000000000000000 2D scan opacity. true 1 64 2D scan point size (1..64). true Sphere radius that is to be used for determining the k-nearest neighbors used for triangulating (GP3). Guidelines: 4 times the voxel size, 0.025 for voxel=0. true Mesh smoothing using Moving Least Squares algorithm (MLS). true m 3 1.000000000000000 0.010000000000000 0.040000000000000 m 3 1.000000000000000 0.010000000000000 0.040000000000000 Online meshing using Greedy Projection Triangulation (GP3). true MLS search radius: Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. Guidelines: 4 times the voxel size, 0.025 for voxel=0. true false Set the number of k nearest neighbors to use for the normal estimation to create the mesh. Not used when mesh smoothing below is used. true 20 Show graphs. true true Qt::Vertical 20 40 Logging 2 QComboBox::AdjustToContents DEBUG INFO WARNING ERROR Logger level. true 3 QComboBox::AdjustToContents DEBUG INFO WARNING ERROR Logger event sent level (fatal messages are always sent). true 3 QComboBox::AdjustToContents DEBUG INFO WARNING ERROR FATAL Logger level on which the process will automatically pause, showing the log console. A level set under the logger event level will do nothing. true true Logger print time. true 1 QComboBox::AdjustToContents No log Console File Logger type: when using the file type, logs are saved in LogRtabmap.txt (located in the working directory). true Qt::Vertical 20 40 Source Hz 1 100.000000000000000 0.100000000000000 30.000000000000000 Input rate (0 means as fast as possible). Mirroring mode (flip image horizontally). It has no effect on database source. Image source true false 0 Usb camera Images Video file Source type. 0-Usb camera (Webcam), 1-Images (directory of images), 2-Video (AVI) true Image width (set to 0 to use the default size of the source). true Image height (set to 0 to use the default size of the source). true 0 999999999 160 0 0 999999999 120 0 0 Usb device Usb device. -1 999999999 0 Qt::Vertical 0 0 Images dataset ... false 0 999999999 Start position (default 1, 0=start from the last). Refresh the directory files list after each image loaded. Qt::Vertical 0 0 Video (AVI) ... false Qt::Vertical 0 0 Database source true false Open database viewer :/images/mag_glass.png:/images/mag_glass.png ... Start position (index) 0 999999999 Ignore odometry saved in the database, so if RGB-D SLAM is activated, odometry will be recomputed. true Ignore goal delay. true Use database stamps as input rate. true RGB-D camera true true Grabber for RGB-D devices (i.e., Primesense PSDK, Microsoft Kinect, Asus XTion Pro/Live). true QComboBox::AdjustToContents OpenNI-PCL Freenect OpenNI-CV OpenNI-CV-ASUS OpenNI2 Freenect2 StereoDC1394 StereoFlyCapture2 0 0 Calibrate On initialization, calibration files are loaded from the "camera_info" folder in the working directory. true 0 0 Test Driver true OpenNI 2 true Auto white balance. true true Auto exposure. true 65535 Exposure. true 1000 100 Gain. true false Mirroring. true QFormLayout::AllNonFixedFieldsGrow ID of the device, which might be a serial number, bus@address or the index of the device. If empty, the first device found is taken. true 0 0 0 -PI_2 0 -PI_2 Local transform from /base_link to /camera_link. Format (6 values): x y z roll pitch yaw. true Only RGB images are published. true false Qt::Vertical 0 0 RTAB-Map settings Hz 1 1.000000000000000 true SLAM mode. If set to false, global localization is performed, so without adding new data to the map. true true Activate metric RGB-D SLAM. If set to false, classic RTAB-Map loop closure detection is done using only images and without any metric information. true true Publish statistics. true Detection rate (0 means inf). RTAB-Map will filter input images to satisfy this rate. true 999 1 Images buffer size (0 means inf). true ms 0 10000.000000000000000 50.000000000000000 700.000000000000000 T_time : Max time (ms) allowed (0 means inf). true 1.000000000000000 0.010000000000000 0.950000000000000 T_loop : Loop closure threshold. true 1.000000000000000 0.200000000000000 T_similarity : Similarity threshold (for Rehearsal/Weight Update). true 1 9999 15 STM size : Short-term memory size. true Qt::Vertical 0 0 RTAB-Map settings true SLAM mode. If set to false, global localization is performed, so without adding new data to the map. true Hz 1 1.000000000000000 Detection rate (0 means inf). RTAB-Map will filter input data to satisfy this rate. If you want to process all data, consider set "Detection rate" to 0 and "Data buffer size" to 0. true 999 1 Data buffer size (0 means inf). true true Start a new map only if there is a global loop closure detected first with a previous map. If there is no map in memory, a new map is still created. true Thresholds ms 0 10000.000000000000000 50.000000000000000 700.000000000000000 T_time : Max time (ms) allowed (0 means inf). true 99999 0 Maximum signatures allowed in Working Memory (0 means inf). true 1.000000000000000 0.010000000000000 0.950000000000000 T_loop : Loop closure threshold. Setting to 0 means that the new place hypothesis is used as threshold. true 1.000000000000000 0.010000000000000 0.700000000000000 T_ratio : The loop closure hypothesis must be over T_ratio x lastHypothesisValue. true Publish statistics (stuff to be shown in the GUI) true true Publish signature data. true Publish loop closure hypotheses (pdf). true Publish loop closure likelihood. Log statistics (LogI.txt and LogF.txt) in the working directory. true true Statistics logs buffered in RAM and written to hard drive on exit (otherwise logs are written at each iteration on hard drive). true true Add headers (column names) to log files. true Working directory (where to put logs/dump stuff). true ... true Qt::Vertical 0 0 Bayes filter Prediction probabilities for each loop closure event: We can edit how will like the prediction used in the Bayes filter when there is a loop closure hypothesis. Format is [VP LC N1 N2 N3...]. LC is the loop closure event and N# are its neighbors. VP (virtual place) is the probability to be in a new place when a loop closure was found on the last iteration. true Prediction Sum false Preview 1.000000000000000 0.010000000000000 0.900000000000000 The VP here is the probability to be in a new place since no loop closure was found on the last iteration. true Regenerate all the prediction matrix on each iteration (otherwise only removed/added ids are updated). true Use the tf-idf method to compute the likelihood. Otherwise, images are compared with each other. true true Qt::Vertical 0 0 Memory 1 16 50 0 1.000000000000000 0.010000000000000 0.200000000000000 1 9999 15 Initialize the Woking Memory with all nodes from Long-Term memory, instead of only nodes of the last session. This may be useful in localization mode, where less processing time is required than in SLAM mode, so more nodes can be kept in Working Memory. true STM size : Short-term memory size. false T_recent : Ratio of locations after the last loop closure in WM that cannot be transferred. true 999 1 2 Maximum locations retrieved at the same time from LTM to WM. true true True=Generate location Ids, False=use input image ids. true false Bad signatures are ignored. true false Keep raw sensor data. Only useful to save loop closure computation time when features re-extraction is enabled. Disable to save RAM memory. true false Image decimation. This feature can be used to save images in lower resolution (size/decimation). true On transfer, signatures are sorted by weight->ID (i.e. the oldest of the lowest weighted signatures are transferred first). If false, the signatures are sorted by weight->Age (i.e. the oldest inserted in WM of the lowest weighted signatures are transferred first). Note that retrieval updates the age, not the ID. true true If > 0.0, voxelize laser scans when creating a location. This feature can be used to save laser scans already voxelized. true 50 0 m 3 1.000000000000000 0.010000000000000 0.000000000000000 Rehearsal / Weight Update T_similarity : Similarity threshold. Values must be >=0.0 ans <=1.0. true 1.000000000000000 0.200000000000000 On merging, update to new id. true Ignore Weight Update when the robot is moving. true Qt::Vertical 0 0 Database true Keep sensor compressed data. true 10 999999 100 2000 Sqlite3 cache size, see Sqlite3 doc 'PRAGMA cache_size'. true DELETE TRUNCATE PERSIST MEMORY OFF Sqlite3 journal mode, see Sqlite3 doc 'PRAGMA journal_mode'. true Using database in the memory instead of a file on the hard disk (this greatly improve database access performance but it requires more RAM memory). true Sqlite3 synchronous, see Sqlite3 doc 'PRAGMA synchronous'. true Sqlite3 temp store, see Sqlite3 doc 'PRAGMA temp_store'. true 2 OFF NORMAL FULL DEFAULT FILE MEMORY Keep not linked nodes in db (rehearsed nodes and deleted nodes are saved). true true Qt::Vertical 0 0 Visual word SURF SIFT ORB FAST+FREAK FAST+BRIEF GFTT+FREAK GFTT+BRIEF BRISK Visual word type. true m 2 0.000000000000000 99.000000000000000 1.000000000000000 0.000000000000000 0 means that the response (hessian) threshold used for the detector will not be adapted. Otherwise, the threshold is modified to generate the number of words requested. Maximum words depth (0 means inf). Only used when a depth image is provided. Applied before "Maximum words per image". true -1 2000 150 0 means that the response (hessian) threshold used for the detector will not be adapted. Otherwise, the threshold is modified to generate the number of words requested. Maximum words per image (0=no maximum). Setting to -1 will disable features extraction, so disabling loop closure detection indirectly. true 2 0.000000000000000 1.000000000000000 0.050000000000000 0.250000000000000 0 means that the response (hessian) threshold used for the detector will not be adapted. Otherwise, the threshold is modified to generate the number of words requested. Bad signature ratio (less than Ratio x AverageWordsPerImage = bad). true true ROI ratios [left, right, top, bottom] between 0 and 1. true % 0 Left ROI ratio (0 = no change). true % 0 Right ROI ratio (0 = no change). true % 0 Top ROI ratio (0 = no change). true % 0 Bottom ROI ratio (0 = no change). true Dictionary ... NNDR ratio (A matching pair is accepted, if its distance is closer than X times the distance of the second nearest neighbor) Lower the ratio -> higher the precision. true 1 0.100000000000000 1.000000000000000 0.100000000000000 0.700000000000000 Path to a pre-computed dictionary (when "Use an incremental dictionary" is not set). true true Nearest neighbor strategy. QComboBox::AdjustToContents FLANN Linear FLANN KdTree FLANN LSH Brute Force Brute Force GPU Use an incremental dictionary. When set to false, no new words are added to dictionary, so no more updates are required after each detection, which greatly increases time performance at the cost of lower adaptation to new environments. true If the dictionary update and signature creation were parallelized. true true true When adding new words to dictionary, they are compared also with each other (to detect same words in the same signature). true Sub pixel keypoints Refining corners to sub pixel. Only useful in RGB-D SLAM mode. Sub pixel corners may not be needed for features like SURF/SIFT, which are already sub pixel. true 0 999999 1 5 Window size. true 0 999999 1 20 Iterations. 0 disables sub pixel refining. true 3 0.001000000000000 0.100000000000000 0.010000000000000 0.030000000000000 Epsilon. true Qt::Vertical 0 0 SURF true Octave layers. Descriptor extended (true=128, false=64). true true GPU keypoints ratio. true true GPU version. true 1 100000 4 true U-SURF used. 0.010000000000000 0 50000.000000000000000 500.000000000000000 1 100000 2 Octaves. Hessian threshold. Qt::Vertical 20 40 SIFT Sigma. 6 0.000000000000000 50000.000000000000000 0.001000000000000 0.006667000000000 Contrast threshold. Edge threshold. 0.100000000000000 10.000000000000000 0.100000000000000 10.000000000000000 nOctaveLayers. nFeatures. Qt::Vertical 20 40 FAST false QFormLayout::AllNonFixedFieldsGrow 1 9999 50 Threshold on difference between intensity of the central pixel and pixels of a circle around this pixel. true true If true, non-maximum suppression is applied to detected corners (keypoints). true true GPU-FAST: Use GPU version of FAST. This option is enabled only if OpenCV is built with CUDA and GPUs are detected. true 1.000000000000000 0.010000000000000 0.050000000000000 Used with FAST GPU. true Qt::Vertical 20 0 BRIEF 1 1000 32 Bytes is a length of descriptor in bytes. It can be equal 16, 32 or 64 bytes. true Qt::Vertical 20 660 ORB 1 1.200000000000000 Pyramid decimation ratio, greater than 1. scaleFactor==2 means the classical pyramid, where each next level has 4x less pixels than the previous, but such a big scale factor will degrade feature matching scores dramatically. On the other hand, too close to 1 scale factor will mean that to cover certain scale range you will need more pyramid levels and so the speed will suffer. true 8 The number of pyramid levels. The smallest level will have linear size equal to input_image_linear_size/pow(scaleFactor, nlevels). true 31 This is size of the border where the features are not detected. It should roughly match the patchSize parameter. true 0 It should be 0 in the current implementation. true 2 WTA_K: The number of points that produce each element of the oriented BRIEF descriptor. The default value 2 means the BRIEF where we take a random point pair and compare their brightnesses, so we get 0/1 response. Other possible values are 3 and 4. For example, 3 means that we take 3 random points (of course, those point coordinates are random, but they are generated from the pre-defined seed, so each element of BRIEF descriptor is computed deterministically from the pixel rectangle), find point of maximum brightness and output index of the winner (0, 1 or 2). Such output will occupy 2 bits, and therefore it will need a special variant of Hamming distance, denoted as NORM_HAMMING2 (2 bits per bin). When WTA_K=4, we take 4 random points to compute each bin (that will also occupy 2 bits with possible values 0, 1, 2 or 3). true The default HARRIS_SCORE=0 means that Harris algorithm is used to rank features (the score is written to KeyPoint::score and is used to retain best nfeatures features); FAST_SCORE=1 is alternative value of the parameter that produces slightly less stable keypoints, but it is a little faster to compute. true 31 size of the patch used by the oriented BRIEF descriptor. Of course, on smaller pyramid layers the perceived image area covered by a feature will be larger. true GPU-ORB: Use GPU version of ORB. This option is enabled only if OpenCV is built with CUDA and GPUs are detected. true Qt::Vertical 20 40 FREAK true Enable orientation normalization. true true Enable scale normalization. true 22.000000000000000 Scaling of the description pattern. true 4 Number of octaves covered by the detected keypoints. true Qt::Vertical 20 40 GFTT 1.000000000000000 0.010000000000000 0.010000000000000 1 1.000000000000000 true Use Harris detector. true 1.000000000000000 0.010000000000000 0.040000000000000 K. true 3 Quality level. true Mininum distance. true Block size. true Qt::Vertical 20 644 BRISK FAST/AGAST detection threshold score. true 10.000000000000000 0.100000000000000 1.000000000000000 Detection octaves. Use 0 to do single scale. true 10 3 Apply this scale to the pattern used for sampling the neighbourhood of a keypoint. true 9999 30 Qt::Vertical 20 742 0 0 Hypotheses verification QComboBox::AdjustToContents No verification Epipolar constraints Hypotheses verification. Epipolar constraints 8 100000 11 Minimum match count to accept a loop closure. true 1 10.000000000000000 0.100000000000000 3.000000000000000 Fundamental Matrix : Distance (pixels) for inliers. true 2 0.990000000000000 0.010000000000000 0.990000000000000 Fundamental Matrix : Ransac performance. true Qt::Vertical 0 0 RGB-D SLAM false Activate metric RGB-D SLAM. This module enables 6d metric SLAM directly in RTAB-Map. If set to false, classic RTAB-Map loop closure detection is done using only images and without any metric information. true Rigid transformations between nodes are saved on the neighbor links of the RTAB-Map's graph. On loop closures, a new constraint is added to the graph and TORO optimizes the graph. RGB-D images must be sent to work (see Source->RGB-D Camera). true Map update m 2 0.100000000000000 Linear update: Minimum linear displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated. true rad 2 3.140000000000000 0.100000000000000 Angular update: Minimum angular displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated. true m 1 99.000000000000000 0.100000000000000 1.000000000000000 Odometry change detected that triggers a new map (0 means whatever the odometry change, the detector will still link the new pose in the current map). Also by default, when an odometry with Identity transformation is detected, a new map is automatically created. true Pose scan matching: odometry pose correction using laser scan matching. ICP 2D only is used here. true Maximum local locations retrieved (0=disabled) near the current pose in the local map or on the current planned path (those on the planned path have priority). true m 1.000000000000000 Local radius for nodes selection in the local map. This parameter is used in some approaches below. true Ratio of working memory for which local nodes are immunized from transfer. true 2 1.000000000000000 0.100000000000000 0.100000000000000 Graph optimization TORO g2o Iterations. 0 10000 100 Ignore constraints' variance. If checked, identity information matrix is used for each constraint. Otherwise, an information matrix is generated from the variance saved in the links (transitional and rotational variances). true Optimize graph from the newest node. true Qt::Horizontal 2d SLAM: use fast 3DoF (x, y, theta) optimization instead of 6DoF (x, y, z, roll, pitch, yaw) optimization. true Graph optimization algorithm. -If false, the graph is optimized from the oldest node of the current graph. It can be useful to preserve the map referential from the oldest node. An odometry correction between frames /map to /odom is computed. Warning: when some nodes are transferred, the first referential of the local map may change, resulting in momentary changes in robot/map position (which are annoying in teleoperation). true -If true, there is no odometry correction computed. All previous poses in the map are corrected instead, not the last one (which corresponds to latest odometry value). So, the transform between frames /map to /odom will be always Identity even on loop closures. true Local loop closure detection in time true Activate local detection over all locations in STM. The Bayes filter is not used here: If there are enough correspondences between the current image and others in STM, transformations are computed. This generates more constraints in the map's graph, so more time is required to optimize the graph. true Local loop closure detection in space true Activate local detection over locations (in Working Memory) near in space. The locations are compared to those inside the local radius of the current estimated position of the robot (at a maximum distance of the path filtering radius below). If the laser scans are used, local locations are merged together and the current laser scan is compared to them. It is useful when the robot is visiting backward (camera not in the same direction) already visited locations. true m 2 0.100000000000000 1.000000000000000 999 0 Maximum graph depth between the current/last loop closure location and the local loop closure hypotheses. Set 0 to ignore. true If local space links are kept in WM. true Path filtering radius to avoid merging laser scans which are close. 0 to ignore. true When comparing to a local path, merge the laser scans using the odometry poses instead of the ones in the optimized local graph. true Graph planning If the goal is too far (>local radius) from the graph, the plan is aborted. The next goal in the graph can't be farther than the local radius around the current position. Anticipated nodes on the path are retrieved in the local radius up to "Maximum local locations retrieved". A virtual link is added between the current location and the nearest one on the path up to local radius. true m 1.000000000000000 Goal reached radius. true Add virtual links. Before planning in the graph, near nodes are linked together. The maximum distance is defined by "Goal reached radius" above. If "Maximum ID difference" below is set, only close nodes in time can be linked together. true When a goal is received and processed with success, it is saved in user data of the location with this format: "GOAL:#". true Qt::Vertical 20 0 Loop closure constraint When a global loop closure is detected by the Bayes filter, a transform is computed between the current location and the old one. If a transform cannot be computed, the loop closure is rejected. A transformation is computed using the 3D visual word correspondences. true 1 1000 10 Minimum visual word correspondences to compute geometry transform. m 3 0.001000000000000 0.010000000000000 0.020000000000000 Maximum distance for visual word correspondences. 1 10000 1 100 Maximum iterations to compute the transform from visual words. m 0.000000000000000 5.000000000000000 Max feature depth. Note that parameter "Visual Word"->"Max words depth" is applied before this. true Force 2D transform (3DoF: x,y and yaw). true QComboBox::AdjustToContents No ICP ICP 3D (e.g. Kinect depth) ICP 2D (e.g. Laser scan) When enabled, the visual transform is used as a guess for ICP estimation (3D or 2D). See "ICP" panel for parameters. true Use epipolar geometry to compute the loop closure transform. "Maximum distance for visual word correspondences" is not used in this mode. true Epipolar geometry maximum variance to accept the loop closure. true m 3 0.000000000000000 0.001000000000000 0.020000000000000 Re-extract features on global loop closure true true By activating the re-extraction of the features, the features from the two images will be re-extracted using the settings below, and matched directly instead of using the big vocabulary. This adds an overhead processing time but it will mostly produce more corresponding words between the images, so better transformation computed. We recommend to use binary features for fast extraction and matching. true If not activated, when a loop closure constraint must be computed, the words already extracted for the loop closure detector are used. These words are limited (see Visual Word->Words Per Image) and matched to the loop closure detection vocabulary. When the vocabulary is large, there maybe less corresponding words on a loop closure. true Epipolar geometry is ignored (if set above) by this option. true 3 QComboBox::AdjustToContents FLANN Linear FLANN KdTree FLANN LSH Brute Force Brute Force GPU 1 0.100000000000000 1.000000000000000 0.100000000000000 0.700000000000000 999999 Max features extracted from the images (0 means inf). true Nearest neighbor strategy. FLANN KdTree must be used only with SURF/SIFT. FLANN LSH must be used only with binary feature detector. true NNDR ratio (A matching pair is accepted, if its distance is closer than X times the distance of the second nearest neighbor) Lower the ratio -> higher the precision. 0 means disabled, matching the nearest. true 0 QComboBox::AdjustToContents SURF SIFT ORB FAST+FREAK FAST+BRIEF GFTT+FREAK GFTT+BRIEF BRISK Feature detector Qt::Vertical 20 40 ICP Iterative closest point (ICP) parameters. m 2 1.000000000000000 0.010000000000000 0.200000000000000 Maximum ICP translation correction accepted (>0). A large translation difference between the visual transformation and ICP transformation results in wrong transformations in most cases. true Maximum ICP rotation correction accepted (>0). A large rotation difference between the visual transformation and ICP transformation results in wrong transformations in most cases. true rad 2 3.140000000000000 0.010000000000000 0.780000000000000 ICP 3D (e.g. Kinect depth) 1 1000 10 Max iterations. true 0 999999 100 5000 1 32 3 0.010000000000000 0.010000000000000 0.100000000000000 Depth image decimation. true m 0.000000000000000 5.000000000000000 Max cloud depth. true m 3 0.000000000000000 0.010000000000000 0.005000000000000 Voxel size to be used for ICP computation. Set to 0 to disable voxel filtering. true Random samples to be used for ICP computation. Not used if Voxel size is null. true Max distance for point correspondences. true 0.000000000000000 1.000000000000000 0.010000000000000 0.700000000000000 Ratio of matching correspondences to accept the transform. true Point to plane ICP. true 1 1000 20 Number of neighbors to compute normals for point to plane. true ICP 2D (e.g. Laser scan) 3 0.010000000000000 0.010000000000000 0.100000000000000 Max distance for point correspondences. true 1 1000 10 Max iterations. true 0.000000000000000 1.000000000000000 0.010000000000000 0.700000000000000 Minimum ratio of correspondences on laser scan maximum size to accept the transform. true m 3 0.000000000000000 0.100000000000000 0.001000000000000 0.000000000000000 Voxel size. Set to 0 to disable voxel filtering. true Qt::Vertical 20 40 Stereo These parameters are used to find the 3D positions of visual words using disparity between the left and right images. Optical flow is used to find corresponding corners in the right image of words extracted from the left image. true calcOpticalFlowPyrLK() 1 999999 1 21 Window size. true 1 999999 1 30 Iterations. true 3 0.001000000000000 0.100000000000000 0.010000000000000 0.010000000000000 Epsilon. true Max level. true 0 999999 1 3 3 0.001000000000000 1.000000000000000 0.010000000000000 0.100000000000000 The maximum slope for each stereo pairs. This will filter bad matches from calcOpticalFlowPyrLK(). true Qt::Vertical 20 464 Odometry Odometry is computed as fast as possible up to "Source->Input rate" parameter. Odometry is not computed if already provided by the source. true 3-Mono is for single camera motion estimation (MonoSLAM). On initialization, the camera must be translated on the side until a first transform can be computed. true Automatically reset odometry after X consecutive images on which odometry cannot be computed (value=0 disables auto-reset). When reset, the odometry starts from the last pose computed. true QComboBox::AdjustToContents BOW (bag-of-words) Optical Flow Mono 999999 QComboBox::AdjustToContents SURF SIFT ORB FAST+FREAK FAST+BRIEF GFTT+FREAK GFTT+BRIEF BRISK Feature detector. In BOW/Mono modes, the related descriptor is also used. In Optical flow mode, only the keypoint detector is used. true Odometry strategy: false Force 2D transform (3DoF: x,y and yaw). true Fill info with data (inliers/outliers features to be shown in Odometry view). true Test selected odometry 2-Optical flow estimate the location of 2D features from last frame to new frame, then computes RANSAC transformation with corresponding 3D features. true 1-BOW matches features extracted from both frames using nearest neighbor with descriptors, then computes RANSAC transformation estimation with corresponding 3D features. true Transformation estimation (RANSAC) 8 1000 10 Minimum feature correspondences to compute geometry transform. true m 3 0.001000000000000 0.010000000000000 0.005000000000000 RANSAC: Maximum distance for 3D feature correspondences. Lower the value, higher the precision but higher the chance of RED screens (odometry lost). true 1 10000 1 100 RANSAC: Maximum iterations to compute the transform from 3D features. true 0 10000 1 10 Refine iterations of the resulting transformation computed by RANSAC. 0 means no refining. true PnP reprojection error. true pix 1 0.100000000000000 1.000000000000000 8.000000000000000 PnP RANSAC: Pose estimation from 2D to 3D correspondences instead of 3D to 3D correspondences. PnP uses "Minimum feature correspondences" and "Maximum iterations" above. true PnP flags. true Iterative EPNP P3P Features filtering 999999 ROI ratios [left, right, top, bottom] between 0 and 1. true 0.0 0.0 0.0 0.0 false Max features extracted from the images (0 means inf). true Maximum feature depth. true m 2 0.000000000000000 1.000000000000000 5.000000000000000 Sub pixel corners Refining corners to sub pixel. Sub pixel corners may not be needed for features like SURF/SIFT, which are already sub pixel. true 0 999999 1 5 Window size. true 0 999999 1 20 Iterations. 0 disables sub pixel refining. true 3 0.001000000000000 0.100000000000000 0.010000000000000 0.030000000000000 Epsilon. true Qt::Vertical 20 40 BOW 0 999999 1 0 Local history size: If > 0 (example 5000), the odometry will maintain a local map of X maximum words. This will decrease odometry drifting when the camera is not moving. true QComboBox::AdjustToContents FLANN Linear FLANN KdTree FLANN LSH Brute Force Brute Force GPU Nearest neighbor strategy. FLANN KdTree must be used only with SURF/SIFT. FLANN LSH must be used only with binary feature detector. true 1 0.100000000000000 1.000000000000000 0.100000000000000 0.700000000000000 NNDR ratio (A matching pair is accepted, if its distance is closer than X times the distance of the second nearest neighbor) Lower the ratio -> higher the precision. 0 means disabled, matching the nearest. true Qt::Vertical 20 670 Optical Flow The process is as follow: - Features from the last frame are estimated in the new frame using an optical flow approach (see cv::calcOpticalFlowPyrLK()). - 3D features from the new frame are extracted from the estimated positions. - Using RANSAC, a transformation is estimated between corresponding 3D features. - New features are extracted from the new frame to be used for the next time. - Optionally, the 2D position of the features can be refined for sub pixel precision (see cv::cornerSubPix()). true calcOpticalFlowPyrLK() 1 999999 1 21 Window size. true 1 999999 1 30 Iterations. true Epsilon. true 0 999999 1 3 Max level. true 3 0.001000000000000 1.000000000000000 0.010000000000000 0.010000000000000 Qt::Vertical 20 518 Mono Parameters from BOW and OpticalFlow are also used here. PnP parameters on Odometry panel are used too. true pixels 0 1000.000000000000000 10.000000000000000 100.000000000000000 Minimum optical flow required for the initialization step. true m 0.000000000000000 0.010000000000000 0.020000000000000 Minimum translation to add new points to local map. On initialization, translation x 5 is used as the required minimum transformation. true Minimum translation required for the initialization step. true m 0.000000000000000 0.010000000000000 0.100000000000000 Maximum variance to add new points to local map. true 3 0.000000000000000 0.001000000000000 0.010000000000000 Qt::Vertical 20 40 12 12 Qt::Horizontal QDialogButtonBox::Apply|QDialogButtonBox::RestoreDefaults Basic true Advanced Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok UPlot QWidget
utilite/UPlot.h
1