顕著性マップモデルを用いたイラストの分析
2012年 06月 20日
絵の中の目立ちやすい場所を自動で計算する方法があるよ!という話。
絵の中の注目して欲しい箇所を正しく目立つようにすることは絵を描く際にとても重要です。
人物など重要な要素が背景の中に埋もれ見えにくくなってしまってはいけません。
描き手は色や明るさや構図などの調整によって、そうならないようあれこれ工夫しています。
そういった工夫が実際にどの程度うまく行っているのかどうか、客観的に計測する方法はあるのでしょうか?
顕著性マップモデル(Saliency map model)という計算手法を使うことで、画像中の場所ごとの目立ちやすさを
機械的に計算(推定)することが可能になります。
下に並んでいるのは、その手法を私が昔描いた絵のいくつかに適用してみたもの。
顕著性マップモデルとは、画像中の輝度や色相や方位などの視覚的特徴を元にして
画像中の目立ちやすい(注意の向きやすい)場所を推定する計算論モデルのことです。
図中で赤っぽくなっている場所ほど顕著性(目立ちやすさ)が高い場所になります。
Input image
Standard saliency map (Itti+ 1998)
Graph-Based Visual Saliency (Harel+ 2006)
Input image
Standard saliency map (Itti+ 1998)
Graph-Based Visual Saliency (Harel+ 2006)
Input image
Standard saliency map (Itti+ 1998)
Graph-Based Visual Saliency (Harel+ 2006)
Input image
Standard saliency map (Itti+ 1998)
Graph-Based Visual Saliency (Harel+ 2006)
Input image
Standard saliency map (Itti+ 1998)
Graph-Based Visual Saliency (Harel+ 2006)
Input image
Standard saliency map (Itti+ 1998)
Graph-Based Visual Saliency (Harel+ 2006)
ざっと見た感じ、割とそれっぽい計算結果が出力されています。人物単体の絵や風景のみの絵ではいまいちですが、風景と人物を両方含んだ絵の場合には、ちゃんと人物などキーとなる場所が赤くなってます。
また、どちらかというとIttiらの手法よりHarelらの手法の方がより直観に合った計算結果になっているように思えます。
このような自動的な計算方法を使うことで、主題がきちんと目立っているか、主題ではないものが変に目立って視線誘導の妨害になっていないか、客観的にチェックすることが可能です。
今回の計算ではJonathan Harel氏によるMATLABコードを利用しました。
http://www.vision.caltech.edu/~harel/share/gbvs.php
2015/02/16 追記:
この方法はとても便利だと思うんですが、この解析方法を気軽に実行する方法が今のところ無いというのが最大の難点です。
C++やMATLABやPythonといったプログラミング言語が使えないと試せないので、大半の絵描きにはハードルが高いです。
誰か専用アプリかお絵描きソフト用のプラグインなど作ってくれるといいんですが…。
あと、実際に視線を計測してみた例もあるのでついでに見てみて下さい
漫画を読む時の視線を計測してみた
http://yukit.net/archives/3057