SIGGRAPH 2007 1日目

今日は、SIGGRAPH 2007 の Mesh Parametrization というコースに参加しました。

SIGGRAPH のコースでは、様々な分野の基礎的な内容を聞くことができます。 このコースでは、3 次元のデータを 2 次元のデータに変換する方法 (Parameterization) に焦点を当てています。 このような変換は、現在の CG の分野でもテクスチャマップ、バンプマップ、ノーマルマップなどとして使われています。

様々な Parameterization

Parameterization は、3 次元から 2 次元の変換なわけなので、この操作によって何らかの情報が失われてしまいます。 先のバンプマッピングは前もって凹凸の情報を 2 次元データにしておくことで、モデルデータの頂点数を激減させながらも、見た目が同じようにレンダリングすることができます。 頂点の情報を切り捨てることで、CG のレンダリング時間を短縮するという利点を得ていると考えられます。

当然ながら、情報の劣化はできるだけ少なくしたいものです。 あまりにも情報が欠落しすぎると、今度は再現性に問題が生じてくるからです。 また、当然ながら、どんな要求にも万能に機能するアルゴリズムは現在発見されておらず、様々な Parameterization の手法があります。 どの Parameterization の手法を用いるかはもちろん、問題とその要求によって変わってきますが、その際、情報の劣化が少ないかどうか、きちんと収束するかどうか、実行時間が短いかどうか、が主な指標となるでしょう。

各々の Parameterization の実装においては、情報の欠落をいかに少なくするかが重要になってきます。 そのような、欠落を最小にするような計算式を出すために、連立一次方程式を解く必要があります。 連立一次方程式を計算する方法は、いくつかありますが、これらも場合によって最適なものを用いる必要があります。 例をあげれば、O(n^3) のコレスキー分解、ガウス-ザイデル法、O(n^2) の共役勾配法などです。 この 3 つは私も知っていたのですが、この講義を通して、multi-grid という線形時間で連立方程式を解く方法が存在することを知りました。 非線形な情報を Parameterize する場合には、ABF++ や、MIPSPGP と呼ばれる手法が存在するそうです。

一般性の高さ

さて、この Parameterization は、CG だけに留まらず、高い応用可能性があると考えられます。 モデルデータの Remeshing などは、3 次元のデータを 2 次元のデータに一旦変換してからの方が実装が楽になったり (基底の変換)、データを球などの比較的単純な形に変形することで、他のデータとの融合や比較を簡単にすることもできます (特徴抽出)。 そして、このような、情報を抽出するということが、Parametrization の本質なのではないかと考えました。 他にも、モデルデータから凹凸データを抽出するバンプマッピングなどにおいては、その凹凸データにハイパス、ローパスなどのフィルタをかけることで、凹凸の急な部分/緩やかな部分のみを表示するといったことができます。 また、動きのデータを抽出して、別のモデルデータと関連付けることで、新たな何かを作り出すことができ、馬の走りを象のモデルにつけた galloping elephant などが例として挙がっていました。 また、球形 Parameterization では、象が一瞬のうちに球形に縮んでしまい、中々衝撃的な映像でしたが、情報は無形であるということを再認識することができました。 最近よく聞く Data Mining などは、web 上の Parameterize されたデータを逆 Parameterize することなのではないか、と妄想を膨らませたりもしました。

感想

基礎的な話とはいえ、もちろん全て英語で、丸一日、かつ冷房が効きすぎていて寒いと、予想以上に疲れました。 がしかし、明日からの論文発表などに備えるという意味でも、このようなコースに参加することは重要であるように思いました。

担当:齋藤 (数値計算≒連立一次方程式を解くこと、だと思う今日この頃)