Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Fréchet Inception Distance (FID)

La distancia de Fréchet Inception (FID) puntúa las imágenes generadas comparando las estadísticas de sus características Inception con las de fotografías reales. Cómo se calcula y se compara.

La distancia de Inception de Fréchet (FID) es una métrica que puntúa un modelo generativo de imágenes comparando las estadísticas de las imágenes generadas con las de imágenes reales. Ambos conjuntos pasan por una red Inception v3 preentrenada; las características de cada conjunto se resumen como una distribución gaussiana multivariante con una media y una covarianza, y la FID es la distancia de Fréchet entre las dos distribuciones gaussianas. Un valor más bajo es mejor, y una puntuación de cero significa que las medias y covarianzas de las características de ambos conjuntos son idénticas. En 2017, Martin Heusel y sus colegas de la Universidad Johannes Kepler de Linz presentaron la FID en el artículo GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium; en poco tiempo sustituyó a la puntuación Inception como métrica estándar para las redes generativas antagónicas (GAN) y, más adelante, para los modelos de difusión.

Cómo se calcula la FID#

  1. Genera una muestra grande de imágenes, normalmente 50,000, y recopila un conjunto de referencia de imágenes reales, que suele ser el conjunto de entrenamiento.
  2. Redimensiona todas las imágenes a 299 x 299 píxeles y pásalas por Inception v3, una red neuronal convolucional entrenada para la clasificación de imágenes en ImageNet, y conserva la salida de 2.048 dimensiones de su última capa de agrupamiento como representación vectorial de cada imagen.
  3. Calcula el vector de medias y la matriz de covarianza de los embeddings reales y de los embeddings generados.
  4. Combínalos: FID = (distancia al cuadrado entre las dos medias) + traza(C_real + C_gen - 2 x sqrt(C_real x C_gen)), donde sqrt es la raíz cuadrada de la matriz.

El primer término aumenta cuando, en promedio, las imágenes generadas difieren de las reales, por ejemplo, por una dominante de color o una mezcla de contenido incorrecta. El segundo aumenta cuando la variedad no es la adecuada, como ocurre con el colapso de modos: el fallo de las GAN en el que el generador solo produce unos pocos tipos de resultados. Por tanto, una sola cifra refleja tanto la fidelidad como la diversidad, y por eso la FID se convirtió en la puntuación predeterminada para los sistemas de texto a imagen, como Stable Diffusion.

El mismo cálculo con NumPy, usando vectores de características simulados de 64 dimensiones:

import numpy as np

rng = np.random.default_rng(0)

# Simulated 64-D feature vectors for 5,000 real and 5,000 generated images
real = rng.normal(0.0, 1.0, size=(5000, 64))
generated = rng.normal(0.3, 0.8, size=(5000, 64))  # shifted mean, less variety

# Summarize each set as a Gaussian: a mean vector and a covariance matrix
mu_r, mu_g = real.mean(axis=0), generated.mean(axis=0)
cov_r, cov_g = np.cov(real, rowvar=False), np.cov(generated, rowvar=False)

# Trace of the matrix square root of cov_r @ cov_g, via its eigenvalues
tr_covmean = np.sqrt(np.linalg.eigvals(cov_r @ cov_g)).real.sum()

# FID = squared distance between means + covariance mismatch
fid = ((mu_r - mu_g) ** 2).sum() + np.trace(cov_r) + np.trace(cov_g) - 2 * tr_covmean
print(f"FID: {fid:.2f}")

El script muestra una FID de 8.78. La media desplazada aporta aproximadamente 5.8 y la menor dispersión, alrededor de 2.6; el medio punto restante se debe a que las estadísticas se estiman a partir de una muestra finita, lo que siempre eleva la FID. Para evaluaciones reales, bibliotecas como TorchMetrics FID calculan las características con los pesos originales de Inception de TensorFlow publicados junto con la métrica. Inception v3 de Torchvision, entrenada con ImageNet, tiene pesos distintos y sus puntuaciones no se pueden comparar con los resultados publicados.

Interpretar y comparar puntuaciones FID#

Los valores de FID solo son comparables si las condiciones son idénticas: el mismo conjunto de referencia, la misma resolución de imagen, el mismo número de muestras y el mismo preprocesamiento. Redimensionar imágenes con otra biblioteca o guardarlas como JPEG puede desplazar la puntuación varios puntos; este problema motivó la implementación Clean-FID. Como las muestras pequeñas inflan la puntuación, los autores originales recomiendan usar al menos 10.000 imágenes, y una puntuación calculada con 5.000 muestras no se puede comparar con otra calculada con 50.000.

Como referencia, StyleGAN2 alcanzó una FID de 2,84 con imágenes faciales de 1024 x 1024 del conjunto de datos FFHQ; en generación de texto a imagen sin entrenamiento específico con 30.000 pies de foto de MS-COCO, Imagen de Google obtuvo una puntuación de 7,27, frente a 10,39 de DALL-E 2.

Otras métricas para imágenes generativas#

  • Puntuación Inception (IS): Evalúa únicamente las imágenes generadas, según la confianza y la diversidad con las que Inception las clasifica. Nunca examina datos reales, por lo que no puede detectar un modelo que produzca imágenes nítidas, pero del tipo equivocado.
  • Distancia de Inception con kernel (KID): Compara las mismas características de Inception mediante un estimador de kernel no sesgado, lo que la hace más fiable con conjuntos de muestras pequeños.
  • Puntuación de CLIP: Mide hasta qué punto una imagen coincide con su prompt de texto, algo que la FID no refleja; por eso, los modelos de texto a imagen suelen incluir ambas puntuaciones.
  • Precisión y exhaustividad para modelos generativos: Desglosan la cifra única de la FID en fidelidad —la proporción de imágenes generadas que parecen reales— y cobertura —la proporción de la variedad real que reproduce el modelo—.
  • FD-DINOv2: Calcula la misma distancia de Fréchet sobre las características de DINOv2, un transformador de visión autosupervisado. George Stein y sus colegas la propusieron en 2023, después de que un amplio estudio con participantes revelara que la FID no reflejaba la valoración de las personas sobre el realismo de las imágenes de modelos de difusión.

Los modelos de vídeo aplican la misma idea mediante la distancia de Fréchet de vídeo, y conjuntos de evaluación como VBench desglosan la calidad del vídeo en dimensiones distintas en lugar de resumirla en una sola distancia.

FID para datos de entrenamiento sintéticos#

La FID también permite filtrar datos sintéticos antes de utilizarlos para entrenar un detector. Puntuar imágenes generadas de escenas poco frecuentes, como la conducción nocturna para la visión del automóvil o defectos concretos de productos para la detección de defectos, comparándolas con fotografías reales de la cámara de despliegue, revela una brecha de dominio antes de dedicar tiempo al entrenamiento. La comprobación final es la precisión en tareas posteriores: entrena Ultralytics YOLO26 con y sin las imágenes sintéticas y compara la precisión media promedio (mAP) en las mismas imágenes reales reservadas para la prueba, en modo de validación.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático