pixelLabelTrainingData

Создание обучающих данных для семантической сегментации из исходной истины

Описание

пример

[imds,pxds] = pixelLabelTrainingData(gTruth) создает datastore изображений imds и пиксель помечает datastore pxds от заданной основной истины. Можно объединить возвращенные хранилища данных в pixelLabelImageDatastore и используйте trainNetwork (Deep Learning Toolbox) функция, чтобы обучить сети сегментации глубокого обучения. Можно также использовать эти хранилища данных с evaluateSemanticSegmentation функция, чтобы оценить результат глубокого обучения или классических методов сегментации.

Эта функция поддерживает параллельные вычисления с помощью нескольких MATLAB® рабочие. Включите параллельные вычисления с помощью диалогового окна Computer Vision Toolbox Preferences.

[imds,pxds] = pixelLabelTrainingData(gTruth,Name,Value) возвращает изображение и пиксельные хранилища данных метки с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение".

  • Если groundTruth объекты в gTruth были созданы с помощью видеофайла, пользовательского источника данных или imageDatastore с различными пользовательскими функциями чтения затем можно задать любую комбинацию аргументов пары "имя-значение".

  • Если groundTruth объекты были созданы из коллекции изображений или источника данных последовательности изображений, затем можно задать только SamplingFactor аргумент пары "имя-значение"

Примеры

свернуть все

Загрузите groundTruth возразите названному gTruth. Основная истина содержит пиксельные метки для треугольников и фона, аннотируемого на видео 100 системами координат.

visiondataPath = fullfile(matlabroot, 'toolbox', 'vision', 'visiondata');
addpath(fullfile(visiondataPath, 'triangleImages'));
addpath(fullfile(visiondataPath, 'triangleImages', 'testLabels'));
loadedData = load(fullfile(visiondataPath, 'triangleImages', 'triangleGroundTruth.mat'));
gTruth = loadedData.gTruth;

Создайте папку в текущем каталоге.

foldername = fullfile(tempdir,"videoFrames");
mkdir(foldername)

Создайте imageDatastore и pixelLabelDatastore из видеофайла и соответствующих пиксельных меток. Запишите каждое пятое изображение в диск.

[imds,pxdsTruth] = pixelLabelTrainingData(gTruth,...
    'SamplingFactor',5,'WriteLocation',foldername);
Write images extracted for training to folder: 
    /tmp/videoFrames

Writing 20 images extracted from triangleVideo.avi...Completed.

Подтвердите, что временная папка содержит каждое пятое изображение.

imds.Files
ans = 20×1 cell
    {'/tmp/videoFrames/triangleVideo01.png'}
    {'/tmp/videoFrames/triangleVideo06.png'}
    {'/tmp/videoFrames/triangleVideo11.png'}
    {'/tmp/videoFrames/triangleVideo16.png'}
    {'/tmp/videoFrames/triangleVideo21.png'}
    {'/tmp/videoFrames/triangleVideo26.png'}
    {'/tmp/videoFrames/triangleVideo31.png'}
    {'/tmp/videoFrames/triangleVideo36.png'}
    {'/tmp/videoFrames/triangleVideo41.png'}
    {'/tmp/videoFrames/triangleVideo46.png'}
    {'/tmp/videoFrames/triangleVideo51.png'}
    {'/tmp/videoFrames/triangleVideo56.png'}
    {'/tmp/videoFrames/triangleVideo61.png'}
    {'/tmp/videoFrames/triangleVideo66.png'}
    {'/tmp/videoFrames/triangleVideo71.png'}
    {'/tmp/videoFrames/triangleVideo76.png'}
    {'/tmp/videoFrames/triangleVideo81.png'}
    {'/tmp/videoFrames/triangleVideo86.png'}
    {'/tmp/videoFrames/triangleVideo91.png'}
    {'/tmp/videoFrames/triangleVideo96.png'}

Удалите видео и изображения от пути.

rmpath(fullfile(visiondataPath, 'triangleImages'));
rmpath(fullfile(visiondataPath, 'triangleImages', 'testLabels'));

Входные параметры

свернуть все

Достоверные данные в виде скалярного groundTruth возразите или массив groundTruth объекты. Когда gTruth массив groundTruth объекты, LabelDefinitions свойство каждого объекта должно содержать те же пиксельные имена метки.

