SSIMとは何か? その2

本日も、引き続き、画像の圧縮などの話をしましょう。(相変わらず、マニア度高めですが、気にせずに、読み進んでいただければ、おそらく大丈夫です。)


本日の課題画像:

http://www.cns.nyu.edu/pub/eero/wang03-reprint.pdf 11ページより抜粋


前回は、PSNRというのが「私たちの感覚とは異なる結果を生む」ことがある一方、SSIMというのは「私たちの感覚により近いと評判」だと書きました。


ところが、「私たちの感覚により近い」というのは、一体全体、どんな感じなのでしょうか?もう少しだけ詳しく見てみましょう。この部分を理解しますと、SSIMが身近になると思います*1


SSIMと言えば、Zhou Wangさんです。さっそく、彼の論文を拝見しましょう。


Image Quality Assessment: From Error Visibility to Structural Similarity
http://www.cns.nyu.edu/pub/eero/wang03-reprint.pdf


難しいことが書いてありそうなので、まっすぐ11ページ目のFig.8へ飛びましょう。



これは、冒頭にも載せたグラフですが、ゆっくりと説明をしていきます。*2


(簡単なルール)

  1. 左側のグラフがPSNRについて、右側がSSIM*3について、示しています。
  2. 横軸は、それぞれ、PSNR/SSIMの値を示しています。前回も書きましたが、両方とも、数値が大きくなればなるほど、「元の画像に似ている」ということを意味します。
  3. 縦軸のMOSというのは、たくさんの人に「似てる具合」を評価してもらい、その平均点を示していますので、大きいほど、「似ている」はずです。*4
  4. 各点(+、*)は、それぞれ、JPEG/JPEG2000で圧縮したものについて、MOSPSNR/SSIMの該当部分に、置いていったものです。)


(簡単な読み方)

  1. 同じ画質(縦軸)に対して、PSNRないしSSIMの値がバラけてしまう、というのは好ましくないので、横方向に、ギュッとしまっていたほうが、数値として信頼できます。したがって、PSNRよりもSSIMのほうが、若干ギュッとしているので、良い感じですね。
  2. 逆に横方向にポチャっとしていると、「見た感じ似ているのに、数値にすると、似てない」現象が起こる可能性が高くなりますので、前回お見せしたような、PSNRの困った状況が発生します。*5
  3. 「Fitting with Logistic Function」という線が引かれていますが、これは「個々の点は全体的にバラけていますが、四捨五入すると、おおよそこんな感じの曲線ですかねぇ」というラインです。
  4. 傾斜がゆるい部分*6は、横軸の数値が変わっても、縦軸の変動が少ないため、人間の目ではあまり変化を確認できません、という領域です。なので、PSNRで40以上の場合、それ以上、数値を改善しようとしても、あまり見た目に分かりませんよ。逆に、SSIMで0.8以下のものは、「どれも似てなーい」という意味で、「どんぐりの背比べ」状態ですよ。
  5. 逆に、傾斜がきつい部分*7が、その指標が最も力を発揮することができる部分です。傾斜が急ということは、少しの数値の改善が、見た目に大きく反映されることを意味します。なので、電子化職人*8にとっては、この領域が腕の見せ所となるわけです。

という感じで、おそらく、PSNRよりSSIMのほうが「私たちの感覚により近い」理由が、ほんのり分かっていただけたかと思います。また同時に、それぞれ、どんくらいの数値が標準的であるのか、また、どんくらいを超えると意味があまりなくなるのか、ということがほのかに分かっていただけたと思います。


次回は、SSIMからOCRへ展開していく予定です。

*1:身近にならなかったら、ごめんなさいねぇ。効果には個人差があるみたいなんです。

*2:ただし、大筋だけをつかむために、科学的に厳密な話をしてませんので、きちんと理解したい方は、必ず原文を参照してください。

*3:グラフでは、MSSIMと「M」がくっついていますが、おかあさんの「お」だと思って、「かあさん」でも意味が一緒でしょ、くらいで考えてください。

*4:このテストの方法は、http://live.ece.utexas.edu/research/quality/JPEG2000/readme.txtの「The testing procedure was as follows:」以下を見てください。

*5:このことを理解するためには、どこでもいいので、一点を選らんで、そこよりも、右下にある点について、考えてみてください。MOS(主観)としては低い点数なのに、PSNRないしSSIMでは高い数値が出ていませんか?

*6:PSNRで言えば25以下と40以上、SSIMで言えば0.8以下

*7:PSNRで言えば25〜35くらい、SSIMで言えば0.8〜1.0あたり

*8:特に私のように、圧縮職人