CodeFormer

Evalúa CodeFormer para una restauración permitida: compara fidelidad, cambios del rostro, recomposición y licencia no comercial.

Identidad y acceso

Nombre del modelo
CodeFormer
Acceso
Código público y referencia oficial de checkpoint bajo S-Lab License 1.0.
Tipo de modelo
Restauración facial
Arquitectura
Transformer con libro de códigos discreto aprendido como conocimiento previo
Público objetivo
Equipos de imagen y desarrolladores que puedan revisar una copia de retrato permitida y no comercial.
Entrada
Rostro o imagen completa permitidos, conservando la fuente intacta.
Salida
Recorte facial restaurado y, en el flujo completo, imagen recompuesta.
Coste
Mide instalación, selección, inferencia, etapas opcionales, guardado y revisión manual.
Cuándo evitar
No usar para identificar, reconstruir pruebas o garantizar detalles faciales originales.

Fuentes y método

Licencia y derechos

Licencia
S-Lab License 1.0
Tipo de licencia
Código fuente disponible
Alcance de la licencia
Determinados usos y redistribuciones no comerciales bajo condiciones; los usuarios comerciales deben contactar con los colaboradores.
Código abierto
No

Disponibilidad

Estado
Disponible
Alcance del estado
Disponible describe el código público revisado y una referencia oficial de checkpoint, no disponibilidad de servicio ni compatibilidad probada.

Aspectos clave

Control visible de fidelidad

El intervalo 0 a 1 y el valor CLI 0,5 permiten comparaciones controladas, no un ajuste universalmente mejor.

Separa rostro e imagen

Selección, rostro restaurado y recomposición requieren comprobaciones distintas.

Condiciones no comerciales

S-Lab License 1.0 no es Apache 2.0 ni un permiso comercial general.

Casos de uso y límites

Revisar una copia familiar privada

Comparar pocos ajustes registrados sobre una fuente permitida y preservar rasgos importantes.

Examinar el flujo oficial

Conservar fuente, rostros detectados, salidas y registros antes de ampliar un lote.

Ventajas

  • Peso de fidelidad documentado para comparaciones controladas.
  • Los recortes y la imagen completa pueden revisarse por separado.
  • El código público expone el fallback y las etapas opcionales.

Limitaciones

  • Los detalles plausibles pueden cambiar rasgos de identidad.
  • La licencia limita el permiso declarado a fines no comerciales.
  • Una falla facial puede producir un archivo; los recursos deben medirse.

Temas

  • CodeFormer

Acerca del modelo

En esta página

CodeFormer restaura imágenes faciales degradadas mediante un conocimiento visual previo aprendido y un Transformer. Los rasgos del rostro pueden verse más definidos, pero los detalles faciales generados no prueban qué había en la escena original. Esta evaluación se limita a una copia restaurada para un uso autorizado y no comercial, donde se conserva la fuente y se inspeccionan los cambios. El proyecto oficial usa S-Lab License 1.0, que no concede un permiso comercial general.

Esta es una evaluación basada en fuentes, no un informe de pruebas con imágenes. No ejecutamos inferencias, mediciones de tiempo o memoria GPU ni envíos a servicios alojados. El ejercicio con una foto familiar es un plan propuesto cuyos resultados siguen vacíos.

Define qué debe conservar el retrato restaurado

La restauración ciega de rostros es un problema de reconstrucción ambiguo. CodeFormer utiliza un libro de códigos discreto aprendido como conocimiento previo visual y un Transformer para predecir códigos. Por eso, un rostro plausible puede incluir rasgos que la imagen dañada no demuestra. Artículo de investigación de CodeFormer.

El artículo es de Shangchen Zhou, Kelvin C. K. Chan, Chongyi Li y Chen Change Loy, vinculados al S-Lab de Nanyang Technological University. Esta atribución identifica la fuente de investigación y no recomienda un uso concreto.

Antes de editar, identifica la orientación de la cabeza, la forma de la boca, la expresión, las marcas distintivas y la relación entre rostro y cabello. Conserva el escaneo intacto y asigna otro nombre a cada derivado. Un párpado nítido o un diente recién visible no resuelven la incertidumbre de la fuente.

En la foto familiar, decide de forma explícita si un rostro algo suave pero reconocible sirve mejor al propósito que uno más nítido con la expresión cambiada. Alguien que conozca a la persona puede detectar cambios, pero reconocer una apariencia familiar no convierte un detalle generado en registro histórico.

No uses este flujo para identificar a una persona desconocida, reconstruir detalles probatorios ni certificar autenticidad. Si todos los ajustes cambian un rasgo importante, rechazar los resultados es una decisión válida.

Separa el recorte facial del flujo de imagen completa

