exponenta event banner

Обучение и применение деноизирующих нейронных сетей

Toolbox™ обработки изображений и Deep Learning Toolbox™ предоставляют множество возможностей для удаления шума из изображений. Самое простое и быстрое решение - использовать встроенную заранее обученную деноизирующую нейронную сеть, называемую DnCNN. Однако предварительно обученная сеть не обеспечивает большой гибкости в распознаваемом типе шума. Для большей гибкости обучите свою собственную сеть с помощью предопределенных слоев или обучите полностью индивидуально настроенную нейронную сеть.

Удаление гауссова шума с помощью предварительно обученной сети

Вы можете использовать встроенную предварительно обученную сеть DnCNN для удаления гауссова шума без проблем обучения сети. Удаление шума с предварительно обученной сетью имеет следующие ограничения:

Для загрузки предварительно обученной сети DnCNN используйте denoisingNetwork функция. Затем передайте сеть DnCNN и шумное 2-е одноканальное изображение к denoiseImage. На этом рисунке показан рабочий процесс для обличения изображения с помощью предварительно обученной сети DnCNN.

Обучение сети защиты от угроз с использованием встроенных слоев

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

  • Создание ImageDatastore объект, хранящий нетронутые изображения.

  • Создать denoisingImageDatastore объект, формирующий шумные обучающие данные из нетронутых изображений. Чтобы задать диапазон стандартных отклонений гауссова шума, установите GaussianNoiseLevel собственность. Необходимо использовать значение по умолчанию PatchSize (50) и ChannelFormat ('grayscale'), чтобы размер обучающих данных соответствовал входному размеру сети.

  • Получение предопределенных деноизлучающих слоев с помощью dnCNNLayers функция.

  • Определение параметров обучения с помощью trainingOptions (Deep Learning Toolbox).

  • Обучить сеть, указав хранилище данных денонсирующего изображения в качестве источника данных для trainNetwork (инструментарий глубокого обучения). Для каждой итерации обучения хранилище данных деноизлучающих изображений генерирует одну мини-партию данных обучения путем случайного обрезания нетронутых изображений из ImageDatastore, затем добавление случайным образом сгенерированного нулевого среднего гауссова белого шума к каждому патчу изображения. Стандартное отклонение добавленного шума уникально для каждого фрагмента изображения и имеет значение в диапазоне, заданном параметром GaussianNoiseLevel свойство хранилища данных «denoising image».

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

Полностью настроенная нейронная сеть Denoising Train

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

  • Обучение сети, которая обнаруживает большее разнообразие шумов, таких как негауссовы распределения шумов, в одноканальных изображениях. Сетевую архитектуру можно определить с помощью уровней, возвращаемых dnCNNLayers функция. Для создания учебных образов, совместимых с этой сетью, используйте transform и combine функции для пакетов шумных изображений и соответствующего шумового сигнала. Дополнительные сведения см. в разделе Изображения предварительной обработки для глубокого обучения (панель инструментов глубокого обучения).

    После обучения сети DnCNN с использованием архитектуры сети DnCNN можно использовать denoiseImage функция для удаления шума изображения.

    Совет

    Сеть DnCNN также может обнаруживать артефакты высокочастотного изображения, вызванные другими типами искажений. Например, можно обучить сеть DnCNN повышению разрешения изображения или удалению артефактов сжатия JPEG. Пример устранения блочности изображения JPEG с помощью глубокого обучения показывает, как обучить сеть DnCNN удалению артефактов сжатия JPEG

  • Обучение сети, которая обнаруживает диапазон распределения гауссовых шумов для цветных изображений. Для создания учебных образов для этой сети можно использовать denoisingImageDatastore и установите ChannelFormat свойство для 'rgb'. Необходимо определить пользовательскую архитектуру сверточной нейронной сети, которая поддерживает входные изображения RGB.

    После обучения сети-нарушителя с использованием пользовательской сетевой архитектуры можно использовать activations Функция (Deep Learning Toolbox) позволяет изолировать шум или высокочастотные артефакты в искаженном изображении. Затем вычитают шум из искаженного изображения, чтобы получить обесцененное изображение.

См. также

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

Связанные примеры

Подробнее