Если вы используете пользовательские источники данных в gTruth с включенными параллельными вычислениями затем функция читателя, как ожидают, будет работать с пулом работников MATLAB, чтобы считать изображения из источника данных параллельно.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'SamplingFactor',5

Фактор для подвыборки отображает в источнике достоверных данных, заданном целое число или вектор из целых чисел. Для фактора выборки N возвращенные обучающие данные включают каждый N th изображение в источнике достоверных данных. Функция игнорирует изображения основной истины с пустыми данными о метке

Используйте выборочные данные, чтобы уменьшать повторенные данные, такие как последовательность изображений с той же сценой и метками. Это может также помочь в сокращении учебного времени.

ЗначениеВыборка фактора
Целое числоВручную установитесь коэффициент выборки, чтобы примениться ко всем данным.
Вектор из целых чиселПри вводе вектор из объектов основной истины, функция использует фактор выборки, заданный соответствующим векторным элементом.

Формат файла изображения в виде разделенной запятой пары, состоящей из 'ImageFormat' и строковый скаляр или вектор символов. Форматы файлов должны поддерживаться imwrite. Этот аргумент применяется только для groundTruth объекты создали использование видеофайла или пользовательского источника данных.

Имя папки, чтобы записать извлеченные изображения в в виде строкового скаляра или вектора символов. Заданная папка должна существовать и иметь полномочия записи.

Этот аргумент применяется только для:

  • groundTruth объекты создали использование видеофайла или пользовательского источника данных.

  • Массив groundTruth объекты, созданные с помощью imageDatastore с различным пользовательским read функции.

Функция игнорирует этот аргумент когда:

  • Вход groundTruth объект был создан из источника данных последовательности изображений.

  • Массив входа groundTruth объекты все содержат хранилища данных изображений с помощью того же пользовательского read функция.

  • Любой вход groundTruth объекты, содержащие хранилища данных, используйте read по умолчанию функции.

Формат файла изображения в виде строкового скаляра или вектора символов. Форматы файлов должны поддерживаться imwrite.

Этот аргумент применяется только для:

  • groundTruth объекты создали использование видеофайла или пользовательского источника данных.

  • Массив groundTruth объекты, созданные с помощью imageDatastore с различным пользовательским read функции.

Функция игнорирует этот аргумент когда:

  • Вход groundTruth объект был создан из источника данных последовательности изображений.

  • Массив входа groundTruth объекты все содержат хранилища данных изображений с помощью того же пользовательского read функция.

  • Любой вход groundTruth объекты, содержащие хранилища данных, используйте read по умолчанию функции.

Префикс для имен файлов выходного изображения в виде строкового скаляра или вектора символов. Файлы изображений называют как:

<name_prefix><source_number>_<image_number>.<image_format>

Значение по умолчанию использует имя источника данных, что изображения были извлечены из, strcat(sourceName,'_') для видео и пользовательского источника данных или 'datastore' для datastore изображений.

Этот аргумент применяется только для:

  • groundTruth объекты создали использование видеофайла или пользовательского источника данных.

  • Массив groundTruth объекты, созданные с помощью imageDatastore с пользовательским read функции.

Функция игнорирует этот аргумент когда:

  • Вход groundTruth объект был создан из источника данных последовательности изображений.

  • Массив входа groundTruth объекты все содержат хранилища данных изображений с помощью того же пользовательского read функция.

  • Любой вход groundTruth объекты, содержащие хранилища данных, используйте read по умолчанию функции.

Отобразите прогресс обучения на командной строке MATLAB в виде разделенной запятой пары, состоящей из 'Verbose' и true или false. Этот аргумент применяется только для groundTruth объекты создали использование видеофайла или пользовательского источника данных.

Выходные аргументы

свернуть все

Набор изображений извлечен из основной истины, gTruth, возвращенный как ImageDatastore объект. Каждое изображение в imds имеет аннотации по крайней мере с одним классом пиксельных меток. imds игнорирует изображения это без аннотаций.

Набор пиксельных маркированных данных извлечен из основной истины, gTruth, возвращенный как PixelLabelDatastore объект. Объект содержит категориальную матрицу пиксельных меток для каждого изображения, содержавшегося в datastore изображений, imds. Проигнорированы метки, которые не соответствуют пиксельным меткам.

Введенный в R2018a