Update documentation (latest) 2fbbe19d70

This commit is contained in:
github-actions[bot]
2026-09-11 07:17:46 +00:00
parent 3b2bb498a8
commit a716b3674c
32 changed files with 6871 additions and 6740 deletions
+22 -20
View File
@@ -101,7 +101,7 @@ $(document).ready(function(){initNavTree('parameters.html',''); initResizable();
<div class="headertitle"><div class="title">Parameter reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Every setting in RTAB-Map is a <code>Group/Name</code> string key with a string value, collected in a <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" title="Parameter keys mapped to their values, as used by every configurable class (see Parameters).">rtabmap::ParametersMap</a>. The 616 parameters below are declared in <code><a class="el" href="Parameters_8h_source.html">Parameters.h</a></code>; the same keys are used by <a class="el" href="classrtabmap_1_1Rtabmap.html" title="Top-level RTAB-Map SLAM pipeline (mapping, localization and loop closure).">rtabmap::Rtabmap</a> and <a class="el" href="classrtabmap_1_1Odometry.html" title="Abstract base class for visual, lidar and visual-inertial odometry backends.">rtabmap::Odometry</a>, by the applications, by the <code>--Param Group/Name value</code> command-line arguments of the tools and by the ROS wrappers, so a setting found here applies everywhere.</p>
<div class="textblock"><p>Every setting in RTAB-Map is a <code>Group/Name</code> string key with a string value, collected in a <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" title="Parameter keys mapped to their values, as used by every configurable class (see Parameters).">rtabmap::ParametersMap</a>. The 617 parameters below are declared in <code><a class="el" href="Parameters_8h_source.html">Parameters.h</a></code>; the same keys are used by <a class="el" href="classrtabmap_1_1Rtabmap.html" title="Top-level RTAB-Map SLAM pipeline (mapping, localization and loop closure).">rtabmap::Rtabmap</a> and <a class="el" href="classrtabmap_1_1Odometry.html" title="Abstract base class for visual, lidar and visual-inertial odometry backends.">rtabmap::Odometry</a>, by the applications, by the <code>--Param Group/Name value</code> command-line arguments of the tools and by the ROS wrappers, so a setting found here applies everywhere.</p>
<div class="fragment"><div class="line"><a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">rtabmap::ParametersMap</a> parameters;</div>
<div class="line">parameters.insert(<a class="code hl_typedef" href="namespacertabmap.html#a4d38c2e87cb7a46dc4299f7bd4d95a01">rtabmap::ParametersPair</a>(<a class="code hl_function" href="classrtabmap_1_1Parameters.html#a46dc1a24b02bb00014262f7f4d818a49">rtabmap::Parameters::kMemSTMSize</a>(), <span class="stringliteral">&quot;20&quot;</span>));</div>
<div class="line"><a class="code hl_namespace" href="namespacertabmap.html">rtabmap</a>.init(parameters, <span class="stringliteral">&quot;map.db&quot;</span>);</div>
@@ -271,45 +271,47 @@ Kp</h1>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpFlannRebalancingFactor"></a><a class="el" href="classrtabmap_1_1Parameters.html#a17550d1f1b862a621c409d4e12c7696b">Kp/FlannRebalancingFactor</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>2.0</code> </td><td class="markdownTableBodyNone">Rebuild the incremental FLANN index (see <a class="el" href="parameters.html#param_KpIncrementalFlann">Kp/IncrementalFlann</a>) once the ratio (factor-1)/factor of its features has been removed, e.g. half of them for a factor of 2. Rebuilding frees the memory of the removed features and speeds up the searches. Features are mostly removed when memory management is enabled (<a class="el" href="parameters.html#param_RtabmapTimeThr">Rtabmap/TimeThr</a> or <a class="el" href="parameters.html#param_RtabmapMemoryThr">Rtabmap/MemoryThr</a>). Set to 1 to never rebuild, which also uses less memory as the features don't have to be referenced one by one. </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpFlannThreads"></a><a class="el" href="classrtabmap_1_1Parameters.html#abe0297bd38661233f2b0fcf6851b1659">Kp/FlannThreads</a> </td><td class="markdownTableBodyNone">int </td><td class="markdownTableBodyNone"><code>1</code> </td><td class="markdownTableBodyNone">Number of threads used for FLANN kNN search (batched queries). Set to 0 for all available. </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpByteToFloat"></a><a class="el" href="classrtabmap_1_1Parameters.html#a98de5152ce8f3bc8d1f197d20d4e778a">Kp/ByteToFloat</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>false</code> </td><td class="markdownTableBodyNone">For <a class="el" href="parameters.html#param_KpNNStrategy">Kp/NNStrategy</a>=1, binary descriptors are converted to float by converting each byte to float instead of converting each bit to float. When converting bytes instead of bits, less memory is used and search is faster at the cost of slightly less accurate matching. </td></tr>
<tr class="markdownTableRowEven">
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpMaxDepth"></a><a class="el" href="classrtabmap_1_1Parameters.html#acec9d7db5ce8c9b5e0595bf60158fbd0">Kp/MaxDepth</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0</code> </td><td class="markdownTableBodyNone">Filter extracted keypoints by depth (0=inf). </td></tr>
<tr class="markdownTableRowOdd">
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpMinDepth"></a><a class="el" href="classrtabmap_1_1Parameters.html#a1eac07ec17481a6a3ba2624ffecc1b73">Kp/MinDepth</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0</code> </td><td class="markdownTableBodyNone">Filter extracted keypoints by depth. </td></tr>
<tr class="markdownTableRowEven">
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpMaxFeatures"></a><a class="el" href="classrtabmap_1_1Parameters.html#a6801f48aaaca4448f87ad459e168cd99">Kp/MaxFeatures</a> </td><td class="markdownTableBodyNone">int </td><td class="markdownTableBodyNone"><code>500</code> </td><td class="markdownTableBodyNone">Maximum features extracted from the images (0 means not bounded, &lt;0 means no extraction). </td></tr>
<tr class="markdownTableRowOdd">
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpSSC"></a><a class="el" href="classrtabmap_1_1Parameters.html#a7230153ec64f937a4f431560a8520663">Kp/SSC</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>false</code> </td><td class="markdownTableBodyNone">If true, SSC (Suppression via Square Covering) is applied to limit keypoints. </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpBadSignRatio"></a><a class="el" href="classrtabmap_1_1Parameters.html#af636a4ac3e917b46f7bebbe841eec4f6">Kp/BadSignRatio</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0.5</code> </td><td class="markdownTableBodyNone">Bad signature ratio. If <a class="el" href="parameters.html#param_KpMaxFeatures">Kp/MaxFeatures</a>=0, the ratio is computed from the average number of words per signature (less than Ratio x AverageWordsPerImage = bad). </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpNndrRatio"></a><a class="el" href="classrtabmap_1_1Parameters.html#a13f4bb57e661d37f80d3af034ee0431b">Kp/NndrRatio</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0.8</code> </td><td class="markdownTableBodyNone">NNDR ratio (A matching pair is detected, if its distance is closer than X times the distance of the second nearest neighbor.) </td></tr>
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpBadSignRatio"></a><a class="el" href="classrtabmap_1_1Parameters.html#af636a4ac3e917b46f7bebbe841eec4f6">Kp/BadSignRatio</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0.5</code> </td><td class="markdownTableBodyNone">Bad signature ratio. If <a class="el" href="parameters.html#param_KpMaxFeatures">Kp/MaxFeatures</a>=0, the ratio is computed from the average number of words per signature (less than Ratio x AverageWordsPerImage = bad). </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpNndrRatio"></a><a class="el" href="classrtabmap_1_1Parameters.html#a13f4bb57e661d37f80d3af034ee0431b">Kp/NndrRatio</a> </td><td class="markdownTableBodyNone">float </td><td class="markdownTableBodyNone"><code>0.8</code> </td><td class="markdownTableBodyNone">NNDR ratio (A matching pair is detected, if its distance is closer than X times the distance of the second nearest neighbor.) </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpDetectorStrategy"></a><a class="el" href="classrtabmap_1_1Parameters.html#ad61392cda3782e740f3023577a4839fc">Kp/DetectorStrategy</a> </td><td class="markdownTableBodyNone">int </td><td class="markdownTableBodyNone"><code>8</code> with <code>CV_MAJOR_VERSION &amp;gt; 2 &amp;&amp; !defined(HAVE_OPENCV_XFEATURES2D)</code><br />
<code>6</code> otherwise </td><td class="markdownTableBodyNone">0=SURF 1=SIFT 2=ORB 3=FAST/FREAK 4=FAST/BRIEF 5=GFTT/FREAK 6=GFTT/BRIEF 7=BRISK 8=GFTT/ORB 9=KAZE 10=ORB-OCTREE 11=SuperPoint 12=SURF/FREAK 13=GFTT/DAISY 14=SURF/DAISY 15=PyDetector 16=SuperPoint-Rpautrat </td></tr>
<tr class="markdownTableRowOdd">
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpTfIdfLikelihoodUsed"></a><a class="el" href="classrtabmap_1_1Parameters.html#aca77bbee94284ba850b37c236c687b66">Kp/TfIdfLikelihoodUsed</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>true</code> </td><td class="markdownTableBodyNone">Use of the td-idf strategy to compute the likelihood. </td></tr>
<tr class="markdownTableRowEven">
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpParallelized"></a><a class="el" href="classrtabmap_1_1Parameters.html#a3fe648463bf0faeb75fec21f2b0592ea">Kp/Parallelized</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>true</code> </td><td class="markdownTableBodyNone">If the dictionary update and signature creation were parallelized. </td></tr>
<tr class="markdownTableRowOdd">
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpRoiRatios"></a><a class="el" href="classrtabmap_1_1Parameters.html#afe37a6e5b4eb946113b320b16bc39107">Kp/RoiRatios</a> </td><td class="markdownTableBodyNone">string </td><td class="markdownTableBodyNone"><code>0.0 0.0 0.0 0.0</code> </td><td class="markdownTableBodyNone">Region of interest ratios [left, right, top, bottom]. </td></tr>
<tr class="markdownTableRowEven">
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpDictionaryPath"></a><a class="el" href="classrtabmap_1_1Parameters.html#a57e67dc855ce4b059baba6655c2077ef">Kp/DictionaryPath</a> </td><td class="markdownTableBodyNone">string </td><td class="markdownTableBodyNone"><code>""</code> </td><td class="markdownTableBodyNone">Path of the pre-computed dictionary </td></tr>
<tr class="markdownTableRowOdd">
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpNewWordsComparedTogether"></a><a class="el" href="classrtabmap_1_1Parameters.html#ad4a9e088d01469df176bd6f81e7a8669">Kp/NewWordsComparedTogether</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>true</code> </td><td class="markdownTableBodyNone">When adding new words to dictionary, they are compared also with each other (to detect same words in the same signature). </td></tr>
<tr class="markdownTableRowEven">
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpFlannIndexSaved"></a><a class="el" href="classrtabmap_1_1Parameters.html#a866886411343233d86d96d574ea1c524">Kp/FlannIndexSaved</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>false</code> </td><td class="markdownTableBodyNone">Save FLANN index during localization session (when <a class="el" href="parameters.html#param_MemIncrementalMemory">Mem/IncrementalMemory</a>=false). The FLANN index will be saved to database after the first time localization mode is used, then on next sessions, the index is reloaded from the database instead of being rebuilt again. This can save significant loading time when the visual word dictionary is big (&gt;1M words). Note that if the dictionary is modified (parameters or data), the index will be rebuilt and saved again on the next session. Ignored on initialization if <a class="el" href="parameters.html#param_MemInitWMWithAllNodes">Mem/InitWMWithAllNodes</a> is enabled. </td></tr>
<tr class="markdownTableRowOdd">
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpSerializeWithChecksum"></a><a class="el" href="classrtabmap_1_1Parameters.html#a28ad6d76310026f362eef0296b1552db">Kp/SerializeWithChecksum</a> </td><td class="markdownTableBodyNone">bool </td><td class="markdownTableBodyNone"><code>true</code> </td><td class="markdownTableBodyNone">On serialization of the FLANN index, compute checksum of the data used by the FLANN index. This adds a slight overhead on serialization/deserialization to make sure that the dictionary data correspond to same data used when the index was built. </td></tr>
<tr class="markdownTableRowEven">
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpSubPixWinSize"></a><a class="el" href="classrtabmap_1_1Parameters.html#acc06479235e5d65de80de98ea2e505c3">Kp/SubPixWinSize</a> </td><td class="markdownTableBodyNone">int </td><td class="markdownTableBodyNone"><code>3</code> </td><td class="markdownTableBodyNone">See cv::cornerSubPix(). </td></tr>
<tr class="markdownTableRowOdd">
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpSubPixIterations"></a><a class="el" href="classrtabmap_1_1Parameters.html#a9560ca4e6065209b305018222c41f788">Kp/SubPixIterations</a> </td><td class="markdownTableBodyNone">int </td><td class="markdownTableBodyNone"><code>0</code> </td><td class="markdownTableBodyNone">See cv::cornerSubPix(). 0 disables sub pixel refining. </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpSubPixEps"></a><a class="el" href="classrtabmap_1_1Parameters.html#a6fc9485a168e16fbbefd21f9951a947e">Kp/SubPixEps</a> </td><td class="markdownTableBodyNone">double </td><td class="markdownTableBodyNone"><code>0.02</code> </td><td class="markdownTableBodyNone">See cv::cornerSubPix(). </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpGridRows"></a><a class="el" href="classrtabmap_1_1Parameters.html#a6e36653d2e375a7e3bfde9c7acc80178">Kp/GridRows</a> </td><td class="markdownTableBodyNone">int </td><td class="markdownTableBodyNone"><code>1</code> </td><td class="markdownTableBodyNone">Number of rows of the grid used to extract uniformly "@ref param_KpMaxFeatures "Kp/MaxFeatures" / grid cells" features from each cell. </td></tr>
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpSubPixEps"></a><a class="el" href="classrtabmap_1_1Parameters.html#a6fc9485a168e16fbbefd21f9951a947e">Kp/SubPixEps</a> </td><td class="markdownTableBodyNone">double </td><td class="markdownTableBodyNone"><code>0.02</code> </td><td class="markdownTableBodyNone">See cv::cornerSubPix(). </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpGridRows"></a><a class="el" href="classrtabmap_1_1Parameters.html#a6e36653d2e375a7e3bfde9c7acc80178">Kp/GridRows</a> </td><td class="markdownTableBodyNone">int </td><td class="markdownTableBodyNone"><code>1</code> </td><td class="markdownTableBodyNone">Number of rows of the grid used to extract uniformly "@ref param_KpMaxFeatures "Kp/MaxFeatures" / grid cells" features from each cell. </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="anchor" id="param_KpGridCols"></a><a class="el" href="classrtabmap_1_1Parameters.html#a1a302199e3aa8f82688160732a637f4b">Kp/GridCols</a> </td><td class="markdownTableBodyNone">int </td><td class="markdownTableBodyNone"><code>1</code> </td><td class="markdownTableBodyNone">Number of columns of the grid used to extract uniformly "@ref param_KpMaxFeatures "Kp/MaxFeatures" / grid cells" features from each cell. </td></tr>
</table>
<p><a class="anchor" id="parameters_DbSqlite3"></a></p>