niqe

Naturalness Image Evaluator (NIQE) без эталонного счета качества изображения

Описание

пример

score = niqe(A) вычисляет счет качества изображений без ссылки для изображения A использование Naturalness Image Quality Evaluator (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.

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

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

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

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-D изображение в полутоновом или RGB.

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

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

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

свернуть все

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

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

Алгоритмы

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

Ссылки

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

См. также

Функции

Объекты

Введенный в R2017b