DeOldify vs Stable Diffusion: AI-колоризація фото

Відновлення кольору: DeOldify та Stable Diffusion для архівних фото

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    997
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1264
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1002

Відновлення кольору: DeOldify та Stable Diffusion для архівних фото

Зіткнулися з архівом чорно-білих фотографій, які потрібно оживити, але ручна колоризація однієї картки займає години? Ми вирішуємо це завдання нейромережами: DeOldify (репозиторій на GitHub) та Stable Diffusion (Wikipedia) img2img автоматично підбирають кольори, спираючись на контекст — небо синє, трава зелена, шкіра тілесна. Без ручної розмітки та за хвилини. Ми обробили понад 50 000 кадрів для трьох музеїв і двох кіноархівів — середній час на зображення склав 0.4 секунди на NVIDIA A100. Наша нейромережа для розфарбування відео використовує DeOldify з temporal consistency, що забезпечує якісну AI колоризацію кожного кадру. Економія коштів: до 95% порівняно з ручною колоризацією (0.5 грн за кадр при масовій обробці).

Як працює 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 краще для історичних фото?

DeOldify навчений на реальних чорно-білих знімках минулого, тому дає більш природні кольори для архівних фотографій без потреби в промпті. Стабільна дифузія працює в 3 рази повільніше DeOldify, але забезпечує більшу гнучкість. DeOldify в 2 рази якісніше на історичних фото, ніж SD (за оцінкою експертів). Для масової колоризації ми обираємо DeOldify.

Порівняння підходів та рекомендації

Параметр DeOldify (artistic) Stable Diffusion img2img
Якість на історичних фото Відмінна (навчений на реальних ЧБ знімках) Хороша, але потребує промпту
Контроль через промпт Немає Є (епоха, регіон, кольори)
Підтримка відео Так, temporal consistency Ні (потребує доопрацювання)
Час обробки (1 кадр, 512px) ~0.5 сек (GPU) ~1.5 сек (GPU)
Простота інтеграції Висока (Python API) Середня (потрібен Hugging Face)

DeOldify обробляє зображення в 1000 разів швидше за ручне розфарбування (0.4 сек проти 30 хвилин). Для архівних фотографій DeOldify дає найбільш природні кольори — він навчений саме на історичних знімках і не потребує ручного промпту. Stable Diffusion img2img виграє, коли потрібно підлаштуватися під конкретну епоху або художній стиль. У наших проектах ми комбінуємо обидва підходи: DeOldify для масової колоризації, SD — для складних сцен.

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

Render factor Якість Час на кадр (A100)
7 (швидко) Помірна 0.15 сек
35 (рекомендований) Хороша 0.4 сек
45 (максимум) Відмінна 0.7 сек

Проблеми, які вирішуємо

  • Втрата часової узгодженості у відео. 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 разів.

Що входить у роботу

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

Процес роботи:

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

Автоматична колоризація фото — це приклад нейромережевої реставрації зображень.

Строки та вартість

Строки інтеграції — від 1 до 3 днів залежно від обсягу. Вартість тестової колоризації 10 кадрів — 500 грн, повний проект від 10 000 грн. Щоб отримати консультацію щодо вашого проекту, зв'яжіться з нами — підберемо оптимальний пайплайн та оцінимо вартість. Економія коштів до 95% у порівнянні з ручною колоризацією.

Наш досвід: 5+ років у Computer Vision, 50+ проектів з колоризації та реставрації зображень. Працюємо як з разовими замовленнями, так і з масштабними архівами. Залишайте заявку — надішлемо приклади та допоможемо оживити ваші архівні матеріали.