EValuate the generated images of GANS using FID and SSIM (MATLAB:2023a)

22 views (last 30 days)
I have generated an images using CGANS ( conditional Gans) as in the matlab official example:
Howerver, I need to write a code to evaluate the smilarity between the orignial images and generated images using FID (Frechet Inception Distance (FID) or Image Quality Measures (SSIM)
  1 Comment
Fatima Bibi
Fatima Bibi on 13 Feb 2024
Edited: Fatima Bibi on 13 Feb 2024
i also want this question answer i want to load cgan pretrained model that matches model images with original images
my original images have one folder that contain 5 classes.i want it matches randomly 10 images per class for FID

Sign in to comment.

Accepted Answer

Ayush Aniket
Ayush Aniket on 21 Aug 2023
For calculating SSIM for the generated images you can use the MATLAB inbuilt ‘ssim’ function as follows:
% Load and preprocess the original and generated images
original_images = imread('path/to/original/image.jpg');
generated_images = imread('path/to/generated/image.jpg');
% Calculate Structural Similarity Index Measure (SSIM)
ssim_score = ssim(original_images, generated_images);
You can read more about the function in the documentation page: https://in.mathworks.com/help/images/ref/ssim.html
For calculating FID, you can use pre-trained Inception-v3 model from the Deep Learning Toolbox as follows:
net = inceptionv3;
% Calculate Frechet Inception Distance (FID)
original_features = activations(net, original_image, 'avg_pool');
generated_features = activations(net, generated_image, 'avg_pool');
fid_score = wassersteinDistance(original_features, generated_features);
You may need the check for the size compatibility of your images and that required as input to the Inception-v3 model.
Hope this helps!
  3 Comments
John
John on 21 Feb 2024
Is the 'original image' before the 'net'? For example, is it the 'noised image' before denoising? If that is the case, then "ssim(original_images, generated_images);" will not be much meaningful. I am not sure how about the Frechet Inception Distance (FID).
What kind of appropriate quantitative evaluation for, for example, unsupervised Cycle GAN generated denoised images? There are two group of images here: noisy-image and denoised-image; the training net is available.
Thank you.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!