モリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。

TAG LIST
ゲームAIディープラーニングモリカトロンAIラボインタビュー遺伝的アルゴリズムGDC 2019さかき漣小説薄明のバルドは知っているCG映画三宅陽一郎CGへの扉VFXデバッグスクウェア・エニックス機械学習CMSIGGRAPHAmadeus CodeQA不完全情報ゲームメタAI齊藤陽介サルでもわかる人工知能ガイスターボードゲームゲームブロックチェーンOpenAI Five強化学習映像ピクサーAdobeニューラルネットワーク作曲ビッグデータイベントレポートアストロノーカナラティブモリカトロンパラメータ設計バランス調整対話型エージェント人狼知能マルチエージェントエージェントシミュレーションVR音声認識ロボティクスキャラクターAIナビゲーションAIeSportsDota 2OpenAIソーシャルゲーム眞鍋和子淡路滋グリムノーツゴティエ・ボエダGautier BoedaシーマンJuliusTPRGバーチャル・ヒューマン・エージェントクーガー石井敦茂谷保伯森川幸人成沢理恵お知らせマジック・リープMagic Leap Oneノンファンジブルトークン水野勇太里井大輝GEMS COMPANY初音ミク転移学習GAN敵対的生成ネットワークデバッギングアニメーションリップシンキングUbisoftUbisoft La Forgeワークショップ知識表現IGDA北尾まどか将棋どうぶつしょうぎ畳み込みニューラルネットワークナップサック問題ジェイ・コウガミ音楽ストリーミングSpotifyReplica Studioamuse音楽マシンラーニング

CGへの扉 Vol.2:なめらかなキャラクタアニメーションと、ディープラーニングの役目

2019.5.15アート

CGへの扉 Vol.2:なめらかなキャラクタアニメーションと、ディープラーニングの役目

人間の動きとは? 動物の動きとは?

みなさんはいくつ関節があるでしょうか? ふだん関節を意識しながら動いたり、歩いたりすることはないですよね。関節の存在を実感するのは怪我をした時や風邪で節々が痛い時くらいのものです。

さて、両手を見ただけで、いくつの関節があるでしょうか? 人間の関節は全身で約260個あると言われています。数え方には諸説あり、関節の分類方法によっては260個より少ない場合も多い場合もあります。一個一個独立して動くことはまれで、周囲の関節と連動したり、ある動きによって複数の関節が動作することで人間の体の動きを担っています。

さまざまな複雑な生き物がいますが、関節にかんしては人間が極端に複雑な生き物だという実感があるかもしれません。ちなみにネコは人間よりも骨の個数は多いのに関節の数は人間の半分程度、4本足で滑らかに走る馬の関節は、足が曲がる方向など構造そのものが異なっています。

関節には1軸(1方向)で動作する指や膝のような部分、2軸(2方向)に動作する親指のような部分、3軸(3方向)に動作する股関節や肩の関節部分、首や手首のように可動領域に制限はあれど、全方向に動く部分もあります。このことを考えただけでも、人の動きにはどれだけ多くのパターンがあるのか想像もつきません。

江戸時代初期の人形浄瑠璃の時代、パペット(人形)を使ったストップモーションアニメーションから、手描きアニメーションの時代、3DCGを駆使したデジタルキャラクタまで、人の動きを模倣しようとしてきた歴史をたどるとだいぶ昔にまでさかのぼります。

それらの動きに共通しているのは、人間の動きには若干の「揺れ」や「ブレ」があり、本人や周りが「静止している」と考えていても、実際はわずかに揺れていたり動いていたりすること、こう動いているだろうと勝手に想像する動き以上に、実際は複雑な動きをしていることです。

1800年代後半、カメラ技術の進歩により、さまざまな動きをコマ撮り撮影することが可能になりました。エドワード・マイブリッジの『動物の運動』では 12台のカメラを並べて馬の走りを撮影し、そこで初めて判明したこともありました。馬が走る時に、どの足も地面に着いていない瞬間があること、従来考えられていたのとは異なる、とても複雑で連携した動きで走っていることなどが明確に分かり始めたのです。

Sallie Gardner at a Gallop エドワード・マイブリッジの『動物の運動』

