主要内容

扫描上下文距离

扫描上下文描述符之间的距离

描述

实例

距离=扫描上下文距离(描述符1,描述符2)计算扫描上下文描述符之间的标准化距离。使用计算的距离确定循环闭合候选。

扫描上下文描述符是点云的二维全局特征描述符,可用于检测循环闭包。要从点云提取扫描上下文描述符,请使用扫描上下文描述符作用

例子

全部崩溃

创建Velodyne®数据包捕获(PCAP)文件读取器。

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

将第1次、第2次和第100次扫描读入工作区。

ptCloud1=readFrame(veloReader,1);ptCloud2=readFrame(veloReader,2);ptCloud100=readFrame(veloReader,100);

从每个点云提取扫描上下文描述符。

描述符1=scanContextDescriptor(ptCloud1);描述符2=scanContextDescriptor(ptCloud2);描述符100=scanContextDescriptor(ptCloud100);

计算第一个和第二个扫描上下文描述符之间以及第一个和第100个扫描上下文描述符之间的描述符距离。

dist1to2=扫描上下文距离(描述符1,描述符2);dist1to100=扫描上下文距离(描述符1,描述符100);

显示扫描上下文描述符距离。

disp(“从第1帧到第2帧的描述符距离:”+num2str(dist1to2))
从帧1到帧2的描述符距离:0.087646
disp(“从第1帧到100帧的描述符距离:”+num2str(距离1到100))
从帧1到100的描述符距离:0.32427

输入参数

全部崩溃

扫描点云的上下文描述符,指定为M-借-N矩阵。为确保精确的距离测量,在提取此描述符时使用与用于相同的径向范围描述符2.

数据类型:仅有一个的|双重的

扫描点云的上下文描述符,指定为M-借-N矩阵。为确保精确的距离测量,在提取此描述符时使用与用于相同的径向范围描述符1.

数据类型:仅有一个的|双重的

输出参数

全部崩溃

扫描上下文描述符之间的距离,作为范围[0,1]中的标量返回。较小的值表示扫描上下文可能属于同一位置,并且是循环闭包候选。

数据类型:仅有一个的|双重的

算法

  • 该函数使用修改后的余弦距离计算扫描上下文描述符之间的距离,并将其规格化为范围[01.).

扩展能力

C/C++代码生成
使用Matlab®编码器生成C和C++代码™.

在R2020b中引入