You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
また、衣装特徴量の潜在変数 l を MLP に入力して、衣装のトップス or ボトムズ分類スコア u, d を出力する
更に、{衣装特徴量の潜在変数 l・SMPL 人物姿勢パラメータβ}のペアを MLP に入力して、衣装形状パラメータαを出力する。
Skinning Weight Network
本手法では、既存の頂点ブレンディング重みを推定するネットワークに着想を得て、衣装メッシュの頂点ブレンディング重みを推定するネットワークを設計している。
※ 既存の頂点ブレンディング重みを推定するネットワーク:論文「Neuroskinning: automatic skin binding for production characters with deep graph networks」
Losses on shape parameters
{SMPL 制御パラメータβ,θ・ワールド変換パラメータ t ・衣装形状パラメータα}に関しての、生成値と正解データの間の L2 loss。
人物姿勢パラメータθに関しては、θで直接 loss をとるのではなく、ロドリゲスの回転公式の表現行列 R で loss をとる。
SMPL 人体メッシュに対してのパラメータ{β,θ,t}と衣装メッシュに対してのパラメータ{α}は、それぞれ別の損失関数で学習される。
Losses on geometry
服装メッシュ M とメッシュのジョイント点 J に関しての損失関数。
服メッシュの頂点変位 D に関しての損失関数。
詳細な reconstruction を実現するために、生成した頂点変位と正解頂点変位間での L1 loss と、ラプラシアン座標上での生成した頂点変位と正解頂点変位間の L2 loss を採用している
Losses of projection
生成3Dメッシュと正解3Dメッシュをそれぞれ2D画像に射影レンダリングした画像間での損失関数。
人体メッシュと服メッシュは、別の損失関数で定義される
Losses of classification
推定した衣装トップス or ボトムズ分類スコア {u,d} とその正解データとの間の分類エラーにペナルティーを課すための softmax loss
Losses of interpenetration
論文「Garnet: A two-stream network for fast and accurate 3d cloth draping」にインスパイアされた損失関数
生成した人体メッシュと衣装メッシュとの間に相互貫通 [interpenetration] が発生することを防止する効果がある。
Skinning Weight Network が様々な衣装カテゴリに対応出来るようにするために、attention 付きのグラフ畳み込みである GAT を使用している点に注目。
Skinning Weight Network と Displacement Network のアーキテクチャの詳細が理解できていない。詳細を知るには、論文「Neuroskinning: automatic skin binding for production characters with deep graph networks」を読み必要がありそう
0. 論文情報・リンク
1. どんなもの?
2. 先行研究と比べてどこがすごいの?
しかしながらこの Multi-Garment Net では、生成した衣装メッシュとSMPLでの人物メッシュの頂点が共有されているので、これらメッシュ間でスキンメッシュアニメーション用の頂点ブレンディング重みの値も共有されてしまい、それ故に緩んだ衣装(スカートなど)での頂点変位を計算すると、不適切な頂点ブレンディング重みにより不自然なアーティファクトが発生してしまうという問題が存在する。
また、入力する人物画像として通常8枚の人物画像が必要であるという問題も存在する。
本手法では、1枚の正面人物画像のみから SMPL を利用して、服と人物メッシュの3D再構築を実現し、
更に、全ての衣装に対しての汎用性な頂点ブレンディング重みを生成するネットワークを導入することで、スカートのような緩んだ衣装に対しても服と人物メッシュの3D再構築することも実現している。
3. 技術や手法の"キモ"はどこにある?
アーキテクチャの全体像
上図は、本手法でのアーキテクチャの全体像を示した図である。
本手法は、以下の4つの主要コンポーネントで構成されている。
SMPL の利用と衣装メッシュ生成
本手法では、Multi-Garment Net などの既存の image-to-3D モデルと同じく、統計的手法に基づくパラメディック制御可能な人体メッシュ生成モデルである SMPL を利用している。
SMPL でのメッシュ生成処理は、以下の式のように定式化される。
Multi-Garment Net では、上記 SMPL で生成した裸体人体メッシュから衣装部分の頂点変位を計算することで、衣装メッシュを生成している。
Multi-Garment Net などの既存のモデルでは、この式における頂点ブレンディング重み W_g は SMPL での頂点ブレンディング重みの値と同じ値に設定している。
しかしながら、このような設定で緩んだ衣装(スカートなど)での頂点変位を計算すると、不適切な頂点ブレンディング重みにより不自然なアーティファクトが発生してしまうという問題が存在する。
そのため本手法では、全ての衣装に対しての汎用性な頂点ブレンディング重みを生成するネットワークを導入してこの頂点ブレンディング重み W_g を推定することで、スカートのような緩んだ衣装に対しても服と人物メッシュの3D再構築することも実現している。
また、これにより SMPL とは独立した衣装メッシュになるので、SMPL+D よりも多くの衣装カテゴリの衣装メッシュ生成を実現出来るようになる
Image Encoder
本手法では、まず入力された1枚の人物画像に対して CNN ベースの encoder で特徴抽出を行う。
encoder としては、ResNet18 が採用されおり、最終的な特徴マップは 8x8 のサイズにしている。
それら特徴マップを Flatten し(特徴マップ数 x 8 x 8 のベクトル化)、全結合層で潜在変数にしている。
その全結合層は4つ存在し、それぞれ{SMPL 人物姿勢パラメータβ・SMPL 人物姿勢パラメータθ・ワールド変換パラメータ t・衣装特徴量の潜在変数 l}を出力する。
ここで、SMPL 人物姿勢パラメータθを直接出力すると、SMPLで人体メッシュを生成するとメッシュが破綻しやすいという問題がある。
そのため人物姿勢パラメータθを直接出力するのではなく、以下の式のように、全関節のベクトル化された回転行列を出力するようにする。これにより(メッシュが破綻しにくくなるので)学習が安定化する効果がある。
※ SMPL 人物姿勢パラメータθは軸角表現での72次元のベクトルであるので、image-encoder で encoder したθを直接使用してSMPLで人体メッシュを生成するとメッシュが破綻しやすい。
また、衣装特徴量の潜在変数 l を MLP に入力して、衣装のトップス or ボトムズ分類スコア u, d を出力する
更に、{衣装特徴量の潜在変数 l・SMPL 人物姿勢パラメータβ}のペアを MLP に入力して、衣装形状パラメータαを出力する。
Skinning Weight Network
本手法では、既存の頂点ブレンディング重みを推定するネットワークに着想を得て、衣装メッシュの頂点ブレンディング重みを推定するネットワークを設計している。
※ 既存の頂点ブレンディング重みを推定するネットワーク:論文「Neuroskinning: automatic skin binding for production characters with deep graph networks」
Skinning Weight Network での処理の流れは、以下のようになる。
i. ここで、頂点の特徴量の次元を変えるために MLP を用い、頂点特徴量を抽出するために一般的な ResBlock を利用している。
ii. また、頂点連結関係性を集約するためにグラフ畳み込みを利用している。
特に、Skinning Weight Network が様々な衣装カテゴリに対応出来るようにするために、attention 付きのグラフ畳み込みである GAT を使用している。
この GAT では、フィルタの重み学習がメッシュの頂点接続性に依存せず頂点の入力特徴量のみで重みを決定することが出来る。これにより、様々な衣装カテゴリに対応出来るようになる。
※ GAT :論文「Graph attention networks」
Displacement Network
先の (2) 式モデル化される衣装生成モデルでは、PCA 係数αを用いて衣装メッシュの形状を捉えているが、姿勢の違いにより折り目のようなメッシュの細かい詳細形状は、PCA のような線形モデルでは対応できない。
そのため本手法では、頂点変位ネットワーク [displacement network] という、衣装メッシュの各頂点の頂点変位を元の人体メッシュに回帰するためのネットワークを導入している。
ネットワーク構造としては、上図のように、Skinning Weight Network と同じような構造が採用されている。
但しこの頂点変位ネットワークは、回帰性能を向上されるために、全衣装カテゴリに対してのネットワークではなく、衣装カテゴリ別のネットワークになっている。
また、同じ接続性を持つメッシュに対して最先端の回帰能力を持つ spiral graph convolution を各衣装カテゴリに採用している?
※ spiral graph convolution : 論文「Neural 3d morphable models: Spiral convolutional networks for 3d shape representation learning and generation」
服メッシュの細かい変形情報を捉えるために、以下のような処理も行っている。
損失関数
本手法では Skinning Weight Network を、以下の損失関数で学習する。
その後、その他のネットワークを以下に定義した損失関数の線形結合で学習する。
Losses on shape parameters
{SMPL 制御パラメータβ,θ・ワールド変換パラメータ t ・衣装形状パラメータα}に関しての、生成値と正解データの間の L2 loss。
人物姿勢パラメータθに関しては、θで直接 loss をとるのではなく、ロドリゲスの回転公式の表現行列 R で loss をとる。
SMPL 人体メッシュに対してのパラメータ{β,θ,t}と衣装メッシュに対してのパラメータ{α}は、それぞれ別の損失関数で学習される。
Losses on geometry
服装メッシュ M とメッシュのジョイント点 J に関しての損失関数。
服メッシュの頂点変位 D に関しての損失関数。
詳細な reconstruction を実現するために、生成した頂点変位と正解頂点変位間での L1 loss と、ラプラシアン座標上での生成した頂点変位と正解頂点変位間の L2 loss を採用している
Losses of projection
生成3Dメッシュと正解3Dメッシュをそれぞれ2D画像に射影レンダリングした画像間での損失関数。
人体メッシュと服メッシュは、別の損失関数で定義される
Losses of classification
推定した衣装トップス or ボトムズ分類スコア {u,d} とその正解データとの間の分類エラーにペナルティーを課すための softmax loss
Losses of interpenetration
論文「Garnet: A two-stream network for fast and accurate 3d cloth draping」にインスパイアされた損失関数
生成した人体メッシュと衣装メッシュとの間に相互貫通 [interpenetration] が発生することを防止する効果がある。
データセットの作成
Skinning Weight Dataset
Skinning Weight Network を学習するためには、正解データとしての頂点ブレンディング重みが必要である。
そのため本手法では、全ての衣装カテゴリに対して、頂点ブレンディング重みのデータセットを作成している。
Synthetic Dataset Construction
本手法では、学習用データセットとして{入力人物画像・人体メッシュ・服メッシュ}のペアデータが必要になるが、このようなデータセットが公開されていないために、NVIDIA の物理シミュレーションソフトウェアである FleX とレンダリングソフトウェアである Blender を用いて、下図のような物理シミュレーションに基づき、学習用データ作成を行っている。
最終的な合成画像(※入力画像として使用)は、以下のようになる
HD Texture Dataset
上記 Synthetic Dataset Construction で作成した合成画像は、実際のリアル画像とドメインの違い?が謙虚であるので、上図のように、HD [high-definition] テクスチャーのものと差し替える?処理を行って、データセットを作成している。
4. どうやって有効だと検証した?
本手法での生成メッシュの品質検証&既存のモデルとの品質比較検証
左上図は、本手法での生成メッシュの示した図である。
右上図は、既存のモデルである Multi-Garment Net(後処理なし)と本手法での生成メッシュを比較した図である
本手法では、スカートやサイズの大きい服ような緩んだ衣装でも、うまく服メッシュを生成出来ていることがわかる
Garment Transfer への応用
オクリュージョンがある場合でも品質の高い Garment Transfer が実現出来ている。
本手法での限界点
(A) サポートしていない衣装での品質
(B) 複数の層からなる衣装を1つの層の衣装として扱ってしまう
(C) 複数のシワなどを滑らかにし過ぎてしまう
5. 議論はあるか?
6. 次に読むべき論文はあるか?
7. 参考文献
The text was updated successfully, but these errors were encountered: