Ваши старые фото выглядят как каша? Это лечится
Забудьте про синтетические датасеты, где модель училась на идеальных парах «грязное-чистое». Реальность — это пятна, странные шумы, артефакты сжатия и размытие от дрожащих рук. Восстановить такое — задача для садомазохиста. До марта 2026 года.
RealRestorer — это не очередной академический эксперимент. Это инструмент, который выкатили на Hugging Face с пометкой «State-of-the-Art на RealIR-Bench». Он обогнал предыдущего чемпиона по PSNR на реальных данных. Не на синтетике. На настоящих испорченных фотографиях из вашего семейного архива.
Важно: все инструкции и версии моделей актуальны на 30 марта 2026 года. Если читаете это позже — проверяйте, не вышла ли RealRestorer v2. Авторы могут всё сломать ради прогресса.
Что умеет RealRestorer, а что нет
Модель заточена под одну задачу: взять JPEG-файл, убитый временем или плохим объективом, и вернуть ему детализацию и резкость. Не путайте с нейросетями для генерации, типа FLUX.2-dev-Turbo. RealRestorer не додумывает, что было на фото. Он восстанавливает то, что есть, но скрыто под шумом.
- Убирает шум (гауссов, пуассонов, тот самый «цифровой»).
- Борется с размытием (движение камеры, дефокус).
- Устраняет артефакты сжатия JPEG (блоки, цветовые искажения).
- Повышает резкость, но без эффекта «перешарпа».
Не ждите от него цветокоррекции, удаления объектов или стилизации под акварель — для этого есть другие инструменты, вроде тех, что мы разбирали в статье про ИИ-акварель из фото.
1 Готовим окружение: питон, торч и немного терпения
Модель работает на PyTorch. Если у вас уже есть среда для машинного обучения, половина дела сделана. Если нет — сейчас настройка займет 10 минут. Не используйте системный Python. Создайте виртуальное окружение. Всегда.
# Клонируем репозиторий (на 30.03.2026 актуальная версия — 1.2.1)
git clone https://github.com/sczhou/RealRestorer
cd RealRestorer
# Создаем и активируем окружение (Python 3.10+)
python3.10 -m venv venv
source venv/bin/activate # для Windows: venv\Scripts\activate
# Ставим зависимости
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 # для CUDA 12.1
pip install -r requirements.txt
2 Загружаем веса модели
Авторы выложили предобученные веса на Hugging Face Hub. Не качайте их вручную — используем встроенную загрузку. Модель весит около 2.5 ГБ.
# Пример кода из демо-скрипта (добавлен в репозиторий)
from realrestorer import RealRestorer
import torch
# Модель автоматически скачает веса с Hub при первом запуске
model = RealRestorer.from_pretrained("sczhou/RealRestorer-v1.2.1", device="cuda")
# Если интернет медленный, можно скачать заранее:
# from huggingface_hub import snapshot_download
# snapshot_download(repo_id="sczhou/RealRestorer-v1.2.1")
Если ругается на отсутствие библиотеки huggingface_hub — установите ее: pip install huggingface-hub.
3 Запускаем восстановление
В репозитории есть скрипт inference.py. Но он написан для академиков. Я советую свой мини-скрипт, который решает 90% задач.
import cv2
from realrestorer import RealRestorer
from pathlib import Path
model = RealRestorer.from_pretrained("sczhou/RealRestorer-v1.2.1", device="cuda")
input_dir = Path("damaged_photos")
output_dir = Path("restored_photos")
output_dir.mkdir(exist_ok=True)
for img_path in input_dir.glob("*.jpg"):
# Читаем изображение
image = cv2.imread(str(img_path))
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# Восстанавливаем
with torch.no_grad():
restored = model.restore(image) # метод restore появился в v1.2
# Сохраняем результат
output_path = output_dir / f"restored_{img_path.name}"
cv2.imwrite(str(output_path), cv2.cvtColor(restored, cv2.COLOR_RGB2BGR))
print(f"Готово: {output_path}")
Положите ваши испорченные фото в папку damaged_photos, запустите скрипт. Через несколько минут (или секунд, если у вас мощная карта) в restored_photos появятся чистые версии.
С чем сравнить? Бенчмарки 2026 года
RealRestorer не единственный игрок на поле. Но на реальных данных он сейчас лучший. Смотрите таблицу (данные RealIR-Bench, март 2026):
| Модель | PSNR (реальные фото) | Скорость (среднее, 1080p) | Особенность |
|---|---|---|---|
| RealRestorer v1.2.1 | 32.5 dB | 0.8 сек (RTX 4090) | SOTA на RealIR-Bench |
| BSRGAN (2023 версия) | 29.8 dB | 1.2 сек | Хорошо изучена, много форков |
| SwinIR v2 (2025) | 31.1 dB | 1.5 сек | Лучше на синтетике, хуже на реальных шумах |
| Topaz Photo AI (v4.1, 2026) | ~30.5 dB (оценка) | 3+ сек (зависит от CPU) | Проприетарный, дорогой, но с GUI |
Видите разницу в PSNR? 32.5 против 31.1 — это не просто цифра. На глаз это заметно как «вау, а где были эти морщины на старой фотке?».
Почему RealRestorer выигрывает? Авторы кормили модель не только синтетикой, но и партиями реальных испорченных фото, собранных с разных камер и телефонов. Это тот же подход, что используют в DeepEyesV2 для анализа изображений — упор на реальные данные, а не идеальные симуляции.
Кому это в руки, а кому — нет
RealRestorer — инструмент для тех, кто хочет результат, а не игрушки.
- Архивариусам и генеалогам: Оцифровка старых альбомов? Это ваш выбор. Модель бережно работает с выцветшими снимками, не создавая артефактов.
- Фотографам-реставраторам: Заказы на восстановление фото — теперь можно делать быстрее и качественнее, чем вручную в Photoshop.
- Разработчикам: Если делаете приложение для улучшения фото, можно встроить RealRestorer как бэкенд-движок. Он быстрее и точнее многих открытых аналогов.
Не тратьте время на RealRestorer, если:
- Вам нужно восстановить видео. Для этого есть специализированные инструменты, вроде тех, что мы обсуждали в гайде по DIY-реставрации видео.
- Вы хотите «дорисовать» недостающие части лица или фона. Это задача для генеративных моделей, типа Stable Diffusion или Lemon Slice-2.
- У вас нет доступа к GPU, а обработать нужно тысячи фото. Арендуйте облачный инстанс с GPU — это выйдет дешевле, чем ждать неделю на CPU. Некоторые сервисы дают бесплатные кредиты для новых пользователей.
Что делать, если всё сломалось
Частые проблемы и их решения (актуально на март 2026):
Ошибка «CUDA out of memory»: Модель требует ~4 ГБ VRAM для обработки фото в Full HD. Если видеокарта слабее, уменьшите размер батча в коде (batch_size=1) или ресайзьте изображения перед обработкой до 720p.
Модель скачивается очень медленно: Hugging Face Hub иногда тупит. Установите переменную среды HF_ENDPOINT=https://hf-mirror.com перед запуском, чтобы использовать зеркало.
Если нужна максимальная скорость на слабом железе, посмотрите в сторону технологий восстановления состояния модели — они позволяют загружать большие нейросети за доли секунды.
RealRestorer — не панацея. Он не вернет утраченные куски фото. Но то, что скрыто под шумом и размытием, он вытащит на свет. И сделает это лучше конкурентов. Пока те догоняют, вы уже отреставрируете весь семейный архив. Иногда победа — это не создать новую реальность, а вернуть старую.