denoisingImageDatastore

Datastore шумоподавления изображений

Описание

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

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

Примечание

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

Создание

Синтаксис

dnimds = denoisingImageDatastore(imds)
dnimds = denoisingImageDatastore(imds,Name,Value)

Описание

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

пример

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

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

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

развернуть все

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

Свойства

развернуть все

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

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

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

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

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

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

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

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

Количество наблюдений, которые возвращены в каждом пакете. Для обучения, прогноза или классификации, свойство MiniBatchSize установлено в мини-пакетный размер, заданный в trainingOptions.

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

Общее количество наблюдений в шумоподавлении отображает datastore. Количество наблюдений является продолжительностью одной учебной эпохи.

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

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

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

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

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

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

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

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

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

hasdataОпределите, доступны ли данные для чтения
partitionByIndexРаздел denoisingImageDatastore согласно индексам
previewПодмножество данных в datastore
readСчитайте данные из denoisingImageDatastore
readallСчитывайте все данные в datastore
readByIndexСчитайте данные, заданные индексом от denoisingImageDatastore
resetСброс Datastore к начальному состоянию
shuffleПереставьте данные в denoisingImageDatastore

Примеры

свернуть все

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

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

Создайте объект denoisingImageDatastore, который создает много закрашенных фигур из каждого изображения в datastore изображений и добавляет Гауссов шум в закрашенные фигуры. Установите дополнительный PatchesPerImage, PatchSize, GaussianNoiseLevel и свойства ChannelFormat denoisingImageDatastore с помощью пар "имя-значение". Когда вы устанавливаете свойство ChannelFormat на 'grayscale', 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: 18944
    DispatchInBackground: 0

Советы

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

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

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

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

Введенный в R2018a