僕のCGアカデミア

グラフィクス系(主にキャラクターアニメーションに関する)論文やアクティビティを簡単に紹介するログ

論文紹介: Learning Skeletal Articulations with Neural Blend Shapes

お久しぶりです、iwanao731です。 三か月ぶりの投稿です。最近仕事でDeep Learning始めました。2017年に卒業してからはしばらくはそれまでのアニメーション知識で何とかなっていたんですが、アニメーション分野もDLの流れに飲まれそうになってきたのでPytorchのチュートリアルやりながら論文の追実装等をしています。

色々と使いこなせるようになったらプライベートでも論文を書いて課外活動をしたいなと思っています。

Learning Skeletal Articulations with Neural Blend Shapes

youtu.be [ Project Page ] [ Paper ] [ GitHub ]

さて、今日は久々にリギングやスキニングのお話。 ここ1,2年でキャラクタやアタバーのスキニングに関する論文が増えてきています。その中で引用数を増やしているのが以前紹介したSMPLという論文。

iwanao731.hatenablog.com

概要

この論文では、人の体型をパラメトリックにしたものなのですが、実は体型だけでなく、姿勢に依存した変形も考慮したブレンドシェイプを再現しているんですね。 この体型モデルによって、動画から体型を推定しながらアニメーションさせて、自然なスキニングも再現できるのですが、一方で任意のキャラクタや4Dデータを入力として任意のアバターを作るようなケースでは、リトポロジーを行わなければならないといった大きな課題がありました。

本論文では、そういったリトポロジーを必要とせず、なおかつリギングも同時に行いながら、モーキャプのモーションを適用可能なセットアップを自動でやってくれる、といった至れり尽くせりな論文となっております。

手法

本手法が素晴らしいのはメッシュのトポロジーへの依存が少ないという点です。つまり、様々な頂点数のキャラクタ/アバターのメッシュに対して、リギング、スキニングを行うことができます。それを実現するためにMeshCNNと呼ばれる技術を使っています。MeshCNNは、Deep Learningの分野で画像に対して行われるCNNの処理に近いConvolutionをMeshに対してできる技術で、SIGGRAPH'19に発表されたものです。

トレーニング時にテンプレートとなるメッシュをMeshCNNでConvolutionし、Deep Vertexと呼ばれる洗剤空間とSkinning Weightをそれぞれ出力するようにし、最終的にそれらからDecodeしたモデルが、テンプレートをあるポーズにスキニングした結果になるようにするようにします。(Envelope Branch)

最終的には、任意のメッシュのテンプレートとスケルトンを入力するとジョイントの位置とスキニングウェイト、そしてポーズに依存した変形要素を生成し、ポーズ情報からそのブレンドウェイトを自動推定するといった流れになっています。

画期的な点

既存のリギング手法では、任意の任意のスケルトン構造で推定することができず、モーションリターゲットしづらいといった問題があったのですが、本手法ではモーションリターゲットをサポートできるように任意のスケルトン構造でリギングとスキニングを同時に行うことができる点がまず素晴らしいと思います。

また、ポーズに依存した変形をブレンドシェイプとしてassignし、ポーズ情報からそのブレンドウェイトを推定するというのも、現在のゲームエンジンプラットフォームに非常に溶け込みやすい技術として設計されています。

まとめ

自分もこれやりたかったので先にやられてしまいましたが、とにかく素晴らしい論文だなと思いました。 コードも公開されており試してみましたが、スキニングやリギングの精度はまだまだ改善点はありそうです。

論文紹介: MeshTalk: 3D Face Animation from Speech using Cross-Modality Disentanglement

こんにちは、iwanao731です。

コロナ禍二年目ですが、相変わらず変わらない生活が続いていますね。第一回の緊急事態宣言に比べて飲食店での酒類の提供ができなくなってしまったので、遠くにも行ってはいけないし、外で飲むこともできない、といった難しい生活。そんな中で趣味の川崎フロンターレのサッカー観戦(DAZN)や近所のワインショップで買った自然派ワインで何とか楽しく過ごせています。

会社の仕事は今まで敬遠していたDeep Learningに取り組み始め、CG研究を始めてから10年という節目でもあるため、自分の中で第二章が始まろうとしているといった感じです。やるテーマがアニメーションやリギングに関することであることには変わりないですが、自分の中で表現できるスキルを広げていければ、自分のアイデアをカタチにすることがより多くできてくると思っています。なかなかDeep Learningの研究には慣れないですが、サンプルプログラムを参考にしつつ、自分でも書いてみたり、あとはひたすら論文をチェックしています。

