カラー画像とSSIM

本日のお題画像:

 


左:http://ja.wikipedia.org/wiki/HSV%E8%89%B2%E7%A9%BA%E9%96%93
右:http://www.sikiken.co.jp/colors/colors11.html


まだまだ、SSIM関連で行きましょう。


語弊を覚悟でシンプルに言ってしまいましょう。

SSIMというのは、PSNRと同様、グレースケール画像に関する指標です。


しかし、当然ながら、カラー画像の比較もやってみたいわけです。


そこで、前回お話したように、「カラー画像を、グレースケールに変換する*1」というような作業を行ってから、SSIMないしPSNRの計測を行うのです。


本日は、このカラー画像について考えます。


前回の復習から始めましょう。

カラー画像をどうやってグレースケール画像に変換するのか、という点で、ひと悶着あります。シンプルに言ってしまえば、

赤と緑と青の内輪もめで、みんなを平等に扱うのか、それとも優劣をつけるのか、という「まことに人間臭い骨肉の争い」

です。


前回は、話をシンプルにするために、

カラー画像は赤と緑と青に分解できんだぞ

ということを暗黙の了解としました。しかし、今日は、この部分を少し突っ込んで考えてみましょう。


色空間と言う言葉を聞いたことがあるでしょうか。


色空間というものが何かはどうでもいいのですが、少なくとも、

カラー画像は、赤(R)と緑(G)と青(B)に分解できるんだけど、それだけじゃない。


他にも、YUV、HSV、Labなどなど、いろんな分解の方法がある。

とだけ覚えておいてください。(ちなみに、冒頭のお題画像は、左側がHSVを図にしてみたもので、右側がLabを図にしてみたものです。これだけ見ても、なんのこっちゃ、という感じですが。)


前回は、カラー画像をRGBに分解して、それぞれに発言力を設定して、グレースケールに変換したわけですが、同様に、「YUVに分解して・・・」「HSVに分解して・・・」「Labに分解して・・・」なども可能なわけです。


すると、当然、カラー画像から変換されたグレースケール画像というのは、ものすごいバリエーションが考えられるわけです。そうすると、どのルートをたどった変換が、SSIMを計算するときに一番適しているのでしょうか、と疑問が出てきます。


そんなことを研究しているKrzysztof Okarmaさんの論文をご紹介しましょう。


http://www.springerlink.com/content/x416178822t70x52/

おそらく、有料なので、誰でも読むことができるわけではないかもしれませんが、もしお時間とお金の余裕があれば、読んでみてください。


いきなり結論に飛びますが、8ページ目に、

The best results have been obtained for the value (brightness) in the HSV (HSB)
colour model, which seems to be the most universal channel for the quality
assessment of colour images using the SSIM approach.

とあり、要は「SSIMを計測するには、HSVに分解して、Vを使うのが一番良い」ということです。


ここでは、Okarmaさんの結論が妥当であるのかどうか、が重要なのではありません。まずは、

普段、私たちがカラー画像について一番慣れ親しんでいるのは、RGBに分解することです。しかし、カラー画像は、RGBに分解できるだけでなく、他の分解方法もあり、ある研究によれば、RGBではない方法でSSIMを計算するのが一番良いという結論が出ているらしい

くらいで考えてください。


つまり、細かい話はさておき、カラー画像のSSIMについては、たくさんのバリエーションが出回っている可能性があるので、少なくとも、どのようにグレースケール変換らしきことをしたのか、というところをチェックしてくださいね、ということです。


または、あなたがカラー画像作成を依頼するときに、SSIMを指定するとすれば、必ず、グレースケール変換の方法まで指定してくださいね、ということです。


(補足)私は個人的に、RGBの単純平均で十分なのではないでしょうか、と考える派の一味だ、と宣言しておきます。

*1:または、カラー画像の各チャネルごとにSSIMないしPSNRを測定し、それを「平均」する。