После маркировки сигналов с помощью процедуры «Достоверность основания метки для нескольких сигналов» экспортируйте метки и узнайте, как они хранятся.
Откройте сеанс приложения 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]
В этом примере рассматривается содержимое каждого свойства, чтобы узнать, как объект сохраняет метки истинности основания.
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"
LabelDefinitions содержит таблицу информации об определениях меток. Отображение таблицы определений меток. Каждая строка содержит информацию об определении ROI или метки сцены. 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}
Hierarchy в столбце хранится информация об определениях суббнаков и атрибутов родительской метки ROI. Отображение информации о подмаркировке и атрибутах для 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: ''
ROILlabelData содержит свойство со свойствами, содержащими данные метки ROI для каждого сигнала. Имена свойств совпадают с именами сигналов. Отображение имен свойств объекта.ROILabelData
gTruth.ROILabelData
ans =
ROILabelData with properties:
lidarSequence: [34x1 timetable]
video_01_city_c2s_fcw_10s: [204x1 timetable]
Каждое свойство содержит расписание меток ROI, нарисованных на каждой временной метке сигнала, с одним столбцом на метку. Просмотрите часть видео и расписания последовательности облака точек лидара. Установите интервал времени от 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]
Position в поле хранятся позиции car этикетки. Этот кадр содержит только один car этикетка, так что в данном случае, Position содержит только одну прямоугольную ограничительную рамку. Положение ограничивающей рамки соответствует форме [x y w h], где:
x и y укажите левый верхний угол прямоугольника.
w определяет ширину прямоугольника, которая является длиной прямоугольника вдоль оси X.
h определяет высоту прямоугольника, которая является длиной прямоугольника вдоль оси Y.
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 соответственно. Эти углы являются положительными по часовой стрелке при взгляде в направлении вперед соответствующих им осей.
На этом рисунке показано, как эти значения определяют положение кубоида.

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