主要内容

detectLoop

检测循环闭包

描述

例子

loopViewIds= detectLoop (loopDetector)检测到循环过去添加闭包描述符并返回视图标识符loopViewIds对应于循环闭包。如果函数闭包检测没有循环,loopViewIds是空的。循环关闭探测器忽略了最近添加的数量描述符,设置的NumExcludedDescriptors名称-值参数,以避免检测循环闭包与最近的描述符。

loopViewIds= detectLoop (loopDetector,描述符)检测到循环闭包使用扫描上下文描述符描述符

(loopViewIds,经销)= detectLoop (___)返回扫描背景距离经销描述符和查询描述符之间的循环,从先前的语法使用任何输入参数的组合。扫描之间的距离计算函数上下文描述符,规范化区间[0,1],使用修改后的余弦距离。

(___)= detectLoop (___,名称=值)指定选项使用一个或多个名称参数除了参数从以前的语法的任意组合。例如,detectLoop (loopDetector NumExcludedDescriptors = 15)检测到循环过去添加闭包描述符而忽略只有15最近添加循环描述符。

例子

全部折叠

创建一个循环关闭探测器。

loopDetector = scanContextLoopDetector;

创建一个调速发电机PCAP文件阅读器。

veloReader = velodyneFileReader (“lidarData_ConstructionRoad.pcap”,“HDL32E”);

阅读和提取点云扫描上下文描述符从每个点云扫描。描述符添加到检测器。

viewId = 1:10 ptCloud = readFrame (veloReader viewId);描述符= scanContextDescriptor (ptCloud);addDescriptor (loopDetector viewId,描述符);结束

检查下一个点云可以分为环路闭合检测不扣除任何最近添加描述符。

viewId = viewId + 1;ptCloud = readFrame (veloReader viewId);描述符= scanContextDescriptor (ptCloud);[loopViewId,经销]= detectLoop (loopDetector描述符,“NumExcludedDescriptors”,0)
loopViewId =uint3210
dist =0.0831

输入参数

全部折叠

循环关闭探测器,指定为一个scanContextLoopDetector对象。

扫描上下文描述符指定为一个——- - - - - -N矩阵,径向垃圾箱的数量和吗N是方位垃圾箱的数量。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

例子:detectLoop (loopDetector NumExcludedDescriptors = 15)检测到循环过去添加闭包描述符而忽略只有15最近添加循环描述符。

扫描距离阈值分类视图作为一个循环闭合,指定为一个积极的标量。增加这个值可以返回循环闭包,但这也可以增加假阳性。

数量的最近描述符添加到排除循环关闭候选人,指定为一个非负整数。把最近添加的描述符,以避免检测回路关闭对最近最近添加的描述符描述符。增加NumExcludedDescriptors如果许多连续描述符对应于同一地区。

搜索半径subdescriptor空间,指定为一个积极的标量。函数计算扫描上下文距离只有那些在搜索半径描述符。增加这个值可以返回更多的循环闭包,但也可以增加假阳性。典型值之间0.20.4

最大数量的最强环路闭合检测回来时,指定为一个正整数。增加这个值增加潜在的返回的环路闭合检测数量。然而,增加这个值可以减少计算的速度。将这个值设置为返回所有环路闭合检测。

输出参数

全部折叠

循环关闭视图标识符对应于循环闭包,作为一个返回P元向量的整数值。如果没有找到该函数循环闭包,它的回报loopViewIds作为一个空向量。循环关闭探测器忽略过去NumExcludedDescriptors描述符,以避免检测循环闭包与最近的描述符。

扫描背景的距离,作为一个返回P元向量的积极的价值观。的距离代表了扫描环境循环描述符之间的距离和相应的查询描述符。函数计算扫描上下文描述符之间的距离,规范化区间[0,1],使用修改后的余弦距离。

算法

环主要描述符是一个subdescriptor提取扫描上下文描述符。每个方位的入住率比本,使其旋转不变。

扫描环境循环关闭探测器是一个两阶段算法。它首先使用环主要描述符最近邻搜索找到候选人循环闭包。然后,它计算扫描上下文使用扫描距离上下文描述符,和阈值来确定最佳环路闭合检测。

介绍了R2021b