«Небольшая» несогласованность значений SSIM, полученных для стандартных примеров изображений, между реализациями skimage и tenorflow - PullRequest
0 голосов
/ 03 марта 2019

Для стандартного изображения в каталоге примеров skimage , я использовал встроенный метод SSIM в TF (версия 1.13.1) и обнаружил небольшие расхождения.Вот код:

#####################################
import tensorflow as tf
# Read images from file.
tf.enable_eager_execution()
im1 = tf.image.convert_image_dtype(tf.image.grayscale_to_rgb(img.reshape(512,512,1)), tf.float32)
im2 = tf.image.convert_image_dtype(tf.image.grayscale_to_rgb(img_noise.reshape(512,512,1)), tf.float32)
im3 = tf.image.convert_image_dtype(tf.image.grayscale_to_rgb(img_const.reshape(512,512,1)), tf.float32)
ssim_noise_tf = tf.image.ssim(im1, im2, max_val=img_noise.max() - img_noise.min())
ssim_const_tf = tf.image.ssim(im1, im3, max_val=img_const.max() - img_const.min())
print('The TF computed values are:')
ssim_noise_tf.numpy(),ssim_const_tf.numpy()

Вывод:

The skimage computed values are:
0.14038526562173645 0.841719943377482
The TF computed values are:
(0.12293128, 0.8365968)

Есть какие-нибудь подсказки?Возможные источники дельты могут быть: - tf.image.grayscale_to_rgb

  • Различные варианты алгоритма?
...