exponenta event banner

pixelLabelTrainingData

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

Описание

пример

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

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

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

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

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

Примеры

свернуть все

Загрузить a 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 возвращенное хранилище данных изображения 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' для хранилища данных образа.

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Представлен в R2018a