近年アニメーションを取り扱う論文がものすごく増えました。SIGGRAPH, SIGGRAPH ASIAだけでなく、ECCV, ICCV, CVPRといったCV分野の論文、それにarXivなんかも含めると相当早いペースで論文が出ているので、それをひたすらキャッチアップすることは非常に大変ですが、ここは歯を食いしばって頑張っていく時期かな、と思っています。

会社も米中の問題等で製品を出すことが難しい中で、製品に結び付けなくても論文を出すことで外からも見れる結果を出していければと思っています。

MeshTalk: 3D Face Animation from Speech using Cross-Modality Disentanglement, arXiv'21

f:id:iwanao731:20210516184014p:plain

[ Paper ] [ Video ]

さて、本日はリップシンクのお話です。リップシンクは前から広く行われていますが、最近だとやはりMorphable Modelを使用したリップシンクアプローチが広く使われていますね。例えば、Max PlankのVOCAをはじめ、個人の顔のモデリング技術を生かしてスピーチアニメーションに繋げていく流れが盛んになりつつあります。

本論文もその流れを汲んではいるのですが、Facebookが普段研究しているCodec Avatarの技術をいよいよアニメーション生成に繋げていきたい、といった勢いを感じますね。

アニメーション分野は最近Disentangleというテーマが流行しています。シンプルな入力から、個人の顔や表情、感情、個性等の情報を分解していって、それぞれを別々に制御できるようにしたいというのが主な目的になってきています。そうすると、表情をキープしながら別のアバターを動かしたり、個性をキープしたまま、感情を変えたり、なんてことができるようになってきます。その流れが今考えられるアニメーションの究極みたいなところになってきますかね。そういった個性だったり、表情、感情といった情報に分解するために、大量の学習用データを集める必要があるので、必然的にそういった装置や技術を持っている会社、研究所が強い分野ではあります。

概要

  • Audio drivenなLip sync Animation生成技術。
  • Audioに相関する顔の部位、相関しない顔の部位を、Disentangleによって明らかにする。
  • 主には目元のあたりは表情生成に影響し、Audioのlip sync要素は口元に影響を受けるという事をより明らかにした。
  • その結果、口元をキープしたまま表情を変えたり、他のアバターに口元をretargetしたりできる。

手法

f:id:iwanao731:20210516185614p:plain

  • Audio encoderとExpression encoderの出力をFusionし、二つの要素を考慮したlatent classicication spaceとする。
  • Decoderでは、基本的には入力したメッシュの形状になるようなものを出力するが、この時に形状のL2ノルムをとるのではなく、 Cross-modality lossによって部位ごとのLossをとることを考える。
  • Cross modality lossによって、どのAudio要素がどの部位に影響を与えるか、Expressionがどの部位に影響を与えるかを可視化することができる。

Limitation

  • 低スペックのPCでは実時間での再現ができない。
  • Audioの入力は100ms以上である必要がある。(映像よりだいぶ早い)
  • データを集めるときにトポロジーをキープしたメッシュを用意する必要がある。(髪の毛部分や目元などのキャプチャが難しかったりする。)

まとめ

Nice Disentangleでした。

論文紹介: MotioNet: 3D Human Motion Reconstruction from Monocular Video with Skeleton Consistency

お久しぶりです,iwanao731です.2021年初投稿ですね.あけましておめでとうございます. 相変わらず2021年もコロナの状況は変わっておらず,緊急事態宣言も続いている最中ですが,コロナに振り回されず,今やれることをやっていかないとですね. とりあえず最近は色々と作っていて,昨年興味があって色々と読んでいたVolumetric Videoに関しては,4DVIEWSで撮影したデータを使って,ポーズに依存した変形ができるアバターなんかを実験で作っておりました.

youtu.be

まだまだプロトタイプなのですが,色々と難しいことをやらないといけなくて,なんといってもメッシュのトラッキングですね.これが地味に難しくて,色々と工夫してました.まだ道半ばという感じですが.

youtu.be

さて,今日は今月末に開催されるSIGGRAPH ASIA勉強会に向けて各論文を読んで忘れないようにまとめようと思い,そのうちの一本の論文を取り上げます.


