LoginSignup
1
0

【3Dモデル自動生成AI】Shap-Eを使った感想とトラブルシューティング

Last updated at Posted at 2023-06-18

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 fish
ポリゴン数: 28,920
スクリーンショット 2023-06-18 142133.png
スクリーンショット 2023-06-18 142258.png

ドラゴン

prompt: a dragon
ポリゴン数: 27,428
スクリーンショット 2023-06-18 155830.png
スクリーンショット 2023-06-18 155841.png

地球

prompt: an earth
ポリゴン数: 307,064
スクリーンショット 2023-06-18 154441.png
スクリーンショット 2023-06-18 154458.png

image_to_3d

試したら書きます。

気づいたこと・考察

  • 不要なメッシュが多い(最適なトポロジーで出力されるわけではない)
  • 形状が粗い
  • 単純な形状の方がポリゴン数が多い
  • 色はテクスチャやマテリアルではなく頂点カラーで出力される
  • 頂点カラーを使用しているため、形状より配色の方がポリゴン数に与える影響が大きい?

トラブルシューティング(2023/06/18 16:20現在)

ライブラリ不足のエラーが発生する場合

pyyamlipywidgetsを手動でインストールする(公式ドキュメントのpip install -e .ではインストールされない)

GPUがあるのにCPUで実行される場合

CUDAとPyTorchのバージョンの互換性の関係でGPUが認識されずCPUが使用される場合がある。sample_latentsメソッドを実行するセルの実行にあまりにも時間がかかる場合はCPUを使用してしまっている可能性があるため、以下の手順で確認する。

CPUとGPUのどちらを使用しているかを確認する方法
  1. device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')の実行後にprint(device)を追加して実行する
  2. cpuと表示されたらCPUが使用されているため、以下の手順で環境を整える
GPUを使用するためにやったこと
  1. ライブラリを再インストールする
    1.1. 公式サイト( https://pytorch.org/ )中段で自分の環境用のコマンドを確認する
    image.png
    1.2. Run this Command:に記載されているライブラリを一旦自分の環境からアンインストールする
    1.3. Run this Command:のコマンドを実行してライブラリを再インストールする
  2. CUDAのバージョンを確認し、必要に応じて再インストールする
    例えばWindows11の場合、上記の画像の通りCUDA 11.7もしくは11.8しか対応していない。
nvcc -V
その他試したこと
  • 最新のGPUドライバーのインストール
  • PCの再起動

出力された3Dモデルに色が付いていない

3DCGツールの頂点カラーモードで確認する

まとめ

質を気にせず大量のモデルを作りたい場合など、状況次第ではリメッシュや穴埋めと組み合わせることで作業を効率化して実用的に使用できる場合もあるのかなと思いました。(「質を気にせず大量のモデルを作りたい状況」を思いつきませんが...。もしありましたらお声かけください。)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0