denoisingImageDatastore

Шумоподавление изображений datastore

Описание

Использование denoisingImageDatastore объект для генерации пакетов шумных закрашенных фигур изображений и соответствующих шумовых закрашенных фигур от изображений в ImageDatastore. Закрашенные фигуры используются для обучения денуазирующей глубокой нейронной сети.

Этот объект требует, чтобы у вас были Deep Learning Toolbox™.

Примечание

Когда вы используете denoising image datastore в качестве источника обучающих данных, datastore добавляет случайный шум к закрашенным фигурам изображений для каждой эпохи, так что каждая эпоха использует немного другой набор данных. Фактическое количество обучающих изображений в каждую эпоху увеличивается в множитель PatchesPerImage. Шумные закрашенные фигуры для изображений и соответствующие шумовые закрашенные фигуры не хранятся в памяти.

Создание

Описание

dnimds = denoisingImageDatastore(imds) создает деноизирующее изображение datastore, dnimds использование изображений из image datastore imds. Чтобы сгенерировать шумные закрашенные фигуры для изображений, шумоподавления изображение datastore случайным образом высаживает первозданные изображения из imds затем добавляет нулевой Гауссов белый шум со стандартным отклонением 0.1 в закрашенные фигуры к изображению.

пример

dnimds = denoisingImageDatastore(imds,Name,Value) использует пары "имя-значение", чтобы задать двумерный размер закрашенной фигуры изображения или задать PatchesPerImage, GaussianNoiseLevel, ChannelFormat, и DispatchInBackground свойства. Можно задать несколько пары "имя-значение". Заключайте каждый аргумент или имя свойства в кавычки.

Для примера, denoisingImageDatastore(imds,'PatchesPerImage',40) создает denoising image datastore и случайным образом генерирует 40 шумные закрашенные фигуры из каждого изображения в image datastore, imds.

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

расширить все

Изображения, заданные как ImageDatastore объект с categorical метки. Можно хранить данные в ImageDatastore для только задач классификации.

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

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

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

Пример: denoisingImageDatastore(imds,'patchSize',48) создает denoising image datastore, который имеет квадратный размер закрашенной фигуры 48 пикселей.

Размер закрашенной фигуры, заданный как разделенная разделенными запятой парами, состоящая из 'patchSize' и скалярный вектор или вектор с 2 элементами с положительными целыми значениями. Этот аргумент устанавливает первые два элемента PatchSize свойство.

  • Если 'patchSize' является скаляром, тогда закрашенные фигуры квадратные.

  • Если 'patchSize' является вектором вида [r c] с 2 элементами, затем первый элемент задает количество строк в закрашенной фигуре, а второй элемент задает количество столбцов.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Свойства

расширить все

Формат канала, заданный как 'grayscale' или 'rgb'.

Типы данных: char

Отправляйте наблюдения в фоновом режиме во время обучения, предсказания и классификации, заданные как false или true. Чтобы использовать диспетчеризацию фона, вы должны иметь Toolbox™ Parallel Computing. Если DispatchInBackground является true и у вас есть Parallel Computing Toolbox, тогда denoisingImageDatastore асинхронно считывает закрашенные фигуры, добавляет шум и помещает патч- пары в очереди.

Стандартное отклонение Гауссова шума как часть максимума класса изображения, заданное как скалярный или 2-элементный вектор со значениями в области значений [0, 1].

  • Если GaussianNoiseLevel является скаляром, тогда стандартное отклонение добавленного нулевого Гауссова белого шума идентично для всех закрашенных фигур изображения.

  • Если GaussianNoiseLevel является вектором с 2 элементами, затем задает область значений стандартных отклонений [stdmin stdmax]. Стандартное отклонение добавленного среднего по нули Гауссова белого шума является уникальным для каждой закрашенной фигуры изображения и случайным образом дискретизируется из равномерного распределения с областью значений значений [stdmin stdmax].

Типы данных: single | double

