Main Content

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

multissim3

ボリュームの品質のマルチスケール構造的類似性 (MS-SSIM) 指数

説明

score = multissim3(V,Vref) は、Vref を参照ボリュームとして使用して、ボリューム V の MS-SSIM 指数 score を計算します。

構造的類似性 (SSIM) 指数は、ボリュームと参照ボリュームの間の構造的類似性を定量化することで、感性品質を測定します。 (ssim を参照)。この関数は、さまざまなスケールの複数バージョンのボリュームの SSIM 指数を組み合わせることで、マルチスケール構造的類似性 (MS-SSIM) 指数を計算します。MS-SSIM 指数は SSIM 指数と比べて、表示条件の変動に対してロバストです。

[score,qualitymaps] = multissim3(V,Vref) は、V と、V をスケーリングした各バージョンにおける、各ピクセルの局所的な MS-SSIM 指数値も返します。qualitymaps 出力は、V をスケーリングした各バージョンのマップをもつ cell 配列です。各品質マップは、スケーリングした対応するバージョンと同じサイズになります。

[score,qualitymaps] = multissim3(V,Vref,Name,Value) は、1 つ以上の名前と値の引数を使用してオプションを指定します。これらのオプションは計算の特性を制御します。たとえば、'NumScales' 引数を指定して、スケーリングするバージョンの数を指定します。

すべて折りたたむ

3 次元ボリュームをワークスペースに読み込みます。

load mri D
Vref = squeeze(D);

品質測定の比較のために、元のボリュームにノイズを加えたバージョンを作成します。

V = imnoise(Vref,'salt & pepper',0.05);

参照ボリュームと比較した入力ボリュームの品質を測定する MS-SSIM 指数を計算します。

score = multissim3(V,Vref)
score = single
    0.6293

ボリュームをワークスペースに読み込みます。このボリュームは参照ボリュームとなります。参照ボリュームのコピーを作成します。

load mri D
Vref = squeeze(D);
V = Vref;

品質測定の比較のために、ボリュームの局所化部分にノイズを追加します。ノイズを含むボリュームを表示します。

V(1:100,1:100,1:10) = imnoise(Vref(1:100,1:100,1:10),'salt & pepper',0.05);
figure;
volshow(V);

ボリュームの MS-SSIM 指数を計算し、局所的な構造的類似性マップを取得します。関数 multissim3 は、ボリュームをスケーリングした各バージョンの局所的な構造的類似性マップをもつ cell 配列 qualitymaps を返します。cell 配列の 1 番目の品質マップを表示します。

[score, qualitymaps] = multissim3(V,Vref)
score = single
    0.9124
qualitymaps=1×5 cell array
    {128×128×27 single}    {64×64×14 single}    {32×32×7 single}    {16×16×4 single}    {8×8×2 single}

figure;
volshow(qualitymaps{1});

ボリュームをワークスペースに読み込みます。

load mri D
Vref = squeeze(D);

品質測定の比較のために、ボリュームにノイズを加えたバージョンを作成します。

V = imnoise(Vref,'salt & pepper',0.05);

参照として元のボリュームを使用して、ノイズを含むボリュームの MS-SSIM 指数を計算します。'ScaleWeights' 引数を使用して、スケーリングした各ボリュームの局所的 MS-SSIM 指数の計算にどれだけ重み付けをするか指定します。この例では、Wang、Simoncelli、および Bovik による論文で定義された重みを使用します。

score = multissim3(V,Vref,'ScaleWeights',[0.0448,0.2856,0.3001,0.2363,0.1333]);

ボリュームをワークスペースに読み込みます。

load mri D
Vref = squeeze(D);

比較のために、ボリュームにノイズを加えたバージョンを作成します。

V = imnoise(Vref,'salt & pepper',0.05);

Sigma の値を指定して、ボリュームのマルチスケール構造的類似性 (MS-SSIM) 指数を計算します。

score = multissim3(V,Vref,'Sigma',1)
score = single
    0.5695

入力引数

すべて折りたたむ

入力ボリューム。実数、非スパースの数値配列として指定します。

データ型: single | double | int16 | uint8 | uint16

参照ボリューム。実数、非スパースの数値配列として指定します。参照イメージのサイズとクラスは入力ボリュームと同じでなければなりません。

データ型: single | double | int16 | uint8 | uint16

名前と値のペアの引数

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

例: score = multissim3(V,Vref,'NumScales',3);

MS-SSIM の計算に使用するスケールの数。'NumScales' と正の整数で構成されるコンマ区切りのペアとして指定します。'NumScales' を 1 に設定することは、関数 ssim を使用して、名前と値のペアの引数 'Exponents'[1 1 1] に設定することと同等です。入力ボリュームのサイズによって、スケールの数が制限されます。関数 multissim3 はボリュームのスケーリングを (NumScales - 1) 回行い、スケーリングのたびにボリュームを係数 2 でダウンサンプリングします。

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

スケール全体における相対値。'ScaleWeights' と正の要素のベクトルから構成されるコンマ区切りのペアとして指定します。ベクトル 'ScaleWeights' の長さはスケールの数によって異なります。各要素が、元のボリュームをスケーリングしたバージョンの 1 つに対応しているからです。関数 multissim3'ScaleWeights' の値を 1 に正規化します。既定では、スケールの重みは fspecial('gaussian',[1,numScales],1) に等しくなります。既定では、関数 multissim3 はガウス分布を使用します。人間の視感度は中程度の周波数でピークに達し、周波数が高くても低くても感度が低下するためです。'ScaleWeights' の設定例については、スケーリングした各ボリュームの重みを指定した MS-SSIM の計算を参照してください。

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

等方性ガウス関数の標準偏差。'Sigma' と正のスカラーで構成されるコンマ区切りのペアとして指定します。この値は、局所的な統計を推定する目的で、特定のピクセルの周囲の近傍ピクセルに重み付けを指定します。関数 multissim3 はこの重み付けを使用して、局所的な統計を推定する際のブロック アーティファクトを防ぎます。

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

出力引数

すべて折りたたむ

MS-SSIM 指数。範囲 [0, 1] の数値スカラーとして返されます。1 は最高品質に対応します。

スケーリングした各バージョンにおける各ピクセルの局所的 MS-SSIM 値。数値配列の cell 配列として返されます。qualitymaps の各値は範囲 [0, 1] のスカラー値です。1 は最高品質に対応します。

アルゴリズム

関数 multissim3 は、double クラスの入力ボリュームには倍精度演算を使用します。その他すべての型の入力ボリュームには単精度演算を使用します。

参照

[1] Wang, Z., Simoncelli, E.P., Bovik, A.C. Multiscale Structural Similarity for Image Quality Assessment. In: The Thirty-Seventh Asilomar Conference on Signals, Systems & Computers, 2003, 1398–1402. Pacific Grove, CA, USA: IEEE, 2003. https://doi.org/10.1109/ACSSC.2003.1292216.

参考

|

R2020a で導入