DeOldify — инструмент для автоматической колоризации и реставрации фото и видео
DeOldify — инструмент для автоматической колоризации и реставрации фото и видео

DeOldify — это открытый проект на базе искусственного интеллекта, который позволяет автоматически раскрашивать чёрно-белые фотографии и видео, восстанавливать их качество и оживлять исторические изображения. Используя передовые методы глубокого обучения и генеративные состязательные сети (GAN), DeOldify превращает монохромные снимки в яркие, реалистичные цветные изображения, сохраняя при этом детали и структуру оригинала.

Изначально созданный как экспериментальная модель, DeOldify быстро завоевал популярность благодаря своему высокому качеству и простоте использования. Он подходит для широкого круга задач — от реставрации старинных семейных фотографий до колоризации архивных видео и профессиональных проектов в области кино и документалистики.

Основная ценность DeOldify заключается в его способности автоматически добавлять цвета, которые выглядят естественно и правдоподобно, без необходимости ручной корректировки или сложной настройки параметров. Инструмент может восстанавливать потерянные детали, улучшать контраст и уменьшать шумы, что особенно важно для старых, повреждённых фотографий и киноматериалов.

DeOldify работает на базе генеративных состязательных сетей — особого типа нейросетей, которые состоят из двух моделей: генератора и дискриминатора. Генератор создаёт раскрашенные изображения, а дискриминатор оценивает их качество и реалистичность, что помогает улучшать результат с каждой итерацией обучения. Такой подход позволяет добиться впечатляющей точности и глубины цвета, близкой к естественным оттенкам.

Кроме того, DeOldify легко интегрируется в различные рабочие процессы благодаря своей реализации на Python и PyTorch, а также наличию готовых ноутбуков для Google Colab, что делает его доступным для пользователей без мощного локального железа. Это позволяет быстро и эффективно обрабатывать как одиночные фотографии, так и целые видеофайлы.

Таким образом, DeOldify — это универсальный и доступный инструмент, который помогает возродить и сохранить визуальную историю, даря вторую жизнь чёрно-белым снимкам и видео. Он объединяет достижения современных технологий ИИ с практическими задачами реставрации, делая колоризацию проще, быстрее и качественнее.

Инструкция по установке и настройке DeOldify

Общие сведения

DeOldify — это проект для колоризации и восстановления старых фотографий и видеоматериалов с помощью нейросетей GAN. Он предлагает три основных модели: artistic, stable и video, каждая из которых подходит для разных задач и имеет свои особенности.

Быстрый старт с помощью Google Colab

Самый простой способ начать работу — использовать блокноты Google Colab:

Подробный видеоурок по использованию подготовлен John Breslin из Old Ireland in Colour и доступен в исходном репозитории.

Установка на локальную машину

Требования к железу и системе

  • Для обучения: мощная видеокарта с не менее 11 ГБ видеопамяти (например, GeForce 1080Ti или лучше).
  • Для колоризации без обучения: видеокарта с минимум 4 ГБ видеопамяти.
  • Операционная система: Linux (Ubuntu 16.04/18.04). Windows не поддерживается.

Пошаговая установка

  1. Откройте терминал и перейдите в папку, где хотите установить проект.
  2. Склонируйте репозиторий:
git clone https://github.com/jantic/DeOldify.git DeOldify
  1. Перейдите в каталог проекта:
cd DeOldify
  1. Создайте виртуальное окружение Anaconda и установите зависимости:
conda env create -f environment.yml
  1. Активируйте окружение:
source activate deoldify
  1. Запустите Jupyter Lab:
jupyter lab
  1. Откройте в браузере указанный адрес и запустите нужные блокноты (ImageColorizerArtistic.ipynb, ImageColorizerStable.ipynb, VideoColorizer.ipynb).

Если у вас более новая версия conda, можно использовать conda activate deoldify.

Альтернативный способ установки

Пользователь daddyparodz создал удобный скрипт установки для Ubuntu и WSL. Подробнее на GitHub.

Использование предварительно обученных моделей

Для быстрого старта без обучения скачайте веса моделей и разместите их в папке /models/:

  • Artistic — веса генератора и критика
  • Stable — веса генератора и критика
  • Video — веса генератора и критика

Блокноты для инференса: ImageColorizerArtistic.ipynb, ImageColorizerStable.ipynb, VideoColorizer.ipynb.

Особенности моделей

  • Artistic: яркая и детализированная колоризация, требует настройки параметра render_factor, возможны артефакты в портретах и природе.
  • Stable: более спокойная и стабильная колоризация, лучше подходит для портретов и пейзажей, меньше артефактов.
  • Video: оптимизирована для видео, обеспечивает стабильность и минимальное мерцание, менее яркая цветопередача.

Обучение моделей

Обучение занимает много ресурсов и времени. Используется технология NoGAN, которая позволяет сократить время GAN-тренировки, при этом сохраняя качество и снижая количество артефактов.

Типичный процесс обучения:

  • Предварительное обучение генератора и критика с использованием feature loss.
  • Кратковременное GAN-обучение для повышения реалистичности.
  • Повторное обучение критика и GAN для улучшения результатов (до 5 циклов).

Ресурсы и ссылки

Советы по улучшению качества

Чтобы добиться наилучшего результата при колоризации с помощью DeOldify, обратите внимание на следующие рекомендации:

  • Выбор параметра render_factor: Этот параметр влияет на яркость и детализацию изображения. Более высокие значения делают цвета насыщеннее, но могут привести к излишней яркости и артефактам. Рекомендуется экспериментировать в диапазоне от 20 до 35 для фотографий.
  • Подготовка исходных изображений: Чем выше качество и разрешение исходника, тем лучше результат. Старайтесь использовать фотографии без сильных шумов, размытий и с хорошим освещением.
  • Использование моделей: Модель stable подходит для естественного результата, а artistic добавляет больше художественной выразительности. Выбирайте модель в зависимости от задачи.
  • Обработка видео: Для видео важно предварительно стабилизировать и улучшить качество кадров, чтобы минимизировать артефакты при колоризации.

Типичные ошибки и способы их устранения

При работе с DeOldify могут возникать следующие проблемы и артефакты:

  • Артефакты на лицах: Иногда возникают цветовые искажения или "пятна". Помогает корректировка параметра render_factor и использование модели stable.
  • Искажения на шерсти животных или сложных текстурах: Рекомендуется увеличить разрешение исходного изображения и использовать более низкий render_factor.
  • Плохая поддержка видео на слабом железе: Если видеокарта не поддерживается или памяти мало, попробуйте уменьшить разрешение видео или использовать CPU-режим (но это значительно медленнее).
  • Тексты и мелкие детали теряются: Для документов и текстовых изображений DeOldify не всегда подходит. Лучше использовать специализированные инструменты для восстановления текстов.

Безопасность и этика

При использовании DeOldify важно помнить о следующих моментах:

  • Авторские права: Колоризация исторических фотографий может нарушать права на изображение. Используйте материалы, к которым у вас есть права или которые находятся в общественном достоянии.
  • Этическое использование: Не стоит изменять исторические фото таким образом, чтобы исказить исторические события или выдать их за подлинные цветные снимки без уточнения.
  • Конфиденциальность: Не используйте DeOldify для обработки личных фотографий без согласия всех изображённых людей.