multissim

Многошкальное структурное подобие (MS-SSIM) индекс для качества изображения

Описание

пример

score = multissim(I,Iref) вычисляет индекс MS-SSIM, score, для изображения I, использование Iref как ссылочное изображение.

Структурное подобие (SSIM) меры по индексу воспринятое качество путем определения количества SSIM между изображением и ссылочным изображением (см. ssim). Эта функция вычисляет MS-SSIM, Многошкальный SSIM вычисляет структурный индекс подобия путем объединения индекса SSIM нескольких версий изображения в различных шкалах. Индекс MS-SSIM может быть более устойчивым, когда по сравнению с SSIM индексируют относительно изменений просмотра условий.

[score,qualitymaps] = multissim(I,Iref) также возвращает локальное значение индекса MS-SSIM для каждого пикселя в каждой масштабированной версии I. qualitymap выход является массивом ячеек, содержащим карты для каждой из масштабированных версий I. Каждая качественная карта одного размера с соответствующей масштабированной версией I.

[score,qualitymaps] = multissim(I,Iref,Name,Value) задает опции, с помощью одного или нескольких аргументов значения имени. Эти опции управляют аспектами расчета. Например, используйте 'NumScales' аргумент, чтобы задать количество масштабированных версий.

Примеры

свернуть все

Загрузите изображение в рабочую область.

Iref = imread('pout.tif');

Создайте шумную версию изображения в целях сравнения.

I = imnoise(Iref,'salt & pepper',0.05);

Отобразите оригинальное изображение и шумное изображение.

figure; 
montage({Iref,I}); 

Вычислите индекс MS-SSIM, который измеряет качество входного изображения по сравнению со ссылочным изображением.

score = multissim(I,Iref)
score = single
    0.6745

Загрузите изображение в рабочую область.

Iref = imread('pout.tif');
I = Iref;

Добавьте шум в локализованную часть изображения.

I(1:100,1:100) = imnoise(Iref(1:100,1:100),'salt & pepper',0.05);

Отобразите оригинальное изображение и шумное изображение.

figure; 
montage({Iref,I});

Вычислите локальные карты индекса MS-SSIM для шумного изображения, qualitymaps, использование оригинального изображения как ссылка. Возвращаемое значение, qualitymaps, массив ячеек, содержащий качественную карту для каждой из масштабированных версий изображения. Каждая карта одного размера с соответствующей масштабированной версией изображения.

[~, qualitymaps] = multissim(I,Iref);
figure
montage(qualitymaps,'Size',[1 5])

Загрузите изображение в рабочую область.

Iref = imread('pout.tif');

Создайте шумную версию изображения в целях сравнения.

I = imnoise(Iref,'salt & pepper',0.05);

Отобразите оригинальное изображение и шумную версию изображения.

figure; 
montage({Iref,I});

Вычислите индекс MS-SSIM для шумного изображения, с помощью оригинального изображения в качестве ссылки. Задайте, сколько взвесить локальные вычисления индекса MS-SSIM для каждого масштабированного изображения, с помощью 'ScaleWeights' аргумент. Пример использует значения веса, заданные в статье Вана, Симончелли и Бовика.

score = multissim(I,Iref,'ScaleWeights',[0.0448,0.2856,0.3001,0.2363,0.1333])
score = single
    0.6793

Загрузите изображение в рабочую область.

Iref = imread('pout.tif');

Создайте шумную версию изображения в качественных целях сравнения измерения.

I = imnoise(Iref,'salt & pepper',0.05);

Отобразите оригинальное изображение и шумное изображение.

figure; montage({Iref,I});

Вычислите индекс MS-SSIM для шумного изображения, с помощью оригинального изображения в качестве ссылки. Задайте значение стандартного отклонения.

score = multissim(I,Iref,'Sigma',1)
score = single
    0.6773

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

свернуть все

Введите изображение в виде действительного, неразреженного, M-by-N полутоновое изображение.

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

Ссылочное изображение в виде действительного, неразреженного, M-by-N полутоновое изображение. Ссылочное изображение должно быть одного размера и класс с входным изображением.

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

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

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

Пример: score = multissim(I,Iref,'NumScales',3);

Количество шкал раньше вычисляло индекс MS-SSIM в виде разделенной запятой пары, состоящей из 'NumScales' и положительное целое число. Установка 'NumScales' к 1 эквивалентно использованию ssim функция с ее 'Exponents' набор аргумента пары "имя-значение" к [1 1 1]. Размер входного изображения ограничивает количество шкал. multissim функционируйте масштабирует изображение (NumScales - 1) времена, прореживая изображение фактором 2 с каждым масштабированием.

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

Относительные значения через шкалы в виде разделенной запятой пары, состоящей из 'ScaleWeights' и вектор положительных элементов. Длина 'ScaleWeights' вектор зависит от количества шкал, потому что каждый элемент соответствует одной из масштабированных версий оригинального изображения. multissim функция нормирует 'ScaleWeights' значения к 1. По умолчанию веса шкалы равняются fspecial('gaussian',[1,numScales],1). multissim функционируйте использует Распределение Гаусса в качестве значения по умолчанию, потому что человеческая визуальная чувствительность достигает максимума в средних частотах и уменьшениях в обоих направлениях. Для примера установки 'ScaleWeights', смотрите Вычисляют MS-SSIM, Задающий Веса Шкалы.

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

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

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

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

свернуть все

Индекс MS-SSIM для качества изображения, возвращенного в виде числа в области значений [0, 1]. Значение 1 соответствует высшему качеству.

Локальные значения индекса MS-SSIM для каждого пикселя в каждой масштабированной версии, возвращенной как массив ячеек числовых массивов. Каждое значение в каждой карте является скалярным значением в области значений [0, 1], где 1 соответствует высшему качеству.

Алгоритмы

multissim функционируйте использует арифметику с двойной точностью во входных изображениях класса double. Все другие типы входных изображений используют арифметику с одинарной точностью.

Ссылки

[1] Ван, Z., Симончелли, E.P., Bovik, A.C. Многошкальное структурное подобие для оценки качества изображения. \in: тридцать седьмая конференция Asilomar по Signals, Systems & Computers, 2003, 1398–1402. Пасифик-Гроув, CA, США: IEEE, 2003. https://doi.org/10.1109/ACSSC.2003.1292216.

Смотрите также

|

Введенный в R2020a