Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization #99

Open
Yagami360 opened this issue Sep 2, 2020 · 0 comments

Comments

@Yagami360
Copy link
Owner

Yagami360 commented Sep 2, 2020

0. 論文情報・リンク

1. どんなもの?

  • image-to-3D のタスクにおいて、入力画像から enocode された特徴量とカメラ空間上の z 軸方向での depth 値に対して、メッシュ表面の内側にあるか外側にあるかを分類する implicit function を適用することで、1枚の入力画像からの品質の高い3D再構成メッシュと任意のトポロジーでの3D再構成を実現する PIFu [pixel-aligned implicit function] のアーキテクチャを提案。また、任意のトポロジーに対しての頂点カラーでのテクスチャー推論も実現している。

2. 先行研究と比べてどこがすごいの?

  • 既存の DNN を活用した image-to-3D モデルでは、単一の画像からの3D再構成品質が低く、また3D再構成可能なトポロジーが限定的である問題が存在した。
    本手法では、入力画像から enocode された特徴量とカメラ空間上の z 軸方向での depth 値に対して、メッシュ表面の内側にあるか外側にあるかを分類する implicit function を適用することで、1枚の入力画像からの品質の高い3D再構成メッシュと任意のトポロジーでの3D再構成を実現する PIFu [pixel-aligned implicit function] のアーキテクチャを提案している。
  • この implicit function の出力としてメッシュの各頂点カラーを出力することで、任意のトポロジーに対しての頂点カラーでのテクスチャー推論も実現している(※ UV テクスチャーマッピングによるテクスチャーマッピングではなく、頂点カラーでのテクスチャー推論)
  • 本手法のアーキテクチャは、single-view な入力画像(=1枚の入力画像)と multi-view な入力画像(=複数視点からのn 枚の入力画像)の両方に対応している。multi-view な入力画像が与えられてるときは、更に品質の高い3D再構成が実現出来る。

