【Stable Fast 3D】たった0.5秒で高精度な3Dモデルを生成!最強AIの性能を徹底解説
2024年8月1日、Stability AIから新たな3Dサービスを公開しました!
その名も「Stable Fast 3D」
Stable Fast 3Dはわずか0.5秒で単一の画像から高品質の3Dアセットを生成します!
X(旧Twitter)では、1日も経たず31万人以上の人々が興味を示しており、非常に多くの関心を集めています。
本記事では、Stable Fast 3Dをgoogle colaboratoryで使用する方法を画像を交えて解説し、「TripoSR」と比較した際の「スピードと質」について調査します!
本記事を読むことで、Stable Fast 3Dの概要から実装方法まで理解できるので、ぜひ最後までお読みください。
Stable Fast 3Dの概要
Stable DiffusionなどをリリースしているStability AIですが、2024年8月に新たなサービスとしてStable Fast 3Dをリリースしました。
Stable Fast 3Dはわずか0.5秒で単一画像から高品質の3Dアセットを生成し、ゲームやバーチャルリアリティ開発者、建築家、デザイナーなど多くの専門家の仕事に応用できるサービスです。
Stable Fast 3Dでは主に5つの技術を使って、3Dアセットを生成します。特に独自の高速なボックス投影ベースのUV展開技術により、頂点カラーを用いずに高解像度のテクスチャを生成可能。そのため、ゲームやアプリケーション開発でも扱いやすい低ポリゴン数のメッシュと高品質なテクスチャの両立ができます。
Stability AIはこれまで以上にスピードと品質を追求しています。特に生成速度は他の追随を許しません。
7GB VRAMを搭載したGPUでは3Dアセットの生成速度は1回あたり0.5秒、Stability AI APIを使う場合には1秒程度で生成可能。
また、高品質なUVアンラップメッシュとマテリアルパラメータを有しており、さらにテクスチャ内の照明の絡み合いを軽減しています。
なお、StabilityAIの最新動画生成モデルについて詳しく知りたい方は、下記の記事を合わせてご覧ください。
UVアンラップメッシュとマテリアルパラメータ
高品質なUVアンラップメッシュを有しているということは、3Dモデルの平面を2D平面に展開した際、よりテクスチャが歪んだり重なったりすることなく、正確にモデルに貼り付けられたり、モデルをよりリアルに見せたりできます。
マテリアルパラメータは、3Dモデルの表面の見え方に影響。
例えばモデルの基本的な色や光がどのように反射するかの反射率、表面の滑らかさや粗さ、光沢具合などを左右します。つまり、 Stable Fast 3Dは従来の同様なサービスに比べて、よりテクスチャを正確に配置できモデルの表面の質感を細かく設定できる豊富なパラメータを持っているということになります。
従来の3Dアセット生成との比較
Stable Fast 3Dと従来技術との比較をすると、その差は明確です。
従来の6手法とStable Fast 3Dを比較した結果が上の画像です。GSOとOmniObject3Dの2つのデータセットを使って、処理時間、Chamfer Distance(CD)、F -score(FS)を測定しています。
処理時間ではTripoSRが一歩リードしていますが、その他の項目では従来の手法と比べてStable Fast 3Dが上回っていることがわかり、トータルで考えるとStable Fast 3Dは従来手法よりも高性能であると言えるでしょう。
- Chamfer Distance:2つの3D形状間の類似度を計測する指標。CD値が小さいほど2つの形状は類似していると言え、再構成された形状が目標の形状に近いことを示します。
- F -score:物体検出の分野で広く使われている評価指標であり、3D形状の再構成においても、予測された形状と正解となる形状の一致度を評価
Stable Fast 3Dのライセンス
Stable Fast 3DのライセンスはCommunity Licenseです。
Community Licenseは年間収入が100万ドル未満の個人や組織は研究用、非商用利用、商用利用が可能です。
もし年間収入が100万ドルを超える場合、商用利用にはStabolity AIからエンタープライズライセンスの取得が必要。
また、Stability AIのライセンスは3つあります。
- 非商用ライセンス:個人開発者や研究者向けライセンスで無料
- コミュニティライセンス:年間収入が100万ドル未満の個人や組織向けで無料
- エンタープライズライセンス:年間収入が100万ドルを超える企業向けでカスタム価格
利用用途 | 可否 |
---|---|
商用利用 | ⭕️ |
改変 | ⭕️ |
配布 | ⭕️ |
特許使用 | 不明(明記なし) |
私的使用 | ⭕️ |
なお、StabilityAIの画像生成AIモデルについて詳しく知りたい方は、下記の記事を合わせてご覧ください。
Stable Fast 3Dの使い方
ここからは実際にStable Fast 3Dをgoogle colaboratoryで使っていきます。
Stable Fast 3Dについては、Hugging Faceに掲載されているので、そちらを参考にします。
まずはHugging Faceにアクセスして、Stable Fast 3Dを使うために個人情報を登録しておきましょう。
アクセストークンの取得
次にアクセストークンを取得します。
Stable Fast 3Dのページから向かって右上のアカウントマークをクリック。続いて「Settings」をクリックします。
Settingsのページに移ったら「Access Tokens」をクリック。
「Create new token」をクリックして、token名を入力しますがtoken名は好きなものに設定してください。
またToken typeは「Read」でOK。
「Create token」をクリック後Access tokenが表示されますが、コピペができるのはこの時だけなので、必ずコピペをしておきましょう。
Stable Fast 3Dを動かすのに必要な動作環境
google colaboratoryで実行する場合には、ランタイムをGPUに変更しなければエラーになってしまうので、注意してください。
■Pythonのバージョン
Python 3.8以上
■使用ディスク量
40.3GB
■RAMの使用量
6.7GB
■CUDAが利用可能
■CUDAとPyTorchのバージョンが一致している
Stable Fast 3Dの実装
ではgoogle colaboratoryでStable Fast 3Dを実装していきます。
まずHugging Faceにログインします。
Hugging Faceにログインするコードはこちら
from huggingface_hub import login
login()
コードを実行するとAccess Tokenの入力を求められるので、先ほど作成したAccess Tokenを入力します。
ログインに成功すると以下のように出力されます。
Hugging Faceログイン後の結果はこちら
Token is valid (permission: read).
Your token has been saved to /root/.cache/huggingface/token
Login successful
次に必要なライブラリなどをインストールしていきます。
必要ライブラリのインストールはこちら
!pip install torch torchvision torchaudio
!pip install setuptools==69.5.1
インストールしていると「ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. ipython 7.34.0 requires jedi>=0.16, which is not installed.」というエラーが出ますが、このエラー自体出ていてもStable Fast 3Dは実行できます。
このエラーを要約すると依存関係の問題を全て解決できているわけではないよ、というものですが、問題なく実行できるので解決せずでOKです。
次にGitHubからクローンして、さらに必要なライブラリなどをインストールしていきます。
GitHubからのクローンはこちら
!git clone https://github.com/Stability-AI/stable-fast-3d
%cd stable-fast-3d
!pip install -r requirements.txt
!pip install -r requirements-demo.txt
これでStable Fast 3Dを使う準備ができました。実際に実行するには、以下のコードです。
Stable Fast 3Dの実行はこちら
!python run.py /content/stable-fast-3d/demo_files/examples/chair1.png –output-dir /content/output/
Stable Fast 3Dの結果はこちら
/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py:1967: UserWarning: TORCH_CUDA_ARCH_LIST is not set, all archs for visible cards are included for compilation.
If this is not desired, please set os.environ['TORCH_CUDA_ARCH_LIST'].
warnings.warn(
0% 0/1 [00:00<?, ?it/s]/content/stable-fast-3d/sf3d/box_uv_unwrap.py:524: UserWarning: Using torch.cross without specifying the dim arg is deprecated.
Please either pass the dim explicitly or simply use torch.linalg.cross.
The default value of dim will change to agree with that of linalg.cross in a future release. (Triggered internally at ../aten/src/ATen/native/Cross.cpp:62.)
torch.cross(main_axis, seconday_axis), dim=-1, eps=1e-6
Peak Memory: 6168.6201171875 MB
100% 1/1 [00:02<00:00, 2.69s/it]
今回はStable Fast 3Dに含まれているサンプル画像を使って3Dアセットを作成しています。作成したファイルは「.glb」ファイルになっていて、3D viewerがないと表示することができません。
オンラインで無料で利用できる3D viewerを使って表示しましょう。今回はC3Dというオンライン3D viewerを使って表示しています。
Gradioを使ってStable Fast 3Dを使う
Stable Fast 3DではGradioを使って3Dアセットを生成することもできます。
Gradioを使う場合には、ここまでのコードを実行した後に以下のコードを実行すればOKです。
Gradioの実行はこちら
!pip install gradio_litmodel3d
!pip install gradio
!python /content/stable-fast-3d/gradio_app.py
もしこれでエラーが出る場合には、おそらくディレクトリの問題なので、以下のコードを実行して、stable-fast-3dにいるようにしましょう。
Gradioがエラーの場合のコードはこちら
os.chdir('/content/stable-fast-3d')
print(os.getcwd())
これで再度Gradioを実行して発行されたURLにアクセスすればGradioを使うことができます。もしも発行したURLのアクセスが拒否された場合にはgradio_app.pyのshareを許可する必要があります。
google colaboratoryで「gradio_app.py」を開いて、一番最後の行にある「demo.queue().launch(share=False)」を「demo.queue().launch(share=True)」に変える必要があります。
これでRunning on local URL: http://127.0.0.1:7860とRunning on public URL: https://8f75461c4a683111f8.gradio.liveの2種類のURLが発行されるはずなので、public URLにアクセスしてください。
Gradioを使えば3D viewerを使わなくても3Dアセットを表示できます。
Stable Fast 3DとTripoSRの生成速度を比較!
Stable Fast 3DはTripoSRよりも生成速度が速いと報告されているので、実際に両者を比較してみて生成速度を比べてみたいと思います。
生成するものは同じ画像をもとに生成しないと差が出てしまう可能性があるため、いらすとやでダウンロードした画像をもとに実行していきます。
動画のスタートは「Run」もしくは「Generate」をクリックしたタイミングに合わせています。
動画の結果からもわかるように、3Dアセット生成はStable Fast 3Dの方が速いという結果になりました。
今回はシンプルな画像をもとに生成しているので、より複雑な画像で3Dアセットを生成する場合には、この結果はより顕著になるでしょう。
なお、TripoSRについて詳しく知りたい方は、下記の記事も合わせてご覧ください。
まとめ
本記事ではStable Fast 3Dをgoogle colaboratoryで使う方法について紹介しました。
ローカル環境でStable Fast 3Dを構築して、コマンドラインで実行する方法とGradioを使ってWebUIで実行する両者を解説しましたが、WebUIを使って実行する方が感覚的にもわかりやすく、3D viewerを別に用意する必要もないので、ぜひWebUIを使って実行してみてください。
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。