お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2011/09/10 22:15

イベント

[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み

スクウェア・エニックス テクノロジー推進部リードリサーチャー 向井智彦氏
画像集#001のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
 今回のCEDEC 2011で,ちょっと目立ったテーマとして挙げられるのが「プロシージャルアニメーション」だ。これは,アニメーションのモーションを自動生成してやろうという試みを意味する単語なのだが,3日間で独立にいくつかのセッションが行われていた。業界的にはちょっと熱い分野なのかもしれない。今回は,そんな中から,初日に行われたスクウェア・エニックスの向井智彦氏による「データに学ぶプロシージャルアニメーション 〜データ駆動型技術の実用化に向けた試み〜」について紹介してみたい。

画像集#002のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
 プロシージャルという言葉は,最近ではゲーム業界でもよく耳にするようになってきているのだが,その多くはプロシージャルテクスチャなどでの適用であり,すでにかなり確立された技術を導入している。それに対し,今回目立ったのはアニメーションでの応用に関するセッションだ。
 さらにこの講演の演題には「プロシージャルアニメーション」以外に「データ駆動」というキーワードが含まれていることに注目したい(それ以外にも「機械学習」の意で「学ぶ」という単語が使われているらしいのだが,それはちょっとこじつけっぽい)。

 近年では,ゲームに登場するキャラクターモデリングは高精細化しており,動きにもいっそうのリアルさが求められるようになっている。かなり前からリアルなキャラクターにモーションキャプチャや物理演算でのラグドールの動きを重ねるというのが一般的になっているのだが,モーションキャプチャの動きは,決められた動きを取り込んだだけなので自由度がない。こういった問題を解決するには,あらゆるモーションをキャプチャしておく必要があるのだが,それは,およそ現実的ではないという。
 では,どうするか? 従来は「職人技」でなんとかされていた分野だが,もっと科学的なアプローチはできないのだろうか? じゃあ,アニメーションを自動生成してやろうじゃないかというのがプロシージャルアニメーションのアプローチであり,今回紹介された手法は,その中でも,多くの動きを入力しておき,それをもとに,そこにないような動きにでも対応してアニメーションを生成できるようなシステムを作ろうというものである。

 講演の冒頭では,今回の手法を用いたにボクサーのデモが紹介された。これは,空間上の任意の点に対してパンチを出すというアニメーションを自動生成するものとなっている。どんな点を指定しても,不自然さを感じさせずに,そこをパンチするアニメーションが生成されていた。


 これは,あらかじめいくつかの点を叩くようなアニメーションをモーションキャプチャしておき,それらから合成された動きとなっているという。
 向井氏によると,人間の動きというのは,まだまだ解明されていない部分が多く,数式やパラメータだけで自然な動きを作り出すのが難しいとのこと。そこで,実際の人間の動きを多数入力しておいて,特徴的な動き成分を取り出して合成してやろうというのが,今回の講演の趣旨となっている。

 次に向井氏は,プロシージャル技術へのアプローチを手続き型とデータ駆動型に分類した(英語にするとややこしそうだが)。どちらも目指すところは同じで,ともにデータも手続きも使用するのだが出発点が違うものだという。
 手続き型プロシージャルの例でいうと,パーリンノイズをもとに,いろんなテクスチャを自動生成するようなものが相当する。それに対し,写真をもとに連続したテクスチャを自動生成するWan's Tileのようなアルゴリズムはデータ駆動型だ。シンセサイザでいうと,サイン波を変調していくFM音源は手続き型であり,サンプリング音源や初音ミクなどはデータ駆動型ということになる。

 さて,大量のデータをどうするのかというあたりで,重要なのが機械学習という概念だ。これは,いろんな動きのデータを入れてみて,その中で特徴的な部分から,制御用に適当なパラメータを自動的に抜き出してもらおうというものである。

画像集#003のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み 画像集#004のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み

 代表的な手法に,主成分分析(PCA)というものがある。データから相関性の高そうな部分を抽出してくれる手法だと思っておけばよいだろう。アニメーションデータに,PCAを適用すると,72DoF(自由度)を持ったキャラクターモデルが走るアニメーションパターンを,8個のパラメータで近似することができたという。人が走るときには,右手が前に出るときには,左手が後ろに行き,右足も後ろに下がる。動きの相関が高い部分が多いと,それだけ特徴をまとめやすくなる。8パラメータに削られた動きと,元の動きを見ると,確かに同じではないのだが,データ量や計算量などを考えると素晴らしい圧縮ができているといえるだろう。これで,膨大なデータが圧縮され,より少ないパラメータで動きを再現することができるようになったということが重要である。

画像集#005のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み 画像集#006のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み

画像集#007のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
 PCAで圧縮されたデータがあれば,任意のアニメーションを簡単なキーパラメータで再現できる。データベースにないモーションは,データをもとにパラメトリックモーション合成で作られる。これであらゆるアニメーションを再生しようというわけだ。
 その際に,具体的にすでにあるアニメーションパターンから,どのような手法で新しいアニメーションパターンを合成するかについては,パラメトリック回帰,リニア補間やスプライン補間などいくつかの手法がある。今回紹介されたデモで使われていたのは,確率論による方法だそうだ。スクウェア・エニックス独自の方式のようである。

画像集#008のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み 画像集#009のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
画像集#010のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み 画像集#011のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
画像集#012のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み

 実際に,PCAによって圧縮されたモーションデータやパラメトリック合成されたデータなどを使ったアニメーションを動作させると,どれくらいの負荷になるのかというのが,下の図のように示された。ムラはあるがオリジナルより軽いというのもメリットになりそうだ。

画像集#013のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み

画像集#014のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
 最後に,このようなモノを使うとどのようなことができるのかというデモがいくつか紹介された。ループしてない動きを自動でループ化させるような例もあったのだが,とりあえず,歩行についての自動調整が重視されているようだ。冒頭のデモでパンチを任意の点に行っていたのと同様に,歩行の際に足の位置を任意の地形に合わせたアニメーションが作成できることがいくつかの例で示された。

画像集#015のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み 画像集#016のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
画像集#017のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み 画像集#018のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
画像集#019のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み 画像集#020のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み

 人手で作るには大変すぎ,モーションキャプチャだとカバーしきれない,そういった多彩な動きを実現させることは,今後のゲームでは当たり前のように要求されてくる。
 今回のCEDECで講演がいくつもされていたのを見ても分かるように,プロシージャルアニメーションへの期待には大きなものがあるといえる。
 業界的に見ると,すでにAutodeskの「HumanIK」やNaturalMotionの「Morpheme」ようなプロシージャルアニメーションのミドルウェアが存在しており,それなりに重宝されているのは事実だろう。しかし「Uncharted」などを作っているNaughty Dogは自前でやっているということだったし,この分野での第一線の研究者がCrytekやBungieに入社しているという事実を見ても,この分野は競争が激しく,まだまだ研究が必要なのだろうと感じさせられる。

画像集#021のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み 画像集#022のサムネイル/[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月24日〜11月25日