Slide 1

Slide 1 text

最近気になってる Text-to-Imageを応用した NeRF論文の解説 2023/4/30 しろくま@neka-nat 第58回 コンピュータビジョン勉強会

Slide 2

Slide 2 text

自己紹介 独立系ロボットエンジニア しろくま@neka-nat https://twitter.com/neka_nat https://github.com/neka-nat ● フリーでロボティクス・画像処理関連のソフトウェア開 発やってます!

Slide 3

Slide 3 text

自己紹介 独立系ロボットエンジニア しろくま@neka-nat https://twitter.com/neka_nat https://github.com/neka-nat ● フリーでロボティクス・画像処理関連のソフトウェア開 発やってます! ● 前職は某大手JTC社員 ● 好きなCV技術 ○ 点群処理 ○ 3次元再構成 ○ 高速化・ハードウェアアクセラレーション

Slide 4

Slide 4 text

自己紹介 独立系ロボットエンジニア しろくま@neka-nat https://twitter.com/neka_nat https://github.com/neka-nat ● フリーでロボティクス・画像処理関連のソフトウェア開 発やってます! ● 前職は某大手JTC社員 ● 好きなCV技術 ○ 点群処理 ○ 3次元再構成 ○ 高速化・ハードウェアアクセラレーション ● Web関連のお仕事もやってます ○ React/TypeScript/Rust/AWS/Terraform ● お仕事に関してDMなどでお気軽にご相談ください!

Slide 5

Slide 5 text

Text-to-Image ● 近年、Stable Diffusionなどのテキストからの画像生成が発展してきた ○ Diffusionモデルにより、従来よりも精細な画像ができる ○ テキストでの指示、細かなニュアンスも反映できる ○ テキストだけでなく、元となるImageやボーンなどからの生成も可能 ● Text-to-3D/Image-to-3DがText-to-Imageの技術をベースにして発展 ○ DreamFusion, Magic3D, Point-E, … https://research.nvidia.com/labs/dir/magic3d/ https://github.com/openai/point-e

Slide 6

Slide 6 text

本日の発表 ● NeRF自体の詳細は説明しません ○ 「コンピュータビジョン最前線Winter2021」読んで下さい ● この辺の論文いろいろありそうですが、完全に個人的に気になったやつを選んでます

Slide 7

Slide 7 text

まずはText-to-3D(NeRF)関連技術について触れておく ● CLIP ● DreamFields ● DreamFusion

Slide 8

Slide 8 text

CLIP ● Learning Transferable Visual Models From Natural Language Supervision(2021) ● 画像とテキストを同じベクトル空間に埋め込むことができる ● インターネットから取ってきた4億個の画像とキャプションのペアを学習 ● どの画像とどのキャプションが正しいペアかを学習させる a photo of guacamole, a type of food. a photo of a television studio. https://openai.com/research/clip a photo of a airplane. … … … …

Slide 9

Slide 9 text

CLIP ● 画像とテキストを同じベクトル空間に埋め込むことでZero-shot学習や画像のSemantic encodingなどに応用できる https://openai.com/research/clip

Slide 10

Slide 10 text

DreamFields ● Zero-Shot Text-Guided Object Generation with Dream Fields(CVPR2022) ● CLIPを使ったテキストから3Dモデル(NeRF)の生成 ● 学習において3Dのデータは不要

Slide 11

Slide 11 text

DreamFields ● いろんな角度からNeRFのレンダリングを行って以下のベクトルを得る ○ レンダリング結果をCLIP画像エンコーダでベクトル化 ○ 入力テキストをCLIPテキストエンコーダでベクトル化 ● 2つのベクトルの内積の最小化をLossに設定

Slide 12

Slide 12 text

DreamFusion ● DREAMFUSION: TEXT-TO-3D USING 2D DIFFUSION(2022) ● DreamFieldsに比べDiffusionモデルの使用により鮮明な3Dモデルが作成可能 ● CLIPは使用せず、NeRFのレンダリング結果とText-to-Imageモデル(Imagen)を使った 画像生成モデルを利用

Slide 13

Slide 13 text

DreamFusion ● DreamFieldsと同様、いろんな視点でNeRFのレンダリングを行って学習

Slide 14

Slide 14 text

