После маркировки сигналов с помощью процедуры Label Ground Truth for Multiple Signals, экспортируйте метки и исследуйте, как они хранятся.
Откройте сеанс приложения Ground Truth Labeler, содержащий маркированные сигналы. Открыть сеанс можно из командной строки MATLAB ®. Например, если вы сохраняли сеанс в MAT-файл с именем groundTruthLabelingSession, введите эту команду.
groundTruthLabeler groundTruthLabelingSession.mat
На панели инструментов приложения выберите Экспорт > В рабочую область. В окне экспорта в рабочую область используйте имя переменной экспорта по умолчанию gTruth, и нажмите OK. Приложение экспортирует объект, groundTruthMultisignalgTruth, в рабочую область MATLAB ®. Этот объект содержит метки основной истины, захваченные из сеанса приложения.
Если вы не экспортировали groundTruthMultisignal объект в рабочую область, загрузите предопределенный объект из переменной gTruth. Функция, используемая для загрузки этого объекта, присоединена к этому примеру как вспомогательный файл. Если вы используете свой собственный объект, данные, такие как положения меток, могут отличаться от данных, показанных в этом примере.
if (~exist('gTruth','var')) gTruth = helperLoadGTruthGetStarted; end
Отображение свойств groundTruthMultisignal объект, gTruth. Объект содержит информацию об источниках данных сигнала, определениях меток, а также информация только для чтения и метках сцены. Эта информация хранится в отдельных свойствах объекта.
gTruth
gTruth =
groundTruthMultisignal with properties:
DataSource: [1x2 vision.labeler.loading.MultiSignalSource]
LabelDefinitions: [3x7 table]
ROILabelData: [1x1 vision.labeler.labeldata.ROILabelData]
SceneLabelData: [1x1 vision.labeler.labeldata.SceneLabelData]
В этом примере вы исследуете содержимое каждого свойства, чтобы узнать, как объект хранит основные истины.
The DataSource свойство содержит информацию об источниках данных. Это свойство содержит два MultiSignalSource объекты: один для источника видео и один для источника последовательности облака точек. Отображение содержимого DataSource свойство.
gTruth.DataSource
ans =
1x2 heterogeneous MultiSignalSource (VideoSource, PointCloudSequenceSource) array with properties:
SourceName
SourceParams
SignalName
SignalType
Timestamp
NumSignals
Информация, сохраненная в этих объектах, включает пути к источникам данных, имена сигналов, которые они содержат, и временные метки для этих сигналов. Отображение имен сигналов для источников данных.
gTruth.DataSource.SignalName
ans =
"video_01_city_c2s_fcw_10s"
ans =
"lidarSequence"
The LabelDefinitions свойство содержит таблицу сведений об определениях меток. Отобразите таблицу определений меток. Каждая строка содержит информацию о информация только для чтения или определении метки сцены. The car определение метки имеет две строки: одна, когда метка рисуется как прямоугольник на Image и один для, когда метка рисуется как кубоид на PointCloud сигналы.
gTruth.LabelDefinitions
ans =
3x7 table
Name SignalType LabelType Group Description LabelColor Hierarchy
___________ __________ _________ ____________ ___________ ________________________ ____________
{'car' } Image Rectangle {'Vehicles'} {0x0 char} {[0.5862 0.8276 0.3103]} {1x1 struct}
{'car' } PointCloud Cuboid {'Vehicles'} {0x0 char} {[0.5862 0.8276 0.3103]} {1x1 struct}
{'daytime'} Time Scene {'None' } {0x0 char} {[ 0.0588 1 1]} {0x0 double}
The Hierarchy в столбце хранится информация о подметке и определениях атрибутов родительской метки информация только для чтения. Отображение подметки и информации атрибута для car метка, когда она рисуется как прямоугольник. Эта метка содержит одну подметку, brakeLight, и никаких атрибутов.
gTruth.LabelDefinitions.Hierarchy{1}
ans =
struct with fields:
brakeLight: [1x1 struct]
Type: Rectangle
Description: ''
Отображение информации о brakeLight подметка для родительского car метка. Подметка содержит один атрибут, isOn. Подметки не могут иметь собственных подметок.
gTruth.LabelDefinitions.Hierarchy{1}.brakeLight
ans =
struct with fields:
Type: Rectangle
Description: ''
LabelColor: [0.5862 0.8276 0.3103]
isOn: [1x1 struct]
Отображение информации о isOn атрибут для brakeLight подметка. Этот атрибут не имеет значения по умолчанию, поэтому DefaultValue поле пустое.
gTruth.LabelDefinitions.Hierarchy{1}.brakeLight.isOn
ans =
struct with fields:
DefaultValue: []
Description: ''
The ROILlabelData свойство содержит объект со свойствами, которые содержат данные информации только для чтения для каждого сигнала. Имена свойств совпадают с именами сигналов. Отображение имен свойства объектов.ROILabelData
gTruth.ROILabelData
ans =
ROILabelData with properties:
lidarSequence: [34x1 timetable]
video_01_city_c2s_fcw_10s: [204x1 timetable]
Каждое свойство содержит расписание меток информация только для чтения, нарисованных в каждой временной метке сигнала, с одним столбцом на метку. Просмотрите фрагмент видео и расписания последовательности облака точек лидара. Установите временной интервал от 8 до 8,5 секунд. Этот временной интервал соответствует началу временного интервала, отмеченного в процедуре Label Ground Truth for Multiple Signals. Видео-расписание содержит больше строк, чем расписание последовательности облака точек, поскольку видео содержит больше системы координат меток.
timeInterval = timerange(seconds(8),seconds(8.5)); videoLabels = gTruth.ROILabelData.video_01_city_c2s_fcw_10s(timeInterval,:) lidarLabels = gTruth.ROILabelData.lidarSequence(timeInterval,:)
videoLabels =
10x1 timetable
Time car
________ ____________
8 sec {1x1 struct}
8.05 sec {1x1 struct}
8.1 sec {1x1 struct}
8.15 sec {1x1 struct}
8.2 sec {1x1 struct}
8.25 sec {1x1 struct}
8.3 sec {1x1 struct}
8.35 sec {1x1 struct}
8.4 sec {1x1 struct}
8.45 sec {1x1 struct}
lidarLabels =
2x1 timetable
Time car
__________ ____________
8.0495 sec {1x1 struct}
8.3497 sec {1x1 struct}
Просмотрите прямоугольник car метки для первого видеокадра во временном интервале. Данные о метках хранятся в структуре.
videoLabels.car{1}
ans =
struct with fields:
Position: [296 203 203 144]
brakeLight: [1x2 struct]
The Position в поле сохраняются положения car метки. Эта система координат содержит только один car метка, так что в данном случае, Position содержит только один прямоугольник, ограничивающий прямоугольник. Положение ограничивающего прямоугольника имеет форму [x y w h], где:
x и y задайте верхний левый угол прямоугольника.
w задает ширину прямоугольника, которая является длиной прямоугольника вдоль оси X.
h задает высоту прямоугольника, которая является длиной прямоугольника вдоль оси Y.
The car метка также содержит два brakeLight подметки в этой системе координат. Просмотрите brakeLight подметки. Подметки хранятся в массиве структур с одной структурой на подметку, нарисованную в системе координат.
videoLabels.car{1}.brakeLight
ans =
1x2 struct array with fields:
Position
isOn
Просмотрите положения ограничивающих прямоугольников для подметок.
videoLabels.car{1}.brakeLight.Position
ans = 304 245 50 46 ans = 435 243 54 51
Просмотрите значения для isOn атрибут в каждой подметке. Для обеих подметок этот атрибут установлен в логическое 1 (true).
videoLabels.car{1}.brakeLight.isOn
ans = logical 1 ans = logical 1
Теперь посмотрим кубоид car метки для первой системы координат последовательности облака точек в временном интервале. Последовательности облака точек не поддерживают подметки или атрибуты. Вместо хранения кубоидных меток в Position поле структуры, кубоидные положения ограничивающего прямоугольника хранятся в M-by-9 матрица, где M - количество кубоидных меток. Поскольку эта система координат содержит только одну кубоидную метку, в этом случае M равен 1.
lidarLabels.car{1}
ans =
struct with fields:
Position: [-1.1559 -0.7944 1.2012 12.6196 5.9278 3.0010 0 0 0]
brakeLight: []
Положение ограничивающего прямоугольника 1 на 9 имеет форму [xctr, yctr, zctr, xlen, ylen, zlen, xrot, yrot, zrot], где:
xctr, yctr, и zctr укажите центр кубоида.
xlen, ylen, и zlen задайте длину кубоида вдоль осей x -, y - и z, соответственно, до применения вращения.
xrot, yrot, и zrot задайте углы поворота для кубоида вдоль осей x -, y - и z, соответственно. Эти углы являются положительными по часовой стрелке при взгляде в прямом направлении их соответствующих осей.
Этот рисунок показывает, как эти значения определяют положение кубоида.

The SceneLabelData свойство содержит объект со свойствами, которые содержат данные меток сцены по всем сигналам. Имена свойств совпадают с именами меток сцен. Отображение имен свойства объектов.SceneLabelData
gTruth.SceneLabelData
ans =
SceneLabelData with properties:
daytime: [0 sec 10.15 sec]
The daytime метка применяется ко всему временному интервалу, который составляет приблизительно 10 секунд.
Метки, показанные в этом примере, предназначены только для иллюстративных целей. Для собственной маркировки после экспорта меток можно использовать их в качестве обучающих данных для детекторов объектов. Сбор данных о метках из groundTruthMultisignal объект для обучения, используйте функция.gatherLabelData
Чтобы поделиться маркированными достоверными данными, поделитесь основной истиной MAT-файлом, содержащим groundTruthMultisignal объект, а не MAT-файл, содержащий сеанс приложения. Для получения дополнительной информации смотрите Share and Store Labeled Ground Truth Data.
gatherLabelData | groundTruthMultisignal | ROILabelData | SceneLabelData