groundTruthLidar

Lidar основная истина label данные

Описание

The groundTruthLidar объект содержит информацию о лидарных метках основной истины. Источником данных, используемым для создания объекта, является набор данных облака точек лидара. Можно создавать, экспортировать или импортировать groundTruthLidar объект из приложения Lidar Labeler.

Создание

Экспорт groundTruthLidar объект из приложения Lidar Labeler, на панели инструментов приложения, выберите Export > To Workspace. Приложение экспортирует объект в MATLAB® рабочей области. Как создать groundTruthLidar программно используйте объект groundTruthLidar функция (описанная здесь).

Описание

пример

gTruth = groundTruthLidar(dataSource,labelDefs,labelData) возвращает объект, содержащий лидарные метки основной истины, которые можно импортировать в приложение Lidar Labeler.

  • dataSource задает источник данных облака точек лидара и устанавливает DataSource свойство.

  • labelDefs задает определения видимой области (ROI) и меток сцен, содержащих такую информацию, как Name, Type, и Group, и устанавливает LabelDefinitions свойство.

  • labelData определяет идентификационную информацию, положение и временные метки для отмеченных меток информация только для чтения и меток сцены и устанавливает LabelData свойство.

Свойства

расширить все

Источник данных основной истины лидара, заданный как PointCloudSequenceSource, VelodyneLidarSource, LasFileSequenceSource, или RosbagSource объект. Этот объект содержит информацию, которая описывает источник, из которого были помечены основные истины данные лидара. В этой таблице приведены дополнительные сведения о типах объектов, которые можно задать.

Имя объектаИсточник данныхСсылка на класс
PointCloudSequenceSourceПапка последовательности облаков точекvision.labeler.loading.PointCloudSequenceSource
VelodyneLidarSourceVelodyne® Файл захвата пакетов (PCAP)vision.labeler.loading.VelodyneLidarSource
LasFileSequenceSourceПапка последовательности файлов LAS или LAZlidar.labeler.loading.LasFileSequenceSource
RosbagSourceФайл Росбагаlidar.labeler.loading.RosbagSource

Это свойство доступно только для чтения.

Определения меток, заданные как таблица. Чтобы создать эту таблицу, используйте один из следующих опций.

  • В приложении Lidar Labeler создайте определения меток и затем экспортируйте их как часть groundTruthLidar объект.

  • Использование labelDefinitionCreatorLidar Объект для генерации таблицы определений меток. Если вы сохраняете эту таблицу в MAT-файле, можно затем загрузить определения меток в Lidar Labeler сеанс приложения, выбрав Open > Label Definitions на панели инструментов приложения.

  • Составьте таблицу определений меток в командной строке MATLAB.

В этой таблице описываются необходимые и необязательные столбцы таблицы, указанные в LabelDefinitions свойство.

СтолбецОписаниеТребуемый или опционный
NameСтроки или векторы символов, задающие имя каждого определения метки.

Необходимый

Type

labelType перечисления, которые задают тип каждого определения метки.

  • Для определений меток информация только для чтения - единственное допустимое labelType перечисление labelType.Cuboid.

  • Для определений меток сцены - единственное допустимое labelType перечисление labelType.Scene.

Необходимый

LabelColorТриплеты RGB, которые задают цвета определений меток. Значения находятся в области значений [0, 1]. Желтый цвет (триплет RGB [1 1 0]) зарезервирован для цвета выбранных меток в приложении Lidar Labeler.

Дополнительный

Когда вы задаете метки в приложении Lidar Labeler, вы должны задать цвет. Поэтому экспортированная таблица определений меток всегда включает этот столбец.

Когда вы создаете определения меток с помощью labelDefinitionCreatorLidar объект без указания цветов, возвращенная таблица определения меток включает этот столбец, но все значения столбцов являются пустыми.

GroupСтроки или векторы символов, задающие группу, к которой принадлежит каждое определение метки.

Дополнительный

Если вы создаете таблицу определений меток в командной строке MATLAB, вы не должны включать Group столбец.

Если вы экспортируете определения меток из приложения Lidar Labeler или создаете их с помощью labelDefinitionCreatorLidar объект, таблица определений меток включает этот столбец, даже если вы не задали группы. Приложение присваивает каждому определению метки Group значение 'None'.

DescriptionСтроки или векторы символов, которые описывают каждое определение метки.

Дополнительный

Если вы создаете таблицу определений меток в командной строке MATLAB, вы не должны включать Description столбец.

Если вы экспортируете определения меток из приложения Lidar Labeler или создаете их с помощью labelDefinitionCreatorLidar объект, таблица определений меток включает этот столбец, даже если вы не задали описание. The Description для этих определений меток является пустым символьным вектором.

Hierarchy

Структуры, содержащие информации атрибута для каждого определения метки.

ОбластьОписание
AttributeName1,...,AttributeNameN

Информация атрибута

