SSIMを計算する時に出てくるディスタンス

本日のお題画像:


これまでの流れを整理します。
まず、SSIMとPSNRの比較をし、

SSIMってのは、無限のバリエーションがあるので、SSIM値を指定して電子化発注をする場合、ちゃんと具体的な計算式を指定しないと、いけないよ

っぽいことを主張し、その無限のバリエーションが発生する原因は、様々なのですが、とりあえず、ガウシアンフィルターとディスタンスというものを例示しました。


そんで、前回は、ガウシアンフィルターをやっつけましたので、本日は、ディスタンスをやっつけに行きましょう、という流れです。*1


ディスタンスというのは、本名、「Viewing Distance」で、

画像を見ている人が、どんくらいの距離から見ているのか

ってことです。


SSIMの計算はコンピュータが行うので、「どんくらいの距離から見ているのか」というのは、あくまで比喩です。しかし、なかなかすばらしい比喩だと思います。


一般的に、近くから見ている場合、画像の詳細までくっきりと見えるわけですが、遠くから見ていると、画像の詳細までは分かりません(よね?)。


このことをSSIMの計算の中に入れ込みとすると、遠くから見る場合、距離に応じて、解像度を下げれば良いわけです。こういう操作のことを、ダウンサンプリングと言います。


つまり、

以下の右図が元画像だとして、どんどん離れていくにつれ、真ん中の画像のようになり、さらに遠ざかると、左のような画像になる(矢印は近づいていく方向ですが)

というカラクリです。


ラクリとしては、そんなに難しいことではないのですが、SSIMってのは、画質の指標であるはずなのに、なんで測定のときに、画像をわざわざボカしたりするのでしょうか?例えば、上の一番右の画像の測定をするのに、わざわざ一番左の画像に変換してから、SSIMを測定するとしたら、あなたは納得いきますか?次回あたりに、「なぜガウシアンフィルターを使うのか」という説明と一緒に書きますので、それまで、考えてみてください。


今日のところは、

なぜかは知らないけど、SSIMの測定の前に、ダウンサンプリングを行って画像をボカす慣習がある

と覚えておいてください。


さて、肝心のディスタンス(ボカし具合)は、どのようにして決まるのでしょうか?


SSIMといえば、Zhou Wangさんですので、長いですが、彼の言葉をそのまま引用します。

Suggested Usage

The above (ssim_index.m) is a single scale version of the SSIM indexing measure, which is most effective if used at the appropriate scale. The precisely “right” scale depends on both the image resolution and the viewing distance and is usually difficult to be obtained. In practice, we suggest to use the following empirical formula to determine the scale for images viewed from a typical distance (say 3〜5 times of the image height or width)


http://www.ece.uwaterloo.ca/~z70wang/research/ssim/

というわけで、

SSIMというのは、正しい「スケール」で測定しなくてはいけません。その正しい「スケール」というのは、解像度とディスタンスで決まってくるのですが、正しい「スケール」を見つけるのは容易ではありません。便宜上、画像の幅の3〜5倍のディスタンスから見た画像という想定をオススメします。

というようなことを言っています。


細かい部分はさておき、重要なのは、ディスタンスが「任意」だということです。


ディスタンスというのは、ダウンサンプリングと直結します。もう一度、以下の画像を見ていただくと、

こんなボカす変換が、任意に許されるわけです*2


というわけで、

SSIMってのは、無限のバリエーションがあるので、SSIM値を指定して電子化発注をする場合、ちゃんと具体的な計算式を指定しないと、いけないよ

という主張の意味をご理解いただけたでしょうか?計算式が何も指定されない場合、(少なくとも、)ガウシアンフィルターとディスタンスをイジクれば、SSIMの値を「味付け」することは簡単なんですよ。

*1:返り討ちにあわないように、注意してください。

*2:状況を分かりやすくするために、誇張していますので、ご注意あれ。