MotioNet: 3D Human Motion Reconstruction from Monocular Video with Skeleton Consistency

[ Project Page ] [ Paper ] [ Code ]

youtu.be

概要

  • ビデオから二次元のジョイント位置を抽出し,三次元のジョイントの回転情報を取得する研究
  • スケルトンはボーンの長さによって表現されており,左右対称で,単一の人物のみであることを仮定
  • 動きは動的であり,スケルトンは独立.回転の角度で動作が定義されており,ルート位置がグローバルかつ足の接地情報を出すことができる.

最初に思った疑問

モーションデータをどう学習することで角度の取得を可能にしたのか

  • 学習するモーションデータセットは,様々な人の異なるモーションデータで,いずれもなめらかなデータであることを仮定
  • 単一の人物のスケルトンで,グローバルポジションを持っている
  • 学習時は,三次元モーションを任意のビューで二次元にプロジェクトションして,ネットワークで三次元やその他の情報を復元するように学習

グローバルの位置や接地情報はどうラベル付するのか

  • 足の接地についても,足の位置を事前に調べておいて,設定した床からコンタクトを判定

オリジナリティや技術的貢献はどこか

Two-branch network

単一の静的なスケルトンを出すネットワークと,ジョイントの回転,ルート位置,足の接地といった動的な動作の要素を復元するネットワーク.使用しているコンポーネントは以下の3つ.

  1. Forward kinematics layer by [Villegas, 2018]
  2. Original paper is using for motion retargeting, but we use for pose estimation

  3. Discriminator to joint rotation angle [Kanazawa, 2018]

  4. 絶対角度の値を使うところやフレームごとで行う点がオリジナルと異なるらしい
  5. 角速度の一定のシーケンスのリアリズムを判別するDiscrimnatorである点も異なる

  6. 1D temporal convolution [Pavllow, 2019]

  7. They used it for 3d pose estimation
  8. We used to train to lift 2d joint position into 3D with training to convert joint positions to rotation

Tips

モーションデータごとにTポーズ時の角度の絶対値が違う問題等があるため,基本的にはポーズはangle velocityに基づいたものを使っているそう.また,リファレンスとなるTポーズを学習にも使っているそう.(要調査)

その他の情報

データについて

  • CMU Motion capture dataset
  • Human 3.6M

11人で17シナリオのデータセットを使用

評価について

  • Quantitative, Qualitativeそれぞれ異なる研究をターゲットとして比較している
  • 結論として,ジョイントの位置の推定精度はトップではないが良好.角度に関してはいい結果が得られた.

感想

  • ジョイントの絶対座標も取れるビデオ入力のモーションキャプチャはこれから確実に使われまそうです.
  • IKを使わないので,シンプルにビデオの入力に近い動きが取れるし,実際キャプチャしたモーションの精度も高そうでそこそこ使えそう.
  • 論文長い.

論文紹介: Semantic Deep Face Models

お久しぶりです.久々に論文をまとめようと思ってます. なんと11月はじめにコロナ陽性になりまして,ホテル療養や自宅隔離をしていたらあっという間に11月が終わりそうです. その間にフロンターレが優勝したり,キングダムを全巻読んだり,そして論文を読んだりして,なんだかんだで充実した11月でした. 今年ももうすぐ終わりですね.来年は顔だけじゃなくて,モーション系の知識も蓄えながら,でぃーぷらーにんぐの実装もしていこうかな,なんて思ってます.

概要

Semantic Deep Face Models

[ プロジェクトページ ] [ 論文 ] youtu.be

関連研究

近年,Morphable Modelを利用した顔関連論文が後をたたない一方で,Morphable Modelの欠点を指摘して,独自にデータベースを作る研究なんかも増えてきていますね.Morphable Modelの欠点は何かというと,IdentityとExpressionが完全に切り分けられていないことです.例えば,無表情で目が細い人がいたときに,IdentityとExpressionをあわせて推定してしまうと,対象人物が目を細めている表情として推定されてしまう恐れがあるということです.なので,IdentityとExpressionを分解する,Disuntangleするという研究が近年で注目されてきています.

今回の研究はDisney Researchによる研究なのですが,Disney Research研究あるあるのBeelerらのスキャニング技術を今回も使っています.しかし,従来彼らがやってきた変形系の話ではなく,顔のパラメトリックモデルを作るという研究を打ち出してきたので,流れに乗ってきたなと僕は個人的に思いました.

