【Stable Video 3D】Stable Video Diffusionをもとにした3D生成モデルの品質を検証
WEELメディア事業部LLMリサーチャーの中田です。
3月18日、SVDに基づく3D生成モデル「Stable Video 3D」を、Stability AIが公開しました。
一枚の入力画像から、3Dモデルを生成できるんだとか!
公式Xでの投稿のいいね数は、すでに1300を超えており、かなり注目されていることが分かります。
この記事ではStable Video 3Dの使い方や、有効性の検証まで行います。本記事を熟読することで、Stable Video 3Dの凄さを理解し、そのほかの3Dモデルには戻れなくなるでしょう。
ぜひ、最後までご覧ください。
Stable Video 3Dの概要
Stable Video 3Dとは、単一の入力画像から3Dを生成できるImage-to-Videoモデルです。解像度576×576の21フレームを生成できます。
Stable Video 3Dには、以下の2つのモデルがあります。
- SV3D_u:単一画像から軌道動画を生成
- SV3D_p:指定したカメラ軌道に沿った3D映像を作成
Stability AIメンバーシップであれば商用目的で利用でき、非商用目的であればHugging Faceでモデルの重みをダウンロードして使用できます。
Stable Video 3Dの仕組みは、単一画像からマルチフレームを生成し、それを3D化するというもの。イメージとしては、「入力画像に移るオブジェクトの周りを、回転しながら映す」という動画を生成するようなもの。
モデルのアーキテクチャは、以下の通りです。
対照学習モデルのCLIPによって、条件画像の情報をモデルに送り、拡散モデルベースのUNetをもとに動画を生成しています。また、学習では以下の「staticなカメラの軌道」と「dynamicなカメラの軌道」を条件として与えいるそう。
Stable Video 3DのもとになっているStable Video Diffusionについては、「【Stable Video Diffusion】ローカルでの使い方や料金体系、商用利用について解説」を合わせてご確認ください。
Stable Video 3Dのライセンス
公式ページによると、Stability AI Non-Commercial Research Community Licenseのもと、非商用で利用することが可能です。
利用用途 | 可否 |
---|---|
商用利用 | ❌ |
改変 | ⭕️(非商用利用の場合に限り) |
配布 | ⭕️(非商用利用の場合に限り) |
特許使用 | 記載なし |
私的使用 | ⭕️(非商用利用の場合に限り) |
Stable Video 3Dの使い方
まず、公式のHuggingFaceより、以下の2つのボックスにチェックを入れ、「Agree and access repository」を押してください。
次に、Google Colabを開き、以下のコマンドを実行してインストール等をしてください。
!git clone https://github.com/Stability-AI/generative-models
%cd generative-models
!pip install -r requirements/pt2.txt
!pip install .
次に、stabilityai/sv3dのFilesから以下の2つのファイルをダウンロードし、「generative-models/checkpoints」に置きましょう。
- sv3d_u.safetensors
- sv3d_p.safetensors
次に、何かの画像1枚を、generative-modelsの直下に置きましょう。今回は、以下の画像を使います。
以下のコマンドを実行すると、SV3D_uによって生成できます。
!python scripts/sampling/simple_video_sample.py --input_path input.png --version sv3d_u
もしかしたら、「scripts/sampling/simple_video_sample.py」でインポートエラーが発生するかもしれません。とはいえ、おそらく同プロジェクトフォルダ内のモジュールを上手く読み込めない場合に発生するだけだと考えられ、対処も簡単だと思います。
各オプションの意味は、以下の通りです。
- –input_path:入力画像のパス
- –version:モデル(ここではsv3d_u)
生成された3D動画は、以下のフォルダ内に保存されます。
生成された動画は、以下の通りです。
SV3D_pによる生成方法は、以下の通りです。
!python scripts/sampling/simple_video_sample.py --input_path input.png --version sv3d_p --elevations_deg [0,5,10,15,20,25,30,25,20,15,10,5,0,-5,-10,-15,-20,-15,-10,-5,0] --azimuths_deg [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
各オプションの意味は、以下の通りです。
- –input_path : 入力画像のパス
- –elevations_deg : 21個の仰角 ([-90, 90]度)
- –azimuths_deg : 21個の方位角 ([0,360]度)
- –version : モデル(ここではsv3d_p)
生成された3D動画は、以下の通りです。
Stable Video 3Dを動かすのに必要なPCのスペック
■Pythonのバージョン
Python 3.8以上
■使用ディスク量
10.0GB
■RAMの使用量
33.7GB
WebUIでStable Video Diffusionを利用できるツールについては、「【Stable Diffusion WebUI Forge】省エネ・高速・高解像度の画像生成モデルを使ってみた」を合わせてご確認ください。
Stable Video 3DとTripo SRを比較してみた
Stable Video 3Dの性能を検証するために、Stablility AIとTripo AIが共同開発した3D生成モデル「Tripo SR」を比較してみます。
その際、先ほど用いたものと同様の画像を使用します。
Stable Video 3Dを全方向回転させた結果は以下の通りです。
Tripo SRの結果は以下の通りです。
今回のStability AIとTripo AIが共同で開発した3D生成モデルについては、「【TripoSR】Stability AI×Tripo AI|1秒で画像を高品質な3Dモデルに変換できるAIを使ってみた」を合わせてご確認ください。
動画だけでなく3D生成にも要注目
本記事では、単一の画像から3Dモデルの動画を生成できるStable Video 3Dをご紹介しました。
最近は動画生成が特に注目されていましたが、3D生成も負けじと盛んに研究されています。今後、Stable Video 3Dを超えるようなモデルが出現すれば、ゲーム業界やその他エンタメ業界など、多くの分野が影響を受けるでしょう。
検証では、Stable Video 3DとTripo SRを比較してみましたが、個人的にはStable Video 3Dの方が高品質だと思いました。やはり、Stable Video 3Dの方が新しいモデルと言うこともあり、進化したのかもしれません。
ちなみにX上では、ComfiUIのカスタムノードの出現を期待している声も。
また、以下の投稿ではStable Video 3Dの内部構造を、詳しめに解説してくれています。
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。