LoginSignup
5
1

More than 1 year has passed since last update.

論文まとめ:Neural Body: Implicit Neural Representations with Structured Latent Codes for Novel View Synthesis of Dynamic Humans

Last updated at Posted at 2022-04-09

はじめに

CVPR2021より以下の論文
[1] S. Peng, et. al. Neural Body: Implicit Neural Representations with Structured Latent Codes for Novel View Synthesis of Dynamic Humans. CVPR2021
のまとめ

概要

  • 複数視点からの画像から人の3次元再構成を行うしくみ
  • 人のポリゴンモデル SMPL を用いる
  • フレームにわたってパラメータを共有するところが特長的

手法

全体像

スクリーンショット 2022-04-09 2.44.30.png

外観すると、複数方向の画像からSMPLモデルの頂点群を生成し、それをvoxel的に拡散させる。そこから線形な内挿で点をサンプリングし、そこにおける密度とカラーを推定する。それらから画像上にレンダリングする。

$c \in N_c$: カメラのindex。
$t\in N_t$: フレームのindex。
として、ビデオの各フレームを

\{ \mathcal{I}^c_t | c = 1, \ldots, N_c, t=1, \ldots, N_t \}

とする。

step1 Structured latent codeの作成

まずあるフレーム t の複数カメラからの画像を用いて、[2]のSMPLモデルを推定する。以下は複数カメラの様子。(著者らのproject page[4]より)

スクリーンショット 2022-04-10 4.29.49.png

この推定には[3]のTotal Captureの仕組みを使っている。以下は[3]のFigure2。

スクリーンショット 2022-04-09 3.17.50.png

論文ざっくりしか読んで無いので推測だが、複数カメラからの画像から、まず(a)のキーポイント、(b)のpoint cloudを推定する。次にそれらから最適化手法でSMPLを推定する。ちなみにこの論文の最大のテーマはbodyのみならず、手や顔の詳細なモデルを同時に推定するところだが、本論文[1]ではbodyのみ利用している(ハズ)。

この推定によってSMPLのパラメータ($S_t$)であるshape, pose, rootのtransformが求まる。

SMPLモデルにおいてはメッシュの頂点は6,890個存在する。

\mathcal{Z} = \{ {\bf \mathcal{z}}_1, {\bf \mathcal{z}}_2, \cdots, {\bf \mathcal{z}}_{6890} \}

これらはpose, shape, transformからの演算で求まる。

以上をまとめると、こんな感じか。

スクリーンショット 2022-04-10 1.56.25.png

step2 code diffusion

上記で生成されたSMPLモデルのポリゴン頂点群を 5mm x 5mm x 5mm voxelに変換する。voxelの中に頂点があればその値、複数あれば平均値とする処理を行う。

そうすると、かなりスパースなものができあがるので、3D系のconv層でたたみ込んで値を拡散させる。このときにSparse-convolutionを用いる。

たたみ込んだvoxelはlatent code $\psi ({\rm x}, \mathcal{Z}, S_t)$ を持つようにする。図にするとこんな感じか。

スクリーンショット 2022-04-10 2.42.32.png

空間上の任意の点におけるlatent codeの値は3次元で線形に内挿して求める。

step3 Density and color regression

latent code $\psi ({\rm x}, \mathcal{Z}, S_t)$ から密度とカラーの推定をニューラルネットで行う。

まず密度は4層のMLP $M_{\sigma}$ を使う。

\sigma_t ({\rm \bf x}) = M_{\sigma} (\psi ({\rm \bf x}, \mathcal{Z}, S_t)) \tag{1}

$\mathcal{r}_{\rm \bf d} ({\rm \bf d})$: directionをエンコードしたもの
$\mathcal{r}_{\rm \bf x} ({\rm \bf x})$: 位置をエンコードしたもの
${l}_t$: フレーム t 特有の情報を128次元にエンコードしたもの
として、カラーは2層のMLP $M_{c}$ を使う。

