groundTruthLidar

Лоцируйте данные о метке основной истины

Описание

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Ввод, и Group, и устанавливает LabelDefinitions свойство.

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

Свойства

развернуть все

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

Имя объектаИсточник данныхСсылка класса
PointCloudSequenceSourceПапка последовательности облака точекvision.labeler.loading.PointCloudSequenceSource
VelodyneLidarSourceПакетное получение Velodyne® (PCAP) файлvision.labeler.loading.VelodyneLidarSource
LasFileSequenceSourceLAS или папка последовательности файла LAZlidar.labeler.loading.LasFileSequenceSource
RosbagSourceФайл Rosbaglidar.labeler.loading.RosbagSource

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

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

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

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

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

Эта таблица описывает необходимые и дополнительные столбцы таблицы, заданной в LabelDefinitions свойство.

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

Необходимый

Type

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

  • Для определений метки ROI, единственного допустимого 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 объект, таблица определений метки включает этот столбец, даже если вы не задавали описания. Description для этих определения метки пустой символьный вектор.

Hierarchy

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

Поле Описание
AttributeName1,...,AttributeNameN

Информационные признаки

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

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

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

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

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

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

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

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

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

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

Маркируйте TypeФормат устройства хранения данных для меток в каждой метке времени

labelType.Cuboid

M- 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 Данные о метке ROI включают атрибуты, затем метки в каждой метке времени должны быть заданы как структуры вместо этого. Структура включает эти поля.

Маркируйте Structure FieldОписание
Position

Положения родительского элемента помечают в данной метке времени

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

AttributeName1,...,AttributeNameN

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

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

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

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

Примеры

свернуть все

Создайте достоверные данные для источника лидара Velodyne, который получает автомобиль на дороге. Задайте источники сигнала, пометьте определения и данные о метке ROI.

Создайте источник данных 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