SSIMでウソをつく法

本日のお題画像

前回(http://d.hatena.ne.jp/denshikA/20091115)、確認しました通り、SSIMというのは、簡単に言ってしまえば、

画像を数字に置き換えて、それについて、平均や分散で比較する

というものです。(なので、エクセルでも計算できてしまうのです。)ところで、平均や分散というのは、統計学でよく使われれる用語です。ならば、当然、

統計でウソをつく法―数式を使わない統計学入門 (ブルーバックス)

統計でウソをつく法―数式を使わない統計学入門 (ブルーバックス)

という本で警告されていることと同様なことが発生します。つまり、あまり理解していないのに、知ったかぶりで使うと、とんでもない誤解が生じます。逆に、あまり理解していないのに、他人の言ったことを鵜呑みにすると、とんでもなくだまされます。*1


本日は、うって変わって、SSIMってのも、(他の統計を使ったインチキ言説と同様、)どんだけ怪しいものか、見て行きましょう。


かつて、このように書きました。

これまで私たちが「2つの画像がどんくらい似ているのか」という指標として、PSNRを使っていたのですが、いろんな場面で、私たちの感覚とは異なる結果を生み出していました。そこで、私たちの感覚により近いと評判のSSIMというものが、どんどんと勢力を伸ばして、とうとう、今年から、日本の大きな電子化プロジェクトに仕様として盛り込まれることになったのです。


http://d.hatena.ne.jp/denshikA/20090921


続いて、


同じ画質(縦軸)に対して、PSNRないしSSIMの値がバラけてしまう、というのは好ましくないので、横方向に、ギュッとしまっていたほうが、数値として信頼できます。したがって、PSNRよりもSSIMのほうが、若干ギュッとしているので、良い感じですね。


http://d.hatena.ne.jp/denshikA/20090923

と書きました。


PSNRよりSSIMのほうが良い理由として、「若干ギュッとしている」というのは、かなりいい加減な話なので、もう少し別な形で言い換えて、科学っぽくしましょう。*2


またもや、「SSIMと言えば、Zhou Wangさん」の登場です。今日は、別の論文を見てみましょう。


http://www.journalofvision.org/8/12/8/Wang-2008-jov-8-12-8.pdf


「MAD Competition」と名づけられた比較手法なのですが、要は、

PSNRが同じ値になる画像で、高いSSIMの値と、低いSSIMの値を出す画像を作ったとして、その両者を比較してみましょう。また、その逆もやってみましょう。

ということです。


冒頭の画像で説明しましょう。


左上の画像が、元画像です。今、「砂嵐みたいなノイズ」を画像に入れてみると、Aのような画像になります。


元画像と画像AのSSIMとPSNR*3をはかります。


さて、PSNRの値が同じ範囲内で、あれこれ画像をいじって、SSIMが最大になるものを画像Bとして、SSIMが最小となるものを画像Cとします。


同様に、SSIMの値が同じ範囲内で、あれこれ画像をいじって、PSNRが最大になるものを画像Dとして、PSNRが最小となるものを画像Eとします。


よーく見てください。


画像Bは、結構、いけてますよね。なのに、画像Cは、かなりいけてませんね。つまり、落差が激しいですね。


次に、画像Dと画像Eを見てみると、どっちもいけてませんよね。つまり、どんぐりの背比べですね。


というわけで、何が言いたいのかって言うと、

あなたが、画像の作成を依頼する、と想定してみてください。PSNRをいくつくらいにしてください、と指示したとします。画像Bと画像Cが同じPSNRの値を持つとすると、あるときは画像Bくらいの画質が届き、別のときは画像Cくらいの画質が届いてしまう状況なわけです。困るでしょ?


逆にSSIMならどうかと言われれば、画質の振れ幅が小さくなるわけです。ただ、ちょっと注意していただきたいのは、SSIMを指標とした場合、画像Dか画像Eのように、どっちにしろヘンテコな画像が届く、ということを意味しません。今回の画像AのSSIMは、かなり小さいものです。なので、このSSIMの値を指示して、画像作成を依頼することはまずないでしょう。ただ、仮に、この低い品質のSSIMを指示したとしたら、画像Dか画像Eというような画質の悪いものが「確実に」届くわけです。PSNRと比べてみれば分かりますが、悪い品質のPSNRで指示したはずが、場合によっては、画像Bのような、ワンダフルな画像が届いてしまうわけです。


あなたなら、PSNRとSSIMのどちらで指示を出しますか?

ということです。


というわけで、MAD Competitionが示すとおり、PSNRよりSSIMのほうが指標としては適している可能性があるわけです。ただし、画像A、画像D、画像Eが、全て同じSSIMの値だということは、頭の片隅においておいてください。


妄信はいけません。SSIMはあくまで、統計手法です。統計手法を使えば、いくらでも、ウソをつくことができるのです。

*1:最近、SSIMが指標として浸透しはじめているのですが、あまり理解していないのではないか、という仕様を見かけます。危惧してます。

*2:ただ、あくまで画像の見た目の評価なので、最後の最後は、「だって、そう思うんだもーん」的な主観が頼りになります。

*3:MSEとなっていますが、ここでは同じものと考えてください