読者です 読者をやめる 読者になる 読者になる

論文読み: Deformable Objects Alive! (SIGGRAPH'12)

始めに断っておきますが、この記事には誤った内容や解釈が含まれているかもしれませんので注意して下さい。

SIGGRAPH 2012 の開催から既に3ヶ月以上経ちましたが、中でも自分が興味を持った論文を今一度簡単に復習しておこうと思います。

Stelian Coros, Sebastian Martin, Bernhard Thomaszewski, Christian Schumacher, Robert Sumner, Markus Gross
Deformable Objects Alive!
SIGGRAPH 2012
著者のページ

概要

タイトルの通り、弾性体 (変形可能物体) をまるで生きているかのように動かすという研究です。

弾性体には常に元の形状 (= rest shape) に戻ろうとする内力が働くのですが、この研究では rest shape 自体を能動的に変更することで弾性体を動かします。

望みの動き (跳ねる、歩くなどの動き = locomotion behavior) を得るための適切な rest shape は、コントローラによって自動で計算 (rest shape adaptation) されます。

著者

Disney Research Zurich のグループによる研究です。Disney Research Zurich のボスである Markus Gross は毎年大量の SIGGRAPH 論文を発表しています。

また、ほとんど同じ著者らによる研究で、同じ SIGGRAPH'12 に以下の論文もあります。

Fabian Hahn, Sebastian Martin, Bernhard Thomaszewski, Robert Sumner, Stelian Coros, Markus Gross
Rig-Space Physics
SIGGRAPH 2012
著者のページ

動画

著者のページからダウンロード可能です。

内力による変形

弾性体には常に元の形状 (= rest shape) に戻ろうとする内力 (= internal forces) が働くのですが、この研究では rest shape 自体を能動的に変更することで、内力によって弾性体を動かします。

rest shape を変更することによる内力によって弾性体を動かすというアイデア自体は、以下の先行研究 (ProcDef) で報告されていました。

Takashi Ijiri, Kenshi Takayama, Hideo Yokota, Takeo Igarashi
ProcDef: Local-to-global Deformation for Skeleton-free Character Animation
Computer Graphics Forum (Pacific Graphics 2009)

ProcDef は局所的な変形の積み重ねによって全体の変形が引き起こされるという原理に基づいており、アーティストが局所的な変形 (局所領域における rest shape の変形) をデザインするというものになっています。(そのため、筋繊維やクラゲといったものの挙動を再現するのに向いている手法と言えます。)

それに対し Deformable Objects Alive! では、アーティストが指定するのは locomotion であり、そのための rest shape は最適化計算によって自動で計算される (rest shape adaptation) 点が大きく異なっています。

また、外力によって弾性体を制御するアプローチもあるのですが、このアプローチには運動量や角運動量が不自然に変化してしまうなどの問題点がありました。

rest shape adaptation の方法

目的の locomotion を実現するような rest shape を計算する際に、自由な形状空間 (つまりボリュームメッシュの各頂点が自由に動けるような形状空間) から最適な rest shape を探索するのは非常にコストが高い上に、アーティストが予期しないような形状を経由して locomotion を実現しようとしてしまうなどの問題が発生してしまうそうです。そこで、探索する形状空間を制限する方法として次の二つを提案しています。

cage-based adaptation

モデル全体を粗なボリュームメッシュ (ケージ) で囲って、そのケージを変形させることで得られる形状空間を rest shape adaptation に用いるという、シンプルな方法です。

example-based adaptation

対象の弾性体モデルの「好ましい変形状態」をアーティストがいくつか (一つ以上) デザインしてやり、それを入力として与える (例示) ことで、元の形状と例示形状の補間によって得られる形状空間を用いて rest shape adaptation を行うという手法です。

元の形状と例示形状の補間によって得られる形状空間と変形の表現については、次の論文を参考にしています。

S. Martin, B. Thomaszewski, E. Grinspun, M. Gross
Example-Based Elastic Materials
SIGGRAPH 2011
プロジェクトページ

この論文の著者は Deformable Objects Alive! の著者と被っている人が多いです。この論文では元の形状と例示形状の補間によって得られる形状空間を利用して、弾性体の受動的な変形をコントロールしています。なおこの手法は計算コストが高いため、計算コストを下げるために以下の二つの手法が翌年の SCA (Symposium on Computer Animation) という国際学会で発表されています。

Yuki Koyama, Kenshi Takayama, Nobuyuki Umetani, Takeo Igarashi
Real-Time Example-Based Elastic Deformation
SCA 2012
プロジェクトページ

Christian Schumacher, Bernhard Thomaszewski, Stelian Coros, Sebastian Martin, Robert Sumner, and Markus Gross
Efficient Simulation of Example-Based Materials
SCA 2012
著者のページ

後者は特に今回の論文の著者とも完全に一致しており、補間の手法も非常に似ているもの (論文中では incompatible shape interpolation と書かれている部分) となっています。

example-based adaptation は cage-based adaptation に比べ、変形のデフォルメ (アーティスト制御) がしやすく、最適化の変数の数が少ないというメリットがある反面、入力として例示形状を作成する手間がかかるというデメリットがあるようです。