{\rm \bf c}_t ({\rm \bf x}) = M_c (\psi ({\rm \bf x}, \mathcal{Z}, S_t), \mathcal{r}_{\rm \bf d} ({\rm \bf d}), \mathcal{r}_{\rm \bf x} ({\rm \bf x}), l_t) \tag{2}

スクリーンショット 2022-04-10 5.03.09.png

step4 rendering

NeRF論文と同様に、サンプリングしてレンダリングする。

\begin{eqnarray}
\hat{C}_t({\rm r}) &=& \sum^{N_i}_{k=1} T_k (1- \exp{(-\sigma_t({\rm \bf x}_k)\delta_k)) {\rm \bf c}_t ({\rm \bf x}_k)} \tag{3} \\
&where& \ T_k = \exp{\left(- \sum^{k-1}_{j-1} \sigma_t({\rm \bf x}_j) \delta_j \right)} \tag{4}

\end{eqnarray}

各変数はNeRF論文と同様。

loss

lossはレンダリングした画像上のRGB値に関するもののみ。

L = \sum_{{\rm \bf r} \in \mathcal{R}} \| \hat{C} ( {\rm \bf r}) - C ({\rm \bf r}) \|^2_2 \tag{6}

ZJU-MoCap datasetを用いた実験と結果

ZJU-Mocap datasetとは

著者らは新たに ZJU-MoCap datasetというものを作成した。これの概要は以下

  • 9つのビデオからなり、それぞれ人がパンチやキックをしたり、ぐるぐる回ったり、手を振り回したりと、種々の動作をしている
  • これを21個のビデオカメラから同時に撮影している
  • 21個のカメラのうちtrainigとして4つを用い、残りをtest用としている
  • 各ビデオは60から300フレーム

このデータは著者らのgithubページから辿っていくとフリーで入手できる。

メトリクス

定量的評価のメトリクスは以下の2つ

  • peak signal-to-noise ratio(PSNR)
  • structural similarity index(SSIM)

比較対象

定量的評価の比較対象は以下のモデル

  1. Neural Volumes [5]
  2. Neural Textures [6]
  3. NHR [7]

定量的評価

PSNR, SSIMで上記3モデルと比較した結果は以下。

スクリーンショット 2022-04-16 2.57.05.png

各rowはビデオの行動。どの行動においてもPSNR, SSIMいずれも最も精度がよい。

定性的評価

test dataに対する定性的表以下は以下。比較対象は上記3モデル+NeRF。

スクリーンショット 2022-04-16 3.05.09.png

いいとこのtest dataを引っ張ってきたにせよ、これを見る限り、本手法が最も精度がよい。

3D reconstructionの定性的評価

以下の手法と比較した。

  1. COLMAP
  2. DVR
  3. PIFuHD
    PIFuHDに関しては拙著
    https://qiita.com/masataka46/items/d717a9d57eaa44ea197d
    など参照。

1と2はそもそも人の形状がまともに再構築できなかった。よって以下の図ではPIFuHDとの比較のみ。

スクリーンショット 2022-04-16 3.31.21.png

本手法では推定したneural radiance fieldsをvoxel化し、それをmarching cubes algorithmでメッシュ化している。

この図を見る限り、PIFuHDよりも精度がよさげ。

reference

[2] Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, and Michael J Black. Smpl: A skinned multi-person linear model. ACM TOG, 2015.

[3] Hanbyul Joo, Tomas Simon, and Yaser Sheikh. Total cap- ture: A 3d deformation model for tracking faces, hands, and bodies. In CVPR, 2018.

[4] https://zju3dv.github.io/neuralbody/

[5] Stephen Lombardi, Tomas Simon, Jason Saragih, Gabriel Schwartz, Andreas Lehrmann, and Yaser Sheikh. Neural volumes: Learning dynamic renderable volumes from images.In SIGGRAPH, 2019.

[6] Justus Thies, Michael Zollho ̈fer, and Matthias Nießner. Deferred neural rendering: Image synthesis using neural textures. ACM TOG, 2019.

[7] Minye Wu, Yuehao Wang, Qiang Hu, and Jingyi Yu. Multi-view neural human rendering. In CVPR, 2020.

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1