Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

fitniqe

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

説明

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

model = fitniqe(imds,Name,Value) は、モデル計算を制御する追加のパラメーターを使用して NIQE モデルを作成します。

すべて折りたたむ

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

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

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

model = fitniqe(imds);
Extracting features from 37 images.
...
Completed 9 of 37 images.  Time: Calculating...
.....
Completed 23 of 37 images.  Time: 00:21 of 00:32
...
Done.

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

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

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

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

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

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

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

model = fitniqe(imds,'BlockSize',[48 96])
Extracting features from 37 images.
..
Completed 4 of 37 images.  Time: Calculating...
...
Completed 13 of 37 images.  Time: 00:23 of 00:56
....
Completed 24 of 37 images.  Time: 00:34 of 00:50
....
Done.
model = 
  niqeModel with properties:

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

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

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

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

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

入力引数

すべて折りたたむ

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

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

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

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

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

鮮鋭度しきい値。''SharpnessThreshold'' と範囲 [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 で導入