Con --has_aligned, el script oficial trata la entrada como un rostro alineado y lo redimensiona a 512 × 512. Sin esa opción, detecta y alinea rostros, restaura los recortes y puede volver a insertarlos en la imagen. El detector predeterminado es retinaface_resnet50; --only_center_face cambia la selección. Implementación oficial de inferencia.

Comprueba primero que se eligió el rostro correcto. En una foto de grupo, limitar el proceso al rostro central puede excluir a una persona importante. Cambiar el peso de fidelidad no corrige una selección equivocada.

Evalúa por separado el recorte y la recomposición. Un rostro convincente aislado puede parecer pegado si su nitidez, color o borde no coincide con el resto de la foto. Las mejoras Real-ESRGAN para fondo y rostro son etapas opcionales diferentes. Guía de uso del repositorio.

Revisa el recorte restaurado en su escala de trabajo y dentro de la imagen completa al tamaño final previsto. Empieza sin etapas opcionales de Real-ESRGAN para atribuir cada cambio a la operación correcta. Los ejemplos de rostro alineado e imagen completa tienen fines distintos y no son condiciones de evaluación intercambiables.

Compara los ajustes de fidelidad con la misma fuente

El peso documentado va de 0 a 1 y la línea de comandos usa 0,5 de forma predeterminada. Según el repositorio, los valores menores tienden a la calidad visual y los mayores a la fidelidad. No es una clasificación universal. Mantén fijas la entrada, la selección y las demás etapas; cambia un peso cada vez.

Compara ojos, boca, expresión y rasgos distintivos con la fuente, en lugar de valorar solo la nitidez. Un peso de 1 no garantiza una copia intacta porque la restauración aprendida continúa activa. Arquitectura de CodeFormer.

Usa un directorio de salida separado para cada peso y registra el valor con cada imagen. Si todos los ajustes cambian un rasgo importante, rechaza todos los derivados y anota el motivo. Un reescalado o retoque posterior no debe reintroducir en silencio el mismo rostro rechazado.

Revisa la licencia y la vía de acceso real

La S-Lab License 1.0 oficial permite ciertos usos y redistribuciones no comerciales bajo condiciones. Entre ellas están conservar los avisos aplicables y no usar los nombres de los colaboradores para respaldar o promocionar productos derivados sin autorización previa por escrito. Indica que los usuarios comerciales deben contactar con los colaboradores. CodeFormer no debe presentarse como Apache 2.0 ni como un permiso comercial general. S-Lab License oficial.

El código legible, un checkpoint descargable y un servicio alojado son formas de acceso distintas. Pagar a un proveedor no establece por sí solo los derechos necesarios sobre el modelo subyacente, y una demostración pública no acredita una licencia sin restricciones. Para un trabajo comercial, confirma por separado el permiso aplicable al modelo y los términos del servicio antes de asumir un compromiso con el cliente.

El descargador oficial apunta a codeformer.pth en la versión v0.1.0 del proyecto; no descargamos ni auditamos ese binario. Conserva en el registro de evaluación la revisión fijada del código fuente, b33cc7d639d6545bfcccc7e0bc6ae51f24e79c2b, el origen oficial del checkpoint y, si se obtiene, el checksum calculado localmente. Un espejo con un archivo de nombre parecido no debe sustituir en silencio el archivo previsto. Descargador oficial del checkpoint.

Tampoco verificamos la capacidad, el precio, la privacidad ni la continuidad de los servicios alojados por los autores y enlazados desde el README. Antes de enviar o redistribuir una foto familiar, confirma el derecho a procesar la imagen de entrada, el permiso para publicar el retrato de las personas y las condiciones de las dependencias opcionales. Si falta algún permiso necesario, resuélvelo antes de procesar el material.

Prepara una prueba familiar acotada

Usa una copia permitida de un escaneo y un retrato menos degradado como control. Registra el uso previsto, como una exhibición familiar privada, y los rasgos que deben seguir siendo reconocibles. La imagen de control permite distinguir un problema propio del daño intenso de otro introducido por la ruta elegida de detección, alineación, restauración o recomposición. No la presentes como referencia medida hasta ejecutar la prueba y registrar las observaciones.

Conserva las dimensiones originales y registra cualquier recorte o remuestreo realizado antes de la inferencia.

Prepara un entorno aislado siguiendo las instrucciones de la revisión oficial fijada. Registra las versiones realmente instaladas de Python, PyTorch y las dependencias, el dispositivo elegido, el origen y checksum del checkpoint, y rutas explícitas y separadas para entrada y salida. Conserva el comando exacto y el registro completo de cada intento. La receta de instalación no certifica la compatibilidad con todas las combinaciones actuales de sistema operativo y dependencias. Resuelve errores de instalación, archivos de modelo ausentes y rutas de ejemplo sin sustituir antes de comparar imágenes.

