論文まとめ：Zero-1-to-3: Zero-shot One Image to 3D Object

# はじめに
ICCV 2023より以下の論文のまとめ
[0] R. Liu, et. al. "Zero-1-to-3: Zero-shot One Image to 3D Object" ICCV 2023.

## CVF open access
https://openaccess.thecvf.com/content/ICCV2023/html/Liu_Zero-1-to-3_Zero-shot_One_Image_to_3D_Object_ICCV_2023_paper.html

## github
https://github.com/cvlab-columbia/zero123

# 概要
1. 学習データにはない初めてのRGB画像１枚に対し（Zero-shot）、指定した角度だけ回転させた画像を生成するしくみ
1. 事前に大規模な画像セットで様々な物体の様々な角度からの画像を学習させておく
1. その後、合成データセットにより、画像を角度の制約付きで学習させる

以下が生成した新しい角度における画像。

![スクリーンショット 2024-12-29 5.45.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/d5d3e88e-7ca9-a431-1fa6-7fc41ef68c2e.png)

中列下の像の例では、像の左面を入力として、そこから上側に45°、左周りに60°回転させた位置からの画像を生成している。生成された画像は背中の上面が写り、体の下に足があり、もっともらしく見える。

右側はリアルではない画像に対するものだが、このようなデフォルメされた抽象画に対してもそれらしい形状を推定している。

# 背景
## これまでの新視点画像生成における課題
- 入力画像に対して新視点からの画像を生成させる分野では、学習時に物体の画像と対応するカメラ外部パラメータが必要になるため、データセットの数が限られていた。あるいは特定のカテゴリーの物体に特化されていた
- 最近ではCO3D datasetのように１万以上の種々の物体からなるデータセットも登場したが、様々な物体の立体形状を学習するには数としては不十分であるう
- 一方で、2D画像のデータはネット上に大量に存在する。これを活かす仕組みがあれば、様々な物体に対応するモデルができるかもしれない
## ネット上の大規模画像を利用する場合の課題
- ネット上には様々な物体に対する多くの画像が存在するが、視点に関する情報がないので、これのみでは本モデルが構築できない
- ネット上の画像は視点にバイアスがかかっている。例えば人や動物は顔が正面を向いている場合がほとんどであるなど

# 手法

## 事前学習
- 大規模データセットで学習した Stable Diffusionを用いる

## 本学習
以下のように

![スクリーンショット 2024-12-29 7.29.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/479a2cdc-0190-3e2e-6a48-c4fd4c9f0d9a.png)

1. input View 画像
1. カメラ外部行列(R, T)
1. (R, T)で transform させた画像

をシミュレータから用意し、input view 画像と (R, T)をconditionとして、transformさせた画像を推定させるタスクを解く。

### 本学習で用いるdataset
データセットは [8]のObjaverseというものを用いた。
https://objaverse.allenai.org
このデータセットでは10万人以上のクリエーターがトータル80万以上の3Dモデルを作成している。

それぞれのデータに対して12視点の画像＋(R,T)を生成し、学習時はそれらから２つをpick upして用いる。

### loss
以上から、lossは以下のように画像 $x$ 、新視点のカメラ外部パラメータ $R, T$ をconditionとして、ステップ $t$ のノイズ $\epsilon$ を推定させるよう学習させる。

```math
\min_{\theta} \mathbb{E}_{ z \sim \epsilon(x), t, \epsilon \sim \mathcal{N}(0, 1)} \| \epsilon - \epsilon (z_t, t, c(x, R, T)) \|_2^2. \tag{2}
```

# 3D再構築
本論文の手法を用いれば元となる画像に対する別の視点からの画像が出力される。しかし実運用上それだけで足りるアプリケーションは少なく3Dの立体モデルが求められる場合が多い。

本論文でも出力された別視点画像をも用いて3D立体モデルを再構築する手法が述べられている。（論文中3.3）

具体的には[54]のScore Jacobian Changing (SJC)を用いる。この論文はちゃんと読んでないが、dreamFusionとは別の仕組みでNeRF空間を学習させるみたい。以下、概略図。

![スクリーンショット 2024-12-29 19.15.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/dd21b931-29b0-ec07-58d2-024b7af72777.png)


以下は3D再構築結果を他の主要手法と比較したもの。

![スクリーンショット 2024-12-29 19.12.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/32ac2f54-c16c-dbfa-8e24-9e89d1819c3f.png)


# 結果
## 新視点からの画像生成
### 比較モデル
- 同じくRGB画像からzero-shotで新視点画像を推定する以下の手法と比較した
1.  DietNeRF
1.  Image Variations (IV)
1.  SJC

### 用いたdataset
学習時のデータセットとは異なる以下２つのdatasetに対して推論させた。
1. Google Scanned Objects (GSO)
1. RTMV

### メトリクス
画像の一致度を測る以下の４つで評価した。
1. PSNR
1. SSIM
1. LPIPS
1. FID

### 定量的評価
Google Scanned Objects (GSO)を用いた場合の結果は以下。

![スクリーンショット 2024-12-29 19.37.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/e8e43caa-6ef2-3ca3-37ab-0f7e6840e505.png)

いずれの評価手法においても他の手法より精度がよい。


RTMVを用いた場合の結果は以下。

![スクリーンショット 2024-12-29 19.38.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/75f79ebb-4bcb-abe5-01d0-b681fdbc6401.png)

同じくいずれの評価手法においても他の手法より精度がよい。

### 定性的評価
以下はGoogle Scanned Objects (GSO)を用いた場合の他の手法との比較。

![スクリーンショット 2024-12-29 19.43.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/9f68e468-2060-ebba-0e9e-7e94194b46c3.png)

角度は他の手法でも正しいものがあるが、入力画像における物体に対して忠実に再現するかという観点では本手法（ours）が最も忠実。やはり、事前学習、本学習を含め大規模なデータセットで学習している効果が出ているか。

## 3D再構築した場合の他の手法と定性的な比較

以下のように、本手法（ours）が最も忠実に再現できている。

![スクリーンショット 2024-12-29 19.47.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/46b1e2ca-b5f1-9d1d-c0f4-ba0cc2114ea3.png)

# 感想
- 本手法の対象分野は学習データ以外のRGBを入力として指定した新視点における画像生成タスクであるが、手法自体に真新しさは感じられない
- しかしネット上の大量データで事前学習したモデルをいかすことで多様性を獲得し、また同様にかなり大量の3Dモデルを用いて新画像生成タスクを学習させたことで、高い性能が出たか？
- 論文では明確に述べられてないが、SJCやdreamFusionの課題として挙げられるヤヌス問題に対しどれくらの改善ができたのか知りたい

# reference
- [8] Matt Deitke, Dustin Schwenk, Jordi Salvador, Luca Weihs,
Oscar Michel, Eli VanderBilt, Ludwig Schmidt, Kiana Ehsani, Aniruddha Kembhavi, and Ali Farhadi. Obja- verse: A universe of annotated 3D objects. arXiv preprint arXiv:2212.08051, 2022.

- [54] Haochen Wang, Xiaodan Du, Jiahao Li, Raymond A Yeh, and Greg Shakhnarovich. Score jacobian chaining: Lifting pretrained 2D diffusion models for 3D generation. In CVPR, 2023.