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

TexMesh: Reconstructing Detailed Human Texture and Geometry from RGB-D Video #96

Open
Yagami360 opened this issue Aug 27, 2020 · 2 comments

Comments

@Yagami360
Copy link
Owner

Yagami360 commented Aug 27, 2020

0. 論文情報・リンク

  • 論文リンク:https://arxiv.org/abs/2008.00158
  • 公開日時:2020/08/01
  • 組織 :
  • 被引用数(記事作成時点):0 件
  • 実装コード:なし
  • Publication : ECCV 2020

1. どんなもの?

  • 動画中の RGB-D 画像フレームを入力として、アベルド画像・法線マップ・ライト情報などを活用した AlbeNorm・TexGen・MeshRef と呼ばれるの3つの処理を行うことで、背面などの異なる視点でのメッシュやテクスチャーの3D再構成品質の向上やレンダリング画像におけるライトの光源再現を実現した video-to-3D 手法

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

  • 既存の video-to-3D モデルや image-to-3D モデルでは、特に背面などの目に見えない箇所でのメッシュの詳細品質やテクスチャーの品質に課題が存在する。また、ライトを考慮していないので、レンダリング画像における光源再現にも課題が存在する。
    本手法では、動画中の RGB-D 画像フレームを入力として、アベルド画像・法線マップ・ライト情報などを活用した AlbeNorm・TexGen・MeshRef と呼ばれるの3つの処理を行うことで、背面などの目に見えない箇所での人物メッシュやテクスチャーの品質を向上させ、またレンダリング画像における光源再現も実現している。

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

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

    上図は、本手法でのアーキテクチャの全体像を示した図である。
    このアーキテクチャには、{Albedo and Normal Estimation [AlbeNorm]・Texture Generation [TexGen]・Mesh Refinement [MeshRef]}3つの主要コンポーネントが存在する。

    1. AlbeNorm [Albedo and Normal Estimation]
      動画中の RGB 人物画像と球面調和関数 [Spherical Harmonics] で表現されたライト情報を入力として、アベルド画像(=ディフューズ画像)と法線マップを出力することで、3D再構成メッシュのテクスチャーとジオメトリ情報を推定する。
      ※ 球面調和関数で表現された照明 : 論文「An efficient representation for irradiance envi- ronment maps」

    2. TexGen [Texture Generation]
      上記 AlbeNorm で出力したアベルド画像の動画フレームを選択し、そこから高解像度のテクスチャーマップを生成する。

    3. MeshRef [Mesh Refinement]
      RGB-D (人物画像+深さマップ)トラッキング?でのパラメディック人体モデルから得られる荒いメッシュと
      AlbeNorm で生成した法線マップから、洗練されたメッシュを生成する。

  • AlbeNorm [Albedo and Normal Estimation]
    入力画像から直接テクスチャーマップを生成すると、入力画像におけるシェーディング効果がテクスチャーマップにはみ出てしまう。アベルド画像にはこのようなシェーディング効果が入っていないので、このアベルド画像を用いれば高解像度のテクスチャーマップを生成することが出来る。

    また法線マップは、メッシュの詳細なジオメトリを復元するためのアシスト情報になるだけでなく、
    ライトと一緒にレンダリングすることで、シェーディングによるレンダリング画像を生成するためにも使用出来る。
    ※ 余計なシェーダー(Lambertian materials, cast shadowsなど)がない場合のシェーディングを前提とした話

    そのため本手法では、まず入力人物画像に対するアベルド画像と法線マップを生成することを考える。
    具体的には、CNN ベースのアーキテクチャで、{入力人物画像・球面調和関数で表現されたライト情報}からアベルド画像と法線マップの生成を学習&推論する。
    ※ この AlbeNorm でのネットワークの具体的な構造は、Unet とよく似た構造

    ネットワークの損失関数は、以下の式のように、
    正解アベルド画像と生成アベルド画像間での L1 loss と正解法線マップと生成法線マップ間での L1 lossの線形結合定義される。

    ここで、レンダリング後のメッシュテクスチャーの色や質感を忠実に再現するには、アベルド画像と法線マップが対応したものでなくてはならない。(※ 今の場合、アベルド画像から生成される高解像度のテクスチャーマップと法線マップを用いてレンダリングすることを考えているので)

    しかしながら、単純に今の構成でリアル画像で推論した場合は、学習用データと推論時に使用するリアル画像のギャップ故に、
    上図のように、レンダリングされた画像 (g) は、元の画像 (a) のような外観にはならないという問題が存在する。

    そのため本手法では、以下のような後処理を行っている。

    1. 法線マップ (b) から、シェーディング (c) を推定する
    2. 入力画像 (a) とシェーディング (c) から、アベルド画像 (e) を推定する。
    3. アベルド画像 (e) から色情報をとってきて、推定したアベルド画像 (d) を補正し、最終的なアベルド画像 (f) を得る。
      → この部分の後処理の詳細がよく分からなかった。
  • TexGen [Texture Generation]

    TexGen では、上記 AlbeNorm で出力したアベルド画像のフレームを選択し、そこから高解像度のテクスチャーマップを生成する。TexGen での処理は、以下のようなサブ処理で構成されている。

    • UV Mapping

      本手法では、コンピューターグラフィックの分野で一般的に使われている UV マッピングでテクスチャーマッピングを行う。
      そのためのテクスチャーマップの生成は、上図のように、入力人物画像ではなくアベルド画像を元に行われる。
      ※ 入力人物画像で行うと、シェーディング効果がテクスチャーに漏れ出てしまうため

      この際に上図のように、アベルド画像をサンプリングし可視性マスク画像でマスキングすることにより、不要な部分を黒塗りつぶししたテクスチャーマップを得る処理を行っている。

    • Key Frame Selection

      短い動画フレームから適切な(=色々な角度からの)アベルド画像のフレームを少数個(K個)選択する。
      上図は、このような適切なフレームの選択による効果を示した図である。
      適切なフレームを複数枚選択してテクスチャーマップすると品質が向上していることがみてとれる

    • Texture Refinement CNN
      Key Frame Selection で選択された複数のアベルド画像に対しての可視性マスク画像でマスキングされたテクスチャーマップ(=部分的なテクスチャーマップ)は、各フレームでの重みで加重平均され、荒いテクスチャーマップを得る

      この荒いテクスチャーマップは、CNN ベースのネットワーク(Texture Refinement CNN)で洗練されたテクスチャーマップへと変換される。
      ※ この Texture Refinement CNN ネットワークの具体的な構造は、Unet とよく似た構造

      このネットワークの損失関数は、以下の式のように定義される

      ※ adaptive robust loss function : 論文「A general and adaptive robust loss function」で提案されている損失関数で、1つのパラメーターを調整するだけでL2を始めとした様々なコスト関数を表現できる汎用的な損失関数

  • MeshRef [Mesh Refinement]

    MeshRef では、RGB-D カメラからの3Dトラッキングでのパラメディック人体モデル(論文「Dynamic high resolution deformable articulated tracking」)から得られる荒いメッシュと、AlbeNorm からの法線マップを入力として、洗練された人体メッシュを生成する。

    この際に、上図のように、VGG ネットワークで enocode した法線マップと荒い人体メッシュの頂点情報を、UV 座標空間に変換し、この UV マップからの情報でメッシュの洗練する処理を行っている?
    ※ この方法は、人体メッシュの形状推定における UV 空間利用の有用性を示した論文「Tex2shape: Detailed full human body geometry from a single image 」にインスパイアされた方法
    → この UV マップを活用したメッシュの洗練処理の詳細が理解できていない。別途 Tex2shape の論文を読む必要がありそう。

    • Supervised Training on Synthetic Images
      この MeshRef でのネットワークは、まず教師信号ありの学習用データで事前学習される。
      この教師あり学習は、以下の損失関数で行われる。

    • Self-supervised Training on Real Video Data
      この教師あり学習のみでは、学習用データと推論用データ(リアルデータ)間のドメインギャップにより、品質の高い3D最高性が行えないために、自己教師あり学習 [Self-supervised Training] を行う。
      この自己教師あり学習は、以下の損失関数で行われる。
      ※ 学習用データの教師信号を使っていない点に注目

  • Deformation Propagation Loss

    本手法では、ある動画フレームからは見えないメッシュ頂点を3D再構成するために、前述の Key Frame Selection で適切な複数フレームを選択し、それらから見えないメッシュ頂点を見つけてメッシュ変形を伝搬させる処理を行っている。
    しかしながら、元のソースフレームと対象フレームでの人物姿勢は異なるポーズになっているケースが存在するので、この処理だけでは全体的なメッシュ形状をうまく変形できない。

    そのため本手法では、上図 (7) のような local tangent space でのメッシュ変形手法も採用している。
    上図 (8) は、このメッシュの変形での効果を示した図である。
    ソースフレームとターゲットフレームでの人物姿勢が異なる場合でも、うまくメッシュ生成出来ている。

  • 【補足】アベルドマップ / アベルドテクスチャー [albedo map/ albedo texture]

    アベルドとは、厳密には「受けた光をどれだけ反射するか」の係数のことであるが、
    レンダリング後の見た目上は、メッシュの diffuse 色とほぼ同様の意味になる。
    この論文でのアベルドマップ ・アベルドテクスチャーは、diffuse マップのことと捉えて問題ない。
    ※ diffuse 色がオブジェクト自体の色。アベルドが各色の反射率。レンダリングすると diffuse 色とアベルドの値が同じになる

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

  • 既存の image-to-3D モデルとの生成メッシュ(テクスチャーマップなし)での定性比較検証

    既存のモデルと比較して、本手法(上図緑)での3D再構成メッシュでは、背面などの目に見えない領域での品質が最も高くなっている。

  • レンダリング画像(メッシュ+テクスチャーマップ)での定性的品質検証

    背面などの異なる視点からのメッシュやテクスチャーに関しても、品質の高い3D再構成が実現出来ている。

  • ライト再配置によるライティング効果の定性的品質検証

    本手法では、ライトの位置や種類を再配置して、レンダリングしなおすといったことも実現出来る。

5. 議論はあるか?

  • xxx

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

  • Dynamic high resolution deformable articulated tracking
  • 人体メッシュの形状推定における UV 空間利用の有用性
    • Tex2shape: Detailed full human body geometry from a single image
  • 損失関数 / robust perceptual loss function
    • A general and adaptive robust loss function

7. 参考文献

  • xxx
@88ili88
Copy link

88ili88 commented Feb 1, 2022

Is there any code avalible?

@WenjiaR
Copy link

WenjiaR commented Feb 24, 2022

Is the code of this paper still unavailable?

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

3 participants