実在する人間のアニメーションを作るための技術をよく目にします。最近では生成AIを中心としてバーチャルヒューマンを作成するための技術躍進が凄まじく、先日紹介した生成AIサービスHeyGenのアバター機能や、オーディオデータからしゃべらせるTalkingPhotoもその一つと言えます。
Epic Games MetaHuman Creator
一方、Epic Gamesは2021年にMetaHuman Creatorというバーチャルヒューマン作成ツールを発表しました。高価なGPUを備えたPCではなくても、ブラウザベースでリアルな人体モデルを制作し、動かすことができるというソフトで、発表時にはたいへん話題を呼びました。そういえばどうなってたんだっけと調べてみたら、今年6月に無償提供開始されていました。なんということでしょう。気づきもせず3カ月も放置していたとは。
登録して使ってみたら、あらすごい。数十体のモデルから選んでカスタマイズするという簡単な使い方ですが、そのリアルさは、見た目も動きもほぼ人間と区別がつきません。そして、ある程度のカスタマイズはできます。
ただし、顔や体のパーツを意のままにすることはできず、数十人のモデルから複数を掛け合わせることで作り出すというやり方です。筆者も実際に使ってみました。10分程度使っただけでこのくらいのカスタマイズができました。
ベースになっているのは、Hanaという左上の女性キャラクターです。なかなかではないでしょうか。
感覚的にできるのは良いのですが、骨格や肉のつき方を明示的に変えることは困難。目的となる人物がいて、その人に似せたいという場合には難易度が高いですが、手軽に「存在しないけどリアルな人の3Dモデル」を作成するには非常に有用と言えるでしょう。出来上がったものはUnreal Engineで使えるので、ゲームエンジンのプロモーションにもなるという、うまい手です。
写真から3Dバーチャルヒューマンを作るHeadshot
今回紹介したかったのは実はMetaHumanではなく、もう一つのバーチャルソフトツールです。筆者は以前からReallusionのCharacter Creatorというバーチャルヒューマンソフトを使っています。それは、Headshotという専用のプラグインを使うため。顔写真を読み取ると、その人の顔(とボディ)の3Dモデルを自動作成してくれる優れものです。
もともとこれを使い始めたのは、生成AIがブームになる以前、3年前の2020年。妻の実物大フィギュアを3Dプリンタで作成しようとしていて、そのモデル作成への利用を考えてのことでした。
光造形3Dプリンタで作る、世界で一つだけのフィギュア リアルな人体モデルを作る最短の方法
この時点では他界した妻の「新しい画像」を手に入れられる生成AIとカスタム学習は手に入れておらず、そのためには自分の手で3Dモデルを作成するしかないと考えていました。その最短の方法として見つけたのが、妻の顔写真から3Dモデルを作成できるツールとしてのCharacter Creator + Headshotだったのです。
それから3年。Character Creatorはバージョン3から4に、Headshotもバージョン2になりました。以前は正面から撮影した素材写真の数が少なく解像度も低かったため、うまく3D化できない場合が多かったのですが、今ならいくらでも正面からの顔写真が生成できます。今ならもっとやれる。そう考えました。
妻の顔写真40枚ほどを学習したAI(Stable Diffusion)によって生成された写真を元に、最新の環境で3Dモデルを作ってみました。このところ、西川和久さんによるStable Diffusion Web UI(AUTOMATIC1111)導入記事を読んで良質な顔写真を大量生産できているおかげです。
それがこちらです。ヘアスタイルは、Character Creatorのアセットストアで有料のものを購入。衣装もいくつか試して自然に見えるものを選びました。
▲左の写真を元に3Dモデルを生成
▲ヘアスタイルはアセットストアで購入した
アニメーションのスクリプトがあらかじめいくつか用意されているので、それを適用してみます。それがこちら。
このソフトも3年前から大きく進化しています。Character Creator + Headshotは、いったん自動生成した顔や体を細かいパラメータで動かすことができ、メッシュをいじったりすることなく意図するモデルに作り上げることができますが、そのパラメータがより細かくなっているのです。例えば鼻の形状や顔のパーツのつき方は、アジア風、ヨーロッパ風といった人種・地域の特徴をパラメータの数値で変えることができます。テルマエ・ロマエで古代ローマ人である主人公が現代の日本人を「平たい顔族」と称していましたが、それもパラメータになっていて、数値で理解できます。
▲アジア人パラメータを上げていくと、顔はより平坦になる
そこに実在の人間がいて、撮影ができるのであれば、スマートフォンで3Dスキャンすることでよりリアルな3Dメッシュのモデルを作成することもできます。まあこれは自分の場合には使えないので不要の機能ではありますが……。このやり方をPrompt MuseさんがYouTubeデモしているので、やってみたい方は参考にどうぞ。
キャラクターアニメーションソフトのiCloneに持っていけば、オーディオデータからのリップシンクやモーションキャプチャから動かすといったことも可能。さまざまなモーションデータも用意されています。これらを組み合わせたり、ビデオからモーションを取り出すといったことも可能でしょう。ビデオに映っていない部分を補完して3D化する論文もだいぶ前に見た記憶があります。
生成AIほどの爆速ではありませんが、こうした従来型のデジタルヒューマン制作やアニメーションも、進化しています。プロンプトから直接3Dモデルを生成する方法が実用的なレベルに到達するときがいつか来るのでしょうが、それまでは、こうしたハイブリッドなやり方が現実的ではないでしょうか。
とりあえずこれで3Dモデルはある程度できたので、これをリファインした上で、3Dプリンタへに出力するためのモデルを作っていく作業に入りたいと思います。自宅の3Dプリンタは、40×40×45cmの出力ができる、コンシューマー向けでは比較的大型のANYCUBIC CHIRONという製品で、実物大の妻のフィギュアを出力することを想定したもの。3Dモデルを分割して出力する方法も目処がついたので、どこかの時点で取り掛かりたいと思います。
なんでこんなことをしているのかということを説明するのに便利な動画をフジテレビさんが作ってくださいました。よかったらどうぞ。