Houdini Procedural Artist セミナー Anastasia 様 ご講演の報告【第2部】


 今回は去る8月26日にワテラスコモンホールにて開催された、EA SEED部門所属のプロシージャル アーティスト Anastasia Opara 様及びアルゴリズミック・デザイナー の堀川 淳一郎 様をお招きして開催されたセミナーの内容について紹介します。

 この記事はAnastasia Opara 様の「多分野にまたがるプロシージャリズム:ディープラーニングとのコラボレーションの探求」講演の第2部:「Houdiniを使用したディープラーニング」についての記事になります。こちらのパートでは、Houdiniのプロシージャルネットワークの手法を、どのようにニューラルネットワークを使用したディープラーニングの機械学習法に変換するかという説明と、AIを用いた潜在空間について紹介されました。

 第2部ではまず、第1部の要点について、人間の視覚による認識は最適化されており、それには予測と圧縮が含まれていること、アートとはこの最適化について探求することであるということから、この最適化において発生したパターン、カテゴリーにおける論理を導き出してそれをルールとして実装する概念こそがプロシージャリズムであると説明されました。

 第2部ではこの前提を元に、プロシージャルのワークフローから説明をされました。例えばリンゴを新たに作る場合、まずリンゴの見た目として可能性のあるものを調査し、その核をジュースのように蒸留、圧縮します。そしてそこからそれを数値化し、リンゴの分布に近似するようなアルゴリズムを作成します。こうすることで、いつ、どこでも、何度でも、思い思いのリンゴを作成することができるようになります。この考え方で実装されているのが都市や住宅、地形などの自動生成アルゴリズムです。

 しかしこれは皮肉なことに、同じことを何度も何度もやらなくていいようにするために、ワークフローの自動化をしたのに、自動化によって私たちはそれに必要なルール作りを何度も何度も行う必要があり、結果的に同じようなことを何度もやる必要が出てしまいました。これに関しては現状CG業界で使われている即時性のある対策はなく、解決するためには研究部門に足を踏み入れる必要があると忠告されました。

 

 その答えのひとつがニューラルネットワークです。ニューラルネットワークはいくつもの学習データを圧縮、抽象化(エンコード)することで「潜在空間」と呼ばれるものを作ります。そして次はここからオリジナルの入力を再現したいのですが、最初のうちはそれを実現することはできず、このネットワークに数千、数万もの学習データを与え、学習させることで潜在空間からの再構築の術を学ぶようになります。魅力的なのは潜在空間を操作することで、全く新しいサンプルも作ることができるということです。これは皆様が普段Houdiniでやっていることと同じであり、皆さんは手動でこの潜在空間をパラメータという形で作り、プロシージャルシステムをデコーダーとして機能させています。

 Anastasia様は、ここからニューラルネットワークにおいても恣意的な潜在空間だけではなく。Houdini内の潜在空間、即ちパラメータの学習も行えるのではないか、という点に着目し、テーブルの写真からニューラルネットワークを利用して画像をHoudiniの潜在空間として圧縮することを試みました。

 これは生成された学習データの一例です。ニューラルネットワークに「背景に気を取られずに机を認識すること」を学習させたかったので、テーブルが背景と平行になっていない不自然な写真も多く含まれています。これを用いて学習を行った結果、次のようになりました。

 


  

 左が元の画像、真ん中がニューラルネットワークによる推測結果、右の青いフレームが人間による推測結果です。このように、完璧ではありませんが、そこそこの結果が出ていることがわかります。同様にテーブルの一部が隠れている場合でも悪くない結果が得られていることがわかります。

 

 しかし、常にこの精度の結果が得られているわけではなく、場合によってはナンセンスな結果を吐き出してしまうこともあるようです。

 Anastasia様はこの方法における最も優れた点の一つとして、より良いアプローチの追及がしやすいということを挙げられました。

 このグラフは左が学習データ5万点の時、右が学習データ50万点の時における、足の長さ(Leg Length)、外形の丸み(Roundness)、縦横比(Ratio)がどれくらい離れているかのエラー値を示しています。縦軸がサンプル数、横軸がエラー値になります。このように、サンプル数によってエラー分布に差が出ることが一目で理解できるかと思います。

 

 もうひとつAnastasia様が挑戦したかったのがニューラルネットワークによるシンプルな住宅モデルの生成です。結果としてニューラルネットワークは黄色で示している窓や、ドアを示す青、構造材を示す緑、階段を示すピンクなどを適切に配置することができました。

 ニューラルネット自体にはレイキャストや交差チェックの機能がないのにも関わらず、階段がどれとも交差していないことに注目してください。つまりこれらのルールは圧縮することができ、それに加えてたくさんのチェックをしなければならない既存のHoudiniのネットワークよりも数百倍処理速度が早くなります。参考までに、これまで100個の湖畔の住宅を作るのに数時間かかっていたところが、この方式だと数ミリ秒で作ることができるようになりました。

 こちらが住宅生成のネットワークになります。右側が学習データの生成用です。真ん中ではテストデータを作成していて、緑色がニューラルネットワークの出力を可視化し、予測の正確性を確認しているところになります。Anastasia様は、トレーニングデータ作成および予測を可視化する用途においてHoudiniが十分なプラットフォームであると感じておられるそうです。

 最後にAnastasia様はこれらの目標は何か、という疑問を投げかけられました。アイディアからそれが何になるかを夢を見て、楽しむ。それが「創造」のパートです。でもそれだけでは駄目で、次の段階として、創造したものを実装しなければいけなく、それが「制作」のパートです。そしてこの制作のパートをAnastasia様は山のように捉えているそうです。

 山を登るにはスキルが必要で、そのスキルは誰しもが持っているものではないうえにトロールも潜んでいる、と。プロシージャリズムはスキルが求められる制作であり、創造に対する制作の時間というのは膨大です。制作の時間を最小限にし、創造のパートを最大限にすることはできるでしょうか。もしかしたら山を強引にブルドーザーで進む方法もあるかもしれませんが、そのブルドーザーを作るにも膨大なコストが必要です。また、場合によってはまっすぐ山に挑むのではなく、全部、あるいは一部において回り道をした方が結果的によくなる可能性も十分にあります。

 結局のところ、この山をどれだけスマートに歩く経路を見つけられるかが鍵であり、過程の一部を自動化する能力こそがプロシージャル、プロシージャリズムとも言えます。この自動化やプロシージャリズムによって制作のコストを極小化することができれば創造に充てられる時間がその分増えることになります。プロシージャルを究極的に突き詰めれば、最終的には、CGに携わるすべての人がアートディレクターになることができ、制作のパートはすべてコンピュータに任せることができるようになる。ということを最後に説明され、今回のご講演は終了しました。

 ご講演は、受講者からもたくさんの質問が寄せられ、大盛況となりました。

 

 また、今回の発表とは内容が異なるものですが、Anastasia様がSiggraph’17にて発表されました、”Believability in Procedural Modelling”のシーンファイルがこちらのページにて販売されております。

 よろしければぜひご確認ください。