pixelLabelTrainingData

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

Описание

пример

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

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

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

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

  • Если на groundTruth объекты были созданы из источника данных коллекции изображений или image sequence, тогда можно задать только 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 и a 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 при включенных параллельных вычислениях ожидается, что функция Reader будет работать с пулом работников MATLAB, чтобы параллельно считать изображения из источника данных.

Аргументы в виде пар имя-значение

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

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

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

SamplingFactorПримененный коэффициент дискретизации
Целое числоВсе источники достоверных данных в gTruth отбираются с тем же коэффициентом дискретизации, N.
Вектор целых чиселk-й наземный источник данных истинности в 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' для image datastore.

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Введенный в R2018a