Un modelo de restauración facial puede devolver nitidez a un retrato deteriorado, pero también modificar silenciosamente a la persona. Como punto de partida, GFPGAN suele ofrecer una limpieza sencilla y natural, mientras que CodeFormer da más control cuando la identidad es lo principal. Los trabajos publicados en 2026 apuntan hacia restauradores guiados por referencias, basados en difusión y preparados para dispositivos edge, aunque todavía no son sustitutos directos de ninguna de estas dos implementaciones consolidadas.
Empieza por el tipo de daño, no por el nombre del modelo
Restaurar un rostro no equivale a ampliar una imagen. Un modelo de superresolución aumenta el tamaño y estima la textura que falta en todo el encuadre; un modelo de restauración facial ciega también utiliza un prior facial aprendido para reconstruir ojos, piel, pelo y otros rasgos que quizá ya no estén presentes. El resultado puede parecer más convincente, pero también aumenta el riesgo de que la identidad se desvíe.
| Entrada u objetivo | Empieza con | Motivo | Comprobación principal |
|---|---|---|---|
| Retrato ligeramente desenfocado con rasgos reconocibles | GFPGAN | La comparación oficial describe v1.3 como natural y adecuada para entradas de calidad relativamente alta | ¿La piel se ve más limpia sin perder marcas ni textura del pelo? |
| Rostro muy pequeño o gravemente deteriorado | CodeFormer | Su control w permite decidir cuánta reconstrucción aceptar | ¿Los ojos y la boca nuevos siguen perteneciendo al sujeto? |
| Persona real cuya semejanza es prioritaria | CodeFormer con un valor w más alto | Un valor w alto suele favorecer la fidelidad a la entrada | ¿Es preferible conservar algo de desenfoque antes que inventar un rostro? |
| Rostro y fondo deteriorado | CodeFormer con mejora del fondo, o un escalador independiente para toda la imagen | CodeFormer puede delegar las zonas que no son el rostro en Real-ESRGAN | ¿Los bordes entre rostro y fondo, y el pelo, siguen pareciendo naturales? |
| La imagen completa necesita ampliación, no una reparación facial específica | Real-ESRGAN | Es principalmente un restaurador y escalador generalista, con mejora facial opcional | ¿La mejora facial está sobrescribiendo textura útil? |
| Inferencia en tiempo real en móvil o dispositivos integrados | Sigue la evolución de CFRNet | Sus autores apuntan a NPUs de consumo de 256×256 | ¿Existe un checkpoint publicado y con soporte? |
Un flujo de trabajo prudente conserva el original intacto, restaura una copia y compara el rostro al 100 % antes de valorar el resultado ampliado.
Cuándo deja de servir la tabla rápida
Para un desenfoque leve o un rostro generado por IA con pequeños defectos, prueba primero GFPGAN si buscas una limpieza que no implique una reconstrucción profunda. En un rostro deformado, diminuto o muy deteriorado, CodeFormer suele ser un primer experimento más útil porque hace visible el compromiso mediante su ajuste de fidelidad.
Los arañazos y el desvanecimiento que afectan a todo el escaneo son otro problema. GFPGAN y CodeFormer se centran en los rostros; trata la cara y el fondo por separado y después revisa la línea del pelo, las gafas y el grano del compuesto final. Si hay varios rostros o accesorios poco habituales, utiliza una opción de rostro alineado o de rostro central cuando el wrapper la ofrezca.
No confundas un resultado más nítido con “pruebas recuperadas”. Cuando la fuente ha perdido los píxeles, el restaurador está estimando un rostro plausible. La diferencia es importante en archivos familiares y, sobre todo, en trabajos legales, periodísticos o relacionados con la identificación.
GFPGAN, CodeFormer y la investigación de 2026 juegan en ligas distintas
GFPGAN y CodeFormer son implementaciones de investigación open source publicadas formalmente. El repositorio oficial de GFPGAN documenta Python 3.7+, PyTorch 1.7+, pesos preentrenados e inferencia desde la línea de comandos. El repositorio de CodeFormer documenta la inferencia local, los modos para imágenes completas y vídeo, y un peso de fidelidad de 0 a 1.
Los proyectos de 2026 que aparecen a continuación son señales de investigación, no productos alojados equivalentes. Los artículos enlazados no documentan la misma combinación de flujo descargable, API de producción, claridad sobre la licencia y facturación predecible.
| Proyecto | Qué aporta | Evidencia del artículo | Lectura actual |
|---|---|---|---|
| CFRNet | Un restaurador de 2,0 millones de parámetros, con estilo ResNet, entrenado como operador de punto fijo | 23 ms por ciclo INT8 en una NPU HiSilicon Hi3402; conjunto de prueba de 300 imágenes | Enviado el 5 de junio de 2026; no es un sustituto probado de GFPGAN |
| HDRFace | Representaciones de alta dimensión a partir de la entrada degradada y de una restauración intermedia | Implementado con SD V2.1-base y Qwen-Image | Enviado el 14 de mayo de 2026; la fuente no indica API alojada ni precio |
| IConFace | Acondicionamiento opcional con hasta tres imágenes de referencia de la misma identidad | Afirma una compatibilidad líder con referencias y un benchmark de identidad auditado por personas | Revisado el 5 de agosto de 2026; flujo prometedor con referencias, pero no baseline directo |
Lo que GFPGAN hace bien y cuándo modifica el rostro
GFPGAN utiliza un prior facial generativo preentrenado, incluido un prior basado en StyleGAN2 en el método publicado, para restaurar rostros degradados. Su README oficial indica que v1.3 produce resultados más naturales y maneja mejor las entradas de muy baja calidad, aunque advierte que v1.3 no siempre supera a v1.2 y puede cambiar ligeramente la identidad. GFPGAN se distribuye bajo la Apache License 2.0.
La comparación oficial entre versiones es cualitativa, no un benchmark numérico. Describe v1.2 como más nítida, aunque ocasionalmente poco natural, y v1.3 como más natural, pero no muy nítida. Por eso GFPGAN es una primera pasada razonable cuando el rostro original es básicamente correcto, pero no ofrece el dial explícito entre identidad y reconstrucción que sí tiene CodeFormer.
Qué intercambio controla realmente el peso de fidelidad de CodeFormer
CodeFormer utiliza un transformer con búsqueda en un codebook para la restauración facial ciega. Su control central es el peso de fidelidad w, cuyo rango documentado es [0, 1]. Los autores señalan que un valor w menor suele producir un resultado de aspecto más cuidado, mientras que un valor mayor ofrece más fidelidad a la identidad y al contenido de la entrada.
w no es un regulador de calidad, sino un compromiso: un valor bajo puede crear un rostro más limpio inventando detalle, mientras que uno alto puede conservar la fuente con mayor fidelidad y dejar visibles el desenfoque, la compresión u otros daños. El modo de imagen completa de CodeFormer también vuelve a integrar el rostro restaurado en la escena, y el README advierte de que esto puede dañar la textura del pelo en el límite entre rostro y fondo.
CodeFormer utiliza la NTU S-Lab License 1.0. Lee la licencia antes de redistribuirlo o integrarlo comercialmente; no des por hecho que un endpoint alojado y el repositorio tienen exactamente las mismas condiciones.
Los límites de los benchmarks publicados
Hay evidencia publicada útil, pero no una clasificación universal de 2026 que enfrente todos los modelos para cada tipo de daño. El artículo del ICCV 2023 sobre restauración iterativa mediante difusión evaluó GFPGAN y CodeFormer junto con otros baselines en CelebA-HQ.
En una tabla con degradación sintética, el artículo comunicó las siguientes cifras:
| Modelo | PSNR | Puntuación de identidad ArcFace |
|---|---|---|
| GFPGAN | 26.95 | 0.59 |
| CodeFormer | 25.70 | 0.75 |
| IDM, el método del artículo | 27.42 | 0.87 |
Son cifras específicas de un protocolo, no una clasificación universal de 2026. El mismo artículo utilizó sus propios conjuntos de datos, proceso de degradación, implementaciones y método de evaluación. Sirven para entender por qué los restauradores más recientes ponen el foco en la autenticidad, pero no predicen cuál será el mejor resultado en una foto familiar concreta.
Ajustes para evitar el efecto de rostro de plástico
El problema del “rostro de plástico” aparece cuando se trata la intensidad de restauración, la fidelidad de identidad y la composición como si fueran un único control. Son decisiones distintas.
Una cuadrícula de inicio práctica para CodeFormer
Ejecuta la misma entrada con tres ajustes antes de cambiar la imagen o el modelo:
Rango de w | Qué puedes esperar | Cuándo usarlo |
|---|---|---|
0.3–0.5 | Reconstrucción más agresiva y más detalle inventado | Los ojos o la boca están muy dañados y la identidad ya es incierta |
0.5–0.7 | Equilibrio entre una limpieza visible y la fidelidad a la entrada | Necesitas una primera comparación general |
0.8–1.0 | Mayor proximidad a la fuente, con más daño original visible | La semejanza importa más que la máxima nitidez |
Estos rangos reflejan el compromiso documentado, no una garantía para todos los wrappers. El README de CodeFormer utiliza w=0.5 para restaurar rostros alineados, w=0.7 para mejorar imágenes completas y w=1.0 en su ejemplo de comando para vídeo.
Si el resultado parece una máscara de cera, compara primero un valor w más alto, reduce la visibilidad del rostro o la mezcla si el servicio lo permite y prueba un recorte con más contexto original. Recuperar parte de la textura original mediante mezcla puede reducir el aspecto pegado, aunque el recorte restaurado sea nítido.
Qué revisar entre una pasada y otra
- Identidad: distancia entre los ojos, anchura de la nariz, forma de la boca, contorno del rostro y marcas distintivas.
- Textura: poros, pecas, barba de varios días, mechones de pelo y grano fotográfico.
- Accesorios: gafas, pendientes, sombreros y pelo que cruce el rostro.
- Integración: iluminación, color, grano y borde entre rostro y fondo.
- Repetibilidad: si una segunda pasada vuelve a cambiar el rostro.
GFPGAN no ofrece el mismo dial w. Utiliza con prudencia sus controles de versión del modelo y de visibilidad/mezcla. El repositorio oficial indica que v1.3 puede ejecutarse dos veces, pero la restauración repetida debe seguir siendo un experimento; si la segunda pasada cambia la identidad o la textura, conserva la primera salida.
Ejecución local: más control, dependencias antiguas
La inferencia local mantiene la imagen en tu equipo, pero deja en tus manos Python, PyTorch, los pesos del modelo, CUDA, los paquetes de detección y los permisos de los archivos.
Instalación local de GFPGAN
El repositorio oficial documenta una instalación sencilla que no requiere extensiones CUDA personalizadas:
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
El README indica Python >=3.7 y PyTorch >=1.7; la GPU NVIDIA y CUDA son opciones, no requisitos, dentro de la instalación documentada. El comando admite carpetas, escala final, ampliación del fondo, procesamiento exclusivo del rostro central, rostros alineados y gestión automática de extensiones.
Instalación local de CodeFormer
El entorno oficial de CodeFormer requiere algún paso adicional:
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
El repositorio indica PyTorch >=1.7.1 y CUDA >=10.1. dlib es opcional para su detector y su flujo de recorte facial; FFmpeg es necesario para el flujo de vídeo documentado en Windows y Mac.
Para un rostro alineado de 512×512, el ejemplo oficial es:
python inference_codeformer.py -w 0.5 --has_aligned \
--input_path inputs/cropped_faces
Para mejorar una imagen completa, el README utiliza -w 0.7 y añade opcionalmente --bg_upsampler realesrgan y --face_upsample. El repositorio no publica requisitos fiables de VRAM, rendimiento o latencia, así que prueba el entorno exacto en lugar de prometer un mínimo de hardware.
Coste de las API y decisiones de integración
La inferencia alojada facilita los prototipos, pero el precio y la licencia siguen siendo decisiones independientes.
Tabla de costes alojados con fecha
Las páginas oficiales de GFPGAN en Replicate, CodeFormer en Replicate y Real-ESRGAN en Replicate indican costes aproximados. Los precios se comprobaron el 1 de septiembre de 2026. Los dos modelos faciales indican que normalmente terminan en 3 segundos con Nvidia L40S; las estimaciones varían según las entradas.
| Modelo alojado | Coste indicado | Ejecuciones aproximadas por 1 $ |
|---|---|---|
tencentarc/gfpgan | 0,0020 $/ejecución | 500 |
sczhou/codeformer | 0,0028 $/ejecución | 357 |
nightmareai/real-esrgan | 0,0020 $/imagen de salida | 500 |
La página de CodeFormer en Replicate afirma explícitamente que su versión de API no puede utilizarse con fines comerciales. Esa indicación se aplica a ese despliegue alojado; comprueba por separado las condiciones de cualquier otro proveedor.
La documentación de la API de CodeFormer en fal marca su endpoint como apto para uso comercial y expone fidelity, con un valor predeterminado de 0.5, upscale_factor, con un valor predeterminado de 2, mejora facial opcional, alineación, selección del rostro central y una semilla. No publica un precio, así que no extrapoles el coste de fal a partir de la estimación de Replicate.
Flujo alojado mínimo
La documentación de fal muestra un flujo de trabajo con el cliente de 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);
Para trabajos más largos, la misma documentación ofrece envío a cola, consulta del estado, recuperación del resultado y callbacks mediante webhook. Mantén FAL_KEY o la clave equivalente del proveedor en tu servidor, nunca en el código del navegador o de una aplicación móvil.
Los problemas que todavía encuentran los usuarios
En los hilos de usuarios, informes de instalación e informes de errores al ampliar imágenes consultados, varias personas describen rostros visualmente mejorados que ya no parecen de la misma persona, además de errores de integración local. Son experiencias de flujo de trabajo, no benchmarks controlados.
“Me da la impresión de que CodeFormer tiende a ‘inventar’ un rostro en lugar de arreglarlo.” — u/TheMemo, r/StableDiffusion
La lección operativa es sencilla: compara los resultados con rostros representativos y fija el entorno cuando vayas a procesar lotes.
Preguntas frecuentes sobre la restauración facial con GFPGAN y CodeFormer
¿Es mejor GFPGAN o CodeFormer para fotos antiguas?
Como regla general, empieza con GFPGAN si el rostro es reconocible y buscas una limpieza natural; utiliza CodeFormer cuando el deterioro sea grave o necesites controlar mejor la semejanza.
¿Qué valor de fidelidad de CodeFormer conserva la identidad?
Los valores altos de w favorecen la fidelidad a la entrada, mientras que los bajos suelen priorizar un resultado más limpio, pero también más inventado. Compara 0.5, 0.7 y 0.9, y conserva el resultado que mantenga los rasgos distintivos, no necesariamente el que tenga los ojos más nítidos.
¿Debo restaurar antes de ampliar?
Como flujo de trabajo práctico, restaura primero el rostro sobre una copia y amplía después la imagen terminada. Un flujo combinado como Real-ESRGAN con mejora facial es una excepción, pero aun así debes revisar la identidad y los bordes entre rostro y fondo.
¿Pueden estos modelos recuperar detalles completamente desenfocados?
No. Ningún modelo puede recuperar de forma fiable información que nunca se capturó. GFPGAN y CodeFormer pueden generar detalles faciales plausibles, así que un ojo o una boca más nítidos no demuestran que se haya recuperado el detalle original.
¿Los modelos de 2026 ya están listos para sustituir a GFPGAN o CodeFormer?
Los artículos enlazados muestran líneas de trabajo importantes, como la ejecución en dispositivos edge, el acondicionamiento de alta dimensión y las referencias de la misma identidad, pero todavía no presentan un sustituto ampliamente disponible con la misma documentación para flujos locales y alojados.
¿Puedo utilizar comercialmente la API de CodeFormer en Replicate?
La página de CodeFormer en Replicate indica que su versión de API no puede utilizarse con fines comerciales. El repositorio subyacente tiene su propia NTU S-Lab License 1.0, y otros proveedores pueden publicar condiciones diferentes.
La decisión práctica es elegir entre invención y control
Selecciona tres recortes representativos: un desenfoque leve, un desenfoque intenso y un retrato arañado de baja resolución. Ejecuta GFPGAN y CodeFormer con w=0.5, 0.7 y 0.9, conserva el original junto a cada salida y descarta cualquier resultado que cambie rasgos esenciales de la identidad. Cuando el fondo también necesite reparación, encarga la ampliación de toda la imagen a un escalador independiente.
Para continuar, consulta la guía de descarga y GUI de Real-ESRGAN y la guía de escaladores de vídeo con IA gratuitos.