multissim3

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

Описание

пример

score = multissim3(V,Vref) вычисляет индекс MS-SSIM, score, для объема V, использование Vref как ссылочный объем.

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

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

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

Примеры

свернуть все

Загрузите 3-D объем в рабочую область.

load mri D
Vref = squeeze(D);

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

V = imnoise(Vref,'salt & pepper',0.05);

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

score = multissim3(V,Vref)
score = single
    0.6293

Загрузите объем в рабочую область. Этот объем будет ссылочным объемом. Создайте копию ссылочного объема.

load mri D
Vref = squeeze(D);
V = Vref;

Добавьте шум в локализованную часть объема в качественных целях сравнения. Отобразите шумный объем.

V(1:100,1:100,1:10) = imnoise(Vref(1:100,1:100,1:10),'salt & pepper',0.05);
figure;
volshow(V);

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

[score, qualitymaps] = multissim3(V,Vref)
score = single
    0.9124
qualitymaps=1×5 cell array
    {128×128×27 single}    {64×64×14 single}    {32×32×7 single}    {16×16×4 single}    {8×8×2 single}

figure;
volshow(qualitymaps{1});

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

load mri D
Vref = squeeze(D);

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

V = imnoise(Vref,'salt & pepper',0.05);

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

score = multissim3(V,Vref,'ScaleWeights',[0.0448,0.2856,0.3001,0.2363,0.1333]);

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

load mri D
Vref = squeeze(D);

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

V = imnoise(Vref,'salt & pepper',0.05);

Вычислите Многошкальное Структурное Подобие (MS-SSIM) индекс для объема, задав Sigma значение.

score = multissim3(V,Vref,'Sigma',1)
score = single
    0.5695

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

свернуть все

Введите объем в виде действительного, неразреженного, числового массива.

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

Ссылочный объем в виде действительного, неразреженного, числового массива. Ссылочное изображение должно быть одного размера и класс с входным объемом.

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

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

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

Пример: score = multissim3(V,Vref,'NumScales',3);

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

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

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

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

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

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

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

свернуть все

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

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

Алгоритмы

multissim3 функционируйте использует арифметику с двойной точностью во входных объемах класса 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