Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CVPR2021読み会スライド
Search
Daigo HIROOKA
July 31, 2021
Research
2
950
CVPR2021読み会スライド
第7回全日本コンピュータビジョン勉強会での輪読会資料です。
・NeRF
・NeRF in the Wild
・GIRAFFE
の3つについて紹介しています。
Daigo HIROOKA
July 31, 2021
Tweet
Share
More Decks by Daigo HIROOKA
See All by Daigo HIROOKA
1年 SRE をやって見えてきた SRE とプロダクト開発の関わり方
daigo0927
0
410
Introducing "Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
daigo0927
0
860
GroupViT CVPR2022読み会スライド
daigo0927
0
970
Mip-NeRF ICCV2021輪読会スライド
daigo0927
1
1.6k
Cloud WorkflowsによるMLワークフロー
daigo0927
2
650
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
daigo0927
1
2.3k
Your_Classifier_is_Secretly_an_Energy_Based_Model_and_You_Should_Treat_It_Like_One.pdf
daigo0927
0
1k
Other Decks in Research
See All in Research
ベイズ的方法に基づく統計的因果推論の基礎
holyshun
0
610
アプリケーションから知るモデルマージ
maguro27
0
180
EBPMにおける生成AI活用について
daimoriwaki
0
220
Weekly AI Agents News! 11月号 プロダクト/ニュースのアーカイブ
masatoto
0
200
湯村研究室の紹介2024 / yumulab2024
yumulab
0
350
秘伝:脆弱性診断をうまく活用してセキュリティを確保するには
okdt
PRO
4
770
Weekly AI Agents News! 9月号 論文のアーカイブ
masatoto
1
150
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
140
PostgreSQLにおける分散トレーシングの現在 - 第50回PostgreSQLアンカンファレンス
seinoyu
0
100
snlp2024_multiheadMoE
takase
0
460
チュートリアル:Mamba, Vision Mamba (Vim)
hf149
5
1.6k
ニューラルネットワークの損失地形
joisino
PRO
36
18k
Featured
See All Featured
The Invisible Side of Design
smashingmag
298
50k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Building Applications with DynamoDB
mza
91
6.1k
Mobile First: as difficult as doing things right
swwweet
222
9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Optimising Largest Contentful Paint
csswizardry
33
3k
A designer walks into a library…
pauljervisheath
204
24k
Transcript
第7回全日本コンピュータビジョン勉強会(後編) Presenter:廣岡大吾
自己紹介 • 廣岡大吾 ◦ 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:構成要素 • ①Radiance Field • ②ピンホールカメラモデル • ③ボリュームレンダリング 5
NeRF:構成要素①:Radiance Field • 「座標xyzが向きθ,Φからどう見える(色c・密度σ)か」の関数 • 全結合NNでモデル化 • NeRFの学習=Radiance Fieldのパラメータの学習 6
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上の色・密度を集約し、ピクセル値を得る • 全てのピクセルで実行することで、全体の画像を得る 9
NeRF:構成要素③:ボリュームレンダリング • ボリュームレンダリングによるピクセル値の計算 ◦ Camera ray上の色c・密度σの積分 ◦ 実装上は数値積分によって計算 10 Camera
ray rに対応する ピクセル値 点iの色
NeRF:構成要素③:ボリュームレンダリング • ボリュームレンダリングによるピクセル値の計算 ◦ Camera ray上の色c・密度σの積分 ◦ 実装上は数値積分によって計算 11 点iの不透明度
密度σ大で1に近づく
NeRF:構成要素③:ボリュームレンダリング • ボリュームレンダリングによるピクセル値の計算 ◦ Camera ray上の色c・密度σの積分 ◦ 実装上は数値積分によって計算 12 点iより手前の透過
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:実装上の工夫 • Positional Encoding • Hierarchical Sampling 15
NeRF:実装上の工夫①:Positional Encoding • Radiance Fieldの入力は位置と角度 • Positional Encodingによって各成分を高次元ベクトルに加工 ◦ 画像の細かい特徴を捉えられるようになった
16
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
None
NeRF in the Wild:概要 • NeRF(オリジナル)の仮定 ◦ 基本的に同じシーンを異なる角度から撮った画像 ◦ 光の当たり方の違いや物体の写り込みは想定外
• NeRF in the Wild(NeRF-W) ◦ 画像の環境を明示的にモデル化 ▪ 見た目(appearance) ▪ 一時的な物体(transient object) ◦ 多様な環境の画像に対して 柔軟にNeRFを学習可能(=in the wild) ◦ Appearanceを調整した生成も可能 21 NeRF-Wの学習画像例
NeRF-W:画像環境のモデル化 • Appearance:シーンの天候や時間帯など • Transient Objects:人や車などの一時的な物体 22 オリジナル NeRF Appearance
Transient Objects
NeRF-W:Appearance Modeling • 画像ごとにappearanceベクトルを用意 • 画像のstatic成分(建物や地面など)の描画に影響 23 オリジナル NeRF Appearance
NeRF-W:Transient Objects Modeling • 画像ごとにtransientベクトルを用意 • 画像のtransient成分(人や物体の写り込みなど)の描画に影響 ◦ 不確実性βを合わせて出力→損失計算に利用 24
Transient Objects
NeRF-W:ボリュームレンダリング • Static成分とtransient成分をまとめてボリュームレンダリング 25 点kのtransient成分 点kのstatic成分 点kより手前の透過 xの不透明度 (NeRFと同じ)
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 • 定性的にも細かい特徴を描画できている 30
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
None
GIRAFFE:概要 • 目標:Compositional 3D representation for controllable synthesis ◦ 背景や物体の組み合わせ
によってシーンを表現 ◦ 物体の配置や角度、視点など 様々な要素を調整して描画 ◦ GIRAFFE: Project Page 34
GIRAFFE:概要 • アプローチ ◦ 複数の物体+背景によってシーンをモデリング ◦ 3D空間上の色ではなく特徴ベクトルによってボリュームレンダリング ◦ 敵対的学習を利用 •
注目ポイント:Disentanglement emerges without supervision ◦ アーキテクチャによるバイアスのみで、物体や背景の表現を学習できた ◦ →物体だけ、背景だけなどの詳細なシーンコントロールが可能 35
GIRAFFE:アーキテクチャ 1. 物体・背景の潜在ベクトル、描画時の姿勢をサンプル 2. それぞれの情報を統合 3. ボリュームレンダリング 4. CNNによって画像へ変換 36
① ② ③ ④
GIRAFFE:アーキテクチャ 37
• N-1個の物体+背景の情報をサンプリング ◦ zs, za:shape, appearanceベクトル ◦ T:配置パラメータ(shift, scale, rotate)
GIRAFFE:アーキテクチャ 38
• カメラの位置と向きをサンプリング ◦ Camera rayの扱いやpositional encodingはNeRFと同様 GIRAFFE:アーキテクチャ 39 カメラの位置と向き •
d:camera rayの向き • x:評価点の位置 • γ:positional encoding
• NeRFとは異なり、色ではなく特徴ベクトルを返す field function ◦ 入力:位置、向き、物体or背景のshape, appearanceベクトル ◦ 出力:特徴ベクトル、密度 GIRAFFE:アーキテクチャ
40
GIRAFFE:アーキテクチャ:Neural Feature Field 41 • NeRFとは異なり、色ではなく特徴ベクトルを返す field function ◦ 入力:位置、向き、物体or背景のshape,
appearanceベクトル ◦ 出力:特徴ベクトル、密度 ◦ 物体用と背景用の2つのfield functionを使い分け Object Feature Field Background Feature Field
• Composition Operator:物体と背景の情報を統合 ◦ 特徴量の統合:密度 σによるweighted mean ◦ 密度の統合:総和 GIRAFFE:アーキテクチャ
42
• ボリュームレンダリング: NeRFと同様、ただし色の代わりに特徴ベクトルを用いる ◦ 各ピクセルで計算することで特徴マップを獲得 GIRAFFE:アーキテクチャ 43
• Neural Rendering:CNNによって特徴マップから画像を出力 GIRAFFE:アーキテクチャ 44 CNNによって特徴マップを 画像へ変換
• Neural Rendering:CNNによって特徴マップから画像を出力 ◦ Conv+UpSamplingによって目標解像度の画像を得る ◦ 表現のentangleを防ぐために、畳み込みは少なめ GIRAFFE:アーキテクチャ 45
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:Controllable Scene Generation • N個の入力要素を個別に可視化 ◦ 教師なしで物体と背景の表現分離ができている 48 背景のみ 物体のみ
物体の不透明度 全体
GIRAFFE:Controllable Scene Generation • 物体の向き、位置やカメラの向きなどを調整した生成が可能 49
GIRAFFE:Controllable Scene Generation • 学習時より離れた位置や、学習時より多い物体数のシーンも安定して描画可能 50
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