Share
Embed
CVPR2021読み会スライド
第7回全日本コンピュータビジョン勉強会での輪読会資料です。
・NeRF
・NeRF in the Wild
・GIRAFFE
の3つについて紹介しています。
Daigo HIROOKA
July 31, 2021
Transcript
55 slides
-
自己紹介 • 廣岡大吾 ◦ Twitter:dhirooka (@daigo_hirooka) • 機械学習エンジニア@ BrainPad ◦
関心:Deep LearningとMLOps • その他 ◦ GoProがタンスで眠っています ◦ 白金鉱業.FM (@shirokane_fm) Podcastで配信中! 2 -
紹介論文:NeRF in the Wild, GIRAFFE • NeRFの勉強として ◦ NeRF Explosion
2020 • デモが面白い ◦ NeRF in the Wild ◦ GIRAFFE 3 NeRF in the Wild -
NeRF(Neural Radiance Field)とは View Synthesis:物体の見え方を計算する手法の一つ • 前処理:Structure-from-Motionによって各画像のカメラパラメータを計算 ◦ カメラパラメータ:各撮影の位置や焦点距離など •
学習:NeRFのモデルを学習 • 推論:指定した視点からの見え方を計算する 4 -
NeRF:構成要素②:ピンホールカメラモデル • 3D座標とピクセル座標の関係を表すモデル ◦ NeRFにおけるレンダリング上の仮定 ◦ Camera ray:カメラの位置からピクセルへの半直線 7 OpenCV:
Camera Calibration and 3D Reconstruction camera ray -
NeRF:構成要素②:ピンホールカメラモデル • 3D座標とピクセル座標の関係を表すモデル ◦ NeRFにおけるレンダリング上の仮定 ◦ Camera ray:カメラの位置からピクセルへの半直線 • ピクセルに対応する
camera ray上で、Radiance Fieldによって色と密度を評価する 8 -
NeRF:構成要素③:ボリュームレンダリング • ボリュームレンダリングによるピクセル値の計算 ◦ Camera ray上の色c・密度σの積分 ◦ 実装上は数値積分によって計算 13 Camera
ray rに対応する ピクセル値 点iより手前の透過 点iの不透明度 密度σ大で1に近づく 点iの色 点iの3D座標 N等分した各区間から uniform sampling -
NeRF:学習 • シーンの全画像から複数の camera ray(=ピクセル)をミニバッチとしてサンプリング ◦ 各camera ray上で評価点をサンプリング ◦ 各評価点をRadiance
Fieldに入力して、色・密度を得る ◦ ボリュームレンダリングによってピクセル値を得る • ピクセル値の二乗誤差で学習 14 -
NeRF:実装上の工夫②:Hierarchical Sampling • N等分区間からの一様サンプリングは無駄が多い ◦ 何もない位置 ◦ 視点奥の直接見えない位置 • Hierarchical
Sampling ◦ まずN等分区間から評価点の一様サンプリングを行う ◦ 各評価点の密度に基づいて、再度サンプリングを行う ◦ ピクセル描画に重要な領域にフォーカスする 17 視点手前の物体を重視 何もない 直接 見えない -
NeRF:実装上の工夫②:Hierarchical Sampling • Coarse, Fineの2モデルを用意する • Hierarchical Samplingを用いた推論 ◦ 等分区間からNc個の評価点をサンプリング
◦ Coarseモデル:Nc個の評価点の色・密度を計算 ◦ 区間を重み付けして再度 Nf個の評価点をサンプリング ◦ Fineモデル:Nc+Nf個の評価点の色・密度を計算 • Hierarchical Samplingを用いた学習 ◦ Coarse, Fineモデルそれぞれで ピクセル値の二乗誤差を学習 18 Coarseモデルの 二乗誤差 Fineモデルの 二乗誤差 -
NeRF:まとめ • アーキテクチャ ◦ Radiance Field:位置・角度→色・密度の関数 ◦ ボリュームレンダリングによって camera rayから色を計算
• 既存の多くのモデルよりも高精細なレンダリングが可能 • 全結合層のみで構成されており軽量、効率よくシーン情報を保持できている 19 -
NeRF in the Wild:概要 • NeRF(オリジナル)の仮定 ◦ 基本的に同じシーンを異なる角度から撮った画像 ◦ 光の当たり方の違いや物体の写り込みは想定外
• NeRF in the Wild(NeRF-W) ◦ 画像の環境を明示的にモデル化 ▪ 見た目(appearance) ▪ 一時的な物体(transient object) ◦ 多様な環境の画像に対して 柔軟にNeRFを学習可能(=in the wild) ◦ Appearanceを調整した生成も可能 21 NeRF-Wの学習画像例 -
NeRF-W:Optimize • NeRFと同様にCoarse, Fineの2モデルを用意 • Coarseモデル:staticパートのみからピクセル値計算、二乗誤差 • Fineモデル:transient objectの不確実性βを考慮 ◦
あいまいなピクセルにおける損失を軽減する ◦ 過剰にtransient objectとして扱わないための正則化 26 Coarseモデル の損失 Fineモデル の損失 正規分布の 負の対数尤度 正則項 -
NeRF-W:Optimize • Appearance, Transientベクトルの学習 ◦ GLO(Generative Latent Optimization)を利用 ◦ 各画像と対応して保持しておき、勾配法によってパラメータと並行して更新する
◦ [1707.05776] Optimizing the Latent Space of Generative Networks 27 -
NeRF-W:Experiments • Setting ◦ Phototourism datasetから6つのシーンを抽出 ◦ 各シーンで学習、評価 • Evaluation
◦ シーンの画像群をtrain, testに分け、test視点での生成性能を評価する ◦ 評価指標:PSNR、MS-SSIM、LPIPS ▪ LPIPS:The Unreasonable Effectiveness of Deep Features as a Perceptual Metric ◦ テスト画像のAppearanceベクトル ▪ 画像左半分によって最適化、右半分で評価 28 -
NeRF-W:Quantitative Results • 定量的に優れた生成性能 ◦ NeRF-A:Appearanceベクトルのみ ◦ NeRF-U:Transientベクトルのみ • LPIPSは一部NRW(Neural
Rendering in the Wild)が優れている ◦ LPIPSはadversarial, perceptual lossを良く評価しやすいため 29 -
NeRF-W:Qualitative Results • Fig.6:Depth mapの可視化 ◦ Transient objectsが存在しても 従来のNeRFより安定して学習できている •
Fig.8:Appearanceベクトルの補間 ◦ シーンの環境を操作できている 31 -
NeRF-W:まとめ • Limitation ◦ 映る頻度が少ない領域は捉えづらい ◦ カメラ姿勢のキャリブレーションが 失敗が生成にも影響する (従来のNeRFと同じ) •
Conclusion ◦ 画像ごとのappearance, transient objectsをモデル化することで、多様な環境の画像群 (=in-the-wild data)からNeRFの学習が可能になった ◦ 定量・定性の両面で優れた視点生成が可能になった 32 -
GIRAFFE:概要 • 目標:Compositional 3D representation for controllable synthesis ◦ 背景や物体の組み合わせ
によってシーンを表現 ◦ 物体の配置や角度、視点など 様々な要素を調整して描画 ◦ GIRAFFE: Project Page 34 -
GIRAFFE:概要 • アプローチ ◦ 複数の物体+背景によってシーンをモデリング ◦ 3D空間上の色ではなく特徴ベクトルによってボリュームレンダリング ◦ 敵対的学習を利用 •
注目ポイント:Disentanglement emerges without supervision ◦ アーキテクチャによるバイアスのみで、物体や背景の表現を学習できた ◦ →物体だけ、背景だけなどの詳細なシーンコントロールが可能 35 -
• カメラの位置と向きをサンプリング ◦ Camera rayの扱いやpositional encodingはNeRFと同様 GIRAFFE:アーキテクチャ 39 カメラの位置と向き •
d:camera rayの向き • x:評価点の位置 • γ:positional encoding -
GIRAFFE:アーキテクチャ:Neural Feature Field 41 • NeRFとは異なり、色ではなく特徴ベクトルを返す field function ◦ 入力:位置、向き、物体or背景のshape,
appearanceベクトル ◦ 出力:特徴ベクトル、密度 ◦ 物体用と背景用の2つのfield functionを使い分け Object Feature Field Background Feature Field -
GIRAFFE:アーキテクチャ:まとめ 46 N-1個の物体+背景の • zs:shapeベクトル • za:appearanceベクトル • T:配置(affine)パラメータ カメラの位置と向き
• d:camera rayの向き • x:評価点の位置 • γ:positional encoding N-1個の物体+背景の • hθ:feature field function • f:評価点における特徴量 • σ:評価点における密度 • C:各物体の特徴量・密度の統合 ボリュームレンダリング CNNによって特徴マップを 画像へ変換 -
GIRAFFE:学習 • 画像生成に対する敵対的学習を行う ◦ Generator:前述のレンダリングパイプライン ▪ 特徴マップの解像度は 16x16、Neural Rendering(CNN)によって拡大 ◦
Discriminator:DCGANベースのCNN • 損失関数 ◦ 一般的なnon-saturating GAN objective+R1 gradient penalty 47 -
GIRAFFE:Comparison to Baseline Methods • FID(Frechet Inception Distance)による生成品質の評価 ◦ 64×64,
256×256の2つの解像度 ◦ 既存の画像生成手法よりも精細な生成が可能 ◦ ※GRAF(Generative NeRF)は筆者らの先行手法 51 -
GIRAFFE:Comparison to Baseline Methods • パラメータ数も既存手法より少ない • 推論(生成)速度 ◦ 低解像度の特徴マップを拡大することで
GRAF(直接画像をレンダリングする) よりも推論速度向上 ◦ 64×64:110.1ms/枚→4.8ms/枚 ◦ 256×256:1595.0ms/枚→5.8ms/枚 52 -
GIRAFFE:Limitations • データセットのバイアスによる disentangleの失敗 ◦ 例:CelebA-HQ:顔の向きを変えても 全てカメラ目線の画像が生成される • カメラ姿勢や物体の配置位置のミスマッチによる disentangleの失敗
◦ 例:Churches, CompCars:背景と物体の表現が分離できていない 53 -
GIRAFFE:まとめ • 目標:Compositional 3D representation for controllable synthesis • アプローチ
◦ 物体・背景などシーンの構成要素を明示的にモデリング ◦ 色ではなく特徴量でボリュームレンダリング ◦ 敵対的学習 • 結果 ◦ 教師なしで物体・背景の表現分離を獲得 ◦ Controllableなシーン生成が可能になった ◦ 定量的にも既存手法より優れている 54 -
References • 論文 ◦ NeRF: Neural Radiance Fields ◦ NeRF
in the Wild ◦ GIRAFFE: Representing Scenes as Compositional Generative Neural Feature Fields • その他 ◦ OpenCV: Camera Calibration and 3D Reconstruction ◦ Richard Szeliski, コンピュータビジョン アルゴリズムと応用 , 共立出版, 2013. ◦ 金谷健一, 菅谷保之, 金澤靖, 3次元コンピュータビジョン計算ハンドブック , 森北出版, 2016. 55