衣装メッシュの輪郭の品質を高めるためには、ネックラインや袖口などのアノテーションデータを用いることが有益である。Fashion3D dataset には、前述のように、このようなアノテーションデータ(feature line annotations)が付与されている。
本手法では、この feature line を変形ハンドル(=変形の基準点のようなもの?)として扱い、服メッシュ M_t を変形させる。但し、3D空間で feature line を直接回帰すると自由度が大きすぎてうまく推論できないので、以下のような処理を行っている
1. まず服メッシュのポーズを推定する。この服メッシュのポーズというのは、pose estimation network で推定された SMPL の人物姿勢パラメーターθで表現される
※ pose estimation network の詳細アーキテクチャは、後述参照
2. 推定したポーズに基づき、服メッシュ M_t を変形して新しい服メッシュ(=ポーズ反映させた服メッシュ) M_p を得る。
この新しい服メッシュ M_p は、feature line の初期値 {l_i^p } を提供する?
→ feature line の初期値というのがどのようなものなのか理解できなかった。
3. feature line の初期値 {l_i^p } は、グラフ構造として扱うことが出来るので、グラフ畳み込みでこのグラフ構造を取り込む。
4. VGGネットワーク(VGG16-b)を用いて、入力服画像から特徴量を抽出し、Pixel2Mesh と同様の学習戦略を用いて、feature line の変形を推定し?、推定した feature line {l_i^o } を得る
→ Pixel2Mesh と同様の学習戦略を用いた feature line の変形を推定処理が理解できなかった。
5. feature line を変形ハンドルとした handle-based deformation を行う。
これは、feature line の初期値 {l_i^p } が推定した feature line {l_i^o } にマッチング(=位置合わせ)するように、メッシュ M_p をメッシュ M_l に変形する処理である。
※ feature line を変形ハンドルとして変形を行うので、メッシュ自体で変形を行うより変形品質が良くなるのだと思われる。
この feature line のマッチング処理は、Laplcacian deformation で行う。
※ Laplcacian deformation : 論文「Laplacian surface editing」
- Pose Estimation ネットワークの詳細
SMPL の人物姿勢パラメーターθを服メッシュのポーズとして利用出来るようにするために、SMPL の制御パラメーターに含まれる{グローバル回転パラメーター・足首、手首、首などの局所回転パラメータ}などの衣服の変形とは無関係なパラメータをゼロに設定する。
更に、入力服画像を制御パラメーターに部分的に反映できるようにするために、VGG ネットワークで服画像の特徴量を抽出し、全結合層でパラメーターに反映させる。
Implicit Reconstruction による服メッシュ表面の Refinement
handle-based deformation で変形した服メッシュ M_l に対して、メッシュ表面の詳細形状を refinement する。
そのために、OccNet での implicit representation (implicit surface based methods) を利用する。
※ OccNet : 論文「Occupancy networks: Learning 3d reconstruction in function space」
但し、OccNet をそのまま利用すると、メッシュ表面の詳細形状を refinement できる一方で、メッシュが開いている部分(首元、袖など)も閉じた閉曲面のメッシュを生成してしまう(図5の (i))ので、OccNet の出力に対して、服メッシュ M_l を適応的に non-rigid registration する処理を行う。
これら処理の詳細は、以下のようになる。
1. Learning implicit surface
OccNet のアーキテクチャをそのまま利用して、服メッシュの implicit surface を学習する。
具体的には、まず入力画像を ResNet-18 を用いて、潜在空間に encoder する。
次に服メッシュの各頂点に対して、その頂点座標と enocoder された入力画像の潜在変数から、MLP 層でその頂点がメッシュ表面の内側にあるか外側にあるかを分類する。
※ これらの処理の詳細を理解するには、論文「Occupancy networks: Learning 3d reconstruction in function space」を読む必要がありそう。
2. Detail transfer with adaptive registration
OccNet で生成した服メッシュは、閉曲面でのメッシュになっており、更にメッシュ表面で外れ値やノイズが発生する傾向がある。
そのため本手法では、従来の non-rigid ICP algorithm に2つの制約を課すことで、正しい詳細成分のみ服メッシュ M_l に段階的に適用していく処理を行っている。
※ non-rigid ICP algorithm がどのようなものなのか理解できていない。
ネットワークの損失関数
本手法では、Cloth Classification, Pose Estimation, Feature Line Regression の3つのネットワークが存在するが、これらのネットワークはそれぞれ別の損失関数で個別に学習される(非end2end)
尚、Pose Estimation ネットワーク損失関数の計算で必要になる服メッシュの正解姿勢ポーズパラメーターは、本手法で再構成した服メッシュの点群に、SMPL モデルをフィッテングすることで取得する。
具体的には、以下の手順で取得する。
i. アノテーションされた feature line に対して、その中心点をジョイント点(スキンメッシュアニメーションでのジョイント点のようなもの?)とする。
ii. トルソー領域でのジョイント点を使用して、メッシュの向きとスケールを一貫させるために、全ての点群を整形する。
iii. ジョイントと点群をフィッテングすることで、SMPL パラメーターを計算する
→ この部分の処理がよく分からなかった
0. 論文情報・リンク
1. どんなもの?
2. 先行研究と比べてどこがすごいの?
3. 技術や手法の"キモ"はどこにある?
Deep Fashion 3D dataset
アーキテクチャの全体像
テンプレートメッシュの生成
feature line を変形ハンドルとした服メッシュ変形
Implicit Reconstruction による服メッシュ表面の Refinement
ネットワークの損失関数 本手法では、Cloth Classification, Pose Estimation, Feature Line Regression の3つのネットワークが存在するが、これらのネットワークはそれぞれ別の損失関数で個別に学習される(非end2end)
4. どうやって有効だと検証した?
既存の服メッシュ生成モデルとの定性比較検証
ablation study での定性検証
5. 議論はあるか?
6. 次に読むべき論文はあるか?
7. 参考文献