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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

SamplingFactorВыборка прикладного фактора
Целое числоВсе источники достоверных данных в gTruth производятся с тем же фактором выборки, N.
Вектор из целых чиселk th источник достоверных данных в gTruth производится с фактором выборки N (k).

Формат файла изображения в виде разделенной запятой пары, состоящей из '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