手描きアニメーション制作の黎明期、ディズニーアニメーションではロトスコーピング(Rotoscoping:CG/VFX業界的には「ロト」と省略されることもあり)という手法で実写のコマ撮り映像を一コマ一コマ手描きで写し取って正確なアニメーションを描くとともに、その動きを理解していきました。

人は危険を察知する能力があるためか、動きを先読みしたり、違和感のある動きを感じ取ることができます。CG/VFXの世界で人や人型キャラクタに動きを与える方法として、「手付け」や「キーフレームアニメーション」と呼ばれる、動きに習熟した専門家がパラメーターを調整し補間や動作を分割しながら一コマ一コマ動きを設定していく方法、モーションキャプチャと呼ばれる、実際に人の動きをセンサーや専用のデータ取得専用のスーツを着て細かにデータ化する方法、そして、最近広まりつつあるのが既存の映像やデータをもとに、機械学習のアプローチでスムーズな動きを生み出す技術があります。さて、AIの時代、人や動物などの動きをデジタルで表現するには、どのようなアプローチが取られているのでしょうか。

人や人型キャラクターの動きにディープラーニングを活用する

昨年カナダのバンクーバーで開催されたコンピュータグラフィックスの学会 SIGGRAPH 2018 ではディープラーニングを活用したアニメーション論文が数々発表されました。SIGGRAPH全体の傾向としても近年、大量のコンピューティングパワーが安価に手に入るようになったこともあり、単一のアルゴリズムによって解決しようとするアプローチよりも人工知能、機械学習、ディープラーニングなどの技術を応用する流れが起きています。いくつか紹介しましょう。

DeepMimic

【論文】https://xbpeng.github.io/projects/DeepMimic/index.html
【サンプルコード】https://github.com/xbpeng/DeepMimic

人間の動作を学習するディープミミック (DeepMimic) と名付けられたソリューション。従来からさまざまなアルゴリズムで滑らかな動きを表現する研究は多数ありましたが、それらの研究の多くはある特定の動きに特化したものでした。

例えば歩いたり走るのは滑らかですが、同じアルゴリズムを格闘シーンには使えない、逆に格闘シーンに向いたアルゴリズムは、その他の用途ではあまり性能を発揮できないといった複雑な課題がありました。これらの課題を解決しようと、複数の動きに対応したアルゴリズムでは、結局のところ個々の動きの品質が個別に最適化したアルゴリズムにはかなわないという課題もありました。

DeepMimicは、それら複数の種類の動きが組み合わさった動きに対処するとともに、今までになかったような動きも生成できる手法です。実際の人の動きをデータ化するモーションキャプチャのデータを正答とし、DeepMimicで作られた動きが実際の人の動きに近くなるように機械学習を繰り返すことで作られたものです。内部的には一連の動作を分割して学習をすすめ、それらをつなぎ合わせることで滑らかな動きを実現しています。

モーションキャプチャのデータとしては歩く、走る、ボールを投げる、跳ぶ、バック転、側転、キックなどの基本動作を25種類以上、数百万回の試行を繰り返したとのこと。このDeepMimicの手法を応用すると人間だけではなく、恐竜や、人間とは骨格が異なるロボット、高速で走る四つ足の生き物、羽のあるドラゴンといったさまざまな形態の滑らかな動きを生成することができるそうです。

AI4Animation(Mode-Adaptive Neural Networks for Quadruped Motion Control)

【論文】 https://github.com/sebastianstarke/AI4Animation//blob/master/Media/SIGGRAPH_2018/Paper.pdf
【サンプルコード・デモアプリ】https://github.com/sebastianstarke/AI4Animation

二足歩行の人間とは異なる複雑な四足歩行の動き、歩いたり走ったりといった複数のタイプの歩行を表現できるものです。ニューラルネットワークを用いて、リアルタイム(実時間)で四足歩行の動きを計算して表現できます。MANN(Mode-Adaptive Neural Networks) という手法が使われています。

