Восстановление лиц: GFPGAN/CodeFormer — ограничения
Задача страницы. Показать, как аккуратно восстанавливать лица на изображениях и видео в прод‑пайплайнах: когда выбирать GFPGAN или CodeFormer, как настроить параметры, где ставить восстановление в конвейере (до/после апскейла), как добиться стабильности на видео, какие есть ограничения и как считать время/стоимость.
TL;DR
- GFPGAN — быстрый и «щадящий», хорошо правит мыло и «квадраты», но склонен к «обобщению» черт.
- CodeFormer — регулируемый баланс fidelity (сохранение оригинала)↔restoration (синтез деталей); оптимальный диапазон fidelity≈0.6–0.9.
- Для фото/каталогов: сначала сгенерировать 768–1024² → апскейл 2× → мягкая реставрация лица → лёгкий пост‑шарп.
- Для видео: трекинг лиц + «скользящее окно» параметров, чтобы избежать мерцаний; темпоральное сглаживание.
Смежные страницы: генерация и апскейл — https://cloudcompute.ru/solutions/image-video-gen/ и https://cloudcompute.ru/solutions/image-video-gen/upscaling/; ControlNet для управляемых поз — https://cloudcompute.ru/solutions/image-video-gen/controlnet/; видео‑конвейер — https://cloudcompute.ru/solutions/image-video-gen/video/; тюнинг/наблюдаемость/стоимость — https://cloudcompute.ru/solutions/performance-tuning/, https://cloudcompute.ru/solutions/monitoring-logging/, https://cloudcompute.ru/solutions/llm-inference/observability/, https://cloudcompute.ru/solutions/cost-planner/.
Когда и зачем применять восстановление лица
Подходит:
- Каталожные/портретные снимки, где важен «чистый» результат без цифрового шума.
- После апскейла: сгладить огрехи и вернуть микродетали (ресницы, блики, брови).
- При низком качестве источника: JPEG‑артефакты, дефокус, рендер‑мыло, сильный денойз.
Осторожно:
- Док‑фото и KYC — крайне важно не искажать идентичность (ставьте высокий fidelity).
- Бренд‑персонажи/актёры — избегайте «омоложения/смены черт»; фиксируйте параметры и версионируйте веса.
- Художественные стили (аниме/линейный арт) — иногда реставрация «очеловечивает» рисунок, ломая стиль.
GFPGAN vs CodeFormer: быстрый выбор
| **Критерий** | **GFPGAN** | **CodeFormer** |
| Цель | Быстро починить артефакты | Баланс сохранения черт ↔ синтез деталей |
| Контроль силы | strength/вес | **fidelity 0..1** (0 — сильнее «придумывает», 1 — ближе к оригиналу) |
| Склонности | «Смягчает» лица, может унифицировать черты | При низком fidelity возможна «подрисовка» новых черт |
| Когда выбирать | Превью, потоки с шумом/мылом, каталоги | Критична идентичность, тонкий тюнинг результата |
Рекомендации:
- Начинайте с GFPGAN strength 0.4–0.6 или CodeFormer fidelity 0.7–0.9.
- Для KYC/идентичности — CodeFormer fidelity ≥0.85.
- Для творчества/избыточного мыла — CodeFormer fidelity 0.5–0.7 либо GFPGAN 0.6–0.8.
Где вставлять восстановление в конвейер **Вариант A (часто лучше): **Генерация 768–1024² → Апскейл 2× (или 4×) → Face‑Restore → Лёгкий post‑sharpen. Плюсы: апскейлер даёт основу, после — реставрация добавляет лицо‑детали на «натянутом» разрешении.
**Вариант B (если лицо очень испорчено): **Face‑Restore → Апскейл 2× → (опц.) лёгкая Face‑Restore. Плюсы: меньше «размазываний» при крупном апскейле сильно повреждённых лиц.
Где именно — зависит от входа и модели апскейла. Сравнить профили можно по метрикам (§10) и стоимости (§11). Апскейл: https://cloudcompute.ru/solutions/image-video-gen/upscaling/
Профили VRAM и производительности
Оценки для fp16, один портрет/кадр, без сложных масок:
| **Сценарий** | **Вход** | **Выход** | **VRAM** | **Время на кадр** |
| Фото 1024² → Face‑Restore | 1024² | 1024² | 4–8 ГБ | ~20–60 мс |
| Фото 2048² → Face‑Restore | 2048² | 2048² | 6–10 ГБ | ~40–120 мс |
| Видео 576p (24 fps) | 0.6 Мп | 0.6 Мп | 6–10 ГБ | 15–30 fps (на 1 GPU) |
| Видео 1080p (тайлы) | 2 Мп | 2 Мп | 8–16 ГБ | зависит от тайлинга |
Пиковая VRAM растёт с числом одновременных лиц (батч в кадре). Для массовых серий — разносите по воркерам и включайте тайлинг/регион‑маски.
Настройки: что крутить в первую очередь
- GFPGAN strength: 0.4–0.6 для каталога; 0.6–0.8 для тяжёлых артефактов.
- CodeFormer fidelity: 0.7–0.9 (идентичность); 0.5–0.7 (агрессивное улучшение).
- Face detection: порог детекции 0.5–0.7; ограничьте макс. число лиц в кадре, чтобы не «запечатать» массовую сцену.
- Region masks: реставрируйте только лицо/кожу; не затрагивайте волосы/фон/текст.
- Order: если есть апскейл — чаще выгодно после апскейла; при сильных дефектах — до, см. §3.
- Видео: скользящий диапазон параметров (±0.05 fidelity/strength) между соседними кадрами для отсутствия «ступенек». ComfyUI: граф восстановления лиц
A) Базовая схема (CodeFormer после апскейла)
{
"1":{"class_type":"LoadImage","inputs":{"image":"input.png"}},
"2":{"class_type":"RealESRGANLoader","inputs":{"model":"realesr-general-x2v3"}},
"3":{"class_type":"RealESRGANUpscale","inputs":{
"image":["1","IMAGE"],"scale":2,"tile":512,"tile_overlap":64,"denoise":0.2,"model":["2","MODEL"]}},
"4":{"class_type":"CodeFormerLoader","inputs":{"model":"codeformer.safetensors"}},
"5":{"class_type":"FaceRestoreCodeFormer","inputs":{
"image":["3","IMAGE"],"fidelity":0.8,"face_detection_thresh":0.6,"mask_keep_hair":true,"max_faces":4,
"model":["4","MODEL"]}},
"6":{"class_type":"SaveImage","inputs":{"images":["5","IMAGE"]}}
}
B) Мягкий GFPGAN (до апскейла), затем апскейл и лёгкий CodeFormer
{
"1":{"class_type":"LoadImage","inputs":{"image":"input.png"}},
"2":{"class_type":"GFPGANLoader","inputs":{"model":"gfpgan_v1.4.safetensors"}},
"3":{"class_type":"FaceRestoreGFPGAN","inputs":{"image":["1","IMAGE"],"strength":0.55,"max_faces":4,"model":["2","MODEL"]}},
"4":{"class_type":"RealESRGANLoader","inputs":{"model":"realesr-general-x2v3"}},
"5":{"class_type":"RealESRGANUpscale","inputs":{"image":["3","IMAGE"],"scale":2,"tile":512,"tile_overlap":64}},
"6":{"class_type":"CodeFormerLoader","inputs":{"model":"codeformer.safetensors"}},
"7":{"class_type":"FaceRestoreCodeFormer","inputs":{"image":["5","IMAGE"],"fidelity":0.9,"max_faces":4,"model":["6","MODEL"]}},
"8":{"class_type":"SaveImage","inputs":{"images":["7","IMAGE"]}}
}
Графы, кэш и профили VRAM — https://cloudcompute.ru/solutions/image-video-gen/comfyui/ Апскейл — https://cloudcompute.ru/solutions/image-video-gen/upscaling/
Automatic1111: API‑вызовы
A) Extras: CodeFormer
curl -X POST "http://<host>:7860/sdapi/v1/extra-single-image"
-H "Content-Type: application/json"
-d '{
"image": "data:image/png;base64,<BASE64>",
"gfpgan_visibility": 0.0,
"codeformer_visibility": 1.0,
"codeformer_weight": 0.8, // аналог fidelity (1.0 — ближе к оригиналу)
"upscaling_resize": 2.0,
"upscaler_1": "RealESRGAN_x2plus"
}'
B) Extras: GFPGAN
curl -X POST "http://<host>:7860/sdapi/v1/extra-single-image"
-H "Content-Type: application/json"
-d '{
"image": "data:image/png;base64,<BASE64>",
"gfpgan_visibility": 0.6,
"codeformer_visibility": 0.0
}'
C) txt2img с post‑processing — включайте «Restore faces» через скрипты/после‑обработку, чтобы не трогать весь кадр; для масок используйте регион‑процессы. Подробности по WebUI и флагам: https://cloudcompute.ru/solutions/image-video-gen/automatic1111/
Видео: стабильность и трекинг
**Пайплайн: Разложить видео → детектировать лица + трек (ID) → применить реставрацию по маске и ID → сборка и транскод → (опц.) лёгкий темпоральный blur.
**Сглаживание параметров: Если fidelity_t — значение на кадре t, применяйте сглаживание:
fidelity_t' = 0.5·fidelity_t + 0.3·fidelity_{t-1} + 0.2·fidelity_{t-2}
Аналогично для strength. Это снижает «ступени» между кадрами.
Видео‑конвейер и транскод — https://cloudcompute.ru/solutions/image-video-gen/video/ и https://cloudcompute.ru/solutions/rendering/video-transcode/
«Качество ↔ скорость»: готовые профили
| **Профиль** | **Модель** | **Настройки** | **Когда использовать** |
| **Preview** | GFPGAN | strength=0.5 | Быстрые предпросмотры, правка мыла |
| **Balanced** | CodeFormer | fidelity=0.8 | Каталоги/портреты без риска «перерисовки» |
| **Identity‑safe** | CodeFormer | fidelity=0.9 | KYC/идентичность/бренд‑персонажи |
| **Heavy‑fix** | CodeFormer | fidelity=0.6 | Сильные артефакты/старые фото (проверять «похожесть») |
| **Hybrid** | GFPGAN→CodeFormer | 0.55 → 0.9 | Очень плохой исходник, двойная стабилизация |
Метрики качества и оффлайн‑валидация
- Face‑ID similarity (эмбеддинги до/после) — измеряйте «похожесть»; цель — не ухудшить ниже порога.
- Skin‑tone drift — средний сдвиг оттенка по маске кожи; ограничивать пост‑коррекцией.
- Text legibility (если в кадре есть текст) — доля верно распознанных символов на ROI.
- Дефекты — доля кадров с «восковыми» лицами, артефактами глаз/рта.
- Производительность — imgs_per_min, frames_per_min, p95 t_image_ms, VRAM пик.
Сбор/визуализация метрик: https://cloudcompute.ru/solutions/monitoring-logging/ и https://cloudcompute.ru/solutions/llm-inference/observability/
Время и стоимость
Обозначим: N — изображений (или кадров), T_face — среднее время реставрации одного, O — накладные (I/O, детекция, трек), P_gpu — цена GPU/час.
T_total ≈ N × T_face + O
Imgs_per_hour ≈ 3600 / T_face
Cost_per_1000 ≈ (P_gpu × Num_GPU) / (Imgs_per_hour / 1000)
Снижаем цену:
- Запускаем реставрацию после апскейла (меньше ретрейнов генерации).
- Маскируем только лицо (меньше пикселей) и батчим кадры.
- Кэш весов/моделей на NVMe — меньше «холодных» стартов.
Планирование/профили — https://cloudcompute.ru/solutions/cost-planner/
Наблюдаемость, алерты, логи
- Технические: t_image_ms, frames_per_min, VRAM, OOM/ретраи, cache‑hit моделей.
- Качество: «похожесть» (ID‑score), доля дефектов глаз/рта, skin‑tone drift.
- Алерты: рост p95, падение похожести ниже порога, всплеск дефектов.
Операционный базис — https://cloudcompute.ru/solutions/monitoring-logging/ и https://cloudcompute.ru/solutions/llm-inference/observability/
Безопасность и политика
- Идентичность и согласие. Для реальных людей — документируйте цель обработки, хранение и удаление входов/результатов.
- Лимиты параметров: верхние пределы для strength/fidelity, список разрешённых моделей, маскирование PII в логах.
- Версионирование: фиксируйте версии весов/конфигов в отчётах.
Подробнее: https://cloudcompute.ru/solutions/security/ и https://cloudcompute.ru/solutions/llm-inference/guardrails/
Траблшутинг
| **Симптом** | **Причина** | **Что сделать** |
| «Кукольные» лица | Слишком сильная реставрация | Понизить strength/поднять fidelity, добавить лёгкий шум |
| Потеря схожести | Низкий fidelity или двойная реставрация | fidelity≥0.85, выключить один из этапов |
| Двоение/смещение контуров | Нет маски/неправильный ROI | Включить region‑mask, расширить маску на 2–4 px |
| «Восковая» кожа | Жёсткий денойз/апскейл | Снизить denoise, сделать пост‑шарп мягким |
| Мерцание на видео | Параметры «скачут» по кадрам | Сглаживание по времени (§8), трек ID, темпоральный blur |
| OOM на 4k | Слишком большой ROI/батч | Тайлить, уменьшить батч, ограничить max\_faces |
Как запускать в cloudcompute.ru
Готовые шаблоны: https://cloudcompute.ru/solutions/templates/
- “Face‑Restore (Images)” — CodeFormer/GFPGAN, маски регионов, пост‑шарп, отчёты.
- “Face‑Restore (Video)” — трекинг лиц, сглаживание параметров, батчи кадров, SSE‑прогресс.
- “ComfyUI‑GPU” — интеграция с апскейлом/генерацией: https://cloudcompute.ru/solutions/image-video-gen/comfyui/
- “A1111‑GPU” — быстрый старт WebUI с Extras API: https://cloudcompute.ru/solutions/image-video-gen/automatic1111/
Экономика и профили — https://cloudcompute.ru/solutions/cost-planner/
Чек‑лист перед продом
- Выбрана модель и профиль: GFPGAN (preview) / CodeFormer (balanced/identity‑safe).
- Определён порядок с апскейлом (до/после) и подтверждён на пилоте.
- Настроены маски лиц и пределы strength/fidelity; ограничен max_faces.
- Метрики качества (ID‑score, skin‑tone drift, дефекты) и алерты подключены.
- Разделены пулы on‑demand/interruptible; кэш весов на NVMe.
- Рассчитана Cost_per_1000; отчёты включают версии весов/конфигов.
Навигация по разделу «Генерация изображений и видео»
https://cloudcompute.ru/solutions/image-video-gen/ • https://cloudcompute.ru/solutions/image-video-gen/comfyui/ • https://cloudcompute.ru/solutions/image-video-gen/automatic1111/ • https://cloudcompute.ru/solutions/image-video-gen/sdxl/ • https://cloudcompute.ru/solutions/image-video-gen/sd3/ • https://cloudcompute.ru/solutions/image-video-gen/controlnet/ • https://cloudcompute.ru/solutions/image-video-gen/upscaling/ • Вы здесь: https://cloudcompute.ru/solutions/image-video-gen/face-restoration/ • https://cloudcompute.ru/solutions/image-video-gen/batch-render/ • инфраструктура: https://cloudcompute.ru/solutions/performance-tuning/ • https://cloudcompute.ru/solutions/storage-data/ • https://cloudcompute.ru/solutions/monitoring-logging/ • https://cloudcompute.ru/solutions/llm-inference/observability/ • https://cloudcompute.ru/solutions/cost-planner/ • https://cloudcompute.ru/solutions/llm-inference/streaming/ • https://cloudcompute.ru/solutions/security/ • https://cloudcompute.ru/solutions/llm-inference/guardrails/
Готовы запустить?
Запустить GPU-сервер