DreamFusion ● レンダリングの工夫 ○ 輝度(その点での発光量)ではなくAlbedo(その点での色そのもの)をNeRFの出力 に使用 ○ ランダムな方向からの光を当てることでより多様なレンダリングができる

Slide 15

Slide 15 text

DreamFusion ● ノイズ画像を生成し、レンダリング結果に付加

Slide 16

Slide 16 text

DreamFusion ● レンダリング結果とノイズ画像を拡散過程でのタイムステップ分付加する ○ タイムステップはランダムに決める ● ノイズ付加画像とテキストを入力にしてパラメタ固定の画像生成モデル(Imagen)から画 像を生成する

Slide 17

Slide 17 text

DreamFusion ● Imagenが予測したノイズと付加したノイズの差分を最小化するように最適化する ○ Lossとしてはノイズの差分に拡散過程時間ステップの重みを掛けたも ○ Lossの微分に計算しやすくする工夫を入れていて、SDS Lossと呼んでいる

Slide 18

Slide 18 text

Text-to-NeRFによってできるようになったこと ● 2DのDiffusionモデルによって、より鮮明な3Dモデルが作れる ● 言語による一貫性を取り入れることで2D生成モデルのみで3Dモデルができる

Slide 19

Slide 19 text

CLIPやText-to-NeRFを応用したImage-to-NeRFの論文(in 2023) ● Make-It-3D: High-Fidelity 3D Creation from A Single Image with Diffusion Prior ○ 一枚の画像から3Dオブジェクト生成 ● ELICIT: One-shot Implicit Animatable Avatars with Model-based Priors ○ 一枚の画像から3Dアバター生成

Slide 20

Slide 20 text

Make-It-3D

Slide 21

Slide 21 text

Make-It-3D ● Make-It-3D: High-Fidelity 3D Creation from A Single Image with Diffusion Prior ● 精巧な3Dモデルを一枚の画像から生成できるようにした ● DreamFusionに比べてテクスチャの精度が高い

Slide 22

Slide 22 text

Make-It-3D全体像 ● 主に2つのステージで学習する Coarse Stage 形状と大まかな見 た目を作る Refine Stage テクスチャの精度を 高める

Slide 23

Slide 23 text

Make-It-3D Coarse Stage ● とりあえずリファレンス視点のみでNeRFを作る ○ NeRFのリファレンス視点からのレンダリング結果とリファレンス画像が合うように Lossを計算 ● 当然これだけだと全然3Dにならない リファレンス視点からのレンダリング画像

Slide 24

Slide 24 text

Make-It-3D Coarse Stage ● 画像からキャプションを生成するモデルを使って画像のキャプションを得る ○ BLIP-2(2023)と呼ばれるモデルを使用 ○ この絵だと”A brown teddy bear sitting on a ground”というキャプションがつく

Slide 25

Slide 25 text

Make-It-3D Coarse Stage ● DreamFusionと同様にSDS Lossを使用 ● 生成したテキストと他視点の画像を入力にする ● 他視点画像にノイズを付加し、テキストの条件に合うようにDiffusionモデルに入力 ○ DreamFusionはImagenを使っていたが、本論文はStable Diffusionを使用

Slide 26

Slide 26 text

Make-It-3D Coarse Stage ● さらに2つのLossを追加 ○ 異なる視点での一貫性 ■ 参照画像と他視点デノイズ画像のCLIPエンコーダ出力の類似度 ○ 深度の制約 ■ NeRFで推定した深度と学習済み単眼深度モデル(DPT)による深度の相関

Slide 27

Slide 27 text

Make-It-3D Coarse Stage ● 付加した制約により、3Dモデルの一貫性と正確性が向上 ○ Baselineはリファレンス視点のLossとSDS Lossのみ DreamFusion と同じ CLIPエンコーダ 出力の類似度追加 深度推定相関 の追加

Slide 28

Slide 28 text

Make-It-3D Refine Stage ● Refine Stageではテクスチャをより精巧にしていく ● Neural Point-Based Graphicsというモデルを使ってレンダリングを向上させる ● Coase Stageと同様にレンダリング結果をDiffusionモデルに入力し、SDS Lossを最小化 するように学習

Slide 29

Slide 29 text

