scanContextDistance

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

Описание

пример

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

Контекстный дескриптор скана является 2-D глобальным дескриптором функций для облака точек, которое может использоваться для обнаружения замыканий цикла. Чтобы извлечь контекстный дескриптор скана для облака точек, используйте 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).

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

Объекты

Функции

Введенный в R2020b