Запись систем координат сигнала для достоверных данных на диск
записывает кадры источников основной истины сигналов в указанные местоположения папки. Функция возвращает имена файлов, содержащих записанные системы координат. fileNames
= writeFrames(gTruth
,signalNames
,location
)fileNames
содержит одно имя файла на сигнал, заданный signalNames
в groundTruthMultisignal
объект, заданный gTruth
.
Используйте эти записанные кадры и связанные основные истины метки, полученные из gatherLabelData
функция как обучающие данные для моделей машинного обучения или глубокого обучения.
задает временные метки систем координат сигнала, которые нужно записать. Для получения временных меток сигнала используйте fileNames
= writeFrames(gTruth
,signalNames
,location
,timestamps
)gatherLabelData
функция.
задает опции, использующие один или несколько аргументы пары "имя-значение", в дополнение к любой комбинации входных аргументов из предыдущих синтаксисов. Для примера можно задать префикс и расширение типа файла имен для записанных систем координат.fileNames
= writeFrames(___,Name,Value
)
Сбор данных о метках для видеосигнала и сигнала последовательности облака лидарных точек от groundTruthMultisignal
объект. Запишите системы координат сигнала, сопоставленные с данными метки, на диск и визуализируйте системы координат.
Добавьте путь к папке последовательности облаков точек в путь поиска файлов MATLAB ®. Видео уже находится в пути поиска файлов MATLAB.
pcSeqDir = fullfile(toolboxdir('driving'),'drivingdata', ... 'lidarSequence'); addpath(pcSeqDir);
Загрузка groundTruthMultisignal
объект, который содержит данные метки для видео и последовательности облака точек лидара.
data = load('MultisignalGTruth.mat');
gTruth = data.gTruth;
Укажите сигналы для сбора данных о метках.
signalNames = ["video_01_city_c2s_fcw_10s" "lidarSequence"];
Видео содержит прямоугольные метки, в то время как лидарная последовательность облака точек содержит кубоидные метки. Соберите метки прямоугольника из видео и кубоидные метки из последовательности лидара облака точек.
labelTypes = [labelType.Rectangle labelType.Cuboid]; [labelData,timestamps] = gatherLabelData(gTruth,signalNames,labelTypes);
Отобразите первые восемь строк данных о метках из этих двух сигналов. Оба сигнала содержат данные для Car
метка. На видео, Car
метка рисуется как прямоугольник, ограничивающий прямоугольник. В последовательности облаков точек лидара Car
метка рисуется как кубоидный ограничивающий прямоугольник.
videoLabelSample = head(labelData{1}) lidarLabelSample = head(labelData{2})
videoLabelSample = table Car _________________ {[299 213 42 33]} lidarLabelSample = table Car ____________________________________________________ {[17.7444 6.7386 3.3291 3.6109 3.2214 3.5583 0 0 0]}
Запись систем координат сигнала, сопоставленных с собранными данными о метке, во временные папки с одной папкой на сигнал. Используйте временные метки, возвращенные gatherLabelData
функция для указания, какие системы координат сигнала нужно записать.
outputFolder = fullfile(tempdir,["videoFrames" "lidarFrames"]); fileNames = writeFrames(gTruth,signalNames,outputFolder,timestamps);
Writing 2 frames from the following signals: * video_01_city_c2s_fcw_10s * lidarSequence
Загрузите записанный видеосигнал систем координат при помощи imageDatastore
объект. Загрузите связанные данные метки прямоугольника при помощи boxLabelDatastore
объект.
imds = imageDatastore(fileNames{1}); blds = boxLabelDatastore(labelData{1});
Загрузите записанные системы координат сигнала лидара при помощи fileDatastore
объект. Загрузка связанных данных о кубоидной метке при помощи boxLabelDatastore
объект.
fds = fileDatastore(fileNames{2},'ReadFcn',@pcread);
clds = boxLabelDatastore(labelData{2});
Визуализируйте написанные видеокадры с помощью vision.VideoPlayer
объект. Визуализируйте написанные системы координат лидара с помощью pcplayer
объект.
videoPlayer = vision.VideoPlayer; ptCloud = preview(fds); ptCloudPlayer = pcplayer(ptCloud.XLimits,ptCloud.YLimits,ptCloud.ZLimits); while hasdata(imds) % Read video and lidar frames. I = read(imds); ptCloud = read(fds); % Visualize video and lidar frames. videoPlayer(I); view(ptCloudPlayer,ptCloud); end
Удалите путь к папке последовательности облаков точек.
rmpath(pcSeqDir);
gTruth
- Мультисигнальные наземные данные истинностиgroundTruthMultisignal
| вектор объекта groundTruthMultisignal
объектыМультисигнальные наземные данные истинности, заданные как groundTruthMultisignal
объект или вектор groundTruthMultisignal
объекты.
signalNames
- Имена сигналовИмена сигналов, для которых нужно записать системы координат, заданные как вектор символов, строковый скаляр, массив ячеек из векторов символов или строковый вектор. Имена сигналов должны быть допустимыми именами сигналов, сохраненными во входных многосигнальных наземных данных истинности, gTruth
.
Чтобы получить имена сигналов от groundTruthMultisignal
объект, используйте этот синтаксис, где gTruth
- имя переменной объекта:
gTruth.DataSource.SignalName
Пример: 'video_01_city_c2s_fcw_10s'
Пример: "video_01_city_c2s_fcw_10s"
Пример: {'video_01_city_c2s_fcw_10s','lidarSequence'}
Пример: ["video_01_city_c2s_fcw_10s" "lidarSequence"]
location
- Расположение папокРасположение папок, в которые можно записать системы координат, задается как M
-by- N
матрица строк или M
-by- N
массив ячеек из векторов символов, где:
M
количество groundTruthMultisignal
объекты в gTruth
.
N
количество сигналов в signalNames
.
location(m,n)
(для матричных входов) или location{m,n}
(для входов массива ячеек) содержит папку записи фрейма для n
первый сигнал signalNames
то есть в m
th groundTruthMultisignal
объект gTruth
.
Можно задать местоположения папок как относительные пути или полные пути к файлам. Если какие-либо указанные папки не существуют, writeFrames
функция создает папки. Все папки должны быть уникальными. Если файлы уже существуют в указанном расположении папки, и существующие файлы являются записываемыми, writeFrames
функция перезаписывает их.
timestamps
- Временные метки систем координат для записиduration
вектор | массив ячеек duration
векторыВременные метки систем координат, заданные как duration
вектор или M
-by- N
массив ячеек из duration
векторы, где:
M
количество groundTruthMultisignal
объекты в gTruth
.
N
количество сигналов в signalNames
.
timestamps{m,n}
содержит временные метки для n
первый сигнал signalNames
то есть в m
th groundTruthMultisignal
объект gTruth
.
Если вы записываете системы координат только для одного сигнала и одного groundTruthMultisignal
объект, задайте timestamps
как сингл duration
вектор.
По умолчанию, writeFrames
функция записывает все системы координат сигнала. Когда сигнал не имеет системы координат в заданных временных метках, функция записывает систему координат с самой близкой предыдущей временной меткой.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'NamePrefix',["video" "lidar"],'FileType',["png" "ply"]
записывает видеокадры с именами файлов формата video_001.png
, video_002.png
, и так далее, и записывает системы координат лидара с именами файлов формата lidar_001.ply
, lidar_002.ply
и так далее.'NamePrefix'
- Префикс имени файла для каждого сигналаПрефикс имени файла для каждого сигнала в signalNames
, заданная как разделенная разделенными запятой парами, состоящая из 'NamePrefix'
и вектор символов, строковый скаляр, массив ячеек с векторами символов или строкой вектором.
Каждый элемент 'NamePrefix'
задает тип файла для сигнала в соответствующей позиции signalNames
. По умолчанию 'NamePrefix'
- имя каждого сигнала в signalNames
.
'FileType'
- Тип файла для каждого сигнала"jpg"
для Image
сигналы, "pcd"
для PointCloud
сигналы (по умолчанию) | символьный вектор | строковый скаляр | массив ячеек из символьных векторов | строковый векторТип файла для каждого сигнала в signalNames
, заданная как разделенная разделенными запятой парами, состоящая из 'FileType'
и вектор символов, строковый скаляр, массив ячеек с векторами символов или строкой вектором.
Каждый элемент 'FileType'
задает тип файла для сигнала в соответствующей позиции signalNames
. Используйте этот аргумент пары "имя-значение", чтобы задать расширения файлов в именах записанных файлов.
Поддерживаемые типы файлов для сигнала зависят от того, является ли этот сигнал типом Image
или PointCloud
.
Тип сигнала | Поддерживаемые типы файлов |
---|---|
Image | Все типы файлов, поддерживаемые imwrite функция |
PointCloud |
Файлы данных облака точек (PCD) и многоугольников (PLY) записываются с помощью двоичной кодировки. Для получения дополнительной информации об этих форматах файлов см. |
Чтобы просмотреть типы сигналов, сохраненных в groundTruthMultisignal
объект, gTruth
, используйте этот код:
gTruth.DataSource.SignalType
Пример: 'FileType','png'
Пример: 'FileType',"png"
Пример: 'FileType',{'png','ply'}
Пример: 'FileType',["png" "ply"]
'Verbose'
- отображение информации о прогрессе записи;true
или 1
(по умолчанию) | false
или 0
Отображение информации о прогрессе записи в MATLAB® командная строка, заданная как разделенная разделенными запятой парами, состоящая из 'Verbose'
и логические 1
(true
) или 0
(false
).
fileNames
- Имена файлов записанных систем координатИмена файлов записанных систем координат, возвращенные как M
-by- N
массив ячеек из строковых векторов, где:
M
количество groundTruthMultisignal
объекты в gTruth
.
N
количество сигналов в signalNames
.
fileNames{m,n}
содержит имена файлов для систем координат n
первый сигнал signalNames
то есть в m
th groundTruthMultisignal
объект gTruth
.
Имена файлов для каждого сигнала возвращаются в строковый вектор-столбец, где каждая строка содержит имя файла для записанной системы координат. Если вы указали вход timestamps
, затем каждое имя файла представляет записанную систему координат в временной метке в соответствующей позиции timestamps
.
Каждый выходной файл имеет имя
, где:NamePrefix
_ UID
. FileType
- префикс имени файла. Чтобы задать префикс имени файла, используйте NamePrefix
'NamePrefix'
аргумент пары "имя-значение".
- уникальный целочисленный индекс для каждого записанной системы координат. UID
writeFrames
функция генерирует эти индексы.
- расширение типа файла. Чтобы задать расширение типа файла, используйте FileType
'FileType'
аргумент пары "имя-значение".
gatherLabelData
| groundTruthMultisignal
| imformats
| imwrite
| pcwrite
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.