【InstantMesh】プリント印刷できるレベルの3D生成モデル
WEELメディア事業部LLMライターのゆうやです。
InstantMeshは、たった1枚の画像から3Dメッシュが生成できるフレームワークです。
このフレームワークは、中国のテンセントによって開発され、短時間で画像の見えない部分までかなりの高精度で3Dモデルを生成してくれます。
完全にオープンソースのため、コードやモデルの重みなどをダウンロードして自分好みにトレーニングすることも可能です。
今回は、InstantMeshの概要や使ってみた感想をお伝えします。
是非最後までご覧ください!
InstantMeshの概要
2024年4月16日、中国のテンセントからたった1枚の画像から短時間で3Dメッシュが生成できるフレームワークである「InstantMesh」が公開されました。
このフレームワークは、以下のように画像の見えない部分も高精度に3D化できます。
このフレームワークは、LRM アーキテクチャに基づいて構築されています。
LRM アーキテクチャはAdobeによって開発され、トレーニングと推論が非常に効率的かつ極めて忠実な3Dモデルを、わずか5秒ほどでレンダリングできることが特徴です。
さらに、LRM アーキテクチャの「実世界の画像で広く一般的に使用可能」という特徴にも注目で、これによりInstantMeshはこれまでのものより幅広い画像を3D化できます。
そんなInstantMeshは完全にオープンソースのため、コードやモデルの重みなどをダウンロードして自分好みにトレーニングすることも可能です。
また、オンラインデモについても、すでに公開されているので、気軽に試すこともできます。
今後は、より低メモリGPU環境でも動作できるようにするアップデートが予定されています。
ここからは、InstantMeshの使い方を解説します。
なお、テンセントが開発したLLaMA Pro 8Bについて知りたい方はこちらの記事をご覧ください。
→【LLaMA Pro 8B】脅威の性能!プログラミングや数学特化の改造版Llama 2の使い方〜実践まで
InstantMeshのライセンス
Parler-TTSは、Apache-2.0 licenseのもとで提供されているため、商用利用や改変など特に縛りなく利用できます。
利用用途 | 可否 |
---|---|
商用利用 | ⭕️ |
改変 | ⭕️ |
配布 | ⭕️ |
特許使用 | ⭕️ |
私的使用 | ⭕️ |
InstantMeshの使い方
ローカルに実装する方法を紹介します。
まず、InstantMeshのリポジトリをクローンします。
git clone https://github.com/TencentARC/InstantMesh.git
次に、以下のコマンドを順に実行して、仮想環境の構築と、依存関係のインストールを行います。
conda create --name instantmesh python=3.10
conda activate instantmesh
pip install -U pip
# Ensure Ninja is installed
conda install Ninja
# Install the correct version of CUDA
conda install cuda -c nvidia/label/cuda-12.1.0
# Install PyTorch and xformers
# You may need to install another xformers version if you use a different PyTorch version
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu121
pip install xformers==0.0.22.post7
# For Linux users: Install Triton
pip install triton
# For Windows users: Use the prebuilt version of Triton provided here:
pip install https://huggingface.co/r4ziel/xformers_pre_built/resolve/main/triton-2.0.0-cp310-cp310-win_amd64.whl
# Install other requirements
pip install -r requirements.txt
ここまで完了したら、app.pyを実行してgradioデモを起動します。
python app.py
また、CLIで実行したい場合は、以下のコマンドを実行します。
python run.py configs/instant-mesh-large.yaml examples/hatsune_miku.png --save_video
その他のオプション設定やトレーニング方法などは、以下のReadmeを参照してください。
また、オンラインデモを使用する際は、以下のリンクにアクセスしてください。
では実際に使っていきましょう。
InstantMeshを実際に使ってみた
以下の画像を3Dモデルにしてもらいます。
結果はこのようになりました。
今回はオンラインデモを使用しましたが、数秒でかなり高精度な3Dモデルを生成してくれました!
しかし、少し薄っぺらい感じもします。
ただ、数秒でこれだけの精度で生成してくれるので、十分すぎる性能を有していると思います。
InstantMeshの実行に必要な環境
Pythonやパッケージ等で推奨バージョンの情報があるものです。
■推奨バージョン
Python>=3.10
PyTorch>=2.1.0
CUDA>=12.1
推奨スペックについては情報がありませんが、それなりのGPUとVRAMが必要です。
Google ColabでV100GPUを使用した場合、生成に25秒ほどかかりました。
ただ、VRAMは8GB程度しか使用していなかったので、8GBは厳しいかもしれませんが、それ以上のVRAMを搭載していれば何とか動きそうです。
ここからは、Stability AIから公開されている超高速で3Dモデルを生成するTripoSRとの比較を行っていきます!
InstantMeshと超高速3Dモデル生成AIのTripoSRを比較してみた
ここからは、InstantMeshとTripoSRに同じ画像を入力して3Dモデルを生成させて、そのクオリティと生成速度を比較検証していきます。
なお、今回はどちらもV100GPUを使用して実行します。
それでは早速検証していきましょう!
まずは以下の画像を入力します。
結果はこのようになりました。
InstantMesh
TripoSR
結果は、TripoSRのほうが正確かつ高速で3Dモデルを生成してくれました。
InstantMeshが生成したモデルは、見えている部分に関しては非常に高精度なのですが、見えていない後ろの部分がおかしくなっており、しっぽが巨大化してしまっています。
生成速度もTripoSRは8秒程度でしたが、InstantMeshは20秒ほどと差が出てしまっています。
クオリティと速度ともにTripoSRに劣ってしまっています。
もう一枚、以下の画像を3Dモデル化してもらいます。
TripoSRとInstantMeshはともにLRMアーキテクチャをもとに開発されているため、こういった3D化しにくそうな画像もある程度正確に3D化してくれると思います。
結果はこのようになりました。
InstantMesh
TripoSR
こちらもTripoSRのほうがより精度の高い3Dモデルを生成しました。
生成速度も先ほどとほぼ変わらず、InstantMeshのほうが大幅に遅かったです。
TripoSRのモデルも完璧とは言えませんが、少なくともInstantMeshのものよりは高精度だと感じます。
今回の検証の結果、InstantMeshは同じLRMアーキテクチャをもとに構築されているTripoSRと比較して、精度、速度面ともに劣ることが分かりました。
TripoSRはGPUなしの環境でも動作するので、その差はまだまだ大きそうです。
なお、TripoSRについて知りたい方はこちらの記事をご覧ください。
→【TripoSR】Stability AI×Tripo AI|1秒で画像を高品質な3Dモデルに変換できるAIを使ってみた
InstantMeshは速度と精度を両立した効率的な3Dメッシュ生成フレームワーク
InstantMeshは、中国のテンセントによって開発された3Dメッシュ生成フレームワークです。
このフレームワークは、たった1枚の画像から短時間で3Dメッシュを生成できることが特徴です。
Adobeが開発したLRM アーキテクチャを基にしており、このアーキテクチャはトレーニングと推論が非常に効率的かつ極めて忠実な3Dモデルをわずか5秒ほどでレンダリングできます。
また、このアーキテクトには実世界の画像で広く一般的に使用可能という特徴もあり、これによりInstantMeshは従来のフレームワークより幅広い画像を3Dメッシュに変換可能です。
ただ、実際に使ってみたところ、同じLRMアーキテクチャを採用しているTripoSRに速度、性能面ともに劣る結果になったので、まだまだ改善の余地は大きそうです。
InstantMeshは完全にオープンソースなので、自身の環境に実装して使用したり、自分好みにトレーニングしたりすることもできるので、もし気になった方は是非試してみてください!
生成系AIの業務活用なら!
・生成系AIを活用したPoC開発
・生成系AIのコンサルティング
・システム間API連携
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。