概要
SIGGRAPH Asia 2022でNvidiaが興味深い動画と論文を公開しました。
論文の名前は「PADL: Language-Directed Physics-Based Character Control」
自然言語でキャラクターにに自由自在なモーションを行わせる、という内容の論文です。
例えば「"jump and swing sword down"」(ジャンプして剣を振り下ろせ)と命令すると以下のようにキャラクターがジャンプしながら剣を振り下ろすモーションを行ったり、
「"shield charge forward"」(盾で前方向に叩け)と命令すると前方向のシールドバッシュを行ったりします。
画像だけではわかりにくいので、動画を見てみましょう。
以下の動画はNvidiaの研究グループが公開した本論文の解説動画です。
「Turn right 180 degrees」と命令すると右回りで180度回転したり(32秒目付近)、「Shield bash right」と命令することで右側からのシールドバッシュ(37秒目付近)を行ったりしています。
すごい滑らかに行っていますね。
これはユーザーの命令をAIが解釈して、その命令に沿った行動をキャラクターが行っています。
また、目標を伴ったもう少し高度な命令も可能です。
例えば「task:face the blue block skill:right slash」みたいに命令すると、青いブロックのほうを向いて剣を右側から振ったり、「task:knock over the red block skill:shield charge forward」と命令すると赤いブロックを倒すために前方向のシールドチャージを行ったりします。
これらの命令は大規模言語モデルを事前訓練として学習させているため、130程度のモーションとそのモーションを説明するキャプションだけで、その学習元にない語彙でも命令することが可能です。
本記事では、この論文がどうやって自然言語によるモーションの操作を行っているのかについての仕組みについて解説、しようと思ったけどアプリ作るとか動画作るとかで書く時間がなくなり、放置してしまった。
概要の紹介はできているので、供養として公開します。
暇ができたら詳しい仕組みについて解説を追記します。