detectLoop
检测循环闭包
语法
描述
检测最后添加的描述符的循环闭包并返回视图标识符loopViewIds
= detectLoop (loopDetector
)loopViewIds
对应于循环闭包。如果函数没有检测到循环闭包,loopViewIds
是空的。类设置的最近添加的描述符的数量NumExcludedDescriptors
名称-值参数,以避免根据最近的描述符检测循环闭包。
使用扫描上下文描述符检测循环闭包loopViewIds
= detectLoop (loopDetector
,描述符
)描述符
.
[
返回扫描上下文距离loopViewIds
,经销
] = detectLoop(___)经销
在循环描述符和查询描述符之间,使用来自以前语法的输入参数的任何组合。该函数使用修改的余弦距离计算扫描上下文描述符之间的距离,归一化为范围[0,1]。
[___] = detectLoop(___,
使用一个或多个名称-值参数指定选项,以及使用前面语法中的任何参数组合。例如,名称=值
)detectLoop (loopDetector NumExcludedDescriptors = 15)
检测最后添加的描述符的循环闭包,而只忽略最近添加的15个循环描述符。
例子
输入参数
输出参数
算法
的环键描述符从扫描上下文描述符提取的子描述符。这是每个方位仓的占用率,使其旋转不变。
的扫描上下文循环关闭检测器是一种两阶段算法。它首先使用环键描述符进行最近邻居搜索,以查找候选循环闭包。然后,它使用扫描上下文描述符计算扫描上下文距离,并对其进行阈值以确定最佳的环路闭合检测。