Fréchet Inception Distance (FID)
Fréchet Inception Distance (FID) ölçümünün üretken yapay zeka görsel kalitesini, aslına uygunluğunu ve çeşitliliğini nasıl değerlendirdiğini ve puanların nasıl hesaplanıp yorumlandığını öğren.
Fréchet Inception Distance (FID), üretken bir model tarafından üretilen görüntüleri bir referans gerçek görüntü setiyle karşılaştırmak için kullanılan bir ölçümdür. Her iki seti de öğrenilmiş görsel özelliklere dönüştürür, her özellik dağılımını özetler ve aralarındaki mesafeyi ölçer. Düşük bir FID genellikle üretilen görüntülerin hem görsel kalitede hem de çeşitlilikte gerçek görüntülere daha çok benzediğini gösterirken, daha yüksek bir FID yapaylıkları, eksik varyasyonu veya içerik uyuşmazlığını işaret eder.
FID Nasıl Çalışır?#
FID, bireysel görüntü çiftleri yerine görüntü setlerini değerlendirir. Bu, üretken yapay zeka sistemlerini, üretken çekişmeli ağlar ve difüzyon modelleri gibi sistemleri değerlendirmek için faydalı olmasını sağlar.
Hesaplama dört ana adımdan oluşur:
- Gerçek ve üretilen görüntüler, tipik olarak ImageNet üzerinde önceden eğitilmiş bir Inception v3 özellik çıkarıcı içerisinden geçer.
- Ağ, her görüntüyü üst düzey görsel özelliklerinin sayısal bir temsili olan bir gömme değerine dönüştürür.
- FID, gerçek ve üretilen özellik setlerinin ortalamasını ve kovaryans matrisini tahmin eder. Ortalama bunların merkezlerini temsil ederken, kovaryans özelliklerin birlikte nasıl değiştiğini açıklar.
- Ortalamalar arasındaki kare mesafeyi, kovaryans matrisleri arasındaki farkla birleştirir. Bu hesaplama bir matris karekökü içerir.
Elde edilen FID skoru negatiftir. Sonlu örnekler ve sayısal etkiler, iki gerçek görüntü alt kümesinin bile sıfırdan farklı bir skor üretmesine neden olabileceği anlamına gelse de, özdeş özellik dağılımları idealize edilmiş sınırda sıfır üretir.
Bir FID Skorunu Yorumlama#
Düşük olması daha iyidir, ancak "iyi" bir FID skoru için evrensel bir eşik yoktur. Yorumlama; veri setine, görüntü çözünürlüğüne, örnek sayısına, ön işleme boru hattına ve özellik çıkarıcıya bağlıdır. Skorlar yalnızca bu koşullar tutarlı olduğunda karşılaştırılmalıdır.
FID, üretilen görüntünün iki önemli yönüne tepki verir:
- Sadakat: Bulanık görüntüler, gerçekçi olmayan dokular, bozulmuş nesneler ve diğer görsel yapaylıklar üretilen özellikleri gerçek dağılımdan uzaklaştırabilir.
- Çeşitlilik: Tekrarlayan çıktılar veya model çökmesi özellik varyasyonunu azaltarak üretilen dağılımın kovaryansını değiştirir.
Ancak FID, bir skorun neden değiştiğini açıklamaz. Ayrıca nadir ancak önemli hata durumlarını, ezberlenmiş görüntüleri, yanlış komut istemi hizalamasını veya veri seti yanlılığını gözden kaçırabilir. Bu nedenle ekipler FID'yi görsel inceleme, uygulamaya özel testler ve alt grup analizi ile birleştirmelidir.
FID ve İlgili Metrikler#
FID genellikle diğer görüntü üretimi ve bilgisayarla görü metrikleriyle karıştırılır:
- Inception Score: Üretilen görüntüleri gerçek referans görüntülerle doğrudan karşılaştırmadan değerlendirir. FID, hem gerçek hem de üretilen örnekleri kullandığı için dağılım uyuşmazlığı hakkında genellikle daha fazla bilgi sağlar.
- Kernel Inception Distance: Ayrıca özellik dağılımlarını karşılaştırır ancak tabanlı bir tahminci kullanır. Örnek açısından verimli veya yansız tahmin önemli olduğunda faydalı olabilir.
- Ortalama ortalama kesinlik: Bir nesne dedektörünün etiketli nesneleri doğru şekilde sınıflandırıp sınıflandırmadığını ve konumlandırıp konumlandırmadığını ölçer. FID, algılama doğruluğunu değil, üretilen görüntü dağılımlarını değerlendirir.
- Algısal benzerlik: Genellikle karşılık gelen görüntü çiftlerini karşılaştırır. FID bunun yerine iki koleksiyonun benzer genel istatistiklere sahip olup olmadığını değerlendirir.
Gerçek Dünya Uygulamaları#
Pratik bir uygulama, üretim denetimi için sentetik verileri değerlendirmektir. Bir ekip çizik, çatlak veya eksik bileşen görüntüleri üretebilir ve gerçek bir üretim hattından ayrılmış fotoğraflara karşı FID hesaplayabilir. Yüksek bir skor, sentetik aydınlatmanın, dokuların veya kusur şekillerinin dağıtım koşullarına benzemediğini ortaya çıkarabilir. Üreticiyi iyileştirdikten sonra ekip yine de dedektörünü eğitmeli ve göreve özel performansı doğrulamak için Ultralytics doğrulama modunu kullanmalıdır.
İkinci bir örnek, simüle edilmiş yol sahneleri oluşturmaktır. Mühendisler otonom sürüş eğitim verilerini genişletmek için gece, yağmur veya sis görüntüleri oluşturabilir. FID, her sentetik koşulu o ortamdaki gerçek karelerle karşılaştırabilir. Büyük bir mesafe, aşağı akışlı bir dedektörün aktarılabilir yol özelliklerinden ziyade gerçekçi olmayan arka planlar veya hava durumu yapaylıkları öğrenmesine neden olabilecek bir etki alanı uyuşmazlığı konusunda uyarıda bulunur.
Ultralytics Platform veri seti yönetimi, ekiplerin eğitim ve dağıtımdan önce gerçek ve sentetik görüntü bölümlerini düzenlemesine, incelemesine ve versiyonlamasına yardımcı olabilir.
Python'da FID Hesaplama#
Belgelenmiş TorchMetrics FID uygulaması, gerçek ve üretilen görüntü gruplarını kabul eder:
import torch
from torchmetrics.image.fid import FrechetInceptionDistance
generator = torch.Generator().manual_seed(7)
real_images = torch.randint(0, 256, (64, 3, 64, 64), dtype=torch.uint8, generator=generator)
generated_images = torch.randint(32, 224, (64, 3, 64, 64), dtype=torch.uint8, generator=generator)
fid = FrechetInceptionDistance(feature=64)
fid.set_dtype(torch.float64)
fid.update(real_images, real=True)
fid.update(generated_images, real=False)
print(f"FID: {fid.compute().item():.3f}")Bu küçük örnek, hızlı bir gösterim için 64 boyutlu özellikler kullanır. Standart kıyaslama karşılaştırmaları tipik olarak varsayılan 2.048 boyutlu temsili ve çok daha fazla görüntüyü kullanır. Güvenilir bir değerlendirme için ön işlemeyi ve örnek sayılarını sabit tutun, tam yapılandırmayı bildirin, mümkün olduğunda ölçümleri tekrarlayın ve üretilen veriler aşağı akışlı bir vizyon görevini desteklediğinde FID'yi Ultralytics model değerlendirme iş akışı ile tamamlayın.