この手の研究は既に(といっても去年くらいからだが)Hao Liの研究チームもLight Stageで取得したデータを活用して,更に口内や眼球といったパーツの情報も分解したパラメトリックモデルを公開して,表情もFACSベースだったりするのでかなり有用なデータになっています.こちらのデータは[ ICT-FaceKit ]としてリリースされました. iwanao731.hatenablog.com

そして,近日そのHao Liのグループの最新論文についてもまとめようと思っているのですが,その論文もIdentityとExpressionをどう切り分けるかという話なのでもろかぶりですね!

提案手法

f:id:iwanao731:20201129230204p:plain
Network Architecture

まず,データセットとして,Beelerらのスキャナーを使った224人x24種類の表情と17人分のフェイシャルワークアウト(かっこいい呼び方)データを取得します.そしてある人の表情24個(位置合わせ済み)をブレンドシェイプのターゲットとして登録し,その人のリトポ済みのワークアウトメッシュデータをターゲットとして,ブレンドシェイプの係数を推定します.そして,こちらの図の入力上部が対象者の無表情メッシュ,下部が推定されたブレンドウェイトとして,それぞれIdentity VAEとExpression VAEでlatent spaceに変換します.そして最後にJoint Decoderを使ってメッシュに戻すのですが,それとワークアウトによってキャプチャしたメッシュとのLossをとってモデル化していく,といったプロセスです.このJoint Decoderが,Identity-based expressionを作るという意味合いで今回の主な提案技術となっています.

結果

このモデルを使うと,例えば,無表情から笑顔になるといった表情変化も,線形の場合とは異なり,最初に笑った表情になってから口が開いていくといった非線形的なアニメーションを実現できるそうです.

f:id:iwanao731:20201129231552p:plain
表情補間の様子

あとは,Expression固定でIdentityを変化した場合も,人による表情の違いが再現できていると言えそうです.

f:id:iwanao731:20201129231648p:plain
Identityによる表情生成結果の違い

ランドマークからブレンドウェイトの推定を行うことで,表情トラッキングを実現するスキームも確立されていました.

Limitation

ここはあまり理解できなかったのですが,与えられたブレンドシェイプ係数に対して,意味の持った形状を生成できる保証がない,と述べられています.これはおそらく,見た目的に形状が破綻したとしても,形状が破綻しているかどうかが計算上判別がつかない,といったことだと思います.通常であればアーティストが設計したブレンドシェイプターゲットがあって,0-1の値が入るのでたいてい表情が崩れることはないのですが,それでも組み合わせによっては大いにおかしくなるため,それと同様の問題があるといえるでしょう.

結論

画像からランドマークを検出してexpressionを推定するスキームはあったが,Identityを画像から推定するスキームが示されていなかったのが気になる.以前のHao Liの論文でもIdentityをlatent spaceでいじれるけど,そもそもそのlatent spaceのパラメータをどうやって推定するのかというところが気になるところであります.

論文紹介: [SIGGRAPH 2020] Face and Full Body Motion

Face and Full Body Motion [ Link ]


The Eyes Have It: An Integrated Eye and Face Model for Photorealistic Facial Animation
[ Project Page ] [ Paper ]

youtu.be


Fast and Deep Facial Deformations
[ Project Page ] [ Paper ] [ Video ] [ Sample Code ] [ Sample Trained Model ]


Accurate Face Rig Approximation With Deep Differential Subspace Reconstruction
[ Paper ]

https://pbs.twimg.com/media/EZjK5qxWkAIdCAz.jpg


RigNet: Neural Rigging for Articulated Characters
[ Project Page ] [ Paper ] [ Code ] [ Dataset ]

youtu.be

論文紹介: [SIGGRAPH 2020] Capturing and Editing Faces

Capturing and Editing Faces [ Link ]


DeepFaceDrawing: Deep Generation of Face Images From Sketches
[ Project Page ] [ Paper ] [ Code ] [ Online System ]

www.youtube.com

Condition情報を使用して、スケッチからの顔画像生成をより制御可能なものにする技術。 データ構築の際、様々なエッジ手法を試したが、最終的にPhotoshopのフィルターに対してSimoserraさんの手法を適用したらいい感じの線画を得た。


MichiGAN: Multi-Input-Conditioned Hair Image Generation for Portrait Editing
[ Paper ] [ Code ] [ Video ]


