exponenta event banner

niqe

Оценка качества изображения естественности (NIQE) без эталонного показателя качества изображения

Описание

пример

score = niqe(A) вычисляет оценку качества изображения без ссылки для изображения A использование оценщика качества изображения естественности (NIQE). niqe выдерживает сравнение A в модель по умолчанию, вычисленную на основе изображений естественных сцен. Меньший балл указывает на лучшее качество восприятия.

пример

score = niqe(A,model) вычисляет оценку качества изображения с помощью пользовательской модели.

Примеры

свернуть все

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

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

I = imread('lighthouse.png');
Inoise = imnoise(I,'salt & pepper',0.02);
Iblur = imgaussfilt(I,2);

Отображение изображений.

figure
montage({I,Inoise,Iblur},'Size',[1 3])
title('Original Image | Noisy Image | Blurry Image')

Figure contains an axes. The axes with title Original Image | Noisy Image | Blurry Image contains an object of type image.

Рассчитайте оценку NIQE для каждого изображения, используя модель по умолчанию. Просмотрите счет.

niqeI = niqe(I);
fprintf('NIQE score for original image is %0.4f.\n',niqeI)
NIQE score for original image is 2.5455.
niqeInoise = niqe(Inoise);
fprintf('NIQE score for noisy image is %0.4f.\n',niqeInoise)
NIQE score for noisy image is 10.8770.
niqeIblur = niqe(Iblur);
fprintf('NIQE score for blurry image is %0.4f.\n',niqeIblur)
NIQE score for blurry image is 5.2661.

Оригинальное неискаженное изображение имеет наилучшее качество восприятия и, следовательно, наименьшую оценку NIQE.

Загрузка набора натуральных изображений в хранилище данных изображений. Эти изображения поставляются в Toolbox™ обработки изображений в каталоге с именем imdata.

setDir = fullfile(toolboxdir('images'),'imdata');
imds = imageDatastore(setDir,'FileExtensions',{'.jpg'});

Обучение пользовательской модели NIQE с использованием хранилища данных образа.

model = fitniqe(imds);
Extracting features from 38 images.
...
Completed 10 of 38 images.  Time: Calculating...
....
Completed 18 of 38 images.  Time: 00:22 of 00:49
....
Done.

Прочитайте изображение естественной сцены. Отображение изображения.

I = imread('car1.jpg');
imshow(I)

Figure contains an axes. The axes contains an object of type image.

Вычислите оценку NIQE для изображения с помощью пользовательской модели. Просмотрите счет.

niqeI = niqe(I,model);
fprintf('NIQE score for the image is %0.4f.\n',niqeI)
NIQE score for the image is 1.8730.

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

свернуть все

Входное изображение, определенное как 2-е оттенки серого или изображение RGB.

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

Пользовательская модель элементов изображения, заданная как niqeModel объект. model получается из статистики естественных сцен.

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

свернуть все

Оценка качества изображения без ссылки, возвращенная как неотрицательный скаляр. Нижние значения score отражают лучшее качество восприятия изображения A по отношению к входу model.

Типы данных: double

Алгоритмы

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

Ссылки

[1] Миттал, А., Р. Саундараджан и А. К. Бовик. «Создание полностью слепого анализатора качества изображения». Письма обработки сигналов IEEE. Том 22, номер 3, март 2013 года, стр. 209-212.

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