После маркировки сигналов следующим Маркировать процедура Ground Truth for Multiple Signals экспортируйте метки и исследуйте, как они хранятся.
Откройте сеанс приложения Ground Truth Labeler, содержащий помеченные сигналы. Можно открыть сеанс из командной строки MATLAB®. Например, если вы сохраненный сеанс к MAT-файлу под названием groundTruthLabelingSession
, введите эту команду.
groundTruthLabeler groundTruthLabelingSession.mat
На панели инструментов приложения выберите Export> To Workspace. В экспорте в окно рабочей области используйте имя переменной экспорта по умолчанию, gTruth
, и нажмите ОК. Приложение экспортирует
объект, groundTruthMultisignal
gTruth
, к рабочей области MATLAB®. Этот объект содержит метки основной истины, полученные от сеанса приложения.
Если вы не экспортировали groundTruthMultisignal
возразите против рабочей области, загрузите предопределенный объект от переменной gTruth
. Функция, используемая, чтобы загрузить этот объект, присоединена к этому примеру как к вспомогательному файлу. Если вы используете свой собственный объект, данные, такие как положения метки могут отличаться от данных, показанных в этом примере.
if (~exist('gTruth','var')) gTruth = helperLoadGTruthGetStarted; end
Отобразите свойства groundTruthMultisignal
объект, gTruth
. Объект содержит информацию об источниках данных сигнала, определениях метки, и метках сцены и ROI. Эта информация хранится в раздельном имуществе объекта.
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 секунд. Этот временной интервал соответствует запуску временного интервала, помеченного в Маркировать процедуре 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
Представление Now кубоид car
метки для первой последовательности облака точек структурируют во временном интервале. Последовательности облака точек не поддерживают подметки или атрибуты. Вместо того, чтобы хранить метки кубоида в Position
поле структуры, положения ограничительной рамки кубоида хранятся в M
- 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-файл, содержащий сеанс приложения. Для получения дополнительной информации смотрите Долю, и Хранилище Пометило Ground Truth Data.
gatherLabelData
| groundTruthMultisignal
| ROILabelData
| SceneLabelData