Estos comandos no se ejecutaron. Mantienen desactivadas las opciones Real-ESRGAN de fondo y rostro, pero conservan la escala de salida independiente --upscale 2 usada por defecto.

python inference_codeformer.py -i inputs/family-photo.png -o results/family-w0 -w 0
python inference_codeformer.py -i inputs/family-photo.png -o results/family-w05 -w 0.5
python inference_codeformer.py -i inputs/family-photo.png -o results/family-w1 -w 1

Después de ejecutar, revisa primero la selección y la alineación, compara luego cada recorte restaurado con la fuente y examina al final la imagen recompuesta. Conserva los resultados descartados junto con el derivado preferido. Añade la mejora de fondo o rostro solo después de elegir una restauración aceptable, como comparación separada y registrada.

Usa una hoja de aceptación específica del rostro

EtapaDecisiónEvidencia que conservar
Fuente¿Qué rasgos son visibles o inciertos?Escaneo intacto con anotaciones.
Selección¿Se alineó el rostro correcto?Recorte detectado y posición en la foto.
Cambio¿Cambió la expresión o un rasgo reconocible?Recortes comparables, ajustes y decisión escrita.
Recomposición¿Encaja el rostro al tamaño previsto?Imagen completa con bordes revisados.
Entrega¿Se distingue el derivado del archivo?Archivos separados y nota de restauración.

Fija un presupuesto de corrección antes de ampliar la colección. Incluye inspección, resultados descartados y retoque manual. Un aspecto atractivo por sí solo no justifica aceptar la copia.

Un rostro atractivo que cambia un rasgo importante falla; un resultado conservador puede seguir siendo útil aunque conserve algo de suavidad. Define la tolerancia para la fotografía y su destinatario, no mediante una meta genérica de nitidez. Deja vacías las observaciones sobre esfuerzo y corrección hasta medirlas.

Encuentra el primer artefacto incorrecto

El script puede capturar un error al restaurar un rostro y guardar el recorte de entrada como sustituto. Por ello, la existencia de un archivo de salida no prueba que la inferencia haya funcionado. Revisa el registro, la selección y el recorte restaurado.

ObservaciónPrimera evidenciaSiguiente acción controlada
Falta una personaOpciones de selección y rostros detectadosCorregir la selección antes del peso.
El rostro no cambiaRegistro y pareja de recortesResolver el error y repetir el mismo caso.
Cambia la expresiónRasgos visibles a la misma escalaComparar un ajuste cada vez o rechazarlos todos.
El rostro parece pegadoBordes de la imagen y etapas opcionalesRevisar la recomposición antes de mejorar.
Faltan recursosDimensiones, rostros, dispositivo y opcionesReducir la prueba de forma documentada y medir.

Las filas son hipótesis de diagnóstico y pasos de inspección, no tasas de fallo medidas. No clasifiques automáticamente cada rostro sin cambios como una excepción ni atribuyas todos los problemas de borde al ampliador. Usa los artefactos guardados para localizar la primera diferencia relevante antes de elegir la corrección.

Mide los recursos del trabajo completo

La utilidad puede elegir MPS, CUDA o CPU según sus comprobaciones. Esas rutas de código no prueban que funcione en tu equipo. Esta evaluación no establece VRAM mínima, tiempo universal ni capacidad garantizada. Utilidad oficial de selección de dispositivo.

Separa descarga e inicio de las inferencias repetidas. Registra dimensiones, número de rostros, detector, peso, etapas opcionales, hardware, guardado y revisión manual. La ruta de vídeo acumula fotogramas de entrada y después de salida en memoria; no la describas como flujo limitado demostrado.

Si necesitas vídeo, empieza con un clip corto y autorizado. Además de la memoria, revisa la identidad aparente entre fotogramas contiguos: ojos, boca, expresión y contorno pueden oscilar aunque cada fotograma aislado parezca plausible. No extrapoles el resultado del clip corto a la capacidad o consistencia de una grabación de duración abierta.

Elige el siguiente paso a partir de la evidencia

Si obtienes una copia permitida con corrección aceptable, conserva juntos fuente, ajustes y derivado. De lo contrario, elige el paso siguiente según el defecto observado. Aplica restauración facial cuando falten rasgos del rostro; prueba por separado un reescalado convencional cuando falte resolución general, también fuera del rostro. Para arañazos o huecos fuera de la cara, elige una reparación no facial. Si el recorte restaurado es aceptable pero queda despegado del resto de la foto, revisa la recomposición y los bordes. Un escaneo mejor o un retoque manual limitado, sin inventar detalles inciertos, también puede ser la decisión correcta. Esta evaluación no declara un ganador entre CodeFormer y GFPGAN ni reproduce benchmarks.

Puedes explorar otras categorías en el directorio de modelos. Antes de ampliar a una colección o servicio, aclara permisos, carga real y criterios de aceptación.