pixelLabelTrainingData

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

Описание

пример

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

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

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

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

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

Примеры

свернуть все

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

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

Создайте временную папку.

tempf = 'C:\temp\';
mkdir(tempf)
Warning: Directory already exists.

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

[imds,pxdsTruth] = pixelLabelTrainingData(gTruth,...
    'SamplingFactor',5,'WriteLocation',tempf);
Write images extracted for training to folder: 
    C:\temp\

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

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

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

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

rmpath(fullfile(visiondataPath,'triangleImages','testImages'));
Warning: "D:\jobarchive\Bvision\2018_11_29_h16m30s59_job1011195_pass\matlab\toolbox\vision\visiondata\triangleImages\testImages" not found in path.
delete([tempf,'triangleVideo*.png'])

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

свернуть все

Достоверные данные, заданные как скалярный 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).

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

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

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

<name_prefix><image_number>.<image_format>

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

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

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

свернуть все

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

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

Введенный в R2018a