Восстановление лица может сделать повреждённый портрет резче — и незаметно превратить человека в кого-то другого. Для начала удобно считать GFPGAN инструментом мягкой и естественной коррекции, а CodeFormer — более управляемым решением, когда сходство с оригиналом особенно важно. Исследования 2026 года развивают reference-guided-, diffusion- и edge-friendly-подходы, но пока не стали полноценной заменой этим двум проверенным реализациям.
Выбирайте по характеру повреждений, а не по названию модели
Восстановление лица — это не обычный апскейлинг. Модель суперразрешения увеличивает изображение и оценивает недостающую текстуру по всему кадру, тогда как blind face restoration дополнительно опирается на выученный лицевой приор, реконструируя глаза, кожу, волосы и другие детали, которых в исходнике уже может не быть. Поэтому результат выглядит убедительнее — но одновременно возрастает риск изменения внешности.
| Исходник или задача | С чего начать | Почему | Что проверить |
|---|---|---|---|
| Слегка размытый портрет с узнаваемыми чертами | GFPGAN | В официальном сравнении версия v1.3 описана как более естественная и подходящая для относительно качественных исходников | Стала ли кожа чище, но сохранились ли отметины и текстура волос? |
| Очень маленькое или сильно повреждённое лицо | CodeFormer | Параметр w позволяет выбрать, насколько сильно принимать реконструкцию | Похожи ли новые глаза и рот на черты исходного человека? |
| Настоящий человек, для которого сходство важнее всего | CodeFormer с более высоким значением w | Высокое w обычно лучше сохраняет соответствие исходнику | Не лучше ли оставить размытие, чем получить выдуманное лицо? |
| Повреждены лицо и фон | CodeFormer с улучшением фона или отдельный апскейлер для всего изображения | CodeFormer может передать области без лица Real-ESRGAN | Естественно ли выглядят границы лица и фона, а также волосы? |
| Нужно увеличить весь кадр, а не специально восстанавливать лицо | Real-ESRGAN | В первую очередь это универсальный реставратор и апскейлер изображений с дополнительным улучшением лиц | Не затёрло ли улучшение лица полезную текстуру? |
| Мобильный или встроенный real-time-инференс | Следите за CFRNet | Авторы ориентируются на потребительские NPU 256×256 | Доступен ли уже опубликованный и поддерживаемый checkpoint? |
Осторожный рабочий процесс выглядит так: сохраните нетронутый оригинал, обрабатывайте копию и оценивайте лицо при масштабе 100% — только после этого смотрите на увеличенный результат.
Когда эта простая схема не работает
При лёгком размытии или небольших дефектах на лице, созданном ИИ, сначала попробуйте GFPGAN: он хорошо подходит для аккуратной коррекции без масштабной реконструкции. Если лицо искажено, слишком мало или сильно разрушено, первым экспериментом логичнее сделать CodeFormer — его настройка fidelity наглядно показывает компромисс между восстановлением и сохранением исходника.
Царапины и выцветание по всей площади скана — отдельная задача. GFPGAN и CodeFormer сосредоточены на лицах, поэтому лицо и фон лучше обрабатывать раздельно, а затем отдельно проверить линию роста волос, очки и общий зернистый рисунок. Если лиц несколько или на них необычные аксессуары, используйте режим aligned-face или center-face, когда он доступен в выбранной оболочке.
Не называйте более резкий результат «восстановленными доказательствами». Если пиксели были утрачены, реставратор лишь оценивает правдоподобный вариант лица. Для семейных архивов это важно, а для юридических, журналистских и связанных с идентификацией задач — особенно.
GFPGAN, CodeFormer и исследования 2026 года — решения разной зрелости
GFPGAN и CodeFormer — официально выпущенные open-source исследовательские реализации. В репозитории GFPGAN описаны Python 3.7+, PyTorch 1.7+, предобученные веса и инференс из командной строки. Репозиторий CodeFormer документирует локальный запуск, режимы для целых изображений и видео, а также параметр fidelity в диапазоне от 0 до 1.
Перечисленные ниже проекты 2026 года — это исследовательские сигналы, а не равноценные готовые сервисы. В связанных публикациях не описана одновременно такая же комбинация скачиваемого рабочего процесса, production API, понятных условий лицензирования и предсказуемой тарификации.
| Проект | Что нового | Какие есть данные в статье | Как это оценивать сейчас |
|---|---|---|---|
| CFRNet | Реставратор в стиле ResNet на 2.0M параметров, обученный как оператор с фиксированной точкой | 23 мс за цикл INT8 на NPU HiSilicon Hi3402; тестовый набор из 300 изображений | Подана June 5, 2026; проверенной заменой GFPGAN пока не является |
| HDRFace | Высокоразмерные представления из повреждённого исходника и промежуточного результата восстановления | Реализован с использованием SD V2.1-base и Qwen-Image | Подана May 14, 2026; в источнике нет hosted API или цены |
| IConFace | Необязательная передача до трёх эталонных изображений того же человека | Заявлены лидирующая совместимость с референсами и проверенный людьми бенчмарк идентичности | Пересмотрена August 5, 2026; многообещающий сценарий с референсами, но не готовая замена базовым решениям |
Что GFPGAN умеет хорошо — и как он меняет лица
GFPGAN использует предобученный генеративный лицевой приор, включая приор на базе StyleGAN2 в опубликованном методе, чтобы восстанавливать повреждённые лица. В официальном README говорится, что v1.3 даёт более естественный результат и лучше справляется с очень низкокачественными исходниками. При этом авторы предупреждают: v1.3 не всегда лучше v1.2 и может слегка изменить внешность человека. GFPGAN распространяется по лицензии Apache License 2.0.
Официальное сравнение версий носит качественный, а не количественный характер. В нём v1.2 описана как более резкая, но иногда неестественная, а v1.3 — как более естественная, но не слишком резкая. Поэтому GFPGAN разумно использовать первым, если лицо в целом сохранило исходные черты, однако отдельного регулятора «сходство против реконструкции», как в CodeFormer, здесь нет.
Что на самом деле меняет параметр fidelity в CodeFormer
CodeFormer использует transformer с поиском по codebook для blind face restoration. Главный регулятор модели — fidelity weight w с документированным диапазоном [0, 1]. Авторы отмечают: меньшее w обычно даёт визуально более качественный результат, а большее лучше сохраняет идентичность и содержание исходного изображения.
w — это не ползунок качества, а компромисс. Низкое значение может сделать лицо чище за счёт выдуманных деталей, тогда как высокое точнее сохранит исходник, оставив заметными размытие, компрессию и другие повреждения. В режиме обработки целого изображения CodeFormer также возвращает восстановленное лицо в сцену, но README предупреждает: на границе лица и фона может пострадать текстура волос.
CodeFormer использует NTU S-Lab License 1.0. Перед распространением или коммерческой интеграцией изучите лицензию — не стоит автоматически считать, что у hosted endpoint и репозитория одинаковые условия.
Границы опубликованных бенчмарков
Полезные опубликованные данные есть, но универсального head-to-head-лидерборда 2026 года для всех моделей и типов повреждений не существует. В статье ICCV 2023 года об итеративном diffusion-восстановлении GFPGAN и CodeFormer оценивались вместе с другими базовыми методами на CelebA-HQ.
В одной из таблиц с синтетическими повреждениями авторы привели такие значения:
| Модель | PSNR | Показатель идентичности ArcFace |
|---|---|---|
| GFPGAN | 26.95 | 0.59 |
| CodeFormer | 25.70 | 0.75 |
| IDM, метод из статьи | 27.42 | 0.87 |
Это результаты в рамках конкретного протокола, а не универсальный рейтинг 2026 года. В той же работе использовались собственные датасеты, процесс деградации, реализации и методика оценки. Данные помогают понять, почему новые реставраторы делают акцент на аутентичности, но не предсказывают лучший результат для конкретной семейной фотографии.
Как настроить модель и не получить пластиковое лицо
Эффект «пластикового лица» появляется, когда силу восстановления, сохранение идентичности и последующее наложение результата воспринимают как одну настройку. На практике это три разных решения.
Рабочая стартовая сетка для CodeFormer
Прогоните один и тот же исходник через три настройки, прежде чем менять изображение или модель:
Диапазон w | Чего ожидать | Когда использовать |
|---|---|---|
0.3–0.5 | Более агрессивная реконструкция и больше выдуманных деталей | Глаза или рот сильно разрушены, а сходство уже невозможно уверенно определить |
0.5–0.7 | Компромисс между заметным улучшением и верностью исходнику | Для первого общего сравнения |
0.8–1.0 | Более близкий к исходнику результат, но с большим количеством сохранившихся повреждений | Когда сходство важнее максимальной резкости |
Эти диапазоны отражают задокументированный компромисс, но не гарантируют одинаковый результат в каждой оболочке. В README CodeFormer для восстановления aligned face используется w=0.5, для улучшения целого изображения — w=0.7, а в примере команды для видео — w=1.0.
Если лицо стало похоже на восковую маску, сначала сравните результат с более высоким w, уменьшите visibility или blend, если хост предоставляет такие настройки, и попробуйте кадрирование с большим количеством исходного контекста. Возврат части оригинальной текстуры через смешивание может убрать ощущение наклеенного лица, даже если восстановленный фрагмент выглядит резким.
Что проверять между проходами
- Идентичность: расстояние между глазами, ширину носа, форму рта, контур лица и характерные отметины.
- Текстуру: поры, веснушки, щетину, отдельные пряди волос и плёночное зерно.
- Аксессуары: очки, серьги, головные уборы и волосы, пересекающие лицо.
- Сочетание с кадром: освещение, цвет, зерно и границу между лицом и фоном.
- Повторяемость: не меняется ли лицо снова при повторном запуске.
У GFPGAN нет такого же регулятора w. Используйте настройки версии модели и visibility/blend с осторожностью. В официальном репозитории сказано, что v1.3 можно запускать дважды, но повторную реставрацию всё равно стоит воспринимать как эксперимент: если второй проход меняет идентичность или текстуру, оставьте первый результат.
Локальный запуск: больше контроля, но зависимости уже не свежие
При локальном инференсе изображение остаётся на вашем компьютере, зато Python, PyTorch, веса моделей, CUDA, пакеты для детектирования и права доступа к файлам становятся вашей ответственностью.
Локальный запуск GFPGAN
В официальном репозитории описан простой вариант установки без кастомных CUDA-расширений:
git clone https://github.com/TencentARC/GFPGAN.git
cd GFPGAN
pip install basicsr
pip install facexlib
pip install -r requirements.txt
python setup.py develop
wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth \
-P experiments/pretrained_models
python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2
В README указаны Python >=3.7 и PyTorch >=1.7; NVIDIA GPU и CUDA в описанной конфигурации необязательны. Команда умеет обрабатывать папки, задавать итоговый масштаб, улучшать фон, работать только с центральным лицом, принимать aligned faces и автоматически учитывать расширения файлов.
Локальный запуск CodeFormer
Официальное окружение CodeFormer требует больше шагов:
git clone https://github.com/sczhou/CodeFormer
cd CodeFormer
conda create -n codeformer python=3.8 -y
conda activate codeformer
pip3 install -r requirements.txt
python basicsr/setup.py develop
python scripts/download_pretrained_models.py facelib
python scripts/download_pretrained_models.py CodeFormer
В репозитории указаны PyTorch >=1.7.1 и CUDA >=10.1. Пакет dlib нужен опционально для его детектора и этапа кадрирования лица; для описанного в документации видеосценария на Windows и Mac потребуется FFmpeg.
Для aligned face размером 512×512 официальный пример выглядит так:
python inference_codeformer.py -w 0.5 --has_aligned \
--input_path inputs/cropped_faces
Для улучшения целого изображения README использует -w 0.7 и при необходимости добавляет --bg_upsampler realesrgan и --face_upsample. Репозиторий не публикует надёжных требований к VRAM, пропускной способности или задержке, поэтому проверяйте конкретное окружение самостоятельно, а не обещайте минимальную конфигурацию оборудования.
Стоимость API и варианты интеграции
Облачный инференс удобнее для прототипирования, но цена и лицензия — это по-прежнему два разных вопроса.
Таблица стоимости hosted-сервисов на указанную дату
На официальных страницах GFPGAN в Replicate, CodeFormer в Replicate и Real-ESRGAN в Replicate указана примерная стоимость. Цены проверены September 1, 2026. Для двух моделей восстановления лиц заявлено типичное выполнение за 3 секунды на Nvidia L40S; итоговые оценки зависят от входных данных.
| Модель в облаке | Указанная стоимость | Примерное число запусков за $1 |
|---|---|---|
tencentarc/gfpgan | $0.0020/запуск | 500 |
sczhou/codeformer | $0.0028/запуск | 357 |
nightmareai/real-esrgan | $0.0020/выходное изображение | 500 |
На странице CodeFormer в Replicate прямо сказано, что его API-версию нельзя использовать в коммерческих целях. Это ограничение относится к данному hosted-развёртыванию; условия другого провайдера нужно проверять отдельно.
Документация API CodeFormer на fal помечает endpoint как доступный для коммерческого использования и предоставляет параметр fidelity со значением по умолчанию 0.5, upscale_factor со значением по умолчанию 2, опциональное улучшение лица, выравнивание, выбор центрального лица и seed. Цена не опубликована, поэтому не переносите оценку Replicate на стоимость fal.
Минимальный workflow для облачного запуска
В документации fal показан сценарий с JavaScript-клиентом:
import { fal } from "@fal-ai/client";
const result = await fal.subscribe("fal-ai/codeformer", {
input: {
image_url: "https://example.com/input.jpg",
fidelity: 0.7,
upscale_factor: 2,
face_upscale: true
},
logs: true
});
console.log(result.data);
Для более долгих задач в той же документации описаны постановка в очередь, опрос статуса, получение результата и callback через webhook. Храните FAL_KEY или аналогичный ключ провайдера на сервере, а не в браузерном или мобильном коде.
С какими проблемами сталкиваются пользователи
В найденных обсуждениях пользователей, отчётах об установке и сообщениях об ошибках при апскейлинге люди описывают визуально улучшенное лицо, которое уже не похоже на того же человека, а также ошибки локальной интеграции. Это отчёты о реальном использовании, а не контролируемые бенчмарки.
«Мне кажется, CodeFormer скорее “придумывает” лицо, чем исправляет его». — u/TheMemo, r/StableDiffusion
Практический вывод простой: проверяйте результаты на типичных для вашей задачи лицах и фиксируйте окружение, если строите пакетный pipeline.
FAQ: восстановление лиц с GFPGAN и CodeFormer
Что лучше для старых фотографий — GFPGAN или CodeFormer?
Как правило, начните с GFPGAN, если лицо узнаваемо и нужна естественная коррекция. CodeFormer стоит выбрать, когда повреждения серьёзные или важнее управлять сохранением сходства.
Какое значение fidelity в CodeFormer лучше сохраняет идентичность?
Высокие значения w лучше сохраняют соответствие исходнику, а низкие обычно дают более чистый, но сильнее придуманный результат. Сравните 0.5, 0.7 и 0.9, а затем оставьте вариант, в котором сохранились характерные черты, а не тот, где глаза просто выглядят наиболее резкими.
Нужно ли сначала восстанавливать лицо, а потом увеличивать изображение?
В практическом workflow сначала восстановите лицо на копии, а затем увеличьте готовое изображение. Комбинированный сценарий вроде Real-ESRGAN с улучшением лица — исключение, но даже в нём нужно проверить идентичность и границу между лицом и фоном.
Могут ли эти модели вернуть детали, полностью стёртые размытием?
Нет. Ни одна модель не способна надёжно восстановить информацию, которая никогда не была записана. GFPGAN и CodeFormer могут сгенерировать правдоподобные детали лица, поэтому более резкие глаза или рот не доказывают, что исходная деталь действительно была восстановлена.
Готовы ли модели 2026 года заменить GFPGAN или CodeFormer?
Связанные статьи показывают важные направления — запуск на edge-устройствах, высокоразмерное кондиционирование и использование референсов того же человека, — но пока не предлагают широко доступную замену с такой же документацией для локального и облачного запуска.
Можно ли коммерчески использовать CodeFormer API в Replicate?
На странице CodeFormer в Replicate сказано, что API-версию нельзя использовать в коммерческих целях. У исходного репозитория своя лицензия NTU S-Lab License 1.0, а у других провайдеров могут быть опубликованы другие условия.
На практике выбор сводится к компромиссу между выдуманными деталями и контролем
Подберите три показательных фрагмента: с лёгким размытием, с сильным размытием и поцарапанный портрет низкого разрешения. Запустите GFPGAN и CodeFormer со значениями w=0.5, 0.7 и 0.9, держите оригинал рядом с каждым результатом и отбрасывайте варианты, в которых изменились важные для идентичности черты. Если фон тоже нужно восстановить, передайте увеличение всего изображения отдельному апскейлеру.
О следующем этапе читайте в руководстве по скачиванию и GUI для Real-ESRGAN и руководстве по бесплатным AI-апскейлерам видео.