Fréchet Inception Distance (FID)
Fréchet Inception Distance (FID) đánh giá ảnh được tạo bằng cách so sánh thống kê đặc trưng Inception của ảnh đó với ảnh chụp thực. Cách tính và so sánh chỉ số.
Khoảng cách Inception Fréchet (FID) là metric chấm điểm model tạo sinh ảnh bằng cách so sánh các thống kê của ảnh do model tạo ra với ảnh thật. Cả hai tập ảnh đều được đưa qua mạng Inception v3 huấn luyện trước; đặc trưng của mỗi tập được tóm tắt thành phân phối Gaussian đa biến với giá trị trung bình và ma trận hiệp phương sai, còn FID là khoảng cách Fréchet giữa hai phân phối Gaussian đó. Điểm càng thấp càng tốt; điểm 0 nghĩa là hai tập đặc trưng có giá trị trung bình và ma trận hiệp phương sai giống hệt nhau. Năm 2017, Martin Heusel cùng các đồng nghiệp tại Đại học Johannes Kepler Linz giới thiệu FID trong bài báo GAN được huấn luyện bằng quy tắc cập nhật hai thang thời gian hội tụ đến cân bằng Nash cục bộ; FID nhanh chóng thay thế Inception Score thành metric tiêu chuẩn cho mạng đối sinh tạo sinh (GAN) và sau này là model khuếch tán.
Cách tính FID#
- Tạo một tập mẫu ảnh lớn, thường là 50,000 ảnh, rồi thu thập một tập ảnh thực đối chiếu, thường là tập huấn luyện.
- Đổi kích thước mọi ảnh thành 299 x 299 pixel rồi đưa qua Inception v3, một mạng nơ-ron tích chập được huấn luyện để phân loại ảnh trên ImageNet; giữ đầu ra 2.048 chiều của lớp pooling cuối cùng làm embedding của ảnh.
- Tính vector trung bình và ma trận hiệp phương sai của embedding ảnh thực và embedding ảnh được tạo.
- Kết hợp chúng: FID = (bình phương khoảng cách giữa hai giá trị trung bình) + trace(C_real + C_gen - 2 x sqrt(C_real x C_gen)), trong đó sqrt là căn bậc hai của ma trận.
Số hạng thứ nhất tăng khi ảnh tạo ra khác ảnh thật xét trên trung bình, chẳng hạn bị ám màu hoặc có cơ cấu nội dung không phù hợp. Số hạng thứ hai tăng khi độ đa dạng không đúng, như hiện tượng sụp đổ mode—lỗi GAN khiến bộ sinh chỉ tạo ra một vài kiểu đầu ra. Vì vậy, một con số phản ánh cả độ trung thực và tính đa dạng; đây là lý do FID trở thành điểm số mặc định cho các hệ thống chuyển văn bản thành ảnh như Stable Diffusion.
Phép tính tương tự bằng NumPy trên các vector đặc trưng 64 chiều mô phỏng:
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}")Script in ra FID bằng 8.78. Giá trị trung bình bị dịch chuyển đóng góp khoảng 5.8, độ phân tán hẹp hơn đóng góp khoảng 2.6; nửa điểm còn lại đến từ việc ước lượng thống kê trên một tập mẫu hữu hạn, yếu tố luôn đẩy FID lên cao. Trong đánh giá thực tế, các thư viện như TorchMetrics FID tính đặc trưng bằng trọng số Inception TensorFlow gốc được phát hành cùng metric này. Inception v3 của Torchvision được huấn luyện trên ImageNet có trọng số khác, nên không thể so sánh điểm số của model này với kết quả đã công bố.
Đọc và so sánh điểm FID#
Chỉ có thể so sánh giá trị FID trong cùng điều kiện: cùng tập tham chiếu, độ phân giải ảnh, số lượng mẫu và quy trình tiền xử lý. Đổi kích thước ảnh bằng thư viện khác hoặc lưu ảnh dưới dạng JPEG có thể làm điểm số lệch vài điểm; vấn đề này dẫn đến việc xây dựng phiên bản triển khai Clean-FID. Vì tập mẫu nhỏ làm tăng điểm số, các tác giả ban đầu khuyến nghị dùng ít nhất 10.000 ảnh; điểm số tính từ 5.000 mẫu không thể so sánh với điểm số từ 50.000 mẫu.
Để tham khảo quy mô, StyleGAN2 đạt FID 2.84 trên ảnh khuôn mặt 1024 x 1024 từ dataset FFHQ; với tác vụ tạo ảnh từ văn bản zero-shot trên 30.000 chú thích MS-COCO, Imagen của Google đạt 7.27 so với 10.39 của DALL-E 2.
Các metric tạo ảnh khác#
- Điểm Inception (IS): Chấm điểm riêng ảnh được tạo dựa trên mức độ tự tin và đa dạng trong phân loại của Inception. Metric này không xem xét dữ liệu thật, vì vậy không thể phát hiện model tạo ra ảnh sắc nét nhưng sai loại.
- Khoảng cách Inception kernel (KID): So sánh cùng các đặc trưng Inception bằng bộ ước lượng kernel không chệch, nhờ đó đáng tin cậy hơn khi số lượng mẫu nhỏ.
- Điểm CLIP: Đo mức độ khớp giữa ảnh và prompt văn bản; FID không đo được điều này, vì vậy các model chuyển văn bản thành ảnh thường báo cáo cả hai metric.
- Precision và recall cho model tạo sinh: Tách một con số duy nhất của FID thành độ trung thực—tỷ lệ ảnh tạo ra trông giống ảnh thật—và độ bao phủ—tỷ lệ tính đa dạng của ảnh thật được model tái hiện.
- FD-DINOv2: Tính cùng khoảng cách Fréchet trên các đặc trưng từ DINOv2, một Transformer thị giác tự giám sát. Năm 2023, George Stein cùng các đồng nghiệp đề xuất metric này sau khi một nghiên cứu quy mô lớn với người tham gia cho thấy FID không phản ánh đúng mức độ chân thực mà con người đánh giá ở ảnh do model khuếch tán tạo ra.
Model video sử dụng ý tưởng tương tự với Khoảng cách Fréchet video; các bộ benchmark như VBench chia chất lượng video thành các chiều riêng biệt thay vì dùng một khoảng cách duy nhất.
FID cho dữ liệu huấn luyện tổng hợp#
FID cũng sàng lọc dữ liệu tổng hợp trước khi dùng dữ liệu đó để huấn luyện bộ phát hiện. Chấm điểm ảnh được tạo về các cảnh hiếm—như lái xe ban đêm cho thị giác ô tô hoặc các lỗi sản phẩm cụ thể cho phát hiện lỗi—so với ảnh thật từ camera triển khai giúp phát hiện khoảng cách miền trước khi tốn thời gian huấn luyện. Bước kiểm tra cuối cùng là độ chính xác trên tác vụ phía sau: huấn luyện Ultralytics YOLO26 có và không có ảnh tổng hợp, rồi so sánh độ chính xác trung bình mAP trên cùng các ảnh thật được giữ lại trong chế độ validation.










