В первой части мы рассмотрели методы Single Image Super Resolution (SISR) и, в частности, Zero-Shot Super Resolution. Эти методы направлены на получение выходных данных с высоким разрешением (HR) из версии с низким разрешением (LR). Вкратце, приложения для этого варьируются от медицинских изображений, работы со сжатыми изображениями, сельскохозяйственного анализа, автономного вождения, спутниковых изображений, разведки и многого другого. Во второй части мы собираемся настроить нашу среду для запуска кода, а в части 3 мы углубимся в ее реализацию с помощью Keras и MissingLink.ai.

Суперразрешение — это процесс создания изображения с высоким разрешением из изображения с низким разрешением. Большинство методов глубокого обучения решают эту проблему, используя большую нейронную сеть, которая обучается на больших наборах данных в течение длительных периодов времени. Вместо этого Zero Shot Super Resolution пытается обучить небольшую нейронную сеть, специфичную для изображения, на одном целевом изображении и его дополнениях.

Вот пример того, чего мы надеемся достичь с помощью этой техники:

Исходное изображение:

Изображение сверхвысокого разрешения из ZSSR:

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

Чтобы начать работу, нам нужно запустить пример реализации, который я создал на основе Keras с бэкендом TensorFlow.
Мы также будем использовать OpenCV и MissingLink.ai. Зарегистрируйтесь сейчас для демонстрации MissingLink.ai

Keras — это высокоуровневая библиотека глубокого обучения на Python. Это абстракция TensorFlow, которая позволяет нам ускорить процесс написания рабочего кода для глубокого обучения. Точно так же OpenCV — это библиотека функций программирования, в основном предназначенная для компьютерного зрения в реальном времени. Нам нужно будет запустить наш пример кода с Python 3.

Последним компонентом этого проекта является MissingLink, платформа автоматизации рабочего процесса глубокого обучения. Это позволяет нам с легкостью обучать различные версии нашей модели и использовать облачные сервисы, сравнивать эксперименты и анализировать их даже во время их выполнения, создавать запросы данных и версии и многое другое!

Прежде чем начать, вы захотите настроить бесплатную учетную запись, выполнив следующие шаги:

  1. Посетите MissingLink.ai и нажмите кнопку «Начать сейчас».
  2. Введите свой адрес электронной почты и следуйте указаниям мастера создания новой учетной записи.
  3. Получив учетную запись, вы можете создать новый проект под названием ZSSR Test и настроить его для Keras.

Когда у вас будет учетная запись и новый проект, вы сможете использовать страницу MissingLink Управление экспериментами, чтобы отслеживать ход каждого эксперимента, который вы проводите.

Когда у вас будет все необходимое, вы будете готовы перейти к загрузке и настройке самого кода.

Я опубликовал Проект ZSSR в GitHub-репозитории MissingLink.ai, который вы можете клонировать или загрузить, чтобы выполнить пример кода. Вы можете найти исходный код на GitHub здесь. Созданный мной проект содержит все необходимое для быстрого запуска внутри файла ReadMe. Вот общий обзор того, что вам нужно сделать:

Шаг 1. Клонируйте этот репозиторий:

Шаг 2.Настоятельно рекомендуется использовать virtualenv для создания изолированной среды для отдельных проектов Python:

Шаг 3. Создайте и активируйте виртуальную среду:

Шаг 4. Установите библиотеки зависимостей:

Шаг 5. Подтвердите свое имя пользователя в CLI:

Шаг 6. Запустите код

На этом этапе вам может потребоваться также выбрать проект, на который вы хотите сослаться:

После запуска проекта вы сможете следить за его ходом в файле журнала и в режиме реального времени на панели управления MissingLink.ai.

Здесь вы можете увидеть потери и скорость обучения нашей модели за 2000 эпох. Когда эксперимент завершится, у вас будет папка с названием «output» с исходным изображением и примерами изображений с супер-разрешением.

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

Вот пример запуска этого с 2000 эпохами в подкаталоге 1:

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

Первоначально опубликовано на https://missinglink.ai.