Single-shot High-quality Facial Geometry and Skin Appearance Capture

We propose a polarization-based, view-multiplexed system to capture high-quality facial geometry and skin appearance from a single exposure. The method readily extends widespread passive photogrammetry, also enabling dynamic performance capture.

https://siggraph.xyz/s2020/images/sess136-papers_474.jpg


Portrait Shadow Manipulation

[ Project Page ] [ Paper ] [ Code ] [ Evaluation Dataset ] [ Test Dataset ]

youtu.be

論文紹介: [SIGGRAPH 2020] Motion Matching and Retargeting

こんにちは、iwanao731です。 皆さんどうお過ごしでしょうか。感染者数としては第二波の流れがきていて、3, 4月のStay Home期間よりも多い状況ですが、5月以降からはオフィスでの勤務を続けております。GWであったり、夏休みも基本は在宅、行っても近所というような生活がおよそ半年近く続きましたが、人間適用するものですね。

私の場合、この在宅の時間を使って論文を読んだり、あとは客員研究員として大学の作業をやったりしています。特に論文で得た知識は仕事でも役に立つし、絶対に無駄にならないからいいですよね。ただ、論文読むのもなかなか時間がかかってしまいます。事前知識がある領域であればそんなにかからないかもしれませんが、私はDeep Learning系は詳しくないので、近年増え続けているそういった論文を追うだけで今は精一杯といった感じです。

さて、今回紹介するSIGGRAPHのモーション系セッションも例にもれずDeep Learningの流れを強く受けている領域ですので、コロナ期間にこのあたりの知識をとことん吸収していきたいなと思っています。

ちなみに今年のSIGGRAPHはバーチャル開催だそうですね。一応参加予定ですが、Technical Paperのセッションは基本録画済みのものを配信するだけと聞いています。実際の会場の空気感とか出会いとか、物理的にそこにあるから感じることのできる刺激が感じられない(まだわからないが)というのは非常に残念ではありますが、それを行っても仕方ないので、とにかく日々精進するのみです。

Motion Matching and Retargeting [ Link ]

個人的にこのセッションは今回のSIGGRAPHで最もアツいセッションなんじゃないかと思っています。 4本の論文のうち、Motion Matchingの改良がUbiSoftから2本、残りはStyle TransferやRetargetの論文が同じAuthorから2本出ています。すごい。


Robust Motion In-betweening
Harvey et al., SIGGRAPH 2020
[ Blog ] [ Paper ] [ Dataset ]

youtu.be

スパースなキーフレーム間の中間の動きをMotion Matchingの技術を応用することで可能にした論文。


Unpaired Motion Style Transfer From Video to Animation
Aberman et al., SIGGRAPH 2020
[ Project Page ] [ Paper ] [ Code ] [ Dataset ]

youtu.be

あるモーションに任意のモーションスタイルを付与する技術。従来法では、モーションAと任意のスタイルを考慮した親しい動きA'のペアをデータセットとして大量に用意する必要があったが、本論文では、そういったペアのデータセットを用意する必要ないところが売りである。また、スタイルの付与として3Dだけでなく、2Dの動画を入力することが可能になった。核となる技術は、スタイルを付与したい任意のモーションに対して、Decoderのプロセスで、スタイルの要素を排除し、与えたいスタイルのリファレンスからDecoderを通じて抽出したスタイル要素を、任意のモーションのEncoderプロセスの際に加えることでスタイルの転写を実現している。本論文では、スタイル抽出部分で従来法よりもより明確な分類が可能になっている。


Skeleton-Aware Networks for Deep Motion Retargeting
Aberman et al., SIGGRAPH 2020
[ Project Page ] [ Paper ] [ Code ] [ Dataset ]

youtu.be

体型の異なるキャラクタへのリターゲットを可能にする論文。従来法では、関節の個数などが同じデータである必要があったが、この手法では、MeshCNNから着想を得て、SourceとTargetのスケルトン構造をPooling層で削減しながら最小単位のジョイント構造に落とし込むことで、異なるスケルトン構造のモデル間を統一的に取り扱うことを可能にした。それ以外の部分はLossの設計次第。


Learned Motion Matching
Holden et al., SIGGRAPH 2020
[ Fast Forward ] [ Blog ] [ Paper ]

youtu.be

Motion MatchingとNeural Networkベースのアニメーション生成のいいとこ取りをした論文。