Каждый определенный атрибут имеет свое поле, где имя поля соответствует наименованию атрибута. Значение атрибута является структурой, содержащей следующие поля:

  • DefaultValue - Значение по умолчанию атрибута, заданное как числовой скаляр для Numeric атрибуты, строка для String атрибуты или логический скаляр или пустой массив для Logical атрибуты. List атрибуты не содержат это поле.

  • ListItems - Список элементов атрибута, заданный как массив ячеек из векторов символов. Только List атрибуты содержат это поле.

  • Description - Описание атрибута, заданное как вектор символов.

TypeТип родительской метки для атрибутов, заданный как строковый или символьный вектор.
DescriptionОписание родительской метки для атрибутов, заданное как строковый или символьный вектор.

Если определение метки не содержит атрибутов, запись таблицы для этого определения метки пуста.

Дополнительный

Когда вы задаете подметки или атрибуты в приложении Lidar Labeler или labelDefinitionCreatorMultisignal объект, сгенерированная таблица определений меток включает этот столбец.

Это свойство доступно только для чтения.

Маркируйте данные для каждого информация только для чтения и метки сцены, заданные как timetable. Каждый столбец LabelData содержит метки для одного определения метки и соответствует Name значение для каждой строки в LabelDefinitions. Формат хранения данных о метках зависит от типа метки.

Тип меткиФормат памяти для меток в каждой временной метке

labelType.Cuboid

M-by-9 числовая матрица со строками вида [xctr, yctr, zctr, xlen, ylen, zlen, xrot, yrot, zrot], где:

  • M - количество меток в системе координат.

  • xctr, yctr, и zctr укажите центр кубоида.

  • xlen, ylen, и zlen задайте длину кубоида вдоль оси x, y оси и z оси, соответственно, до применения вращения.

  • xrot, yrot, и zrot задайте углы поворота для кубоида вдоль оси x, y оси и z оси, соответственно. Эти углы являются положительными по часовой стрелке при взгляде в прямом направлении их соответствующих осей.

Рисунок показывает, как эти значения определяют положение кубоида.

labelType.Scene

Логический вектор, где true указывает на наличие метки в этой временной метке.

Если на Cuboid Данные информации только для чтения включают атрибуты, тогда метки в каждой временной метке должны быть заданы как структуры. Структура включает эти поля.

Поле структуры меткиОписание
Position

Положения родительских меток в заданной временной метке

Формат Position для меток типа Cuboid описан в предыдущей таблице.

AttributeName1,...,AttributeNameN

Атрибуты родительских меток

Каждый определенный атрибут имеет свое поле, где имя поля соответствует наименованию атрибута. Значение атрибута является вектором символов для List или String атрибут, числовой скаляр для Numeric атрибут или логический скаляр для Logical атрибут. Если атрибут не задан, то значение атрибута является пустым вектором.

Функции объекта

changeFilePathsИзмените пути к файлам в достоверных данных
selectLabelsВыберите достоверные данные по имени или типу метки
selectLabelsByGroupВыберите достоверные данные по имени группы меток
selectLabelsByNameВыберите достоверные данные по имени метки
selectLabelsByTypeВыберите достоверные данные по типу метки

Примеры

свернуть все

Создайте достоверные данные для источника лидара Velodyne, который захватывает автомобиль на дороге. Укажите источники сигналов, определения меток и данные информации только для чтения.

Создайте источник данных Velodyne.

sourceName = fullfile(toolboxdir('vision'),'visiondata', ...
    'lidarData_ConstructionRoad.pcap');

sourceParams = struct();
sourceParams.DeviceModel = 'HDL32E';
sourceParams.CalibrationFile = fullfile(matlabroot,'toolbox','shared', ...
    'pointclouds','utilities','velodyneFileReaderConfiguration', ...
    'HDL32E.xml');

Загрузите источник данных.

dataSource = vision.labeler.loading.VelodyneLidarSource;
dataSource.loadSource(sourceName,sourceParams);

Создайте определения меток.

ldc = labelDefinitionCreatorLidar;
addLabel(ldc,'Car','Cuboid');
labelDefs = ldc.create;

Создайте достоверные данные для лидара последовательности.

numPCFrames = numel(dataSource.Timestamp{1});
carData = cell(numPCFrames,1);
carData{1} = [1.0223 13.2884 1.1456 8.3114 3.8382 3.1460 0 0 0];
lidarData = timetable(dataSource.Timestamp{1},carData, ...
    'VariableNames',{'Car'});

Создайте основную истину объект лидара.

gTruth = groundTruthLidar(dataSource,labelDefs,lidarData)
gTruth = 

  groundTruthLidar with properties:

          DataSource: [1×1 vision.labeler.loading.VelodyneLidarSource]
    LabelDefinitions: [1×5 table]
           LabelData: [1238×1 timetable]

См. также

Объекты

Введенный в R2020b