PMRF (Posterior-Mean Rectified Flow)
PMRF (Posterior-Mean Rectified Flow) — модель восстановления лиц от Ohayon et al. (ICLR 2025). Rectified flow диффузия с paste-back механизмом сохраняет идентичность лица. FID 3.8 — лучший открытый результат для face restoration.
PMRF (Posterior-Mean Rectified Flow) — нейросеть для восстановления лиц на фотографиях, опубликованная в статье «Blind Image Restoration via Fast Diffusion Inversion» (Ohayon et al., ICLR 2025). Модель сочетает детекцию лиц через RetinaFace, выравнивание, диффузионное восстановление и возврат восстановленного лица на оригинальное фото (paste-back). На 2026 год — лучшая открытая модель для face restoration.
Проблема: размытые и повреждённые лица
Лица на фотографиях деградируют по нескольким причинам: движение во время съёмки (motion blur), малое расстояние от объектива (out of focus), агрессивное JPEG-сжатие, низкое разрешение матрицы смартфона 2015–2020 годов, скан старых фотографий. Восстановить лицо в таких условиях — задача с неоднозначным решением: одному и тому же размытому пятну могут соответствовать тысячи разных лиц.
Принцип работы PMRF
PMRF использует rectified flow для генерации восстановленного лица. Rectified flow — это особый режим диффузии, где путь от зашумлённого изображения к чистому выпрямлен (линеаризован), что позволяет выполнить процесс за малое число шагов. Параметр num_flow_steps управляет качеством/скоростью:
num_flow_steps=1: один шаг, скорость ~50 мс/лицо, качество как у CodeFormernum_flow_steps=8: 8 шагов, ~200 мс/лицо, лучшее качество деталейnum_flow_steps=25: максимальное качество для сильно деградированных фото
«Posterior-Mean» в названии означает, что целевое восстановленное лицо — это математическое ожидание всех возможных правдоподобных лиц, соответствующих деградированному входу. Это отличает PMRF от GAN-моделей, которые генерируют одно случайное лицо из распределения.
Pipeline восстановления лиц в Panda AI
- RetinaFace: детектирует все лица на фото (координаты bounding box + 5 landmarks: глаза, нос, уголки рта)
- Affine alignment: выравнивает каждое лицо в стандартное положение 512×512 пикселей по landmarks
- PMRF inference: восстанавливает лицо за
num_flow_stepsшагов диффузии - Paste-back: возвращает восстановленное лицо на оригинальное фото с Poisson blending для плавных границ
- Color correction: выравнивание гистограммы восстановленного лица с оригинальным контекстом
PMRF vs CodeFormer vs GFPGAN
- GFPGAN (2021): GAN-based, быстро (~30 мс/лицо), характерная «глянцевость» восстановленной кожи, потеря идентичности при сильной деградации. FID: ~8.2.
- CodeFormer (2022): VQVAE + Transformer, лучший контроль баланса quality/fidelity через параметр
w. FID: ~5.1. Panda AI использовал CodeFormer до появления PMRF. - PMRF (2025): rectified flow диффузия, наиболее фотореалистичная кожа, нет GAN-артефактов. FID: ~3.8. LPIPS: 0.18 vs CodeFormer 0.26.
Основной недостаток PMRF — скорость: при 8 шагах в 4–5 раз медленнее CodeFormer. Для пакетной обработки 50+ лиц Panda AI автоматически переключается на 1-шаговый режим.
Применение и стоимость в Panda AI
Операция restore_face: обнаруживает и восстанавливает все лица на фото. Стоимость: 50 коп. (0.50 ₽) за фото независимо от числа лиц (до 10 лиц). При >10 лиц — доплата 10 коп./лицо. Типичное применение: старые семейные фото, фото с праздников на смартфон 2018–2020 года, скан плёночных фото. Полный гайд по восстановлению семейного архива — в статье «Восстановление старых фото к 9 мая».
Сохранение идентичности (identity preservation)
Главное преимущество PMRF над GFPGAN — встроенный механизм сохранения face embedding. Loss-функция при обучении штрафовала модель за изменение характерных черт лица. На практике это значит: восстанавливается текстура и контраст, но геометрия лица (расстояние между глазами, форма носа, ширина скул) сохраняется на 90–95%.
FAQ — PMRF
Что значит «posterior-mean»?
В байесовской статистике posterior-mean — это математическое ожидание апостериорного распределения. В контексте PMRF — это «средне-правдоподобное» восстановленное лицо из всех возможных лиц, соответствующих деградированному входу. Это даёт более стабильный результат без случайных вариаций, характерных для GAN.
PMRF сохраняет лицо предка с военной фотографии?
Да, при включённой опции identity_preserve=high. Сохранение геометрии лица 90–95%. Однако для критически важных фото (единственная сохранившаяся фотография) — рекомендуется ручная проверка результата сравнением с оригиналом.
Можно ли использовать PMRF self-hosted?
Да, код опубликован на GitHub. Требования: GPU с 8+ ГБ VRAM, Python, PyTorch 2.x, Flash Attention 2. Для быстрого старта проще использовать Panda AI — 50 коп. за фото и без забот об инфраструктуре.