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
960
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
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
200
1年 SRE をやって見えてきた SRE とプロダクト開発の関わり方
daigo0927
0
460
Introducing "Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
daigo0927
0
930
GroupViT CVPR2022読み会スライド
daigo0927
0
990
Mip-NeRF ICCV2021輪読会スライド
daigo0927
1
1.7k
Cloud WorkflowsによるMLワークフロー
daigo0927
2
670
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
daigo0927
1
2.5k
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
情報処理学会関西支部2024年度定期講演会「自然言語処理と大規模言語モデルの基礎」
ksudoh
10
2.5k
地理空間情報と自然言語処理:「地球の歩き方旅行記データセット」の高付加価値化を通じて
hiroki13
1
190
IM2024
mamoruk
0
230
PhD Defence: Considering Temporal and Contextual Information for Lexical Semantic Change Detection
a1da4
0
120
メタヒューリスティクスに基づく汎用線形整数計画ソルバーの開発
snowberryfield
3
770
PetiteSRE_GenAIEraにおけるインフラのあり方観察
ichichi
0
270
渋谷Well-beingアンケート調査結果
shibuyasmartcityassociation
0
400
Zipf 白色化:タイプとトークンの区別がもたらす良質な埋め込み空間と損失関数
eumesy
PRO
8
1.3k
eAI (Engineerable AI) プロジェクトの全体像 / Overview of eAI Project
ishikawafyu
0
380
JSAI NeurIPS 2024 参加報告会(AI アライメント)
akifumi_wachi
5
840
第79回 産総研人工知能セミナー 発表資料
agiats
3
210
Satellite Sunroof: High-res Digital Surface Models and Roof Segmentation for Global Solar Mapping
satai
3
130
Featured
See All Featured
Speed Design
sergeychernyshev
27
800
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Side Projects
sachag
452
42k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
RailsConf 2023
tenderlove
29
1k
Adopting Sorbet at Scale
ufuk
74
9.2k
Building Adaptive Systems
keathley
40
2.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
A better future with KSS
kneath
238
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Typedesign – Prime Four
hannesfritz
40
2.5k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
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