ssim

Индекс структурного подобия (SSIM) для измерения качества изображения

Описание

ssimval = ssim(A,ref) вычисляет индекс структурного подобия (SSIM) для полутонового изображения или объема A использование ref как ссылка изображение или объем.

пример

[ssimval,ssimmap] = ssim(A,ref) также возвращает локальное значение SSIM для каждого пикселя или воксель в A.

___ = ssim(A,ref,Name,Value) вычисляет SSIM, используя пары "имя-значение" для управления аспектами расчета.

Примеры

свернуть все

Чтение изображения в рабочую область. Создайте другую версию изображения, применяя размытый фильтр.

ref = imread('pout.tif');
H = fspecial('Gaussian',[11 11],1.5);
A = imfilter(ref,H,'replicate');

Отобразите оба изображения как монтаж. Изображения больше всего различаются вдоль острых высококонтрастных областей, такие как ребра шпалеры.

montage({ref,A})
title('Reference Image (Left) vs. Blurred Image (Right)')

Figure contains an axes. The axes with title Reference Image (Left) vs. Blurred Image (Right) contains an object of type image.

Вычислите глобальное значение SSIM для изображения и локальные значения SSIM для каждого пикселя.

[ssimval,ssimmap] = ssim(A,ref);

Отображение локальной карты SSIM. Включите глобальное значение SSIM в заголовок рисунка. Небольшие значения локального SSIM появляются в виде темных пикселей на локальной карте SSIM. Области с небольшим локальным значением SSIM соответствуют областям, где размытое изображение заметно отличается от ссылки изображения. Большие значения локального значения SSIM появляются в виде ярких пикселей. Области с большим локальным SSIM соответствуют равномерным областям ссылки изображения, где размытие оказывает меньше влияния на изображение.

imshow(ssimmap,[])
title(['Local SSIM Map with Global SSIM Value: ',num2str(ssimval)])

Figure contains an axes. The axes with title Local SSIM Map with Global SSIM Value: 0.94068 contains an object of type image.

Входные параметры

свернуть все

Изображение, качество которого должно быть измерено, задается как 2-D полутоновое изображение или 3-D полутоновый объем.

Типы данных: single | double | int16 | uint8 | uint16

Эталонное изображение, по которому измеряется качество, задается как 2-D полутоновое изображение или 3-D полутоновый объем того же размера и типа данных A

Типы данных: single | double | int16 | uint8 | uint16

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: ssim(A,ref,'DynamicRange',100)

Динамическая область значений входа изображения, заданная как положительная скалярная величина. Значение по умолчанию DynamicRange зависит от типа данных изображения A, и вычисляется как diff (getrangefromclass(А)). Например, динамическая область значений по умолчанию 255 для изображений типа данных uint8, и по умолчанию это 1 для изображений типа данных double или single со значениями пикселей в области значений [0, 1].

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Экспоненты для яркости, контрастности и структурных членов, заданные как 3-элементный вектор неотрицательных чисел вида [alpha beta gamma].

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Стандартное отклонение изотропной Гауссовой функции, заданное в виде положительного числа. Это значение используется для взвешивания пикселей окрестности вокруг пикселя для оценки локальной статистики. Это взвешивание используется, чтобы избежать блокировки программных продуктов при оценке локальной статистики.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Константы регуляризации для яркости, контраста и структурных членов, заданные как 3-элементный вектор неотрицательных чисел вида [c1 c2 c3]. The ssim функция использует эти константы регуляризации, чтобы избежать нестабильности для областей изображения, где локальное среднее или стандартное отклонение близко к нулю. Поэтому для этих констант должны использоваться небольшие ненулевые значения.

По умолчанию,

  • C1 = (0.01*L).^2, где L является заданным DynamicRange значение.

  • C2 = (0.03*L).^2, где L является заданным DynamicRange значение.

  • C3 = C2/2

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Выходные аргументы

свернуть все

Индекс SSIM, возвращенный как числовой скаляр. ssimval относится к типу данных double кроме тех случаев, когда A относится к типу данных single, в каком случае ssimval относится к типу данных single.

Значение ssimval обычно находится в области значений [0, 1]. Значение 1 указывает на наивысшее качество и происходит при A и ref являются эквивалентными. Меньшие значения соответствуют более низкому качеству. Для некоторых комбинаций входов и аргументов пары "имя-значение", ssimval может быть отрицательным.

Локальные значения индекса SSIM, возвращенные как числовой массив неотрицательных чисел того же размера, что и входа изображение, A. ssimmap относится к типу данных double кроме тех случаев, когда A относится к типу данных single, в каком случае ssimmap относится к типу данных single.

Подробнее о

свернуть все

Индекс структурного сходства

Метрика качества изображения, которая оценивает визуальное влияние трех характеристик изображения: яркость, контрастность и структура.

Алгоритмы

Индекс оценки качества индекса КСИМ основан на расчете трех членов, а именно: термина яркости, контрастного термина и структурного термина. Полный индекс является мультипликативной комбинацией трех членов.

SSIM(x,y)=[l(x,y)]α[c(x,y)]β[s(x,y)]γ

где

l(x,y)=2μxμy+C1μx2+μy2+C1,c(x,y)=2σxσy+C2σx2+σy2+C2,s(x,y)=σxy+C3σxσy+C3

где μx, μy, σx, σy, и σxy являются местными средствами, стандартными отклонениями и поперечной ковариацией для изображений x, y. Если α = β = γ = 1 (дефолт для Exponents), и C3 = C2/2 (выбор по умолчанию C3) индекс упрощает:

SSIM(x,y)=(2μxμy+C1)(2σxy+C2)(μx2+μy2+C1)(σx2+σy2+C2)

Когда вы задаете нецелочисленное значение для 'Exponents', ssim функция препятствует комплексным значениям выходов путем прижатия промежуточных условий яркости, контрастности и конструкции к области значений [0, inf].

Ссылки

[1] Zhou, W., A. C. Bovik, H. R. Шейх и Э. П. Симончелли. «Оценка качества изображения: от видимости ошибки до структурного подобия». Транзакции IEEE по обработке изображений. Том 13, выпуск 4, апрель 2004 года, стр. 600-612.

Введенный в R2014a