AI-колоризация чёрно-белых изображений с DeOldify и Stable Diffusion

AI-раскрашивание чёрно-белых изображений

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1460
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1314
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1012
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1275
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    727
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1019

AI-раскрашивание чёрно-белых изображений

Столкнулись с архивом чёрно-белых фотографий, которые нужно оживить, но ручная колоризация одной карточки занимает часы? Мы решаем эту задачу нейросетями: DeOldify и Stable Diffusion img2img автоматически подбирают цвета, опираясь на контекст — небо синее, трава зелёная, кожа телесная. Без ручной разметки и за минуты. За последние полгода мы обработали более 50 000 кадров для трёх музеев и двух киноархивов — среднее время на изображение составило 0.4 секунды на NVIDIA A100.

Как работает AI-колоризация?

Нейросеть анализирует яркость, текстуры и объекты на снимке, затем предсказывает наиболее вероятный цвет каждого пикселя. DeOldify использует генеративно-состязательную сеть, обученную на миллионах пар чёрно-белых и цветных изображений. Stable Diffusion в режиме img2img добавляет контроль через текстовый промпт — можно указать эпоху, регион или даже оттенок неба. Обе модели мы адаптируем под ваши исходники — например, для исторических портретов увеличиваем вес кожи в loss-функции.

DeOldify — классика раскрашивания

from deoldify import device from deoldify.device_id import DeviceId from deoldify.visualize import get_image_colorizer import PIL.Image as Image import io device.set(device=DeviceId.GPU0) colorizer = get_image_colorizer(artistic=True) # artistic=True — более насыщенные цвета def colorize_image(image_bytes: bytes, render_factor: int = 35) -> bytes: """ render_factor: 7-45, выше = более насыщенные цвета, медленнее """ input_image = Image.open(io.BytesIO(image_bytes)).convert("L").convert("RGB") # Сохраняем временно import tempfile, os with tempfile.NamedTemporaryFile(suffix=".jpg", delete=False) as f: input_image.save(f.name) temp_path = f.name result = colorizer.get_transformed_image(temp_path, render_factor=render_factor) os.unlink(temp_path) buf = io.BytesIO() result.save(buf, format="JPEG", quality=95) return buf.getvalue() 

Stable Diffusion img2img подход

from diffusers import StableDiffusionImg2ImgPipeline import torch pipe = StableDiffusionImg2ImgPipeline.from_pretrained( "runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16 ).to("cuda") def colorize_with_sd(bw_image: bytes, prompt_hint: str = "") -> bytes: init_image = Image.open(io.BytesIO(bw_image)).convert("RGB") prompt = f"colorized photograph, natural colors, realistic{', ' + prompt_hint if prompt_hint else ''}" result = pipe( prompt=prompt, image=init_image, strength=0.5, # Низкий strength сохраняет структуру guidance_scale=8.0, num_inference_steps=30 ).images[0] buf = io.BytesIO() result.save(buf, format="JPEG", quality=95) return buf.getvalue() 

Сравнение подходов

Параметр DeOldify (artistic) Stable Diffusion img2img
Качество на исторических фото Отличное (обучен на реальных ЧБ снимках) Хорошее, но требует промпта
Контроль через промпт Нет Есть (эпоха, регион, цвета)
Поддержка видео Да, temporal consistency Нет (требуется доработка)
Время обработки (1 кадр, 512px) ~0.5 сек (GPU) ~1.5 сек (GPU)
Простота интеграции Высокая (Python API) Средняя (нужен Hugging Face)

Таблица параметров DeOldify

Render factor Качество Время на кадр (A100)
7 (быстро) Умеренное 0.15 сек
35 (рекомендуемый) Хорошее 0.4 сек
45 (максимум) Отличное 0.7 сек

Почему DeOldify лучше других решений?

Для архивных фотографий DeOldify даёт наиболее естественные цвета — он обучен именно на исторических снимках и не требует ручного промпта. Stable Diffusion img2img выигрывает, когда нужно подстроиться под конкретную эпоху или художественный стиль. В наших проектах мы комбинируем оба подхода: DeOldify для массовой колоризации, SD — для сложных сцен.

Проблемы, которые решаем

  • Потеря временной согласованности в видео. DeOldify с включённой temporal consistency не даёт цветам «прыгать» между кадрами. Для длинных роликов мы используем буферизацию на GPU и скользящее окно.
  • Неравномерная яркость и шум. Предварительная обработка (denoising с OpenCV, CLAHE для контраста) повышает качество результата на 20-30%.
  • Нереалистичные цвета кожи. Используем модели с fine-tuning на портретах начала XX века — доступны датасеты от Museum of Modern Art.

Как мы это делаем: кейс из практики

Для музея с архивом из 5000 чёрно-белых снимков мы развернули пайплайн на базе DeOldify с batch-обработкой на NVIDIA A100. Среднее время на фото — 0.3 секунды. Для 10% сложных кадров (ночные, сильный контраст) применяли SD img2img с промптом, описывающим эпоху. Результат: все фото раскрашены за 2 дня, цвета естественные, музей использовал их для цифровой экспозиции. Экономия времени по сравнению с ручной колоризацией — в 500 раз.

Процесс работы

  1. Аналитика и подготовка — оценка качества исходников, очистка шумов, кадрирование.
  2. Проектирование пайплайна — выбор модели (DeOldify / SD / комбинация), настройка параметров.
  3. Реализация — интеграция API, batch-обработка, temporal consistency для видео.
  4. Тестирование — проверка на выборке, A/B сравнение, донастройка render_factor / strength.
  5. Деплой — контейнеризация (Docker + FastAPI), автоматический запуск по расписанию.

Что входит в работу

  • Документация модели и API
  • Доступ к развёрнутому сервису с дашбордом
  • Обучение ваших инженеров работе с пайплайном
  • Гарантия качества на первых 100 кадрах (бесплатная доработка)
  • Поддержка в течение 3 месяцев после запуска

Сроки и стоимость

Сроки интеграции — от 1 до 3 дней в зависимости от объёма. Стоимость рассчитывается индивидуально: оцениваем проект, подбираем оптимальную конфигурацию GPU и модель. Чтобы получить консультацию по вашему проекту, свяжитесь с нами — подберём оптимальный пайплайн и оценим стоимость. Также вы можете заказать тестовую колоризацию 10 кадров — результат пришлём в течение дня.

Наш опыт: 5+ лет в Computer Vision, 50+ проектов по колоризации и реставрации изображений. Работаем как с разовыми заказами, так и с масштабными архивами. Оставляйте заявку — пришлём примеры и поможем оживить ваши архивные материалы.