Функция image.ssim_multiscale
Функция image.ssim_multiscale вычисляет
многомасштабную меру структурного сходства
(Multiscale Structural Similarity, MS-SSIM)
между двумя изображениями. Первым параметром
функция принимает первое изображение, вторым -
второе изображение. Третьим параметром можно
передать максимальное значение пикселей,
четвертым - список весов для каждого масштаба.
Функция возвращает тензор со значением MS-SSIM,
которое тем ближе к единице, чем более похожи
изображения.
Синтаксис
tf.image.ssim_multiscale(img1, img2, max_val, [power_factors], [filter_size], [filter_sigma], [k1], [k2])
Пример
Давайте сравним два одинаковых изображения и получим значение MS-SSIM:
import tensorflow as tf
img1 = tf.constant([[[[1.0], [2.0]], [[3.0], [4.0]]]])
img2 = tf.constant([[[[1.0], [2.0]], [[3.0], [4.0]]]])
res = tf.image.ssim_multiscale(img1, img2, max_val=4.0)
print(res)
Результат выполнения кода:
tf.Tensor([1.], shape=(1,), dtype=float32)
Пример
Давайте сравним два разных изображения и получим значение MS-SSIM:
import tensorflow as tf
img1 = tf.constant([[[[1.0], [2.0]], [[3.0], [4.0]]]])
img2 = tf.constant([[[[4.0], [3.0]], [[2.0], [1.0]]]])
res = tf.image.ssim_multiscale(img1, img2, max_val=4.0)
print(res)
Результат выполнения кода:
tf.Tensor([0.00099999], shape=(1,), dtype=float32)
Пример
Давайте передадим собственные веса для масштабов и размер фильтра:
import tensorflow as tf
img1 = tf.constant([[[[1.0], [2.0]], [[3.0], [4.0]]]])
img2 = tf.constant([[[[1.0], [2.0]], [[3.0], [4.0]]]])
res = tf.image.ssim_multiscale(
img1, img2, max_val=4.0,
power_factors=[0.5, 0.5],
filter_size=3
)
print(res)
Результат выполнения кода:
tf.Tensor([1.], shape=(1,), dtype=float32)
Смотрите также
-
функцию
ssim,
которая вычисляет структурное сходство изображений -
функцию
psnr,
которая вычисляет пиковое отношение сигнал/шум -
функцию
total_variation,
которая вычисляет полную вариацию изображения -
функцию
per_image_standardization,
которая стандартизирует изображение