exponenta event banner

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(A)). Например, динамический диапазон по умолчанию: 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]. 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 основан на вычислении трех членов, а именно члена яркости, члена контраста и структурного члена. Общий индекс представляет собой мультипликативную комбинацию трех терминов.

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

где

1 (х, у) = 2 мкхмку + С1мкх2 + мкy2 + С1, с (х, у) = 2

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

SSIM (x, y) = (2 мкхмку + C1) (2 мккси + C2) (мкх2 + мкy2 + C1) (

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

Ссылки

[1] Чжоу, У., А. К. Бовик, Х. Р. Шейх и Э. П. Симончелли. «Оценка качества изображения: от видимости ошибок до структурного подобия». Транзакции IEEE при обработке изображений. Том 13, выпуск 4, апрель 2004 года, стр. 600-612.

Представлен в R2014a