Unity上で動作するデモで用いられている犬のモデルは27の骨格を持ったもの。ユーザーがなんらかの操作をすると、前の画像フレームにおける姿勢と、移動中の速度をもとにあらかじめ分類されたモーションデータから次の動作を推定します。従来手法に比べ、リアルタイム性が高くゲームや動物型ロボットの動作、インタラクティブアートなどに応用が広がります。Windows、Mac、Linuxで動作するデモアプリで、その自然で滑らかな動きを試してみてください。

学習すべきデータと学習すべきデータがない世界のこれから

カリフォルニア大学の中田氏らによる研究「Deep Learning of Biomimetic Sensorimotor Control for Biomechanical Human Animation」では、目が何を見ているかに合わせてバーチャルヒューマンの動きを最適化する研究を進めています。

Deep Learning of Biomimetic Sensorimotor Control for Biomechanical Human Animation

【論文】http://web.cs.ucla.edu/~nakada/pdfs/siggraph18_nakada.pdf

この研究の興味深いところは Deep Learning を最大限活用し、従来型のアニメーション研究とは異なる切り口で研究を進めていることです。実際にはそう単純にはいかず、論文によると必要に足る独自データを集めるのが大変だった様子が伺えます。この研究は視線情報と人体のアニメーションの組み合わせに着目したもので、従来型のアニメーション研究のスタイルだとここまで考えが及ばないような領域に進出しています。また、従来であればこのような研究テーマをふと思いついたとしても、実装や実現が難しかった領域です。今後、課題解決型だけでなく「学習させるべきデータは何か?」といった面からの研究が進むことも期待されます。

その他、Deep Learningだと学ばせるべき正答、またそれらの正答のパターンが大量にかつ多数存在することが前提です。CG/VFXの世界では、人間や実在する動物の他にも、さまざまなキャラクターが描かれます。ありえない骨格をもったモンスターや、通常の人体からは考えつかないような動きをするキャラクター(例えばゾンビ)を想像してみてください。そのうえ奇妙な動きをする異星人や、身の毛もよだつような動きをする巨大生物など、学習すべき元のデータがないキャラクターたちの動きを次々と編み出していく必要があります。

今後は CG/VFX映像制作のパイプライン(作業の流れ)の中に、データ収集やディープラーニングの作業が組み込まれるとともに、正答がない制作物に関しても何らかの組み合わせや過去の知見から答えを見出していかなければなりません。またCG/VFX映像制作で求められる「演出」の部分をどう従来型のディープラーニングと組み合わせていくのかも大きな課題です。

例えば適切な動きの「正答」を出せればエンターテインメント映像としてOKかというと、かならずしもそうではありません。適度にオーバーな動きや、常人には無理な動きがヒーロー、ヒロインには求められているからです。これからは正答を学んだディープラーニング系のツールに、アーティスティックな要素、演出を適切に加えることができるハイブリッドな CG/VFXツール、ワークフローが業界全体から求められているのではないでしょうか。

本連載の今後の予定:まだ始まったばかりの連載ですが、単なるAIの話題とは少しことなり、CG/VFX、アートの文脈から話題を切り取り、映像制作の現場におけるAI活用や、AIで価値が高まった先進ツール、これからの可能性を感じさせるような話題、テクノロジーを紹介していく予定です。なにか取り上げて欲しいテーマやご希望などがございましたら、ぜひ編集部までお知らせください。

Contributor:安藤幸央

CGへの扉 Vol.2:なめらかなキャラクタアニメーションと、ディープラーニングの役目

この記事が気に入ったら
いいね!しよう

の最新情報をお届けします

RELATED ARTICLE関連記事

連載小説「薄明のバルドは知っている」第二回 “Anodyne” #さかき漣

2019.6.12アート

連載小説「薄明のバルドは知っている」第二回 “Anodyne” #さかき漣

CGへの扉 Vol.3:CGとAIの蜜月が今まで不可能だった映像を生みだす

2019.6.14アート

CGへの扉 Vol.3:CGとAIの蜜月が今まで不可能だった映像を生みだす

連載小説「薄明のバルドは知っている」第三回 “Clover Over Dover” #さかき漣

2019.6.28アート

連載小説「薄明のバルドは知っている」第三回 “Clover Over Dover...

RANKING注目の記事はこちら