コンピュータに絵心を持たせるには?

ここ10年間のコンピュータのMIPS値の増加をうまく食いつぶしてくれた分野のひとつにコンピュータ・グラフィックスがある。10年前にはCGで画像を一枚作るのにも時間のオーダがかかったものであるが、最近のワークステーションでは同じ画像が実時間でCRT上で動いてしまう。

おかげでこの世界も日進月歩で技術革新が進み、写実的な表現に関しては極められたという感じがしないでもない。もっともこの先、仮想現実感とかサイエンティフィック・ヴィジュアリゼーションといったMIPS値を食う分野が控えているから、まだまだこの分野は面白い。

工学的な見地でいえば、CGはできあがりが写真に近ければ近いほどよいという認識がある。そういう方向で光線追跡とかラジオ・シティという方法が編み出されたのであるが、価値観はひとつである必要はない。今回は写真を入力して油絵やクレヨン画の感じを持った絵のような画像を作るアルゴリズムの話をしてみたい。

絵を描くというプロセスは、カンバスを定義して、その上に筆で絵の具を塗り重ねていくことに要約される。つまり、画家の絵の具の選択と運筆をデータとして与えて、筆によるカンバスの塗り込みをコンピュータ上でシュミレートすることになる。

ゴッホのタッチを完全に再現せよという要求は無理かもしれないが、そこそこの精度でのペイント・シュミレーションなら可能である。これは”お絵描きソフト”の仕事であり、かなりできのよいものがすでに市販されているから、ここに技術的な問題はあまりないと思う。

考えなければならないのは、ペイント・ツールに運筆と色のデータをどうやって与えるかである。関係する文献を調べてみると、確率的サンプリングによる方法というのがある。乱数によって座標を発生し、それで写真上の点をサンプリングして、色と座標をきめ、”ある”筆のタッチでカンバスを塗り込む方法である。

試みにこの方法で描かせてみると、結構それらしい絵ができるが、筆の方向やストローク長が一定ではいかにもコンピュータが作ったというのが見え見えになってしまう。ここに何が欠けているのかといえば、当然ながら筆のタッチに変化がないことである。

筆の方向を決めるパラメータとして、写真の濃度の傾斜ベクトルを使うとよいと書いてあるので、そのようにプログラムを変更してみたが、どうも文献に出ているほどうまく描くことができない。すなわち、方向は決まるがストロークを一定長にしているため、輪郭が雑で汚らしくなってしまうのである。輪郭部は傾斜がきついからその傾斜度でストローク長を制御してみたがやっぱりだめだった。

あらためて文献を調べると、なんとストローク長はマウスで対話的に教えるとのこと、これでは絵心のない私にはコンピュータをもってしても絵を描くことができないことになる。

私がほしいのは対話的操作のない、絵を描くアルゴリズムである。そこで、絵心をコンピュータに求めるのが可能かどうかは別にして、絵を描く技術はプログラム化できると判断し、自分なりに考えた運筆情報の決定アルゴリズムを考えてみた。

(1)筆の方向は写真の同系色の連続する方向とし、ストローク長は連続する範囲を越え ない。 (2)ストロークの変化範囲は4×10倍程度の範囲に制限する。 (3)ストロークの長さで運筆情報をソートする。 (4)筆のタッチは実際に描いたタッチの例をスキャナでサンプリングして用いる。

具体的にそれらをどうやって実現するかはまた別の機会にするが、昔、旅行に行ったときの写真をネタし¥にペイントさせたら、予想外によい結果になって素人をだますことができるぐらいの絵が描けるようになってしまった。

ひと昔前ならば、せっかく画像を作っても出力できないのでインパクトが今ひとつだったが、今は大判のカラー・ハード・コピー装置があるから、本当にA3判の絵ができてしまうので迫力がある。

写真だと印象のうすい風景も油絵のタッチになると情報量が減っているにもかかわらず妙に説得力が出る。フレームに入れたらもっと迫力がでた。

作画のパラメータがいくつかあるので、それを選択すれば風景用、人物用といったメニューも可能だし、微妙にタッチの異なる絵を作ってみて適当なものを選ぶことがでくるのもありがたい。いったんパラメータを固定すれば、いっさい対話操作なしで絵画化されるというところがミソである。

世の中の本流に背を向けた非生産的な試みではあるけれど、まずは成功というところである。

興味のある方は下記の文献を手がかりに自分流の絵心をプログラムする方法を考えてみるとよいでしょう。あまり、うまく描けなかったって?それはプログラムしたあなたの絵心が足りないと思ってあきらめてください。

*参考文献*

Paul Haeberli;Painting by Numbers:Abstract Image Representation, ACM SIGGRAPH '90 Proceedings.1990,Dalas,TX

(c)Tsuyosi Yamamoto

Return to the index