画像生成AI素人がテキストからの3D生成を試してみた【Score Jacobian Chaining (SJC)】

# はじめに
今年はStable Diffusionと呼ばれるテキストからの画像生成が流行しましたね。Stable Diffusionの拡張版として、テキストからの3D画像の生成技術も最近公開されています。代表的なものには[Stable Dreamfusion](https://note.com/npaka/n/nc617427c6b04)、[Latent-NeRF](https://note.com/npaka/n/n8164d6b718f3#fd2c3909-27d6-4d10-9912-f69a251ba89f)、[Score Jacobian Chaining (SJC)](https://note.com/npaka/n/n18ebe74cd150) があります。今回はその中で、最新のSJCを取り上げたいと思います。

# SJCの実行
こちらの記事を参考にさせていただきました。

https://note.com/npaka/n/n18ebe74cd150

私は全くの素人ですが、この記事の通りにやれば実行できましたので、筆者の方に感謝しております。
※Google ColabのColab Proプランへの加入が必要です。

# サンプル3D画像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/37651f2d-3591-5cbe-1183-05803373b20d.png)

このように、プロンプトを指定してあげると様々な3D画像が生成されます。例えばハンバーガーですと、
```A high quality photo of a delicious burger```
というように指定してあげると生成されます。プロンプトの一覧はこちらに載っています。

https://github.com/pals-ttic/sjc/

# 実験①実在の人物
### ジョンレノン
それでは、他の呪文を使って、実験してみたいと思います。まず、試してみたのが実在の人物です。サンプルではアメリカの大統領のfigureを生成できているので、他の職業の人でいきましょう。
ミュージシャンの中でも知らない人はいないであろうジョンレノンでやってみました。プロンプトは```John lennon figure```です。結果はこうなりました。
![john-lennon.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/84226cfb-9487-5066-d088-1495c0ad39ad.gif)


髪の長いやせ型の面長な男性が出てきました。サングラスかメガネもかけていますね。世間のジョンレノンのイメージと一致していそうです。ちゃんと手まで生成されていていいですね。でも誰だか認識できないですね。X JapanのYOSHIKIとToshiを混ぜたような感じですかね。

### イーロンマスク

次に世界の社長代表イーロンマスクです。プロンプトは```Elon musk figure```です。結果はこうなりました。
![elon.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/7b5c0147-80ba-bd74-085a-18db5daa7436.gif)
誰...?筋骨隆々のピンクの男が出てきてしまいました。アイアンマンみたいですね。

### 世界的に有名な外国人俳優

ここまでの結果から、多く写真を撮られている人がいいだろうと考えました。そうするとたくさん映像がありそうな俳優さんとかでしょうか。そして、海外の人が集めたデータセットであることを考えると外国人。世界的に有名な外国人俳優...。
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
そうだ！ジャックニコルソンだ！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/73f5c6d5-36df-d41c-aaac-33c561d96b13.png)

ジョンレノンでは顔の特徴まで判別できませんでしたが、ジャックニコルソンであれば、かなり特徴的な顔、眉毛をしているので、判別できるのではないでしょうか。```Jack Nicholson figure```で試してみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/44065747-7fe5-879f-5d90-c0f5fc89a3b0.png)
![jack.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/0132cfd2-8732-2f40-8123-c8235938ca63.gif)

figureで指定してるのに、まさかフェイスマスクで出てくるとは...。顔面の圧が強すぎるのでしょうか。しかもシャイニングの角度と完全に一致。


これも、怖い顔の男性というように感じますが、ジャックニコルソンであるかは判別できない気がします。そして、平面的な画像が生成されてしまっています。

# 実験②キャラクター
### ピカチュー
実在の人物ではなく、キャラクターではどうでしょうか。まず、ピカチュウでやってみました。プロンプトは```pikachu figure```です。
サトシ「いけっピカ.......」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/2f04b77c-facd-76c9-2a19-969a4ec39b36.png)
![pikachu.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/572f9c8e-9f64-d5cf-e318-4974467fbdd2.gif)

サトシ「.....ピカチュー！！！！！！！」
ピカチュー「こんなになっちゃった........」
全方位顔面クリーチャーピカチューの誕生ですね。正面の画像ばかり学習しているからこうなってしまうのでしょうか。角度によってはちゃんとかわいい顔してますね。

### 綾波レイのねんどろいど
次に綾波レイのねんどろいどを生成してみました。プロンプトは```Rei Ayanami nendoroid```です。
![rei nendo.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/e42072bd-86c4-c239-f34d-b4c78deed13b.gif)
青いショートの髪に白い服装までは再現できています。しかし、目が赤くないですし、やっぱり背面も顔になってしまいますね。微妙に横顔は生成できている気がします。

# 実験③建造物
### 法隆寺
まず、法隆寺でやってみました。プロンプトは、```A zoomed out high quality photo of Horyu-ji Temple```です。

![horyuji.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/eb048754-65c7-7a95-1a7e-120df66a87b0.gif)

明らかに五重塔ではありませんね。上から見ると五角形してるし...。これって法隆寺なのかな。

### スカイツリー
スカイツリーも試してみました。プロンプトは、```A zoomed out high quality photo of Tokyo Sky Tree```です。
![skytree.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/75733c6f-5204-f046-b3ab-71c899d9ef0d.gif)

スカイツリーのようなものが生成されていますね。ちょっと平面的な感じもしますが。

# 実験④食べ物
### エクレア
みんな大好きエクレアを生成しました。プロンプトは```Dark chocolate covered eclair```です。
![eclair.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461625/1fef6e85-cb23-5024-cea2-07063fc9e2c0.gif)
どうでしょうか。いろいろ試してみたのですが、どうしてもクリームがはみ出てしまいます。様々なタイプのエクレアがあるからでしょうか。

# まとめ
いかがだったでしょうか。様々なプロンプトを試してみましたが、想定通りにいくものは少ないです。あまり長いプロンプトにも対応してないようです。まだtext to 3D imageには課題点がありそうですね。ぜひ皆さまもSJC試してみてください。