GFPGAN или GPEN: какое улучшение лица выбрать?
Обе — модели восстановления лица, которые работают после замены, а не модели замены. Выбор зависит от того, насколько лицо крупное в кадре, насколько испорчен исходник и экспортируете вы файл или смотрите живой предпросмотр.

Коротко: Для экспортируемых изображений и видео разумное значение по умолчанию — GPEN-512. Для живого предпросмотра и слабых машин подходит лёгкая GPEN-256. GFPGAN восстанавливает больше всего на сильно испорченных и низкокачественных лицах ценой более гладкого и менее естественного результата. Когда лицо в кадре мелкое, а материал и так чистый, выключенное улучшение по-прежнему правильный выбор.
Замена лица и улучшение лица — две модели, решающие две разные задачи, и путаница между ними даёт большую часть разочарований.
Что улучшение исправить не может
Улучшение работает по области лица уже после замены. Оно не исправит источник, назначенный не тому человеку, ошибки выравнивания и трекинг, прыгающий между кадрами. На нестабильном материале сильное улучшение часто делает нестабильность заметнее, потому что каждый кадр обрабатывается отдельно. Сначала исправьте сопоставление и выравнивание — см. руководство по нескольким лицам.
1. Что улучшение делает на самом деле
Модель замены в Deep Face Cam — INSwapper 128, она выдаёт лицо 128×128 пикселей. Этот фрагмент затем деформируется обратно в целевой кадр. На общем плане, где лицо занимает немного, 128 пикселей более чем достаточно. На крупном плане в 1080p или 4K — уже нет: заменённое лицо увеличивается, и это видно как потерю фактуры кожи.
Задача улучшения — восстановить эту область после замены. Оно вырезает и выравнивает лицо, прогоняет модель восстановления и возвращает результат в кадр с растушёванной границей, чтобы стык не читался. GFPGAN и GPEN — две разные модели восстановления для этого шага.
2. Четыре варианта в приложении
В Deep Face Cam улучшение — это один выбор в Advanced options, а не набор переключателей. Выбирается что-то одно:
| Настройка | Модель | Размер загрузки | Для чего |
|---|---|---|---|
| Off | — | — | Самый быстрый вариант. Сохраняет результат замены без дополнительного восстановления. |
| Fast repair | GPEN-BFR-256 | ≈ 76 МБ | Лёгкое восстановление для живого предпросмотра и слабых устройств. |
| HD repair | GPEN-BFR-512 | ≈ 284 МБ | Больше деталей лица в видео и изображениях, заметно дороже по FPS. |
| Strong repair | GFPGAN (1024) | ≈ 366 МБ | Самое сильное восстановление для размытых и низкокачественных лиц; может выглядеть глаже и менее естественно. |
Число в названии модели — это рабочее разрешение, то есть размер выровненного фрагмента лица, с которым работает модель. В этом суть сравнения. GPEN-256 восстанавливает лицо в 256 пикселей, GPEN-512 работает с площадью в четыре раза больше, а поставляемая модель GFPGAN рассчитана на 1024. Больше рабочее разрешение — больше восстановимых деталей и больше вычислений на лицо.
Ни одна из этих моделей не входит в репозиторий исходников. Они загружаются по мере необходимости в ваш каталог моделей после подтверждения и проверяются по опубликованной контрольной сумме SHA-256 перед использованием. Если планируете работать офлайн, заранее скачайте нужную модель улучшения.
Размер моделей, рабочее разрешение и место на диске
| Настройка | Файл модели | Рабочее разрешение | Площадь в пикселях | Относительно GPEN-256 | Загрузка |
|---|---|---|---|---|---|
| Off | — | — | — | — | — |
| Fast repair | GPEN-BFR-256.onnx | 256 × 256 | 65,536 px | 1× | 76 MB |
| HD repair | GPEN-BFR-512.onnx | 512 × 512 | 262,144 px | 4× | 284 MB |
| Strong repair | gfpgan-1024.onnx | 1024 × 1024 | 1,048,576 px | 16× | 366 MB |
Для масштаба: модель замены выдаёт лицо 128 × 128, то есть 16 384 пикселя. HD repair восстанавливает это лицо на площади в 16 раз больше, а Strong repair — в 64 раза. Именно поэтому улучшение важнее на крупных планах, чем на общих.
| Группа загрузки | Файлы | Размер |
|---|---|---|
| Необходимо для работы | inswapper_128.onnx + buffalo_l.zip | 843 MB |
| Дополнительный вариант модели замены | inswapper_128_fp16.onnx | 278 MB |
| Все три модели улучшения | GPEN-256 + GPEN-512 + GFPGAN | 726 MB |
| Всё вместе | 6 | ≈ 1.85 GB |
Размеры взяты из значений, опубликованных в манифесте моделей; каждый файл проверяется по контрольной сумме после загрузки и хранится в пользовательском каталоге моделей. На Apple silicon дополнительно создаются кэш-файлы CoreML.
3. Как выбирать по ситуации
Полезный вопрос не «какая модель лучше», а «сколько пикселей занимает лицо и насколько плох исходник». Эти два ответа и выбирают модель за вас.
| Ситуация | С чего начать | Почему |
|---|---|---|
| Портрет, лицо на весь кадр | HD repair (GPEN-512) | Достаточно рабочего разрешения для крупного лица без риска пересглаживания, как у самой сильной модели. |
| Говорящая голова в 1080p | HD repair (GPEN-512) | Лучший баланс детализации и стоимости кадра. |
| Общий план, лица мелкие | Off или Fast repair | Фрагмент замены уже близок к размеру лица на экране; улучшение в основном добавляет время. |
| Старый, сильно сжатый или низкокачественный материал | Strong repair (GFPGAN) | Самое агрессивное восстановление — именно то, что нужно сильно испорченному входу. |
| Живой предпросмотр с веб-камеры | Fast repair (GPEN-256), если доступно | Самая маленькая модель и наименьшая задержка; см. условие ниже. |
| Групповой план | Сначала Off, затем повышать | Улучшение выполняется на каждое лицо, поэтому стоимость умножается. |
4. Компромиссы, которых нет на экране настроек
Детали против узнаваемости. Модели восстановления достраивают правдоподобные детали лица. Чем сильнее восстановление, тем больше влияет представление модели о том, каким должно быть лицо. На сильно испорченном входе это именно то, что нужно. На и так приличном лице это незаметно смещает фактуру кожи и микромимику: результат чище и чуть менее похож на человека. У Strong repair этот риск самый высокий.
Пересглаживание. Самая частая претензия к агрессивному восстановлению — восковой вид: фактура кожи исчезает, щетина сглаживается, морщины разглаживаются. Если результат выглядит «слишком чистым» рядом с окружением, опуститесь на модель ниже, а не компенсируйте резкостью.
Расхождение лица и фона. Улучшение применяется только к области лица. На материале низкого качества сильно восстановленное лицо в шумной сцене читается как подделка, даже если само по себе выглядит хорошо. Оценивайте кадр целиком, а не вырезанное лицо.
Согласованность во времени. В видео каждый кадр обрабатывается отдельно. Небольшие различия между кадрами проявляются как мерцание кожи или границы лица — заметнее всего в кадрах, которые и без того были сложными.
Стоимость на лицо, а не на кадр. Улучшение выполняется по разу на каждое найденное лицо. Четыре лица в кадре — четыре прохода восстановления поверх четырёх замен. Это главная причина, почему групповые рендеры идут намного дольше ожидаемого.
5. У живого предпросмотра есть жёсткое условие
Именно это на практике удивляет чаще всего. В Deep Face Cam живое восстановление лица включается, когда среда выполнения использует CUDA или DirectML. На другом execution provider живой конвейер выполняет только замену, и приложение прямо сообщает об этом в панели настроек.
Генерация изображений и видео не затрагивается: там любое улучшение по-прежнему доступно при экспорте. Этап улучшения отключается именно на пути живой камеры. Если качество живого предпросмотра для вас в приоритете, это условие должно определять, какую сборку вы ставите. См. руководство по реальному времени.
Порядок предпочтения провайдеров в бэкенде: CUDA, затем ROCm, CoreML, DirectML и CPU. На Apple silicon приложение использует провайдер CoreML из ONNX Runtime — хороший путь для экспорта, но условию выше он не соответствует.
6. Как проверить это самому за десять минут
Сравнение моделей имеет смысл только на вашем материале и вашем железе. Воспроизводимый тест короткий:
- Возьмите по одному ролику: крупный план, общий план и заведомо плохое качество.
- Экспортируйте каждый четыре раза — Off, Fast, HD, Strong — ничего больше не меняя.
- Сравнивайте при 100% на полном кадре, а не на вырезанном лице.
- Записывайте реальное время каждого прохода, а также конфигурацию машины и execution provider.
- Для живого режима включите Show FPS и запишите частоту кадров с выключенным и включённым улучшением.
- Смотрите прицельно на пересглаживание, мерцание границы и расхождение лица с фоном.
Сохраните эту таблицу вместе с заметками проекта. Она ценнее любого общего бенчмарка, потому что стоимость улучшения зависит от вашего провайдера, разрешения и числа лиц в кадре.
Частые вопросы
GFPGAN лучше, чем GPEN?
Универсально лучшего варианта нет. GFPGAN — самое сильное восстановление и правильный выбор для сильно испорченных низкокачественных лиц, но именно оно чаще всего выглядит переглаженным. GPEN-512 — сбалансированное значение по умолчанию для изображений и видео. GPEN-256 — лёгкий вариант, когда важнее скорость.
Улучшение вообще нужно?
Не всегда. Замена выдаёт фрагмент лица в 128 пикселей, поэтому улучшение важнее всего, когда лицо крупное на экране или исходник испорчен. На мелких лицах и чистом материале «Off» часто выглядит естественнее и всегда работает быстрее.
Может ли улучшение спасти неудачную замену?
Нет. Оно не исправляет сопоставление личности, выравнивание и нестабильный трекинг, а нестабильность может сделать заметнее. Сначала решите эти проблемы.
Почему рендер сильно замедлился после включения улучшения?
Потому что оно выполняется на каждое найденное лицо и добавляет полный проход восстановления поверх каждой замены. На групповом материале стоимость умножается.
Где хранятся модели улучшения?
В пользовательском каталоге моделей: загружаются после явного подтверждения и проверяются по контрольной сумме. В репозиторий они не входят, поэтому первое использование новой модели требует сети.
Выбирайте улучшение по материалу, а не по названию модели
Прогоните Off, Fast, HD и Strong на собственном ролике, сравнивайте полные кадры вместо вырезанных лиц и держите время рендера рядом с результатами.