Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CVPR2021読み会スライド

 CVPR2021読み会スライド

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

Daigo HIROOKA

July 31, 2021
Tweet

More Decks by Daigo HIROOKA

Other Decks in Research

Transcript

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

    View full-size slide

  2. 自己紹介
    ● 廣岡大吾
    ○ Twitter:dhirooka (@daigo_hirooka)
    ● 機械学習エンジニア@ BrainPad
    ○ 関心:Deep LearningとMLOps
    ● その他
    ○ GoProがタンスで眠っています
    ○ 白金鉱業.FM (@shirokane_fm) Podcastで配信中!
    2

    View full-size slide

  3. 紹介論文:NeRF in the Wild, GIRAFFE
    ● NeRFの勉強として
    ○ NeRF Explosion 2020
    ● デモが面白い
    ○ NeRF in the Wild
    ○ GIRAFFE
    3
    NeRF in the Wild

    View full-size slide

  4. NeRF(Neural Radiance Field)とは
    View Synthesis:物体の見え方を計算する手法の一つ
    ● 前処理:Structure-from-Motionによって各画像のカメラパラメータを計算
    ○ カメラパラメータ:各撮影の位置や焦点距離など
    ● 学習:NeRFのモデルを学習
    ● 推論:指定した視点からの見え方を計算する
    4

    View full-size slide

  5. NeRF:構成要素
    ● ①Radiance Field
    ● ②ピンホールカメラモデル
    ● ③ボリュームレンダリング
    5

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  8. NeRF:構成要素②:ピンホールカメラモデル
    ● 3D座標とピクセル座標の関係を表すモデル
    ○ NeRFにおけるレンダリング上の仮定
    ○ Camera ray:カメラの位置からピクセルへの半直線
    ● ピクセルに対応する camera ray上で、Radiance Fieldによって色と密度を評価する
    8

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  13. NeRF:構成要素③:ボリュームレンダリング
    ● ボリュームレンダリングによるピクセル値の計算
    ○ Camera ray上の色c・密度σの積分
    ○ 実装上は数値積分によって計算
    13
    Camera ray rに対応する
    ピクセル値
    点iより手前の透過
    点iの不透明度
    密度σ大で1に近づく
    点iの色
    点iの3D座標
    N等分した各区間から
    uniform sampling

    View full-size slide

  14. NeRF:学習
    ● シーンの全画像から複数の camera ray(=ピクセル)をミニバッチとしてサンプリング
    ○ 各camera ray上で評価点をサンプリング
    ○ 各評価点をRadiance Fieldに入力して、色・密度を得る
    ○ ボリュームレンダリングによってピクセル値を得る
    ● ピクセル値の二乗誤差で学習
    14

    View full-size slide

  15. NeRF:実装上の工夫
    ● Positional Encoding
    ● Hierarchical Sampling
    15

    View full-size slide

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

    View full-size slide

  17. NeRF:実装上の工夫②:Hierarchical Sampling
    ● N等分区間からの一様サンプリングは無駄が多い
    ○ 何もない位置
    ○ 視点奥の直接見えない位置
    ● Hierarchical Sampling
    ○ まずN等分区間から評価点の一様サンプリングを行う
    ○ 各評価点の密度に基づいて、再度サンプリングを行う
    ○ ピクセル描画に重要な領域にフォーカスする
    17
    視点手前の物体を重視
    何もない
    直接
    見えない

    View full-size slide

  18. NeRF:実装上の工夫②:Hierarchical Sampling
    ● Coarse, Fineの2モデルを用意する
    ● Hierarchical Samplingを用いた推論
    ○ 等分区間からNc個の評価点をサンプリング
    ○ Coarseモデル:Nc個の評価点の色・密度を計算
    ○ 区間を重み付けして再度 Nf個の評価点をサンプリング
    ○ Fineモデル:Nc+Nf個の評価点の色・密度を計算
    ● Hierarchical Samplingを用いた学習
    ○ Coarse, Fineモデルそれぞれで
    ピクセル値の二乗誤差を学習
    18
    Coarseモデルの
    二乗誤差
    Fineモデルの
    二乗誤差

    View full-size slide

  19. NeRF:まとめ
    ● アーキテクチャ
    ○ Radiance Field:位置・角度→色・密度の関数
    ○ ボリュームレンダリングによって camera rayから色を計算
    ● 既存の多くのモデルよりも高精細なレンダリングが可能
    ● 全結合層のみで構成されており軽量、効率よくシーン情報を保持できている
    19

    View full-size slide

  20. NeRF in the Wild:概要
    ● NeRF(オリジナル)の仮定
    ○ 基本的に同じシーンを異なる角度から撮った画像
    ○ 光の当たり方の違いや物体の写り込みは想定外
    ● NeRF in the Wild(NeRF-W)
    ○ 画像の環境を明示的にモデル化
    ■ 見た目(appearance)
    ■ 一時的な物体(transient object)
    ○ 多様な環境の画像に対して
    柔軟にNeRFを学習可能(=in the wild)
    ○ Appearanceを調整した生成も可能
    21
    NeRF-Wの学習画像例

    View full-size slide

  21. NeRF-W:画像環境のモデル化
    ● Appearance:シーンの天候や時間帯など
    ● Transient Objects:人や車などの一時的な物体
    22
    オリジナル
    NeRF
    Appearance
    Transient
    Objects

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  25. NeRF-W:Optimize
    ● NeRFと同様にCoarse, Fineの2モデルを用意
    ● Coarseモデル:staticパートのみからピクセル値計算、二乗誤差
    ● Fineモデル:transient objectの不確実性βを考慮
    ○ あいまいなピクセルにおける損失を軽減する
    ○ 過剰にtransient objectとして扱わないための正則化
    26
    Coarseモデル
    の損失
    Fineモデル
    の損失
    正規分布の
    負の対数尤度
    正則項

    View full-size slide

  26. NeRF-W:Optimize
    ● Appearance, Transientベクトルの学習
    ○ GLO(Generative Latent Optimization)を利用
    ○ 各画像と対応して保持しておき、勾配法によってパラメータと並行して更新する
    ○ [1707.05776] Optimizing the Latent Space of Generative Networks
    27

    View full-size slide

  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

    View full-size slide

  28. NeRF-W:Quantitative Results
    ● 定量的に優れた生成性能
    ○ NeRF-A:Appearanceベクトルのみ
    ○ NeRF-U:Transientベクトルのみ
    ● LPIPSは一部NRW(Neural Rendering in the Wild)が優れている
    ○ LPIPSはadversarial, perceptual lossを良く評価しやすいため
    29

    View full-size slide

  29. NeRF-W:Qualitative Results
    ● 定性的にも細かい特徴を描画できている
    30

    View full-size slide

  30. NeRF-W:Qualitative Results
    ● Fig.6:Depth mapの可視化
    ○ Transient objectsが存在しても
    従来のNeRFより安定して学習できている
    ● Fig.8:Appearanceベクトルの補間
    ○ シーンの環境を操作できている
    31

    View full-size slide

  31. NeRF-W:まとめ
    ● Limitation
    ○ 映る頻度が少ない領域は捉えづらい
    ○ カメラ姿勢のキャリブレーションが
    失敗が生成にも影響する
    (従来のNeRFと同じ)
    ● Conclusion
    ○ 画像ごとのappearance, transient objectsをモデル化することで、多様な環境の画像群
    (=in-the-wild data)からNeRFの学習が可能になった
    ○ 定量・定性の両面で優れた視点生成が可能になった
    32

    View full-size slide

  32. GIRAFFE:概要
    ● 目標:Compositional 3D representation for controllable synthesis
    ○ 背景や物体の組み合わせ
    によってシーンを表現
    ○ 物体の配置や角度、視点など
    様々な要素を調整して描画
    ○ GIRAFFE: Project Page
    34

    View full-size slide

  33. GIRAFFE:概要
    ● アプローチ
    ○ 複数の物体+背景によってシーンをモデリング
    ○ 3D空間上の色ではなく特徴ベクトルによってボリュームレンダリング
    ○ 敵対的学習を利用
    ● 注目ポイント:Disentanglement emerges without supervision
    ○ アーキテクチャによるバイアスのみで、物体や背景の表現を学習できた
    ○ →物体だけ、背景だけなどの詳細なシーンコントロールが可能
    35

    View full-size slide

  34. GIRAFFE:アーキテクチャ
    1. 物体・背景の潜在ベクトル、描画時の姿勢をサンプル
    2. それぞれの情報を統合
    3. ボリュームレンダリング
    4. CNNによって画像へ変換
    36
    ① ② ③ ④

    View full-size slide

  35. GIRAFFE:アーキテクチャ
    37

    View full-size slide

  36. ● N-1個の物体+背景の情報をサンプリング
    ○ zs, za:shape, appearanceベクトル
    ○ T:配置パラメータ(shift, scale, rotate)
    GIRAFFE:アーキテクチャ
    38

    View full-size slide

  37. ● カメラの位置と向きをサンプリング
    ○ Camera rayの扱いやpositional encodingはNeRFと同様
    GIRAFFE:アーキテクチャ
    39
    カメラの位置と向き
    ● d:camera rayの向き
    ● x:評価点の位置
    ● γ:positional encoding

    View full-size slide

  38. ● NeRFとは異なり、色ではなく特徴ベクトルを返す field function
    ○ 入力:位置、向き、物体or背景のshape, appearanceベクトル
    ○ 出力:特徴ベクトル、密度
    GIRAFFE:アーキテクチャ
    40

    View full-size slide

  39. GIRAFFE:アーキテクチャ:Neural Feature Field
    41
    ● NeRFとは異なり、色ではなく特徴ベクトルを返す field function
    ○ 入力:位置、向き、物体or背景のshape, appearanceベクトル
    ○ 出力:特徴ベクトル、密度
    ○ 物体用と背景用の2つのfield functionを使い分け
    Object Feature Field Background Feature Field

    View full-size slide

  40. ● Composition Operator:物体と背景の情報を統合
    ○ 特徴量の統合:密度 σによるweighted mean
    ○ 密度の統合:総和
    GIRAFFE:アーキテクチャ
    42

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  44. 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によって特徴マップを
    画像へ変換

    View full-size slide

  45. GIRAFFE:学習
    ● 画像生成に対する敵対的学習を行う
    ○ Generator:前述のレンダリングパイプライン
    ■ 特徴マップの解像度は 16x16、Neural Rendering(CNN)によって拡大
    ○ Discriminator:DCGANベースのCNN
    ● 損失関数
    ○ 一般的なnon-saturating GAN objective+R1 gradient penalty
    47

    View full-size slide

  46. GIRAFFE:Controllable Scene Generation
    ● N個の入力要素を個別に可視化
    ○ 教師なしで物体と背景の表現分離ができている
    48
    背景のみ
    物体のみ
    物体の不透明度
    全体

    View full-size slide

  47. GIRAFFE:Controllable Scene Generation
    ● 物体の向き、位置やカメラの向きなどを調整した生成が可能
    49

    View full-size slide

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

    View full-size slide

  49. GIRAFFE:Comparison to Baseline Methods
    ● FID(Frechet Inception Distance)による生成品質の評価
    ○ 64×64, 256×256の2つの解像度
    ○ 既存の画像生成手法よりも精細な生成が可能
    ○ ※GRAF(Generative NeRF)は筆者らの先行手法
    51

    View full-size slide

  50. GIRAFFE:Comparison to Baseline Methods
    ● パラメータ数も既存手法より少ない
    ● 推論(生成)速度
    ○ 低解像度の特徴マップを拡大することで GRAF(直接画像をレンダリングする)
    よりも推論速度向上
    ○ 64×64:110.1ms/枚→4.8ms/枚
    ○ 256×256:1595.0ms/枚→5.8ms/枚
    52

    View full-size slide

  51. GIRAFFE:Limitations
    ● データセットのバイアスによる disentangleの失敗
    ○ 例:CelebA-HQ:顔の向きを変えても
    全てカメラ目線の画像が生成される
    ● カメラ姿勢や物体の配置位置のミスマッチによる disentangleの失敗
    ○ 例:Churches, CompCars:背景と物体の表現が分離できていない
    53

    View full-size slide

  52. GIRAFFE:まとめ
    ● 目標:Compositional 3D representation for controllable synthesis
    ● アプローチ
    ○ 物体・背景などシーンの構成要素を明示的にモデリング
    ○ 色ではなく特徴量でボリュームレンダリング
    ○ 敵対的学習
    ● 結果
    ○ 教師なしで物体・背景の表現分離を獲得
    ○ Controllableなシーン生成が可能になった
    ○ 定量的にも既存手法より優れている
    54

    View full-size slide

  53. 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

    View full-size slide