SSIM is high, MSE is low but the two images are not similar

104 views Asked by At

I want to calculate the similarity between these two images:

original

and

reconstructed

These are brain topography maps and colors inside the circle represent the area being activated while watching TV. Thus I am looking for a metric which computes the similarity between original and reconstructed image taking into account how much they are similar with respect the "activated" areas. As you can see the two images are not very similar since, in the original image, the activated area is left-side while in the reconstructed one the activated area is right-side.

For doing that, I am combining both SSIM (scaled between 0 and 1) and MSE using this formula:

ssim = scaled_ssim(original_image, reconstructed_image)  # between 0 and 1
mse = mean_squared_error(original_image, reconstructed_image)
score = ssim / (mse + 1)

where scaled_ssim is defined as follows:

def scaled_ssim(original, reconstructed):
    original = normalize(original)
    reconstructed = normalize(reconstructed)
    score = ssim(original, reconstructed, data_range=1, channel_axis=-1)
    return (score + 1) / 2  

And I am getting:

ssim on random test sample: 0.5712
mse on random test sample: 0.0004
score on random test sample: 0.5710

As you can notice, the score is 0.5710. Can you suggest me a metric which performs better, that is takes into account the activation areas of the "brain"?

0

There are 0 answers