3. 技術や手法の"キモ"はどこにある?

  • アーキテクチャの全体像

    上図は、本手法でのアーキテクチャの全体像を示した図である。
    本手法のアーキテクチャは、以下の主要コンポーネントで構成される。

    1. PIFu for Surface Reconstruction
      画像 encoder で encode した入力人物画像に対して、implicit function でメッシュ表面の内側にあるか外側にあるかの分類確率を学習&推論し、その後メッシュの等値面 [iso-surface] を算出することで入力画像を3D再構成する。

    2. Tex-PIFu for Texture Inference
      画像 encoder で encode した入力人物画像に対して、implicit function でメッシュ表面3D頂点位置での RGB 値(頂点カラー)を学習&推論することで、任意のトポロジーに対してテクスチャー推論が実現出来る。

    3. single-view と multi-view への対応
      本手法のアーキテクチャは、single-view な入力画像(=1枚の入力画像)と multi-view な入力画像(=複数視点からのn 枚の入力画像)の両方に対応している。
      multi-view な入力画像が与えられてるときは、更に品質の高い3D再構成が実現出来る。

  • implicit function
    implicit function とは、Occupancy Networks などでも提案されている関数で、
    3D空間上のメッシュの各頂点に対して、その頂点がメッシュ表面の内側にあるか外側にあるかの分類確率を出力する関数のことである。この implicit function を利用してメッシュの等値面を算出することにより、メッシュ表面の詳細(細かな凹凸など)の3D再構築が実現できるようになる。

    PIFu での implicit function は、メッシュ再構成のための implicit function とテクスチャー推論のための implicit function が存在するが、これらを一般化すると以下の式のように定義される。
    ※ 入力画像から enocode された特徴量 F とカメラ空間上の z 軸方向での depth 値 z に対しての implicit function になっている点に注意

    入力人物画像の大域的な特徴量ではなく、入力人物画像のピクセルアライメントされた特徴量をもつ3D空間上の implicit function を学習している点に注目。
    これにより、任意のトポロジーに対してメモリ効率よく3D再構成を実現することが出来る?

  • Single-view Surface Reconstruction

    メッシュ表面を3D再構成するための PIFu での implicit function f_v の具体的は形は、以下の式で定義される。
    ※ 画像 encoder のネットワーク構成としては、stacked hourglass ネットワークが採用されている。

    この implicit function f_v は、以下の式のような MSE loss で定義される損失関数で学習が行われる。

    実際のメッシュ表面(=等値面 [iso-surface] )は、下図のように、この implicit function の値が 0.5 になる領域で定義される。
    そして、implicit function で密にサンプリングされた確率場から、この 0.5 での等値面 [iso-surface] を Marching Cube アルゴリズムで算出し、メッシュを生成する。

    implicit function での n 個のサンプリング点として、どのようなサンプリング点を選択するかは重要な事柄の1つである。
    即ち、3D空間を一様にサンプリングすれば、大部分のサンプリング点がメッシュ表面と離れてしまい、ネットワークが不必要なサンプリング点で過度に学習してしまう。
    一方で、メッシュ表面周辺のみでサンプリングすれば、ネットワークが過学習してしまう。

    そのため、本手法では、一様サンプリングとメッシュ表面周辺サンプリングを組み合わせた適合的サンプリング [adaptive sampling] を行う。
    この適合的サンプリングは、具体的には以下の手順で行われる。

    1. まずメッシュ表面上の点をランダムにサンプリングする
    2. 3D空間の (x,y,z) 軸に対して、正規分布 N(0,δ=5cm) のオフセットを加え、メッシュ表面位置を変化させながらサンプリングする。
    3. 上記でサンプリングされたメッシュ表面&表面周辺のサンプリング点と、メッシュ全体の BBOX 内で一様サンプリングされたサンプリング点とを、16 : 1 の比率で混合する。
  • Texture Inference

    画像 encoder で encode した入力人物画像に対して、implicit function f でメッシュ表面3D頂点位置での RGB 値(頂点カラー)を学習&推論することで、任意のトポロジーに対してテクスチャー推論が実現出来る。
    ※ UVテクスチャーマッピングによるテクスチャー推論ではなく、RGB 頂点カラーでのテクスチャー推論であることに注意
    ※ Texture Inference での 画像 encoder のネットワーク構成としてはは、CycleGAN のネットワークが採用されている。

    Texture Inference での implicit function f_c は、以下の式のように、L1 loss での損失関数で学習される。

  • Multi-View への対応

    本手法のアーキテクチャは、single-view な入力画像(=1枚の入力画像)と multi-view な入力画像(=複数視点からのn 枚の入力画像)の両方に対応している。
    multi-view な入力画像が与えられた場合の処理は、以下のような処理になり、更に品質の高い3D再構成が実現出来る。

    1. implicit function f を2つの写像 f_1, f_2 に分解する。

    2. 1つ目の写像 f_1 は、i 番目の視線(i=1~n)からの画像特徴量 F_i (x_i ) と depth 値 z_i を encode する関数であり、これによりこれらの情報を集約した潜在特徴量 Φ_i が得られる

    3. n 個の異なる視点からの潜在特徴量 Φ_i (i=1,2,…,n) を average pooling で平均化して集約する

    4. 2つの写像 f_2 は、メッシュ再構成のための implicit function or テクスチャー推論のための implicit function である。
      メッシュ再構成のための implicit function の場合は、集約された潜在特徴量 Φ ̅ から、メッシュ表面の内側 or 外側占有確率を出力する。
      テクスチャー推論のための implicit function の場合は、集約された潜在特徴量 Φ ̅ から、頂点カラー RGB 値を出力する。

4. どうやって有効だと検証した?

  • 本手法での3D再構成とテクスチャー推論の定性的品質検証

    1枚の入力人物画像から様々なトポロジーに対して、メッシュの3D再構成とテクスチャー推論が実現出来ている。

  • 既存の image-to-3D モデルとの定性的な3D再構成品質比較

    既存のモデルと比較して、本手法では、品質の高い3D再構成が実現出来ている。

  • 既存のモデルとの定性的なテクスチャー推論品質比較

    既存のモデルと比較して、本手法では、品質の高いテクスチャー推論が実現出来ている。

5. 議論はあるか?

  • 人物以外の一般的なオブジェクト単体(衣装など)に対しても3D再構成可能?
  • 3Dメッシュ再構成だけでなくテクスチャー推論も行えるが、UVテクスチャーマッピングによるテクスチャー推論ではなく、RGB 頂点カラーでのテクスチャー推論であることに注意
  • implicit function を image-to-3D タスクに適用するにあたって、画像 encoder で encode した入力画像特徴量とカメラ空間上での z 軸方向の depth 値の両方で、implicit function を計算しているのがポイントの1つ

6. 次に読むべき論文はあるか?

  • xxx

7. 参考文献

  • xxx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant