Запишите системы координат сигнала для достоверных данных к диску
пишут системы координат источников сигнала основной истины к заданным местоположениям папки. Функция возвращает имена файлов, содержащих записанные системы координат. 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 ____________ {1×4 double} lidarLabelSample = table Car ____________ {1×9 double}
Запишите системы координат сигнала, сопоставленные с собранными данными о метке к временным местоположениям папки с одной папкой на сигнал. Используйте метки времени, возвращенные 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
- N
матрица строк или M
- N
массив ячеек из символьных векторов, где:
M
количество groundTruthMultisignal
объекты в gTruth
.
N
количество сигналов в signalNames
.
location(m,n)
(для матричных входных параметров) или location{m,n}
(для входных параметров массива ячеек), содержит пишущее систему координат местоположение папки для n
сигнал th signalNames
это находится в m
th groundTruthMultisignal
объект gTruth
.
Можно задать местоположения папки как относительные пути или полные пути к файлам. Если какие-либо заданные местоположения папки не существуют, writeFrames
функция создает папки. Все местоположения папки должны быть уникальными. Если файлы уже существуют в заданном месте папки, и существующие файлы writeable, то writeFrames
функция перезаписывает их.
timestamps
— Метки времени систем координат, чтобы записатьduration
вектор | массив ячеек duration
векторыМетки времени систем координат, чтобы записать в виде duration
вектор или M
- N
массив ячеек duration
векторы, где:
M
количество groundTruthMultisignal
объекты в gTruth
.
N
количество сигналов в signalNames
.
timestamps{m,n}
содержит метки времени для n
сигнал th 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
ложь
).
fileNames
— Имена файлов записанных систем координатИмена файлов записанных систем координат, возвращенных как M
- N
массив ячеек векторов строки, где:
M
количество groundTruthMultisignal
объекты в gTruth
.
N
количество сигналов в signalNames
.
fileNames{m,n}
содержит имена файлов для систем координат n
сигнал th 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.