Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

fitniqe

NIQE 画質スコアのカスタム モデルの適合

説明

model = fitniqe(imds) は、参照イメージ データストア imds から Naturalness Image Quality Evaluator (NIQE) モデルを作成します。

model = fitniqe(imds,Name=Value) は、モデル計算を制御する 1 つ以上の名前と値の引数を使用して NIQE モデルを作成します。

すべて折りたたむ

一連の自然イメージをイメージ データストアに読み込みます。これらのイメージは、Image Processing Toolbox™ に付属しており、'imdata' という名前のディレクトリにあります。

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

イメージ データストアを使用してカスタム NIQE モデルを学習させます。

model = fitniqe(imds);
Extracting features from 33 images.
...
Completed 9 of 33 images.  Time: Calculating...
...
Completed 19 of 33 images.  Time: 00:22 of 00:37
.....
Done.

自然シーンのイメージを読み取ります。イメージを表示します。

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

Figure contains an axes object. The axes object 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.6700.

一連の自然イメージをイメージ データストアに読み込みます。これらのイメージは、Image Processing Toolbox™ に付属しており、"imdata" という名前のディレクトリにあります。

setDir = fullfile(toolboxdir("images"),"imdata");
imds = imageDatastore(setDir,FileExtensions=".jpg");

イメージ データストアを使用して NSS 特徴量のカスタム モデルを作成します。ブロック サイズを指定し、鮮鋭度の既定のしきい値を使用します。

model = fitniqe(imds,BlockSize=[48 96]);
Extracting features from 33 images.

Completed 2 of 33 images.  Time: Calculating...
.....
Completed 11 of 33 images.  Time: 00:25 of 00:57
.....
Completed 27 of 33 images.  Time: 00:37 of 00:43
..
Done.

自然イメージをワークスペースに読み取ります。イメージを表示します。

I = imread("yellowlily.jpg");
imshow(I)

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

カスタム モデルを使用して、イメージの NIQE スコアを計算します。スコアを表示します。

niqeI = niqe(I,model);
disp("NIQE score for the image is "+niqeI)
NIQE score for the image is 3.0313

入力引数

すべて折りたたむ

参照イメージ データストア。ImageDatastore オブジェクトとして指定します。データストアは、データ型 singledoubleint16uint8、または uint16 の 2 次元グレースケール イメージか 2 次元 RGB イメージを含んでいなければなりません。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: model = fitniqe(imds,BlockSize=[48 36]) は、48×36 ピクセル ブロックを使用して NIQE モデルに適合させます。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: model = fitniqe(imds,"BlockSize",[48 36]) は、48×36 ピクセル ブロックを使用して NIQE モデルに適合させます。

イメージの分割に使用されるブロック サイズ。正の偶数の 2 要素行ベクトルとして指定します。ブロックはオーバーラップしません。ブロックから計算された自然シーン統計量が出力 model を定義します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

鮮鋭度しきい値。範囲 [0, 1] の数値スカラーとして指定します。鮮鋭度しきい値 s は、どのイメージ ブロックがモデルを計算するのに使用されるかを制御します。fitniqe は、すべてのブロックの中で最大の鮮鋭度の s 倍を超える鮮鋭度を持つすべてのブロックを使用してモデルを計算します。

データ型: single | double

出力引数

すべて折りたたむ

イメージの特徴のカスタム モデル。niqeModel オブジェクトとして返されます。

ヒント

  • イメージ データストア imds で指定したカスタム データ セットは、被験者にとって知覚的に初期状態のイメージで構成する必要があります。ただし、"初期状態" の定義はアプリケーションに依存します。たとえば、顕微鏡写真の初期状態のセットは、建物のシーンまたは屋外シーンのイメージとは異なる一連の品質基準を持ちます。カスタム NIQE モデルを学習する場合、さまざまなイメージ コンテンツと、異なる可能性のある一連の品質基準を持つイメージを使用します。

参照

[1] Mittal, A., R. Soundararajan, and A. C. Bovik. "Making a Completely Blind Image Quality Analyzer." IEEE Signal Processing Letters. Vol. 22, Number 3, March 2013, pp. 209–212.

バージョン履歴

R2017b で導入