Digital Humanとは、実在する人物を被写体として制作された、仮想空間でも本人と遜色なく自然な表情、振る舞いをする人間の3Dモデルです。
近年、多くの企業が様々な用途でDigital Humanの開発を行っており、広告やエージェント、ゲームなどに使われています。
Digital Humanを必要とする用途に合わせてその再現度は変わります。現在、映画ではスタントを必要とするような場面でDigital Humanが多く活用されていますが、CGだとは気づかずに観ている方も多いのではないでしょうか。以前は課題とされていた品質も「不気味の谷」を超えるレベルに来ています。
そのような高品位なCG技術が進歩する中で、私たちは「あの人がここにいる」という実在感、共存感のあるDigital Humanの実現を目指しています。
最終的には、仮想空間上で3Dモデルがアバターとして登場したときに、本人を完璧に再現することで本人かアバターかを意識させない、その人らしいインタラクションができるところまでを目指しています。
その人らしさを再現するために、私たちが注目したのは、「個性の表現」です。
顔の動きにおいてもそれぞれ個性があります。喋るときに出るシワや特徴的な表情の変化などを再現できれば、メタバース上のアバターはその人そっくりの表情をしてくれると考えています。表情の個性を正確に再現することがその人らしさを感じることに繋がるのです。
また、自然なインタラクションという観点では、視線の合わせ方に注目しました。例えば、単純にアバターがユーザを凝視し続けると、ユーザは違和感を覚えてしまうので、視線と頭の動きに関する人間特性を反映した制御により、より自然なふるまいを再現しています。最終的には、ユーザの心的状態を踏まえた認知科学的手法でのアプローチとインタラクションが必要だと考えています。
一般的なCGのアニメーションのワークフローは、キャラクターに動く仕組み(Rig)をセットアップする「Rigging」というプロセスとRigのパラメータを時間軸で変化させることで動きを与える「Animation」というプロセスから構成されています。
これは顔表情のアニメーションについても同様で、特に顔に対するRigは「Facial Rig」と呼ばれます。リアルな人間の顔は複雑に動くので、これを再現するためのFacial Rigも複雑になることが一般的で、特に実在の人物を忠実に再現するようなFacial Rigの構築は高いスキルが必要となります。加えて複雑なFacial Rigはコントロールすることも難しくなるため、それを時間方向に調整するAnimationのプロセスにも高いスキルが求められます。私たちはこうした課題を技術で解決することに挑戦しました。
私たちは最初に、複雑なFacial Rigの構築と、それをコントロールするAnimationの作業負荷の大幅な改善を試みました。その実現のため、私たちは従来のFacial Rigの構築が不要な新しいワークフローを考えました。
具体的には、実際の人物をアクターとして、その人の顔の動きをキャプチャし、キャプチャされた情報から直接顔のCGモデルを変形させるというものです。これを実現するためにアクターの顔の動きを正確に取得する「Facial Motion Capture」と、その動き情報をCGで正確に再現する「Facial Deformation」の技術開発に取り組みました。また、CGキャラクターは顔だけでは成り立たないため、全身のモデルとの統合である「Face & Body Integration」の技術課題にも向き合っています。
Facial Motion Captureは、演者の顔の各部位の動きを正確にトラッキングすることで、CGで表現された人物の顔を自然に動かすために必要な情報を取得する技術です。Facial Deformation技術によって、筋肉の伸縮やそれによってできるシワなどの微細な動きを高精度で再現するためには、表情の細かい変化を三次元情報として収集する必要があります。
まずは様々な表情パターンを分析し、表情の再現に必要な部位を抽出しました。その結果、皺の再現には約100個所の部位の三次元情報が必要だと判明しました。必要な部位の情報を得やすくするため、現在はマーカーを記しています。また、眼や唇のように複雑な形状をしている部位に関しては、開いた形状や閉じた形状を正確に再現するため輪郭の情報も必要だと判明しました。
三次元情報を推定するためには、1台のカメラだけでなく同期された複数のカメラで撮影し、3次元の動き情報を推定する必要があります。実際の撮影では、マーカーの動きを漏れなく撮影できるように複数台のカメラを多様な角度で設置しています。しかし、顔の表情変化によってはマーカーの検出に失敗する場合やオクルージョンにより見えなくなる場合もあるため、オプティカルフローや複数台のカメラ情報を利用することによって、安定して情報を取得できるような工夫をしています。
また、眼と唇の輪郭検出は、演者自身の映像を学習データとして利用することで精度の高い輪郭検出を実現しています。ここでいかに正確な動きを取れるかが次工程の「動かす」の精度にもかかわってくるため、試行錯誤を重ねて技術を確立し、今も進化を続けています。
今年からはHMC(Head Mounted Camera)の導入に取り組んでいます。従来の複数台のカメラで撮影する際には、カメラの位置が固定されていたため、Facial Motion Captureの際は首や体を動かすことができませんでした。そのため、表情と体の動きを別々に撮影する必要があり、アクターが自然な演技をする上での負担となっていましたが、HMCを用いることで体を動かしても常にアクターの表情を撮影でき、体と表情を同時に撮影できるようになります。最終的に目指すDigital Humanは、全身が違和感なく動いてこそ完成します。HMCは、自然な動きのデータを得る上で欠かせないツールとなっています。
HMCでは頭でカメラを支えるために、カメラ台数は固定カメラよりも少なくする必要があります。しかしながら、少ない台数でも精度を落とすことなくマーカーの三次元位置を推定し、正確なデータを取得することが重要です。そこで、従来の固定カメラとHMCで事前に演者の色々な表情を撮影し、そのデータから演者に特化した学習データを作成します。学習データには演者の表情とマーカーの位置が含まれており、それらの相関関係を学習することで、HMCだけでも固定カメラと遜色ない精度でマーカーの三次元位置データを取得できるようになりました。
Facial Motion Captureで取得したマーカーの三次元情報と瞼と唇の輪郭情報を元に、CGモデルを変形させて人間らしい表情を与える技術がFacial Deformationです。図はFacial Deformationの処理パイプラインを示しています。
最初の処理ブロックではFacial Motion Captureから取得したマーカーの三次元位置と瞼の輪郭情報を元に顔のCGモデルを全体的に変形させます。ここではマーカーや瞼の輪郭の位置を正確に再現し、モデル全体をもっともらしく変形させることが求められます。私たちは幾何学的な制約を持たせたEnergy Functionを定義し、これを最小化することでCGモデルの全体的な変形を実現しました。
人間の顔は、皮膚の伸び縮みによって発生するシワや、表情の変化によって発生する筋肉の隆起などが個人によって異なります。前段の変形はマーカーの位置や瞼の輪郭形状を再現することはできますが、シワなどの個性を再現することはできません。
こうした課題には事前に取得しておいた十数種類の表情パターンを利用し、個人に特化した機械学習モデルを用いることで、表情変化に応じた個性の再現を実現しました。私たちの機械学習モデルは、表情変化により発生する各部位の伸び縮みの変化を特徴量として、前段の方法で変形したモデルと真値との残差を回帰します。これにより、個性を反映した変形を表現することができました。
Facial Deformationの最後の工程では、破綻を抑制する処理を加えます。例えば、瞼の形は眼球に沿ってカーブを描きますが、これまでの変形処理を適用すると眼球と瞼の間に隙間が生じる場合や、反対に眼球と干渉してしまい眼球が皮膚を突き抜けるといった破綻が発生する場合がありました。また、口腔の形状はカメラで観測することができないため、そのままでは表情変化に応じた正しい形状を再現することが難しいといった課題がありました。
そこで、これらを解決するために瞼、唇、口腔それぞれに対し特別な変形処理を加えました。具体的には、瞼には眼球の形状を仮定し、瞼が眼球に干渉せずぴったり接地するような形状変形アルゴリズムを導入することでより本物の瞼の動きに近づけました。次に、唇の形状にはFacial Motion Captureで取得した唇輪郭とCGモデルの唇形状が近い形状になるように、幾何学的な制約を加えた変形処理を実施しました。最後に、口腔には解剖学の知見を参考にした変形処理を加えることでよりリアルな人体の変形を再現しました。
これら一連の処理を実行することで、最終的に個人の個性を反映したリアルな表情アニメーションを実現することができました。
リアルなDigital Humanを実現するための最後のステップが、「表情と身体の動きの調和」です。顔は顔、身体は身体、と別々に動かしてしまうと不自然な形状となるため、今回開発したFace & Body Integrationによって、全体として自然な動きの実現を目指します。
体のCGモデルの変形には、従来のCGのワークフローで用いられる変形方法を利用しています。具体的には、首、足、腕などにマーカーを装着する 光学式のBody Motion Capture から体の動きの三次元情報を取得し、そのデータを基にRigのパラメータを推定し、事前にRigに関連付けられたメッシュが変形して体の形状を再現しています。
ここで私たちが着目したのは、顔と体の動きの両方から影響を受ける首の形状です。首の形状は顔の方向を決める首の骨の姿勢と、口の動きに連動した下顎の姿勢の両方に依存しています。このような首の形状を正確に再現するためには、顔と体の動きの情報を同時に取得する必要があります。そこで、HMCと同じタイミングの顔と体の動きの3次元情報を利用するためにHMC と Body Motionを同期して撮影するシステムを構築しました。
これらのデータから首の形状を推定するのが「Neck Deformation」技術です。事前に複数パターンの口の形状とあらゆる顔の向きを組み合わせた学習データを作成し、この学習データから首の基底となる形状を抽出しています。首の形状はこれら基底の組み合わせで再現されますが、どのように組み合わせるかは撮影データの下顎の動きと首の向きから推測しています。これにより、自然な顔と体の動きを繋ぎ合わせる首の形状を再現しています。現在は大量の学習データから首の形状を再現していますが、今後は少ない学習データでも再現できるよう、開発を継続しています。
今回の技術開発で、映像における人間の自然な表情をつくる一連の処理を全て自動化したことで、従来はクリエイターが経験と知見に基づいて制作していた作業を大幅に削減し、且つより高いクオリティでDigital Humanを提供することが可能となりました。
さらに自然な振る舞いを実現するために、表情と同様に全身の動きにおいてもその人らしさの再現を目指していきたいと考えています。メタバース時代が到来する中、Digital Humanは身近な存在となり、手軽に自分のDigital Humanを作成したいというニーズは高くなるでしょう。今後はコンシューマー向けにも個性を捉えたDigital Humanを提供できるよう取り組んでいきたいと考えています。
冒頭の映像はソニーミュージックアーティスツ所属 りかりこさんとの協業により制作したDigital Humanです。ソニーグループ間の連携により表現力のあるアーティストやクリエイターの方々と実証実験を行うことができるのはソニーの強みです。今後もこの環境を活かして映画やゲームの領域などで連携し、Digital Human技術の進化を目指していきます。
人物をリアルに3Dモデルとして表現するだけでなく、それらを活用して、現実には経験できない新しい体験をユーザに提供していきたいと考えています。プロジェクト開始時に構想として漠然と考えていたことが、少しずつですがカタチとなり、さらなる進化に向けた研究開発に携われているのも、ソニーの挑戦できる風土、そして社内外の多くのメンバーのサポートがあったからこそだと思います。「自分はこれを実現したい」という強いパッションを持っている方を私たちは全力でサポートします。
人を表現することは、人をより深く知るということでもあります。今後取り組みたいのは、感情を顔の表情や体の動きで再現できる技術や、逆に表情や動きから感情を読み取る技術の開発です。CGの領域を目指す方で、すでにゲームエンジンなどを使って開発をしている人は私たちが働く現場でも応用できると思います。技術の最終的な応用先は一つではなく多岐にわたるので、何にでも興味を持ってチャレンジすることが大切です。
映像技術の力で世の中をより良くしていく研究にやりがいを感じています。研究を進めるには技術力はもちろん大切ですが、「どんなことでも面白がる」ことが成功の秘訣だと感じています。私はアニメやゲームが好きで日ごろから楽しんでいますが、それが研究の原動力にもつながっています。理系の学生の方は今やっている研究をしっかり進めて、最後までやり遂げていただきたいですし、研究を最後までやり遂げた経験は、どんな仕事に就いても役に立つと思います。