exponenta event banner

denoisingImageDatastore

Хранилище данных деноизирующих изображений

Описание

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

Для этого объекта требуется наличие Toolbox™ глубокого обучения.

Примечание

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

Создание

Описание

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

пример

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

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

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

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

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

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

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

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

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

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

  • Если 'patchSize' является скаляром, то патчи квадратные.

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

Общее число наблюдений в хранилище данных денонсирующего изображения. Количество наблюдений - это продолжительность одной тренировочной эпохи.

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

Создать denoisingImageDatastore объект, который создает множество исправлений из каждого изображения в хранилище данных изображения и добавляет гауссовы шумы в исправления. Установите необязательный параметр 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: 19456
    DispatchInBackground: 0

Совет

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

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

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

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

См. также

| | | (инструментарий для глубокого обучения)

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