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
940
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
390
Introducing "Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
daigo0927
0
830
GroupViT CVPR2022読み会スライド
daigo0927
0
970
Mip-NeRF ICCV2021輪読会スライド
daigo0927
1
1.6k
Cloud WorkflowsによるMLワークフロー
daigo0927
2
640
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
daigo0927
1
2.2k
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
文化が形作る音楽推薦の消費と、その逆
kuri8ive
0
160
snlp2024_multiheadMoE
takase
0
430
2024/10/30 産総研AIセミナー発表資料
keisuke198619
1
330
LLM時代にLabは何をすべきか聞いて回った1年間
hargon24
1
490
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
540
[依頼講演] 適応的実験計画法に基づく効率的無線システム設計
k_sato
0
130
Active Adaptive Experimental Design for Treatment Effect Estimation with Covariate Choices
masakat0
0
220
Weekly AI Agents News! 10月号 論文のアーカイブ
masatoto
1
250
データサイエンティストをめぐる環境の違い 2024年版〈一般ビジネスパーソン調査の国際比較〉
datascientistsociety
PRO
0
580
3次元点群の分類における評価指標について
kentaitakura
0
420
Human-Informed Machine Learning Models and Interactions
hiromu1996
2
480
MIRU2024_招待講演_RALF_in_CVPR2024
udonda
1
330
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Writing Fast Ruby
sferik
627
61k
Building Adaptive Systems
keathley
38
2.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Practical Orchestrator
shlominoach
186
10k
We Have a Design System, Now What?
morganepeng
50
7.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
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