fitniqe

Подгонка пользовательской модели для счета качества изображения NIQE

Описание

пример

model = fitniqe(imds) создает модель Naturalness Image Evaluator (NIQE) из хранилища данных эталонных изображений imds.

пример

model = fitniqe(imds,Name,Value) создает модель 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.

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

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

Создайте пользовательскую модель элементов NSS с помощью изображения datastore. Задайте размер блока и используйте порог резкости по умолчанию.

model = fitniqe(imds,'BlockSize',[48 96])
Extracting features from 38 images.
...
Completed 10 of 38 images.  Time: Calculating...
...
Completed 15 of 38 images.  Time: 00:23 of 01:14
....
Completed 30 of 38 images.  Time: 00:33 of 00:42
..
Done.
model = 
  niqeModel with properties:

                  Mean: [1x36 double]
            Covariance: [36x36 double]
             BlockSize: [48 96]
    SharpnessThreshold: 0

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

I = imread('yellowlily.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 2.9558.

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

свернуть все

Ссылка на изображение datastore, заданная как ImageDatastore объект. datastore должен содержать 2-D изображения в полутоновом или 2-D RGB типа данных single, double, int16, uint8, или uint16.

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

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

Пример: model = fitniqe(imds,'BlockSize',[48 36]) подходит для модели NIQE с использованием блоков 48 на 36 пикселей.

Размер блока, используемый для разбиения изображений, задается как разделенная разделенными запятой парами, состоящая из 'BlockSize' и 2-элементный вектор-строка с положительными четными целыми числами. Блоки являются неперекрывающимися. Статистика естественных сцен, которые вычисляются из блоков, задает выходные model.

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

Порог резкости, заданный как разделенная разделенными запятой парами, состоящая из 'SharpnessThreshold' и числовой скаляр в области значений [0, 1]. Порог резкости, s, управляет, какие блоки изображений используются для вычисления модели. fitniqe вычисляет модель, используя все блоки, которые имеют резкость более s умножить на максимальную резкость среди всех блоков.

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

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

свернуть все

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

Совет

  • Пользовательский набор данных, заданный в datastore изображений imds должны состоять из изображений, которые восприимчиво девственны к человеческим субъектам. Однако определение pristine зависит от приложения. Например, первозданный набор микроскопических изображений имеет другой набор критериев качества, чем изображения созданий или наружных сцен. При обучении пользовательской модели NIQE используйте изображения с разнообразным содержимым изображений и с потенциально различными наборами критериев качества.

Ссылки

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

Введенный в R2017b