Make-It-3D Refine Stage ● Neural Point-Based Graphics ● 点群と画像を用いた画像レンダリング手法 ● NeRFと同じようにいろんな視点での精細な画像を生成できる

Slide 30

Slide 30 text

Make-It-3D Refine Stage ● Neural Point-Based Graphicsを使用するためにNeRFから点群を生成 ● リファレンス画像から見えるところはそのまま投影したテクスチャを使用 ● 見えてないところはNeRFのカラーおよび深度画像からテクスチャ点群を生成 リファレンス 視点 新視点

Slide 31

Slide 31 text

Make-It-3D Refine Stage ● 正直Coarse Stageとの違いや効果がよく分からない ● おそらく、リファレンス画像から見えているところに関してはNeural Point-Based Graphics がより精度高くレンダリングを行うと思われる ● その上で見えていないところはDiffusionモデルにより、一貫性を保った形で精細なテクス チャが生成される(?)

Slide 32

Slide 32 text

Make-It-3D Refine Stage ● Refine Stageにより、リファレンス画像で見えてないところが精細化されている

Slide 33

Slide 33 text

Make-It-3D 各種法の比較

Slide 34

Slide 34 text

Make-It-3D 各種法の比較

Slide 35

Slide 35 text

Make-It-3D 各種法の比較 ● Dreamfusionの入力はプロンプト ● Dreamfusion+はDreamfusionにリファレンス 画像のlossを足したもの ● Point-Eの入力はリファレンス画像

Slide 36

Slide 36 text

Make-It-3D 各種法の比較 Make-it-3D

Slide 37

Slide 37 text

ELICIT

Slide 38

Slide 38 text

ELICIT ● One-shot Implicit Animatable Avatars with Model-based Priors ● 一枚の人の全身画像からアバターモデル(SMPL)を生成する手法 ● 与えられた画像と異なる視点、異なるポーズ画像を生成することが可能

Slide 39

Slide 39 text

ELICIT ● ベースとなっている技術 ○ SMPL(2015) ○ HumanNeRF(2022)

Slide 40

Slide 40 text

ELICIT ベース技術の紹介 ● SMPL: A Skinned Multi-Person Linear Model ○ 人体の形状やポーズを表現できるモデル ○ 形状(体型)のパラメタ(10個)と関節のパラメタ(72個)からメッシュ頂点を出力 ○ ベースとなるテンプレートのメッシュやブレンディングの重みなどを多数の人3Dモデル を使って学習して求めた

Slide 41

Slide 41 text

ELICIT ベース技術の紹介 ● HumanNeRF ○ 動画から3Dアバターを生成する手法 ○ 3次元上の点をT字モデル上の点にマッピングするモデルを構築 ○ マッピングされたT字モデル上でのNeRFを構築 ○ ELICITでも同様のモデルを使用 色・密度 Mapping Model (MLP,...) 一般的な ポーズ推定 モデル

Slide 42

Slide 42 text

ELICIT ● 解きたい問題 ○ カメラの姿勢と人のポーズからアニメーションを生成 ○ 1枚の画像からポーズ条件付きRadiance Fieldを求めたい カメラ姿勢列 人ポーズ列 ポーズ条件付き Radiance Field ボリュームレンダリング … いろんな姿勢と視点での画像

Slide 43

Slide 43 text

ELICIT ● 主に3つのフェーズに分かれている ○ 見た目の一貫性に対する学習 ○ 幾何学的制約に対する学習 ○ リファインメント

Slide 44

Slide 44 text

ELICIT ● 主に3つのフェーズに分かれている ○ 見た目の一貫性に対する学習 ○ 幾何学的制約に対する学習 ○ リファインメント

Slide 45

Slide 45 text

ELICIT ● 見た目の一貫性に対する学習 ● CLIPによる類似度計算 ○ 同じ人物のポーズ違い、視点違いであればCLIPエンコーダ出力が近くなる ポーズ違い 視点違い 違う人 リファレン ス

Slide 46

Slide 46 text

ELICIT ● 主に3つのフェーズに分かれている ○ 見た目の一貫性に対する学習 ○ 幾何学的制約に対する学習 ○ リファインメント

Slide 47

Slide 47 text

ELICIT ● 異なる視点での一貫性に対する学習 ○ SMPLのメッシュを用いて与えられたポーズ・視点列で描画を行い輪郭を抽出

