diff --git a/_images/TEXTUALINVERSION.png b/_images/TEXTUALINVERSION.png
new file mode 100755
index 00000000..2342737e
Binary files /dev/null and b/_images/TEXTUALINVERSION.png differ
diff --git a/_images/Untitled.png b/_images/Untitled.png
index e10257fb..6515bf44 100755
Binary files a/_images/Untitled.png and b/_images/Untitled.png differ
diff --git a/_images/Untitled_10.png b/_images/Untitled_10.png
new file mode 100755
index 00000000..e30553df
Binary files /dev/null and b/_images/Untitled_10.png differ
diff --git a/_images/Untitled_2.png b/_images/Untitled_2.png
new file mode 100755
index 00000000..3e857178
Binary files /dev/null and b/_images/Untitled_2.png differ
diff --git a/_images/Untitled_8.png b/_images/Untitled_8.png
new file mode 100755
index 00000000..aeec9f4f
Binary files /dev/null and b/_images/Untitled_8.png differ
diff --git a/_images/Untitled_9.png b/_images/Untitled_9.png
new file mode 100755
index 00000000..2e855df6
Binary files /dev/null and b/_images/Untitled_9.png differ
diff --git a/_images/limitation.png b/_images/limitation.png
new file mode 100755
index 00000000..34119baf
Binary files /dev/null and b/_images/limitation.png differ
diff --git a/_sources/docs/review/DreamBooth3D.md b/_sources/docs/review/DreamBooth3D.md
index 3e45b6b3..05fd7d81 100755
--- a/_sources/docs/review/DreamBooth3D.md
+++ b/_sources/docs/review/DreamBooth3D.md
@@ -1,5 +1,5 @@
# Dream Booth 3D
-```
+``` {admonition} Information
- **Title:** DreamBooth3D: Subject-Driven Text-to-3D Generation
- **Reference**
@@ -9,11 +9,13 @@
- **Author:** Jeongin Lee
- **Last updated on {Sep. 3, 2024}**
-```
+```
## 0. Abstract
-- DreamBooth3D : 피사체의 3-6개의 캐주얼한 촬영 이미지로부터 text-to-3D 생성 모델을 personalization (맞춤화)
+- **DreamBooth3D : 피사체의 3-6개의 캐주얼한 촬영 이미지로부터 text-to-3D 생성 모델을 personalization (맞춤화)**
+
+
- DreamBooth + DreamFusion 의 결합
- DreamBooth : personalizing text-to-image models
- DreamFusion : text-to-3D generation
@@ -40,26 +42,24 @@
- **해결책**
- **DreamBooth3D**는 효과적인 3단계 최적화 방식을 제안
- **Dream Booth** , **Dream Fusion** 사용
-
- **[setp 1️⃣]**
-
+ ---
+ **[STEP 1️⃣]**
- **DreamBooth** 모델을 부분적으로 미세 조정
- **DreamFusion**을 사용하여 **NeRF** 최적화
- 부분적으로 미세 조정된 DreamBooth 모델은 주어진 대상 뷰에 과적합 되지 않으며 모든 subject별 세부 정보를 캡처하지 않음
- 결과적으로 생성된 **NeRF** 자산은 3D 일관성이 있지만 subject 에 대한 특성을 완전히 반영하지못함.
- **[setp 2️⃣]**
-
+ **[STEP 2️⃣]**
- **DreamBooth** 모델을 완전히 미세 조정하여 세부 사항을 캡처
- 1단계에서 학습된 NeRF의 다중 뷰 렌더링을 완전히 학습된 **DreamBooth** 모델에 투입
- 이를 통해 subject 별로 다중 뷰 가상 이미지 집합을 생성
- **[setp 3️⃣]**
-
+ **[STEP 3️⃣]**
- 1단계의 주어진 subject 이미지와 가상(pseudo) 다중 뷰 이미지를 사용하여 **DreamBooth** 모델을 추가로 최적화
- 추가 최적화한 **DreamBooth** 로 NeRF 3D 볼륨을 최종 최적화
- 최종 NeRF 최적화시 추가 규제항으로 pseudo 다중 뷰 데이터 세트에 대한 weak reconstruction loss를 사용
- 3단계에 걸친 NeRF 및 T2I 모델의 합동 최적화는 **DreamBooth** 모델이 subject 의 특정 view point 에 과적합되는 것을 방지하는 동시에 동시에 결과 NeRF 모델이 대상의 정체성에 충실하도록 보장
+ ---
- **결과**
- 실험 샘플 결과들을 통해 본 접근 방식이 입력 텍스트 프롬프트에 존재하는 컨텍스트를 존중하면서 주어진 대상과 유사성이 높은 현실적인 3D 자산을 생성할 수 있음을 입증
@@ -86,24 +86,24 @@
- **Textual Inversion**
입력 개념을 나타내는 사전 학습된 text-to-image 모델의 임베딩 공간에서 새로운 word 를 최적화함으로써 이를 달성
:::{figure-md}
-
+
Textual Inversion \ (source: {https://arxiv.org/abs/2208.01618})
:::
:::{figure-md}
-
+
Textual Inversion Architecture \ (source: {https://arxiv.org/abs/2208.01618})
:::
-- 이러한 방법은 3D 자산이나 3D 일관성 있는 이미지를 생성 기능을 제공하지 않음.
+**→** 이러한 방법론은 3D asset 을 제공하지 않고 일관성 있는 3D 이미지를 생성할 수 없음.
# **3. Approach**
**Problem setup.**
:::{figure-md}
-
+
Input and Output
:::
@@ -142,7 +142,7 @@ Input and Output
**Dream Booth T2I Personalization.**
:::{figure-md}
-
+
특정 피사체에 대한 소수의 이미지 집합 (3-5장) 을 통해 텍스트로 주어지는 Context 에 맞는 맞춤화 이미지 생성
:::
@@ -169,26 +169,26 @@ $$
- **(example) over fitting**
:::{figure-md}
-
+
+
over fitting
:::
- **(example) language-drift**
:::{figure-md}
-
+
language-drift
:::
-
---
**DreamFusion**
- T2I diffusion model을 사용하여 볼륨의 랜덤뷰가 프롬프트 $T$ 에 상응하도록 NeRF $\mathcal{M}_\phi$ ($\phi$ : parameters) 를 통해 표현된 볼륨을 최적화
:::{figure-md}
-
+
DreamFusion process / (source : [DreamFusion](https://pseudo-lab.github.io/pseudodiffusers/docs/review/DreamFusion.html))
:::
@@ -216,7 +216,7 @@ DreamFusion process / (source : [DreamFusion](https://pseudo-lab.github.io/pseud
1. subject에 대해 **T2I model 을 pesonalized(맞춤화)**
2. 맞춤화된 T2I model 을 **text-to-3D optimization** 을 위해 사용
- **즉, DreamBooth 최적화(personalized) ⇒ DreamFusion 최적화**
-- 그러나, **Naive Dreambooth+Fusion 의 결합은 불만족스러운 결과를 초래**
+- **BUT**, **Naive Dreambooth+Fusion 의 결합은 불만족스러운 결과를 초래**
:::{figure-md}
@@ -224,49 +224,56 @@ DreamFusion process / (source : [DreamFusion](https://pseudo-lab.github.io/pseud
:::
- **핵심 문제 (KEY Issue)**
+**핵심 문제 (KEY Issue)**
+
+- **Dream Booth**가 **훈련된 뷰에 존재하는 subject 의 뷰에 과적합** 되어
+**이미지 생성에서 viewpoint 에 대한 다양성이 감소**하는 경향을 보임.
+- 미세 조정 단계가 증가할수록, Subject 유사성 증가 (👍)
+**BUT** input exemplar views에 유사하도록 viewpoints 생성 (👎)
- - **Dream Booth**가 **훈련된 뷰에 존재하는 subject 의 뷰에 과적합** 되어
- **이미지 생성에서 viewpoint 에 대한 다양성이 감소**하는 경향을 보임.
- - 미세 조정 단계가 증가할수록, Subject 유사성 증가 (👍)
- **BUT** input exemplar views에 유사하도록 viewpoints 생성 (👎)
-
- ⇒ 즉, 다양한 시점에서 이미지를 생성하는 능력이 저하됨.
+⇒ 즉, 다양한 시점에서 이미지를 생성하는 능력이 저하됨.
+
+
+- 이런 DreamBooth 모델 기반의 NeRF SDS 손실은 일관된 3D NeRF 결과물을 얻기에 불충분
+- **DreamBooth+Fusion NeRF** 모델이 **서로 다른 view** 에 걸쳐 학습된 **동일한 대상에 대한 뷰**(예: face of a dog : 다양한 각도에서 본 동일한 dog face)를 가지고 있음.
+ - **"Janus problem"** : 두 가지 상반되거나 연관된 측면을 동시에 다루어야 하는 문제
- - 이런 DreamBooth 모델 기반의 NeRF SDS 손실은 일관된 3D NeRF 결과물을 얻기에 불충분
- - **DreamBooth+Fusion NeRF** 모델이 **서로 다른 view** 에 걸쳐 학습된 **동일한 대상에 대한 뷰**(예: face of a dog : 다양한 각도에서 본 동일한 dog face )를 가지고 있음.
- - **"Janus problem"**으로 인한 실패 사례 : 두 가지 상반되거나 연관된 측면을 동시에 다루어야 하는 문제
-
### 3.3. Dreambooth3D Optimization
---
:::{figure-md}
+
DreamBooth3D Overview
:::
- DreamBooth3D Overview
+
**stage-1 (왼쪽)**: 먼저 DreamBooth를 부분적으로 훈련시키고, 결과 모델을 사용하여 초기 NeRF를 최적화
+
**stage-2 (가운데)**: 초기 NeRF에서 랜덤 시점에 따라 다중 시점 이미지를 렌더링한 후, 완전히 훈련된 DreamBooth 모델을 사용하여 이를 가상 다중 시점 subject 이미지로 변환
+
**stage-3 (오른쪽)**: 다중 시점 이미지를 사용하여 부분적인 DreamBooth를 추가로 미세 조정한 다음, 결과적으로 얻어진 다중 시점 DreamBooth를 사용하여 최종 NeRF 3D 자산을 SDS 손실과 다중 시점 재구성 손실을 통해 최적화
- 위의 문제를 해결하고 성공적인 subject 맞춤 text-to-3D 생성을 위해 효율적인 3단계 최적화 방식을 기반으로 한 Dream-Booth3D 제안
+---
+
**1️⃣Stage-1: 3D with Partial DreamBooth**
:::{figure-md}
-
+
+
Stage-1 : 3D with Partial DreamBooth
:::
- 입력된 Subject 이미지를 사용하여 DreamBooth 모델 $\hat{\mathcal{D}}_\theta$ 를 훈련
-
+---
- **partial DreamBooth** 모델 하에 DreamFusion은 더 일관된 3D NeRF를 생성가능
- NeRF 최적화시 SDS 손실 사용 :
@@ -275,25 +282,28 @@ Stage-1 : 3D with Partial DreamBooth
- SDS 손실을 사용하여 주어진 텍스트 프롬프트에 대한 초기 NeRF 자산을 최적화
- **partial DreamBooth** 모델과 NeRF 결과물은 입력된 subject 와 완전히 유사하지 않음
-
+---
**2️⃣Stage-2: Multi-view Data Generation**
:::{figure-md}
-
+
+
Stage-2: Multi-view Data Generation
:::
-
+---
1. **Initial NeRF** 로부터 다양한 랜덤 viewpoints $\{v\}$을 따라 여러 이미지$\left\{\hat{I}v \in \mathbb{R}^{n \times 3}\right\}$ 를 렌더링하여 다중 시점 렌더링을 생성
2. 각 **렌더링에 고정된 양의 노이즈를 추가하는 forward diffusion** 과정을 통해 $t_{pseudo}$로 전환
@@ -306,17 +316,19 @@ Stage-2: Multi-view Data Generation
⇒ 가상(pseudo) 다중 시점 이미지 집합 **(collection of pseudo multi-view images)**
-
+---
:::{figure-md}
-
+
+
:::
- 위 그림을 통해 체크할 부분
@@ -327,13 +339,13 @@ Stage-2: Multi-view Data Generation
**3️⃣Stage-3: Final NeRF with Multi-view DreamBooth**
:::{figure-md}
-
+
Stage-3 : Final NeRF with Multi-view DreamBooth
SDS와 multi-view reconstruction 손실을 사용한 최종 NeRF 최적화
:::
-**새로운 데이터 $I^{\text{aug}}$ 생성**
+> **새로운 데이터 $I^{\text{aug}}$ 생성**
- 가상 다중 시점 이미지 $\left\{I_v^{\text {pseudo }}\right\}$, 입력 Subject 이미지 $\left\{I_i\right\}$ 의 결합을 통해 생성
@@ -341,13 +353,13 @@ $$
I^{\text {aug }}=\left\{I_v^{\text {pseudo }}\right\} \cup\left\{I_i\right\}
$$
- **$I^{\text {aug}}$ 를 사용하여 최종 Multi-view DreamBooth 모델을 최적화**
+> **$I^{\text {aug}}$ 를 사용하여 최종 Multi-view DreamBooth 모델을 최적화**
1. 1단계에서 **partial DreamBooth** $\hat{\mathcal{D}}_{\theta^*}$ 준비
2. 위의 증강 데이터 $I^{\text {aug}}$ 를 사용하여 $\hat{\mathcal{D}}_{\theta^*}$ 에 대한 **파인튜닝**을 추가 진행
3. **Multi-view DreamBooth** $\hat{\mathcal{D}}_\theta^{\mathrm{multi}}$ 를 생성
- $\hat{\mathcal{D}}_\theta^{\text {multi }}$ **모델을 사용하여 DreamFusion SDS Loss 와 함께 NeRF 3D assets 를 최적화**
+> $\hat{\mathcal{D}}_\theta^{\text {multi }}$ **모델을 사용하여 DreamFusion SDS Loss 와 함께 NeRF 3D assets 를 최적화**
- 1단계의 **partial DreamBooth**에 비해 **multi-view DreamBooth** 의 뷰 일반화와 subject 보존 능력이 더 우수하기 때문에 **subject idendtity가 상당히 향상된 NeRF 모델 생성 가능**
- **BUT** SDS 손실만 사용시 최적화된 NeRF assets 이
@@ -360,6 +372,8 @@ $$
- 색상 값을 잘못 예측하여 비현실적인 색상 표현이 나타난 경우 발생
- 다양한 시점에서 일관된 색상 표현을 유지하지 못한 경우 발생
+---
+
**Reconstruction loss**
- $\left\{I_v^{\mathrm{pseudo}}\right\}$ 가 생성된 카메라 매개변수 $\left\{P_v\right\}$ 정보를 알고 있으므로,
@@ -430,6 +444,7 @@ $$
:::{figure-md}
+
:::
- **비교 결과**: DreamBooth3D, Latent-NeRF, DreamBooth+Fusion 기준 모델의 비교
@@ -441,12 +456,14 @@ $$
:::{figure-md}
+
:::
**Initial vs. Final NeRF**
:::{figure-md}
+
:::
- 1단계와 3단계에서 생성된 초기 NeRF와 최종 NeRF 결과
@@ -457,6 +474,7 @@ $$
**User Study.**
:::{figure-md}
+
:::
**→ DreamBooth3D와 비교 모델들을 세가지측면에 대해 아래의 질문에 대한 답변으로 평가**
@@ -474,6 +492,7 @@ $$
## 4.2. Sample Applications
:::{figure-md}
+
:::
- **Recontextualization. (재문맥화)**
@@ -483,6 +502,7 @@ $$
:::{figure-md}
+
:::
- **Color/Material Editing.**
@@ -492,6 +512,7 @@ $$
:::{figure-md}
+
:::
- **Stylization**
@@ -505,6 +526,7 @@ $$
---
:::{figure-md}
+
limitations
:::
diff --git a/docs/experiments/js_exp.html b/docs/experiments/js_exp.html
index ebc13c9e..d90955d3 100755
--- a/docs/experiments/js_exp.html
+++ b/docs/experiments/js_exp.html
@@ -529,7 +529,7 @@
Fig. 649 4 classes of leaves#
+Fig. 654 4 classes of leaves#
Fig. 650 4 classes of leaves#
+Fig. 655 4 classes of leaves#
Fig. 651 prompt: “a photo of leaves with multiple diseases#
+Fig. 656 prompt: “a photo of leaves with multiple diseases#
Fig. 652 prompt: “a photo of a <diseaes-leaf> leaf”#
+Fig. 657 prompt: “a photo of a <diseaes-leaf> leaf”#
Fig. 653 fine tuning 전#
+Fig. 658 fine tuning 전#
Fig. 654 fine tuning 후#
+Fig. 659 fine tuning 후#
Fig. 655 fine tuning 전#
+Fig. 660 fine tuning 전#
Fig. 656 fine tuning 후#
+Fig. 661 fine tuning 후#
Fig. 657 multiple diseases class 이미지 생성 결과, prompt: “<diseaes-leaf> leaf”#
+Fig. 662 multiple diseases class 이미지 생성 결과, prompt: “<diseaes-leaf> leaf”#
Fig. 658 leaf 생성 결과, prompt: “leaf”#
+Fig. 663 leaf 생성 결과, prompt: “leaf”#
Fig. 659 photo 생성 결과, prompt: “photo”#
+Fig. 664 photo 생성 결과, prompt: “photo”#
Fig. 660 result_base#
+Fig. 665 result_base#
생성한 이미지를 추가 데이터로 활용한 경우
@@ -662,7 +662,7 @@Fig. 661 result_now#
+Fig. 666 result_now#
Fig. 662 cat 생성 결과, prompt: “cat”#
+Fig. 667 cat 생성 결과, prompt: “cat”#
Fig. 663 sea 생성 결과, prompt: “sea”#
+Fig. 668 sea 생성 결과, prompt: “sea”#
Fig. 664 pirate 생성 결과, prompt: “pirate”#
+Fig. 669 pirate 생성 결과, prompt: “pirate”#
Fig. 665 illustration 생성 결과, prompt: “illustration”#
+Fig. 670 illustration 생성 결과, prompt: “illustration”#
Fig. 666 animation 생성 결과, prompt: “animation”#
+Fig. 671 animation 생성 결과, prompt: “animation”#
Fig. 667 wallpaper 생성 결과, prompt: “wallpaper”#
+Fig. 672 wallpaper 생성 결과, prompt: “wallpaper”#
Fig. 668 Training Data#
+Fig. 673 Training Data#
DreamBooth 를 실험하면서 대표적으로 instance prompt, guidance scale, negative prompt, 그리고 마지막으로 prior preservation loss 를 반영하는 정도를 조절하는 prior_loss_weight 를 바꿔가면서 학습해보았습니다. 사전학습된 text-to-image 모델로 처음에는 hakurei/waifu-diffusion 모델을 시도해봤지만 결과가 만족스럽지 못해 runwayml/stable-diffusion-v1-5 모델로 fine-tuning 작업을 진행했습니다.
@@ -603,7 +603,7 @@Fig. 669 With Prior Preservation Loss#
+Fig. 674 With Prior Preservation Loss#
Fig. 670 Without Prior Preservation Loss#
+Fig. 675 Without Prior Preservation Loss#
Fig. 671 Without Negative Prompt#
+Fig. 676 Without Negative Prompt#
Fig. 672 With Negative Prompt#
+Fig. 677 With Negative Prompt#
Fig. 673 Instance Prompt#
+Fig. 678 Instance Prompt#
Inference step 을 늘려가면서 추론된 인물 이미지의 퀄리티가 상승하는 부분도 확인할 수 있었습니다. 또한, guidance scale 에 대한 실험도 진행했는데 guidance scale 이 작을수록 prompt 와 무관한 random 한 이미지들을 생성하게 됩니다. 최종적으로 num_inference steps 와 guidance scale 의 값은 각각 100 과 7.5 로 설정하였습니다.
@@ -720,7 +720,7 @@Fig. 674 Increasing Number of Inference Steps#
+Fig. 679 Increasing Number of Inference Steps#
Fig. 675 Increasing Number of Inference Steps / Negative Prompt#
+Fig. 680 Increasing Number of Inference Steps / Negative Prompt#
Fig. 676 Guidance Scale#
+Fig. 681 Guidance Scale#
동일한 inference prompt 로 prior-preservation loss 를 제외해본 결과, 생성된 남자의 머리카락이 더 길어지고 더 여성스러운 생김새를 가지는 놀라운 사실도 발견했습니다.
@@ -755,7 +755,7 @@Fig. 677 Without Prior Preservation Loss#
+Fig. 682 Without Prior Preservation Loss#
Fig. 678 Appendix 1#
+Fig. 683 Appendix 1#
Fig. 679 Appendix 2#
+Fig. 684 Appendix 2#
Fig. 680 Appendix 3#
+Fig. 685 Appendix 3#
마지막으로 하단의 좌측과 우측 사진은 각각 “A photo of sks girl” 그리고 “A photo of a girl in the style of sks” 이라는 prompt 로 DreamBooth 모델을 각각 학습한 후, 나비를 생성하라는 동일한 prompt 로 추론해본 결과입니다. sks 가 수식하는 명사가 girl 이 아닌 style 이도록 prompt 를 수정함으로써, butterfly 사진을 생성할때 조금이나마 더 프리드로우 웹툰의 그림체를 반영할 수 있었던 부분도 확인할 수 있었습니다.
@@ -803,7 +803,7 @@Fig. 681 Appendix 4#
+Fig. 686 Appendix 4#
- **Title:** DreamBooth3D: Subject-Driven Text-to-3D Generation
-
-- **Reference**
- - Paper: [https://arxiv.org/abs/2303.13508](https://arxiv.org/abs/2303.13508)
- - Project Page : [https://dreambooth3d.github.io/](https://dreambooth3d.github.io/)
-
-- **Author:** Jeongin Lee
-
-- **Last updated on {Sep. 3, 2024}**
-
Information
+Title: DreamBooth3D: Subject-Driven Text-to-3D Generation
Reference
+Project Page : https://dreambooth3d.github.io/
Author: Jeongin Lee
Last updated on {Sep. 3, 2024}
DreamBooth3D : 피사체의 3-6개의 캐주얼한 촬영 이미지로부터 text-to-3D 생성 모델을 personalization (맞춤화)
DreamBooth3D : 피사체의 3-6개의 캐주얼한 촬영 이미지로부터 text-to-3D 생성 모델을 personalization (맞춤화)
DreamBooth + DreamFusion 의 결합
DreamBooth : personalizing text-to-image models
[STEP 1️⃣]
DreamBooth 모델을 부분적으로 미세 조정
DreamFusion을 사용하여 NeRF 최적화
부분적으로 미세 조정된 DreamBooth 모델은 주어진 대상 뷰에 과적합 되지 않으며 모든 subject별 세부 정보를 캡처하지 않음
결과적으로 생성된 NeRF 자산은 3D 일관성이 있지만 subject 에 대한 특성을 완전히 반영하지못함.
[setp 2️⃣]
+[STEP 2️⃣]
DreamBooth 모델을 완전히 미세 조정하여 세부 사항을 캡처
1단계에서 학습된 NeRF의 다중 뷰 렌더링을 완전히 학습된 DreamBooth 모델에 투입
이를 통해 subject 별로 다중 뷰 가상 이미지 집합을 생성
[setp 3️⃣]
+[STEP 3️⃣]
1단계의 주어진 subject 이미지와 가상(pseudo) 다중 뷰 이미지를 사용하여 DreamBooth 모델을 추가로 최적화
추가 최적화한 DreamBooth 로 NeRF 3D 볼륨을 최종 최적화
결과
실험 샘플 결과들을 통해 본 접근 방식이 입력 텍스트 프롬프트에 존재하는 컨텍스트를 존중하면서 주어진 대상과 유사성이 높은 현실적인 3D 자산을 생성할 수 있음을 입증
Fig. 642 Textual Inversion \ (source: {https://arxiv.org/abs/2208.01618})#
Fig. 643 Textual Inversion Architecture \ (source: {https://arxiv.org/abs/2208.01618})#
이러한 방법은 3D 자산이나 3D 일관성 있는 이미지를 생성 기능을 제공하지 않음.
→ 이러한 방법론은 3D asset 을 제공하지 않고 일관성 있는 3D 이미지를 생성할 수 없음.
Problem setup.
Fig. 644 Input and Output#
Dream Booth T2I Personalization.
Fig. 645 특정 피사체에 대한 소수의 이미지 집합 (3-5장) 을 통해 텍스트로 주어지는 Context 에 맞는 맞춤화 이미지 생성#
(example) over fitting
Fig. 646 over fitting#
+(example) language-drift
Fig. 646 language-drift#
+Fig. 647 language-drift#
T2I diffusion model을 사용하여 볼륨의 랜덤뷰가 프롬프트 \(T\) 에 상응하도록 NeRF \(\mathcal{M}_\phi\) (\(\phi\) : parameters) 를 통해 표현된 볼륨을 최적화
Fig. 647 DreamFusion process / (source : DreamFusion)#
+Fig. 648 DreamFusion process / (source : DreamFusion)#
Dream Booth가 훈련된 뷰에 존재하는 subject 의 뷰에 과적합 되어 +이미지 생성에서 viewpoint 에 대한 다양성이 감소하는 경향을 보임.
미세 조정 단계가 증가할수록, Subject 유사성 증가 (👍) +BUT input exemplar views에 유사하도록 viewpoints 생성 (👎)
⇒ 즉, 다양한 시점에서 이미지를 생성하는 능력이 저하됨.
+이런 DreamBooth 모델 기반의 NeRF SDS 손실은 일관된 3D NeRF 결과물을 얻기에 불충분
DreamBooth+Fusion NeRF 모델이 서로 다른 view 에 걸쳐 학습된 동일한 대상에 대한 뷰(예: face of a dog : 다양한 각도에서 본 동일한 dog face)를 가지고 있음.
+“Janus problem” : 두 가지 상반되거나 연관된 측면을 동시에 다루어야 하는 문제
**핵심 문제 (KEY Issue)**
-
-- **Dream Booth**가 **훈련된 뷰에 존재하는 subject 의 뷰에 과적합** 되어
-**이미지 생성에서 viewpoint 에 대한 다양성이 감소**하는 경향을 보임.
-- 미세 조정 단계가 증가할수록, Subject 유사성 증가 (👍)
-**BUT** input exemplar views에 유사하도록 viewpoints 생성 (👎)
-
- ⇒ 즉, 다양한 시점에서 이미지를 생성하는 능력이 저하됨.
-
-- 이런 DreamBooth 모델 기반의 NeRF SDS 손실은 일관된 3D NeRF 결과물을 얻기에 불충분
-- **DreamBooth+Fusion NeRF** 모델이 **서로 다른 view** 에 걸쳐 학습된 **동일한 대상에 대한 뷰**(예: face of a dog : 다양한 각도에서 본 동일한 dog face )를 가지고 있음.
- - **"Janus problem"**으로 인한 실패 사례 : 두 가지 상반되거나 연관된 측면을 동시에 다루어야 하는 문제
-
Fig. 649 DreamBooth3D Overview#
+DreamBooth3D Overview
stage-1 (왼쪽): 먼저 DreamBooth를 부분적으로 훈련시키고, 결과 모델을 사용하여 초기 NeRF를 최적화
+stage-2 (가운데): 초기 NeRF에서 랜덤 시점에 따라 다중 시점 이미지를 렌더링한 후, 완전히 훈련된 DreamBooth 모델을 사용하여 이를 가상 다중 시점 subject 이미지로 변환
+stage-3 (오른쪽): 다중 시점 이미지를 사용하여 부분적인 DreamBooth를 추가로 미세 조정한 다음, 결과적으로 얻어진 다중 시점 DreamBooth를 사용하여 최종 NeRF 3D 자산을 SDS 손실과 다중 시점 재구성 손실을 통해 최적화
DreamBooth3D Overview -stage-1 (왼쪽): 먼저 DreamBooth를 부분적으로 훈련시키고, 결과 모델을 사용하여 초기 NeRF를 최적화 -stage-2 (가운데): 초기 NeRF에서 랜덤 시점에 따라 다중 시점 이미지를 렌더링한 후, 완전히 훈련된 DreamBooth 모델을 사용하여 이를 가상 다중 시점 subject 이미지로 변환 -stage-3 (오른쪽): 다중 시점 이미지를 사용하여 부분적인 DreamBooth를 추가로 미세 조정한 다음, 결과적으로 얻어진 다중 시점 DreamBooth를 사용하여 최종 NeRF 3D 자산을 SDS 손실과 다중 시점 재구성 손실을 통해 최적화
위의 문제를 해결하고 성공적인 subject 맞춤 text-to-3D 생성을 위해 효율적인 3단계 최적화 방식을 기반으로 한 Dream-Booth3D 제안
1️⃣Stage-1: 3D with Partial DreamBooth
+Fig. 650 Stage-1 : 3D with Partial DreamBooth#
+입력된 Subject 이미지를 사용하여 DreamBooth 모델 \(\hat{\mathcal{D}}_\theta\) 를 훈련
🌟 DreamBoothT2I 모델의 초기 체크포인트가 (=부분적으로 파인튜닝한 결과) 주어진 subject view에 과적합되지 않음을 확인
+partial DreamBooth 모델 하에 DreamFusion은 더 일관된 3D NeRF를 생성가능
NeRF 최적화시 SDS 손실 사용 :
@@ -851,15 +879,21 @@🌟 즉, 1️⃣ Stage-1 에서의 초기 NeRF 는 주어진 subject 와 부분적으로ㅁ 유사하면서, +주어진 텍스트 프롬프트에 충실한 subject class 3D 모델
+2️⃣Stage-2: Multi-view Data Generation
- +Initial NeRF 로부터 다양한 랜덤 viewpoints \(\{v\}\)을 따라 여러 이미지\(\left\{\hat{I}v \in \mathbb{R}^{n \times 3}\right\}\) 를 렌더링하여 다중 시점 렌더링을 생성
각 렌더링에 고정된 양의 노이즈를 추가하는 forward diffusion 과정을 통해 \(t_{pseudo}\)로 전환
🔑 Key insight
+초기 NeRF 이미지가 unseen views 에 가까울 경우, +DreamBooth가 Subject 의 unseen views를 효과적으로 생성 가능
입력 이미지에 비해 Subject 와 더 유사한 출력 이미지를 효과적으로 생성가능**
위 그림을 통해 체크할 부분
Fig. 648 Stage-3 : Final NeRF with Multi-view DreamBooth -SDS와 multi-view reconstruction 손실을 사용한 최종 NeRF 최적화#
+Fig. 652 Stage-3 : Final NeRF with Multi-view DreamBooth +SDS와 multi-view reconstruction 손실을 사용한 최종 NeRF 최적화#
새로운 데이터 \(I^{\text{aug}}\) 생성
++새로운 데이터 \(I^{\text{aug}}\) 생성
+
가상 다중 시점 이미지 \(\left\{I_v^{\text {pseudo }}\right\}\), 입력 Subject 이미지 \(\left\{I_i\right\}\) 의 결합을 통해 생성
+\(I^{\text {aug}}\) 를 사용하여 최종 Multi-view DreamBooth 모델을 최적화
+
1단계에서 partial DreamBooth \(\hat{\mathcal{D}}_{\theta^*}\) 준비
위의 증강 데이터 \(I^{\text {aug}}\) 를 사용하여 \(\hat{\mathcal{D}}_{\theta^*}\) 에 대한 파인튜닝을 추가 진행
Multi-view DreamBooth \(\hat{\mathcal{D}}_\theta^{\mathrm{multi}}\) 를 생성
\(\hat{\mathcal{D}}_\theta^{\text {multi }}\) 모델을 사용하여 DreamFusion SDS Loss 와 함께 NeRF 3D assets 를 최적화
++\(\hat{\mathcal{D}}_\theta^{\text {multi }}\) 모델을 사용하여 DreamFusion SDS Loss 와 함께 NeRF 3D assets 를 최적화
+
1단계의 partial DreamBooth에 비해 multi-view DreamBooth 의 뷰 일반화와 subject 보존 능력이 더 우수하기 때문에 subject idendtity가 상당히 향상된 NeRF 모델 생성 가능
BUT SDS 손실만 사용시 최적화된 NeRF assets 이
@@ -932,6 +972,7 @@Reconstruction loss
\(\left\{I_v^{\mathrm{pseudo}}\right\}\) 가 생성된 카메라 매개변수 \(\left\{P_v\right\}\) 정보를 알고 있으므로, @@ -1099,6 +1140,12 @@
Fig. 653 limitations#
+최적화된 3D 표현이 때때로 과도하게 포화되고 매끄럽게 처리되는 경우가 존재
Fig. 573 Latent Diffusion Model#