Fréchet Inception Distance (FID)
Fréchet Inception Distance (FID), üretilen görüntüleri gerçek fotoğrafların Inception özellik istatistikleriyle karşılaştırarak puanlar. Nasıl hesaplandığı ve karşılaştırıldığı.
Fréchet Başlangıç Mesafesi (FID), üretilen görüntülerin istatistiklerini gerçek görüntülerinkilerle karşılaştırarak üretken bir görüntü modelini puanlayan bir ölçüttür. Her iki küme de önceden eğitilmiş bir Inception v3 ağından geçirilir; her kümenin özellikleri ortalama ve kovaryansla çok değişkenli bir Gauss dağılımı olarak özetlenir ve FID bu iki Gauss dağılımı arasındaki Fréchet mesafesidir. Düşük değer daha iyidir; sıfır puan, iki özellik kümesinin ortalamaları ve kovaryanslarının aynı olduğu anlamına gelir. Johannes Kepler Üniversitesi Linz'den Martin Heusel ve çalışma arkadaşları FID'yi 2017'de İki Zaman Ölçekli Güncelleme Kuralıyla Eğitilen GAN'lar Yerel Nash Dengesine Yakınsar makalesinde tanıttı. Bu ölçüt, üretken çekişmeli ağlar (GAN'lar) ve daha sonra difüzyon modelleri için standart ölçüt olarak Inception Score'un yerini hızla aldı.
FID Nasıl Hesaplanır?#
- Genellikle 50,000 görüntüden oluşan büyük bir görüntü örneklemi oluştur ve çoğunlukla eğitim kümesi olan gerçek görüntülerden oluşan bir referans kümesi topla.
- Her görüntüyü 299 x 299 piksele yeniden boyutlandırıp ImageNet üzerinde görüntü sınıflandırma için eğitilmiş bir evrişimli sinir ağı olan Inception v3'ten geçir; son havuzlama katmanının 2.048 boyutlu çıktısını görüntünün gömme vektörü olarak kullan.
- Gerçek gömme vektörleri ve oluşturulan gömme vektörleri için ortalama vektörünü ve kovaryans matrisini hesapla.
- Bunları birleştir: FID = (iki ortalama arasındaki uzaklığın karesi) + iz(C_real + C_gen - 2 x sqrt(C_real x C_gen)); burada sqrt, matris kareköküdür.
Üretilen görüntüler ortalama olarak gerçek görüntülerden farklıysa ilk terim artar; örneğin renk tonu kaymışsa veya içerik dağılımı yanlışsa. Çeşitlilik olması gerekenden farklıysa, GAN'ın üreticisinin yalnızca birkaç türde çıktı ürettiği mod çökmesinde olduğu gibi, ikinci terim artar. Dolayısıyla tek bir sayı hem aslına uygunluğu hem çeşitliliği yansıtır; bu nedenle FID, Stable Diffusion gibi metinden görüntü üretme sistemlerinin varsayılan puanı hâline gelmiştir.
Benzetimle oluşturulan 64 boyutlu özellik vektörleri üzerinde NumPy ile yapılan aynı hesaplama:
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}")Betik 8.78 FID değeri yazdırır. Kaymış ortalama yaklaşık 5.8, daha dar dağılım ise yaklaşık 2.6 katkı sağlar. Kalan yarım puan, istatistiklerin sonlu bir örneklemden tahmin edilmesinden kaynaklanır; bu durum FID'yi her zaman yükseltir. Gerçek değerlendirmelerde TorchMetrics FID gibi kütüphaneler, özellikleri metrikle birlikte yayımlanan özgün TensorFlow Inception ağırlıklarıyla hesaplar. Torchvision'ın ImageNet'te eğitilmiş Inception v3 modeli farklı ağırlıklara sahiptir ve bu modelin puanları yayımlanmış sonuçlarla karşılaştırılamaz.
FID Puanlarını Okuma ve Karşılaştırma#
FID değerleri yalnızca aynı koşullarda karşılaştırılabilir: aynı referans kümesi, görüntü çözünürlüğü, örnek sayısı ve ön işleme kullanılmalıdır. Görüntüleri farklı bir kütüphaneyle yeniden boyutlandırmak veya JPEG olarak kaydetmek puanı birkaç puan değiştirebilir; bu sorun Clean-FID uygulamasının geliştirilmesine yol açmıştır. Küçük örnek kümeleri puanı yükselttiğinden orijinal yazarlar en az 10.000 görüntü önerir; 5.000 örnekle hesaplanan puan, 50.000 örnekle hesaplanan puanla karşılaştırılamaz.
Ölçek açısından bakıldığında StyleGAN2, FFHQ veri kümesinden alınan 1024 x 1024 yüz görüntülerinde 2,84 FID puanına ulaştı. Sıfır örnekli metinden görüntü üretiminde ise 30.000 MS-COCO açıklaması üzerinde Google Imagen 7,27 puan alırken DALL-E 2 10,39 puan aldı.
Üretici Görüntüler İçin Diğer Metrikler#
- Inception Score (IS): Üretilen görüntüleri tek başına, Inception'ın bunları ne kadar güvenli ve çeşitli biçimde sınıflandırdığına göre puanlar. Gerçek verilere hiç bakmadığından yanlış türde keskin görüntüler üreten bir modeli tespit edemez.
- Çekirdek Inception Mesafesi (KID): Aynı Inception özelliklerini yanlı olmayan bir çekirdek tahmin ediciyle karşılaştırır; bu da yöntemi küçük örnek boyutlarında daha güvenilir kılar.
- CLIP puanı: Bir görüntünün metin istemiyle ne kadar iyi eşleştiğini ölçer; FID bunu yakalayamadığından metinden görüntü üreten modeller genellikle iki puanı da bildirir.
- Üretken modeller için kesinlik ve duyarlılık: FID'nin tek puanını, üretilen görüntüler içinde gerçek görünenlerin payı olan aslına uygunluk ve modelin yeniden ürettiği gerçek çeşitliliğin payı olan kapsama olarak ayırır.
- FD-DINOv2: Aynı Fréchet mesafesini, öz denetimli bir görüntü dönüştürücü olan DINOv2'nin özellikleri üzerinde hesaplar. George Stein ve çalışma arkadaşları, büyük bir insan çalışmasının FID'nin difüzyon modeli görüntülerini insanların ne kadar gerçekçi bulduğunu yansıtmadığını ortaya koymasının ardından yöntemi 2023'te önerdi.
Video modellerinde aynı fikir Fréchet Video Mesafesi ile uygulanır; VBench gibi değerlendirme paketleri ise video kalitesini tek bir mesafe yerine ayrı boyutlara ayırır.
Sentetik Eğitim Verileri için FID#
FID, bir algılayıcıyı eğitmek için kullanılmadan önce sentetik verileri de denetler. Otomotiv görüntü işleme için gece sürüşü veya kusur tespiti için belirli ürün kusurları gibi nadir sahnelerin üretilmiş görüntülerini dağıtım kamerasından alınmış gerçek fotoğraflarla puanlamak, eğitim süresi harcanmadan önce alan farkını ortaya çıkarır. Son kontrol, sonraki aşama doğruluğudur: Ultralytics YOLO26 modelini sentetik görüntülerle ve bu görüntüler olmadan eğit; ardından aynı gerçek, eğitim dışında tutulmuş görüntüler üzerinde doğrulama modunda ortalama kesinlik (mAP) değerlerini karşılaştır.