Количество наблюдений, возвращаемых в каждом пакете. Можно изменить значение MiniBatchSize только после создания datastore. Для обучения, предсказания или классификации MiniBatchSize для свойства задан размер мини-пакета, заданный в trainingOptions (Deep Learning Toolbox).

Это свойство доступно только для чтения.

Общее количество наблюдений в denoizing image datastore. Количество наблюдений составляет длину одной эпохи обучения.

Количество случайных закрашенных фигур на изображение, заданное в виде положительного целого числа.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Это свойство доступно только для чтения.

Размер закрашенной фигуры, заданный как 3-элементный вектор положительных целых чисел. Если вы создаете denoising image datastore путем определения 'patchSize' аргумент пары "имя-значение", затем первые два элемента PatchSize свойства устанавливаются согласно значению patchSize аргумент.

The ChannelFormat свойство определяет третий элемент PatchSize свойство.

  • Если ChannelFormat является 'Grayscale', затем все цветные изображения преобразуются в полутоновые и третий элемент PatchSize является 1.

  • Если ChannelFormat является 'RGB', затем полутоновые изображения реплицируются, чтобы симулировать изображение RGB и третий элемент PatchSize является 3.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Функции объекта

combineОбъедините данные из нескольких хранилищ данных
hasdataОпределите, доступны ли данные для чтения
partitionByIndexФункции разделения denoisingImageDatastore согласно индексам
previewПредварительный просмотр подмножества данных в datastore
readЧтение данных из denoisingImageDatastore
readallЧтение всех данных в datastore
readByIndexСчитайте данные, заданные индексом, из denoisingImageDatastore
resetСбросьте datastore в начальное состояние
shuffleПеремещение данных в datastore
transformПреобразуйте datastore
isPartitionableОпределите, является ли datastore разделяемым
isShuffleableОпределите, является ли datastore shuffleable

Примеры

свернуть все

Получите изображение datastore. datastore в этом примере содержит цветные изображения.

setDir = fullfile(toolboxdir('images'),'imdata');
imds = imageDatastore(setDir,'FileExtensions',{'.jpg'});

Создайте denoisingImageDatastore объект, который создает много закрашенные фигуры из каждого изображения в image datastore и добавляет Гауссов шум в закрашенные фигуры. Установите необязательный PatchesPerImage, PatchSize, GaussianNoiseLevel, и ChannelFormat свойства denoisingImageDatastore использование пар "имя-значение". Когда вы устанавливаете ChannelFormat свойство для 'grayscale', the denoisingImageDatastore преобразует все цветные изображения в полутоновые.

dnds = denoisingImageDatastore(imds,...
    'PatchesPerImage',512,...
    'PatchSize',50,...
    'GaussianNoiseLevel',[0.01 0.1],...
    'ChannelFormat','grayscale')
dnds = 
  denoisingImageDatastore with properties:

         PatchesPerImage: 512
               PatchSize: [50 50 1]
      GaussianNoiseLevel: [0.0100 0.1000]
           ChannelFormat: 'grayscale'
           MiniBatchSize: 128
         NumObservations: 19456
    DispatchInBackground: 0

Совет

  • Настройка глубокой нейронной сети для области значений стандартных отклонений Гауссова шума является гораздо более сложной задачей, чем настройка сети для одного стандартного отклонения Гауссова шума. Вы должны создать больше закрашенные фигуры по сравнению с одним случаем уровня шума, и обучение может занять больше времени.

  • Чтобы визуализировать данные в denoising image datastore, можно использовать preview функция, которая возвращает подмножество данных в таблице. The input переменная содержит шумные закрашенные фигуры изображений и response переменная содержит соответствующие шумовые закрашенные фигуры. Визуализируйте все шумные закрашенные фигуры изображения или шумовые закрашенные фигуры на том же рисунке с помощью montage функция. Например, этот код отображает данные в denoising image datastore под названием dnimds.

    minibatch = preview(dnimds);
    montage(minibatch.input)
    figure
    montage(minibatch.response)

  • Каждый раз, когда изображения считываются из denoizing image datastore, к каждому изображению добавляется разное случайное количество Гауссова шума.

Введенный в R2018a