scanContextDistance

Расстояние между дескрипторами контекста скана

Описание

пример

dist = scanContextDistance(descriptor1,descriptor2) вычисляет нормированное расстояние между дескрипторами контекста скана. Определите кандидатов закрытия цикла, использующих вычисленное расстояние.

Дескриптор контекста скана является 2D глобальным дескриптором функции для облака точек, которое может использоваться, чтобы обнаружить закрытия цикла. Чтобы извлечь дескриптор контекста скана fro облако точек, используйте scanContextDescriptor функция.

Примеры

свернуть все

Создайте пакетное получение Velodyne® (PCAP) средство чтения файлов.

veloReader = velodyneFileReader('lidarData_ConstructionRoad.pcap','HDL32E');

Считайте 1-й, 2-й, и 100-й скан в рабочую область.

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

Извлеките дескрипторы контекста скана из каждого из облаков точек.

descriptor1   = scanContextDescriptor(ptCloud1);
descriptor2   = scanContextDescriptor(ptCloud2);
descriptor100 = scanContextDescriptor(ptCloud100);

Вычислите расстояние дескриптора между 1-ми и 2-ми дескрипторами контекста скана, и между 1-ми и 100-ми дескрипторами контекста скана.

dist1to2   = scanContextDistance(descriptor1,descriptor2);
dist1to100 = scanContextDistance(descriptor1,descriptor100);

Отобразите расстояния дескриптора контекста скана.

disp("Descriptor distance from frame 1 to 2   : " + num2str(dist1to2))
Descriptor distance from frame 1 to 2   : 0.087646
disp("Descriptor distance from frame 1 to 100 : " + num2str(dist1to100))
Descriptor distance from frame 1 to 100 : 0.32427

Входные параметры

свернуть все

Отсканируйте дескриптор контекста облака точек в виде M-by-N матрица. Чтобы гарантировать точное измерение расстояния, используйте ту же радиальную область значений при извлечении этого дескриптора что касается descriptor2.

Типы данных: single | double

Отсканируйте дескриптор контекста облака точек в виде M-by-N матрица. Чтобы гарантировать точное измерение расстояния, используйте ту же радиальную область значений при извлечении этого дескриптора что касается descriptor1.

Типы данных: single | double

Выходные аргументы

свернуть все

Расстояние между дескрипторами контекста скана, возвращенными как скаляр в области значений [0, 1]. Маленькое значение указывает, что контексты скана, вероятно, будут принадлежать тому же местоположению и являются кандидатами закрытия цикла.

Типы данных: single | double

Алгоритмы

  • Функция вычисляет расстояние между дескрипторами контекста скана с помощью модифицированного расстояния косинуса и нормирует его к области значений [0 к 1).

Введенный в R2020b