Slide 48

Slide 48 text

ELICIT ● 異なる視点での一貫性に対する学習 ○ SMPLのメッシュを用いて与えられたポーズ・視点列で描画を行い輪郭を抽出 ○ 輪郭内およびエッジ付近でのアルファ値が近くなるようなLossを設定

Slide 49

Slide 49 text

ELICIT ● 異なる視点での一貫性に対する学習 ○ SMPLのメッシュを用いて与えられたポーズ・視点列で描画を行い輪郭を抽出 ○ 輪郭内およびエッジ付近でのアルファ値が近くなるようなLossを設定 ■ エッジ付近はSMPLが裸の状態であることを考慮 シルエットの中のLoss シルエットから膨らみす ぎないようにする

Slide 50

Slide 50 text

ELICIT ● 主に3つのフェーズに分かれている ○ 見た目の一貫性に対する学習 ○ 幾何学的制約に対する学習 ○ リファインメント

Slide 51

Slide 51 text

ELICIT ● SMPLの知識を使って、体のパーツごとに切り出した画像同士のSemantic Lossを追加 (CLIPベースのもの)

Slide 52

Slide 52 text

ELICIT ● オクルージョンに対するSemantic Loss ● リファレンスの視点を正面として、側面と背面のカメラを用意 ● 正面と背面はオクルージョンにより違いが大きすぎるので、正面と側面、側面と背面の ようにサンプルする

Slide 53

Slide 53 text

ELICIT ● Semantic Lossに使用するエンコーダの比較 ● CLIPベースのエンコーダ(CLIP-ViT)を使ったときの精度が高い

Slide 54

Slide 54 text

ELICIT ● 他手法との比較

Slide 55

Slide 55 text

ELICIT ● 他手法との比較

Slide 56

Slide 56 text

まとめ

Slide 57

Slide 57 text

まとめ ● 近年発達してきているText-to-Imageをベースにした3Dモデル生成の論文を紹介しました ○ より精細な3Dモデルの生成 ○ 様々な視点に対する一貫性の担保 ● テクスチャで誤魔化してる感はある、複雑な形状はどこまで扱えるのか ● Text-to-3D/Image-to-3Dもさらに盛り上がっていきそうな感じ ● 4/17にstable-dreamfusionにImage-to-3Dが追加、これも結構精度高そう ○ https://github.com/ashawkey/stable-dreamfusion

Slide 58

Slide 58 text

参考資料 ● 論文 ○ CLIP: Learning Transferable Visual Models From Natural Language Supervision ○ Zero-Shot Text-Guided Object Generation with Dream Fields ○ DreamFusion: Text-to-3D using 2D Diffusion ○ Make-It-3D: High-Fidelity 3D Creation from A Single Image with Diffusion Prior ○ Neural Point-Based Graphics ○ ELICIT: One-shot Implicit Animatable Avatars with Model-based Priors ○ SMPL ○ HumanNeRF: Free-viewpoint Rendering of Moving People from Monocular Video ● 論文以外 ○ Mip-NeRF ICCV2021輪読会スライド - Speaker Deck ○ 2022年版・深層学習による写実的画像合成の最新動向 - Speaker Deck ○ 話題のOpenAIの新たな画像分類モデル CLIPを論文から徹底解説! | DeepSquare ○ Diffusion Models | ドクセル ○ 世界に衝撃を与えた画像生成 AI「Stable Diffusion」を徹底解説! - Qiita ○ Dream Fieldsによるテキストから 3Dオブジェクトの自動生成( text-to-3D synthesis) - Amaru Note ○ 文章から3Dオブジェクトを生成するー DreamFusionー | AI-SCHOLAR ○ 【AI論文解説】世界初! Diffusion modelを使ってテキストから 3D生成: DreamFusionを解説 ○ 【DL輪読会 #341 1/2】DreamFusion: Text-to-3D using 2D Diffusion ○ 論文まとめ:BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models ○ 拡散確率モデルと音声波形生成 - Speaker Deck ○ 【DL輪読会】Novel View Synthesis with Diffusion Models ○ 論文まとめ:HumanNeRF: Free-viewpoint Rendering of Moving People from Monocular Video - Qiita