Shap-Eとは
テキストや画像をもとに3Dモデルを自動生成してくれるAIです。
作業環境
- Windows11
- Python 3.10.6
- CUDA 11.8
- torch 2.0.1+cu118
- torchvision 0.15.2+cu118
- pip 22.2.1
- GPU RTX4090
- GPUドライバー バージョン536.23(Game Ready)
公式リポジトリ
出力結果
何はともあれまずは出力結果を見てみましょう。
text_to_3d
実行するスクリプト: shap-e\shap_e\examples\sample_text_to_3d.ipynb
魚
ドラゴン
prompt: a dragon
ポリゴン数: 27,428
地球
prompt: an earth
ポリゴン数: 307,064
image_to_3d
試したら書きます。
気づいたこと・考察
- 不要なメッシュが多い(最適なトポロジーで出力されるわけではない)
- 形状が粗い
- 単純な形状の方がポリゴン数が多い
- 色はテクスチャやマテリアルではなく頂点カラーで出力される
- 頂点カラーを使用しているため、形状より配色の方がポリゴン数に与える影響が大きい?
トラブルシューティング(2023/06/18 16:20現在)
ライブラリ不足のエラーが発生する場合
pyyaml
とipywidgets
を手動でインストールする(公式ドキュメントのpip install -e .
ではインストールされない)
GPUがあるのにCPUで実行される場合
CUDAとPyTorchのバージョンの互換性の関係でGPUが認識されずCPUが使用される場合がある。sample_latents
メソッドを実行するセルの実行にあまりにも時間がかかる場合はCPUを使用してしまっている可能性があるため、以下の手順で確認する。
CPUとGPUのどちらを使用しているかを確認する方法
-
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
の実行後にprint(device)
を追加して実行する -
cpu
と表示されたらCPUが使用されているため、以下の手順で環境を整える
GPUを使用するためにやったこと
- ライブラリを再インストールする
1.1. 公式サイト( https://pytorch.org/ )中段で自分の環境用のコマンドを確認する
1.2.Run this Command:
に記載されているライブラリを一旦自分の環境からアンインストールする
1.3.Run this Command:
のコマンドを実行してライブラリを再インストールする - CUDAのバージョンを確認し、必要に応じて再インストールする
例えばWindows11の場合、上記の画像の通りCUDA 11.7もしくは11.8しか対応していない。
nvcc -V
その他試したこと
- 最新のGPUドライバーのインストール
- PCの再起動
出力された3Dモデルに色が付いていない
3DCGツールの頂点カラーモードで確認する
まとめ
質を気にせず大量のモデルを作りたい場合など、状況次第ではリメッシュや穴埋めと組み合わせることで作業を効率化して実用的に使用できる場合もあるのかなと思いました。(「質を気にせず大量のモデルを作りたい状況」を思いつきませんが...。もしありましたらお声かけください。)