Deep Image Prior - это тип сверточной нейронной сети, используемой для улучшения данного изображения без предварительных обучающих данных, кроме самого изображения. Нейронная сеть инициализируется случайным образом и используется, как и раньше, для решения обратных задач, таких как уменьшение шума , сверхразрешение и рисование . Статистика изображений фиксируется структурой генератора сверточных изображений, а не какими-либо ранее изученными возможностями.
Обратные задачи, такие как уменьшение шума , сверхвысокое разрешение и рисование, могут быть сформулированы как задача оптимизации , где - изображение, искаженное представление этого изображения, является зависимым от задачи термином данных, а R (x) - регуляризатором . Это создает проблему минимизации энергии.
Глубокие нейронные сети изучают генератор / декодер, который отображает случайный вектор кода на изображение .
Метод повреждения изображения, используемый для создания , выбирается для конкретного приложения.
Особенности [ править ]
В этом подходе априор заменяется неявным априорным, захваченным нейронной сетью (где для изображений, которые могут быть созданы глубокими нейронными сетями и в противном случае). Это дает уравнение для минимизатора и результат процесса оптимизации .
Минимизатор (обычно градиентный спуск ) начинается со случайно инициализированных параметров и спускается к локальному лучшему результату, чтобы получить функцию восстановления.
Переоснащение [ править ]
Параметр θ может использоваться для восстановления любого изображения, включая его шум. Однако сеть не склонна улавливать шум, потому что она имеет высокий импеданс, а полезный сигнал имеет низкий импеданс. Это приводит к тому, что параметр θ приближается к красивому локальному оптимуму до тех пор, пока количество итераций в процессе оптимизации остается достаточно низким, чтобы данные не переобучались .
Приложения [ править ]
Снижение шума [ править ]
Принцип шумоподавления состоит в том, чтобы восстановить изображение из зашумленного наблюдения , где . Распределение иногда известно (например: профилирующий датчик и фотонный шум [1] ) и при желании может быть включено в модель, хотя этот процесс хорошо работает при слепом шумоподавлении.
Квадратичная функция энергии используется в качестве элемента данных, включение ее в уравнение дает задачу оптимизации .
Супер-разрешение [ править ]
Сверхвысокое разрешение используется для создания версии изображения x с более высоким разрешением. Термин данных установлен на где d (·) - оператор понижающей дискретизации, такой как Ланцоша, который прореживает изображение с коэффициентом t.
Рисование [ править ]
Inpainting используется для восстановления недостающей области изображения . Эти недостающие пиксели определяются как двоичная маска . Термин данных определяется как (где - произведение Адамара ).
Реконструкция без вспышки [ править ]
Этот подход можно распространить на несколько изображений. Простой пример, упомянутый автором, - это реконструкция изображения для получения естественного света и четкости с помощью пары вспышка-без-вспышка. Реконструкция видео возможна, но требует оптимизации, чтобы учесть пространственные различия.
Реализации [ править ]
Эталонная реализация, переписанная на Python 3.6 с библиотекой PyTorch 0.4.0, была выпущена автором под лицензией Apache 2.0 : deep-image-Prior [2]
TensorFlow -На реализации , написанный на Python 2 и выпустили под CC-SA 3.0 лицензии: глубоководные изображения предшествующему-tensorflow
Keras -На реализация написана на Python 2 и выпущен под GPLv3 : machine_learning_denoising
Ссылки [ править ]
^ Джо (2012-12-11). «профилирование сенсора и фотонного шума .. и как от него избавиться» . темный стол.