なんでSSIMの計算では、ボケ画像を使うでしょうか?

本日のお題画像:
 


http://cvcl.mit.edu/hybrid_gallery/smile_angry.html


お題画像を見てください。ずいぶんと古い話ですが、かつて、この画像が話題になったのを覚えてますか?*1


目を細めてみたり、パソコンの画面から少し離れたところから見てみると、「状況が変わる」というトリック画像です。普通に見ると、左にちょっと怒った男性、右に普通にしてる女性がいるのですが、目を細めると、左右が入れ替わり、左に女性、右に男性となるわけです。


このトリックのタネについて、こちらの論文(http://cvcl.mit.edu/Papers/Schyns-Oliva99.pdf)を読むと分かるのですが、「高周波画像と低周波画像を合成している」ということです。


簡単に説明しておきますと、

高周波というのは「よーく見ないと見えないもの」で、逆に低周波というのは「ボケーっと見てると見えてるもの」です。

なので、「高周波画像と低周波画像を合成している」画像を近くで見たり、目を見開いて見ると、高周波画像が見えてくるわけです。逆に、遠くから見たり、目を細めたりすると、低周波画像が見えてくるわけです。ここで、女性を高周波画像として、男性を低周波画像としておけば、目を見開いて見れば「女性の画像」、目を細めれば「男性の画像」ということになるわけなんです*2


さて、この高周波/低周波というものは、みなさんがよくご存知のJPEGという圧縮技術や、マニアックなところでは電子透かし(wikipedia:電子透かし)という技術でも使われているタネなので、画像処理においてはちょっとした人気者です。


その人気者は、SSIMでも登場します。前回、前々回やっつけておいた「ガウシアン・フィルター」や「ディスタンス」が、それです。


「ガウシアン・フィルター」も、「ディスタンス」による「ダウンサンプリング」も、両方とも、画像をボケーっとさせる操作です。先ほどの話と関連させると、高周波を切り捨てて、低周波だけを見るようにする操作です。


先ほど確認したように、

高周波というのは「よーく見ないと見えないもの」で、逆に低周波というのは「ボケーっと見てると見えてるもの」です。


SSIMというのは、そもそも、「人間が目で見て、似てると感じる度合いを数値化したもの」です。このとき、「人間が目で見て」というのは、

目をおっぴろげて、重箱の隅を精査するように観察して、ちょっとでも違いがあれば、ダメじゃないかー

というような意味ではなく、

ジャージ姿でコーヒーでも飲みながら、気楽に二つを見比べてみると、なんか似てるって感じぃ〜

くらいの意味に近いわけです。


なので、SSIMを計算するときには、「ガウシアン・フィルター」や、「ディスタンス」による「ダウンサンプリング」により、画像をボケーっとさせてから、計算するんです。SSIMってのは、そーいうものなので、ちゃんと覚悟をして、電子化の仕様書に入れてくださいね。


ちなみに、PSNRというのは、

目をおっぴろげて、重箱の隅を精査するように観察して、ちょっとでも違いがあれば、ダメじゃないかー

というような計算方法を取りますので、人間の感覚とは異なる結果を生み出す可能性があるんですよ。

*1:日本語なら、http://sasapong.s41.xrea.com/diary/archives/001983.phpあたりを参考にしてください

*2:つまり、お題画像の右側のことですね