Save 37% off PRO during our Black Friday Sale! »

CVPR2021読み会スライド

 CVPR2021読み会スライド

第7回全日本コンピュータビジョン勉強会での輪読会資料です。
・NeRF
・NeRF in the Wild
・GIRAFFE
の3つについて紹介しています。

8ba32afb4b7d6967cb38b2dadf1ddd80?s=128

Daigo HIROOKA

July 31, 2021
Tweet

Transcript

  1. 第7回全日本コンピュータビジョン勉強会(後編) Presenter:廣岡大吾

  2. 自己紹介 • 廣岡大吾 ◦ Twitter:dhirooka (@daigo_hirooka) • 機械学習エンジニア@ BrainPad ◦

    関心:Deep LearningとMLOps • その他 ◦ GoProがタンスで眠っています ◦ 白金鉱業.FM (@shirokane_fm) Podcastで配信中! 2
  3. 紹介論文:NeRF in the Wild, GIRAFFE • NeRFの勉強として ◦ NeRF Explosion

    2020 • デモが面白い ◦ NeRF in the Wild ◦ GIRAFFE 3 NeRF in the Wild
  4. NeRF(Neural Radiance Field)とは View Synthesis:物体の見え方を計算する手法の一つ • 前処理:Structure-from-Motionによって各画像のカメラパラメータを計算 ◦ カメラパラメータ:各撮影の位置や焦点距離など •

    学習:NeRFのモデルを学習 • 推論:指定した視点からの見え方を計算する 4
  5. NeRF:構成要素 • ①Radiance Field • ②ピンホールカメラモデル • ③ボリュームレンダリング 5

  6. NeRF:構成要素①:Radiance Field • 「座標xyzが向きθ,Φからどう見える(色c・密度σ)か」の関数 • 全結合NNでモデル化 • NeRFの学習=Radiance Fieldのパラメータの学習 6

  7. NeRF:構成要素②:ピンホールカメラモデル • 3D座標とピクセル座標の関係を表すモデル ◦ NeRFにおけるレンダリング上の仮定 ◦ Camera ray:カメラの位置からピクセルへの半直線 7 OpenCV:

    Camera Calibration and 3D Reconstruction camera ray
  8. NeRF:構成要素②:ピンホールカメラモデル • 3D座標とピクセル座標の関係を表すモデル ◦ NeRFにおけるレンダリング上の仮定 ◦ Camera ray:カメラの位置からピクセルへの半直線 • ピクセルに対応する

    camera ray上で、Radiance Fieldによって色と密度を評価する 8
  9. NeRF:構成要素③:ボリュームレンダリング • Camera ray上の色・密度を集約し、ピクセル値を得る • 全てのピクセルで実行することで、全体の画像を得る 9

  10. NeRF:構成要素③:ボリュームレンダリング • ボリュームレンダリングによるピクセル値の計算 ◦ Camera ray上の色c・密度σの積分 ◦ 実装上は数値積分によって計算 10 Camera

    ray rに対応する ピクセル値 点iの色
  11. NeRF:構成要素③:ボリュームレンダリング • ボリュームレンダリングによるピクセル値の計算 ◦ Camera ray上の色c・密度σの積分 ◦ 実装上は数値積分によって計算 11 点iの不透明度

    密度σ大で1に近づく
  12. NeRF:構成要素③:ボリュームレンダリング • ボリュームレンダリングによるピクセル値の計算 ◦ Camera ray上の色c・密度σの積分 ◦ 実装上は数値積分によって計算 12 点iより手前の透過

  13. NeRF:構成要素③:ボリュームレンダリング • ボリュームレンダリングによるピクセル値の計算 ◦ Camera ray上の色c・密度σの積分 ◦ 実装上は数値積分によって計算 13 Camera

    ray rに対応する ピクセル値 点iより手前の透過 点iの不透明度 密度σ大で1に近づく 点iの色 点iの3D座標 N等分した各区間から uniform sampling
  14. NeRF:学習 • シーンの全画像から複数の camera ray(=ピクセル)をミニバッチとしてサンプリング ◦ 各camera ray上で評価点をサンプリング ◦ 各評価点をRadiance

    Fieldに入力して、色・密度を得る ◦ ボリュームレンダリングによってピクセル値を得る • ピクセル値の二乗誤差で学習 14
  15. NeRF:実装上の工夫 • Positional Encoding • Hierarchical Sampling 15

  16. NeRF:実装上の工夫①:Positional Encoding • Radiance Fieldの入力は位置と角度 • Positional Encodingによって各成分を高次元ベクトルに加工 ◦ 画像の細かい特徴を捉えられるようになった

    16
  17. NeRF:実装上の工夫②:Hierarchical Sampling • N等分区間からの一様サンプリングは無駄が多い ◦ 何もない位置 ◦ 視点奥の直接見えない位置 • Hierarchical

    Sampling ◦ まずN等分区間から評価点の一様サンプリングを行う ◦ 各評価点の密度に基づいて、再度サンプリングを行う ◦ ピクセル描画に重要な領域にフォーカスする 17 視点手前の物体を重視 何もない 直接 見えない
  18. NeRF:実装上の工夫②:Hierarchical Sampling • Coarse, Fineの2モデルを用意する • Hierarchical Samplingを用いた推論 ◦ 等分区間からNc個の評価点をサンプリング

    ◦ Coarseモデル:Nc個の評価点の色・密度を計算 ◦ 区間を重み付けして再度 Nf個の評価点をサンプリング ◦ Fineモデル:Nc+Nf個の評価点の色・密度を計算 • Hierarchical Samplingを用いた学習 ◦ Coarse, Fineモデルそれぞれで ピクセル値の二乗誤差を学習 18 Coarseモデルの 二乗誤差 Fineモデルの 二乗誤差
  19. NeRF:まとめ • アーキテクチャ ◦ Radiance Field:位置・角度→色・密度の関数 ◦ ボリュームレンダリングによって camera rayから色を計算

    • 既存の多くのモデルよりも高精細なレンダリングが可能 • 全結合層のみで構成されており軽量、効率よくシーン情報を保持できている 19
  20. None
  21. NeRF in the Wild:概要 • NeRF(オリジナル)の仮定 ◦ 基本的に同じシーンを異なる角度から撮った画像 ◦ 光の当たり方の違いや物体の写り込みは想定外

    • NeRF in the Wild(NeRF-W) ◦ 画像の環境を明示的にモデル化 ▪ 見た目(appearance) ▪ 一時的な物体(transient object) ◦ 多様な環境の画像に対して 柔軟にNeRFを学習可能(=in the wild) ◦ Appearanceを調整した生成も可能 21 NeRF-Wの学習画像例
  22. NeRF-W:画像環境のモデル化 • Appearance:シーンの天候や時間帯など • Transient Objects:人や車などの一時的な物体 22 オリジナル NeRF Appearance

    Transient Objects
  23. NeRF-W:Appearance Modeling • 画像ごとにappearanceベクトルを用意 • 画像のstatic成分(建物や地面など)の描画に影響 23 オリジナル NeRF Appearance

  24. NeRF-W:Transient Objects Modeling • 画像ごとにtransientベクトルを用意 • 画像のtransient成分(人や物体の写り込みなど)の描画に影響 ◦ 不確実性βを合わせて出力→損失計算に利用 24

    Transient Objects
  25. NeRF-W:ボリュームレンダリング • Static成分とtransient成分をまとめてボリュームレンダリング 25 点kのtransient成分 点kのstatic成分 点kより手前の透過 xの不透明度 (NeRFと同じ)

  26. NeRF-W:Optimize • NeRFと同様にCoarse, Fineの2モデルを用意 • Coarseモデル:staticパートのみからピクセル値計算、二乗誤差 • Fineモデル:transient objectの不確実性βを考慮 ◦

    あいまいなピクセルにおける損失を軽減する ◦ 過剰にtransient objectとして扱わないための正則化 26 Coarseモデル の損失 Fineモデル の損失 正規分布の 負の対数尤度 正則項
  27. NeRF-W:Optimize • Appearance, Transientベクトルの学習 ◦ GLO(Generative Latent Optimization)を利用 ◦ 各画像と対応して保持しておき、勾配法によってパラメータと並行して更新する

    ◦ [1707.05776] Optimizing the Latent Space of Generative Networks 27
  28. 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
  29. NeRF-W:Quantitative Results • 定量的に優れた生成性能 ◦ NeRF-A:Appearanceベクトルのみ ◦ NeRF-U:Transientベクトルのみ • LPIPSは一部NRW(Neural

    Rendering in the Wild)が優れている ◦ LPIPSはadversarial, perceptual lossを良く評価しやすいため 29
  30. NeRF-W:Qualitative Results • 定性的にも細かい特徴を描画できている 30

  31. NeRF-W:Qualitative Results • Fig.6:Depth mapの可視化 ◦ Transient objectsが存在しても 従来のNeRFより安定して学習できている •

    Fig.8:Appearanceベクトルの補間 ◦ シーンの環境を操作できている 31
  32. NeRF-W:まとめ • Limitation ◦ 映る頻度が少ない領域は捉えづらい ◦ カメラ姿勢のキャリブレーションが 失敗が生成にも影響する (従来のNeRFと同じ) •

    Conclusion ◦ 画像ごとのappearance, transient objectsをモデル化することで、多様な環境の画像群 (=in-the-wild data)からNeRFの学習が可能になった ◦ 定量・定性の両面で優れた視点生成が可能になった 32
  33. None
  34. GIRAFFE:概要 • 目標:Compositional 3D representation for controllable synthesis ◦ 背景や物体の組み合わせ

    によってシーンを表現 ◦ 物体の配置や角度、視点など 様々な要素を調整して描画 ◦ GIRAFFE: Project Page 34
  35. GIRAFFE:概要 • アプローチ ◦ 複数の物体+背景によってシーンをモデリング ◦ 3D空間上の色ではなく特徴ベクトルによってボリュームレンダリング ◦ 敵対的学習を利用 •

    注目ポイント:Disentanglement emerges without supervision ◦ アーキテクチャによるバイアスのみで、物体や背景の表現を学習できた ◦ →物体だけ、背景だけなどの詳細なシーンコントロールが可能 35
  36. GIRAFFE:アーキテクチャ 1. 物体・背景の潜在ベクトル、描画時の姿勢をサンプル 2. それぞれの情報を統合 3. ボリュームレンダリング 4. CNNによって画像へ変換 36

    ① ② ③ ④
  37. GIRAFFE:アーキテクチャ 37

  38. • N-1個の物体+背景の情報をサンプリング ◦ zs, za:shape, appearanceベクトル ◦ T:配置パラメータ(shift, scale, rotate)

    GIRAFFE:アーキテクチャ 38
  39. • カメラの位置と向きをサンプリング ◦ Camera rayの扱いやpositional encodingはNeRFと同様 GIRAFFE:アーキテクチャ 39 カメラの位置と向き •

    d:camera rayの向き • x:評価点の位置 • γ:positional encoding
  40. • NeRFとは異なり、色ではなく特徴ベクトルを返す field function ◦ 入力:位置、向き、物体or背景のshape, appearanceベクトル ◦ 出力:特徴ベクトル、密度 GIRAFFE:アーキテクチャ

    40
  41. GIRAFFE:アーキテクチャ:Neural Feature Field 41 • NeRFとは異なり、色ではなく特徴ベクトルを返す field function ◦ 入力:位置、向き、物体or背景のshape,

    appearanceベクトル ◦ 出力:特徴ベクトル、密度 ◦ 物体用と背景用の2つのfield functionを使い分け Object Feature Field Background Feature Field
  42. • Composition Operator:物体と背景の情報を統合 ◦ 特徴量の統合:密度 σによるweighted mean ◦ 密度の統合:総和 GIRAFFE:アーキテクチャ

    42
  43. • ボリュームレンダリング: NeRFと同様、ただし色の代わりに特徴ベクトルを用いる ◦ 各ピクセルで計算することで特徴マップを獲得 GIRAFFE:アーキテクチャ 43

  44. • Neural Rendering:CNNによって特徴マップから画像を出力 GIRAFFE:アーキテクチャ 44 CNNによって特徴マップを 画像へ変換

  45. • Neural Rendering:CNNによって特徴マップから画像を出力 ◦ Conv+UpSamplingによって目標解像度の画像を得る ◦ 表現のentangleを防ぐために、畳み込みは少なめ GIRAFFE:アーキテクチャ 45

  46. 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によって特徴マップを 画像へ変換
  47. GIRAFFE:学習 • 画像生成に対する敵対的学習を行う ◦ Generator:前述のレンダリングパイプライン ▪ 特徴マップの解像度は 16x16、Neural Rendering(CNN)によって拡大 ◦

    Discriminator:DCGANベースのCNN • 損失関数 ◦ 一般的なnon-saturating GAN objective+R1 gradient penalty 47
  48. GIRAFFE:Controllable Scene Generation • N個の入力要素を個別に可視化 ◦ 教師なしで物体と背景の表現分離ができている 48 背景のみ 物体のみ

    物体の不透明度 全体
  49. GIRAFFE:Controllable Scene Generation • 物体の向き、位置やカメラの向きなどを調整した生成が可能 49

  50. GIRAFFE:Controllable Scene Generation • 学習時より離れた位置や、学習時より多い物体数のシーンも安定して描画可能 50

  51. GIRAFFE:Comparison to Baseline Methods • FID(Frechet Inception Distance)による生成品質の評価 ◦ 64×64,

    256×256の2つの解像度 ◦ 既存の画像生成手法よりも精細な生成が可能 ◦ ※GRAF(Generative NeRF)は筆者らの先行手法 51
  52. GIRAFFE:Comparison to Baseline Methods • パラメータ数も既存手法より少ない • 推論(生成)速度 ◦ 低解像度の特徴マップを拡大することで

    GRAF(直接画像をレンダリングする) よりも推論速度向上 ◦ 64×64:110.1ms/枚→4.8ms/枚 ◦ 256×256:1595.0ms/枚→5.8ms/枚 52
  53. GIRAFFE:Limitations • データセットのバイアスによる disentangleの失敗 ◦ 例:CelebA-HQ:顔の向きを変えても 全てカメラ目線の画像が生成される • カメラ姿勢や物体の配置位置のミスマッチによる disentangleの失敗

    ◦ 例:Churches, CompCars:背景と物体の表現が分離できていない 53
  54. GIRAFFE:まとめ • 目標:Compositional 3D representation for controllable synthesis • アプローチ

    ◦ 物体・背景などシーンの構成要素を明示的にモデリング ◦ 色ではなく特徴量でボリュームレンダリング ◦ 敵対的学習 • 結果 ◦ 教師なしで物体・背景の表現分離を獲得 ◦ Controllableなシーン生成が可能になった ◦ 定量的にも既存手法より優れている 54
  55. 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