🐢

【TripoSR】驚きの技術!画像一枚から3Dプリンタでリアルな造形物を簡単作成

2024/08/01に公開

生成AIを活用すると、一枚の画像から3Dプリンタでリアルな造形物を作成することができます!


AIモノづくりサンプル画像

驚きませんか?私はこの技術に初めて出会ったとき、感動すら覚えました!
なぜなら、一般的に3Dプリントする際は、3D形状を表現した3Dモデルデータが必要だからです。サンプル画像で示したようなjpgやpngなど、たった1枚の画像データから3Dプリントすることはできません。
それが、AIを利用することでできるわけですから、趣味の3Dプリンタと組み合わせたらどんな作品が作れるのかとワクワクしました。

これを可能にしたのが「TripoSR」です。TripoSRは、1枚の画像から素早く高品質な3Dモデルデータを作成するAIです。Stable Diffusionなどの画像生成AIで有名な、Stability AIが、Tripo AIという企業と提携して作成したものです。

詳細は以下のページをご覧ください。
https://ja.stability.ai/blog/triposr-3d-generation

これまで、AIと3Dプリンタは別々に楽しんでいましたが、TripoSRを活用することで、AIと3Dプリンタの距離がグッと縮まり、モノづくりへの活用の範囲が一気に広がりました!

この記事を読んで、ぜひAIモノづくりにチャレンジしてみてください👍

ブログ対象者

本ブログ記事は、画像生成AIや3Dプリンタに関して、ある程度の前提知識があることを想定しています。その上で「TripoSR」については、環境設定から利用方法まで、具体的な例を交えながら丁寧に解説いたします。これにより、一連の流れを把握して、AIを活用したモノづくりを目指します。

作成の流れ

はじめに、画像一枚から3Dプリンタでリアルな造形物を作成するまでの流れを示します。


生成AIによる3Dプリントの流れ

図で示すように、OSS(オープンソースソフトウェア)のAIや非商用利用無償のツールを複数組み合わせることで、費用をかけずに作成することを目指します。

必要なもの

必要なソフトウェアとハードウェアをリストにしました。使用するソフトウェアが多く感じるかもしれませんが、環境構築や実行手順についても詳しく説明しますので、ご安心ください。


必要なものリスト

PCスペックの補足:
TripoSRを使用する際、下図のようにGPUメモリを消費します。8GBのGPUメモリではエラーが発生することがあるため、12GB以上のGPUメモリを搭載したGPUを選ぶと安心です。


使用時のGPUメモリ消費量

環境構築

環境構築では「TripoSR」を中心に説明します。その他、TripoSRの環境を構築する上で必要なPythonやCUDA Toolkit等についても簡単に説明しますので、未導入の場合は必要な項目を参照し、環境を構築してください。なお、環境構築は上から順に実施してください。

●Python

●Git

●Build Tools

●CUDA Toolkit

●TripoSR

TripoSRについて、導入方法を詳細に解説します。

  1. TripoSRのソースをGitHubから取得
    まず、次のサイトにアクセスします。

https://github.com/VAST-AI-Research/TripoSR
  Codeボタンを選択し、Download ZIPで任意の場所に保存後、展開します。


TripoSR GitHub

Gitを扱える方の場合(クリックで開く)

Gitを扱える方は、zipでダウンロードせずに、cloneコマンドでクローンしても良いです。

git clone https://github.com/VAST-AI-Research/TripoSR.git
  1. Windows PowerShell起動
    検索窓に「windowspowershell」と入力し、PowerShellを起動します。

  1. TripoSRのフォルダ内に移動
    PowerShellで、TripoSRのフォルダに移動します。
    CドライブにTripoSRのフォルダを保存、展開した場合は、次のコマンドを入力します。
    ※ご自身の環境に合わせて、適宜以下のコマンドを変更してください。
cd c:\TripoSR


TripoSRフォルダ内へ移動

  1. venv(Python仮想環境)を作成
    コマンドを入力し、TripoSRフォルダ内にvenv(Python仮想環境)を作成します。
py.exe -m venv .venv
  1. 仮想環境アクティベート
    コマンドを入力し、仮想環境をアクティベート(有効化)します。
.\.venv\Scripts\activate

  下図のように(.venv)が表示されたら、アクティベート成功です。


仮想環境アクティベート

  1. ツールアップデート (仮想環境)
    コマンド入力し、仮想環境内のpip, wheel, setuptoolsのアップデートを行います。
py.exe -m pip install --upgrade pip wheel setuptools

  エラー表示なく、次の画面のようにsuccessfullyが表示されたら成功です。


ツールアップデート成功

  1. pytorchインストールコマンド取得
    pytorchと呼ばれる機械学習ライブラリをインストールします。
    以下のPytorch.orgサイトにアクセスし、少し下にスクロールすると、環境の選択画面があります。この選択画面で、自身の環境に合わせてポチポチ選択します。すると「Run this Command」欄(赤線で囲った箇所)にコマンドが表示されますので、これをコピーしてください。

https://pytorch.org/get-started/locally/


Pytorch 環境選択画面

  1. pytorchインストールコマンド実行 (仮想環境)
    手順7でコピーしたコマンドをPowerShellに貼り付けて実行します。
    エラー表示なく、次の画面のようにsuccessfullyが表示されたら成功です。


Pytorch コマンド実行画面

  1. TripoSRのrequirements.txt書き換え
    TripoSRの環境構築に必要な依存モジュールを記したrequirements.txtを書き換えます。
    「torchmcubes」というモジュールが、最新バージョンだとcmakeコンパイルに失敗するため、以前のバージョンを指定します。
    変更するファイルの場所は<path>\TripoSR\requirements.txtです。
    ※ requirements.txtは、TripoSRフォルダの直下にあります。


requirements.txt 変更前

  4行目を次の通り、書き換えます。


requirements.txt 変更後

  同じ内容のテキスト用意していますので、適宜ご使用ください。

git+https://github.com/tatsy/torchmcubes.git@cbb3c3795b1e168bf81e8dee28623eaf5c33cd1c
  1. TripoSRが必要なライブラリをインストール (仮想環境)
    次のコマンドを実行して、手順9で一部書き換えたrequirements.txt(要求ファイル)に基づき、TripoSRが必要なライブラリをインストールします。
pip install -r requirements.txt

  エラー表示なく、次の画面のようにsuccessfullyが表示されたら成功です。


requirements.txt installコマンド実行画面

  1. TripoSRの起動確認 (仮想環境)
    コマンドを実行して、TripoSRアプリケーションを起動します。
python gradio_app.py

  次の画面のように、Running on local URLが表示されたら成功です。


アプリケーション 起動成功

  1. TripoSRのWeb UI画面を起動
    Webブラウザを開き、手順11の画面に表示された「Running on local URL」のアドレス「http://127.0.0.1:7860」をブラウザに入力します。次の画面がブラウザ上に表示されたら成功です。


WebUI画面

  1. 起動用バッチファイルの作成
    次回からの起動を楽にするために、起動用のバッチファイルを作成します。以下の内容を参考にファイルを作成し、TripoSRのフォルダ直下(gradio_app.pyrequirements.txtと同じ階層)に保存してください。このファイルのショートカットを作成してデスクトップに置けば、ワンクリックで起動が可能になります👍
    注意: バッチファイル実行後、すぐにブラウザが起動しますが、TripoSRアプリがまだ起動していないため「ページに到達できません」と表示されることがあります。その場合は、TripoSRアプリが起動するのを待ってから、ブラウザを再度読み込んでください。
tripo_run.bat(起動用バッチファイル)
@echo off
REM Move to TripoSR directory
cd /d %~dp0

REM Open URL in browser
start http://127.0.0.1:7860

REM Activate the virtual environment
call .venv\Scripts\activate

REM Run gradio_app.py
python gradio_app.py

REM Deactivate the virtual environment (if necessary)
deactivate

REM Prevent the command prompt from closing
pause

以上で、TripoSRの導入方法の解説は終了です。

●3D CADソフト

お疲れさまでした!
これで、全ての環境構築の説明が終わりました。
引き続き、実行手順を参照して、実際の動作方法を理解してください。

実行手順

作成の流れをつかみやすくするために、ブログの最初で示した図を再掲します。この図の順序に従って、画像生成AIで画像を作成する際のポイントや、TripoSRの具体的な使い方などを説明します。


生成AIによる3Dプリントの流れ(再掲)

●画像生成AI

まず、TripoSRにインプットするための画像を、画像生成AIで作成します。ここでは、手軽に画像を生成する方法と、その際のコツを紹介します。

手軽に画像を生成する方法

画像生成AIは、普段使い慣れたものを使用するのが一番ですが、無料で画像を生成したい場合は「Copilot」がオススメです。無料とはいえ、侮るなかれ。Copilotは、DALL-E3というChatGPTと同じ画像生成AIを使用しているため、とてもきれいな画像を生成できます!

使い方はとても簡単です。Microsoft Edgeブラウザを開き、検索欄の「Copilotを開く」アイコンをクリックします。


Copilotアイコン

あとは、画像生成のためのプロンプト(指示文)を入力するだけで画像が生成されます。

TripoSR向けの画像生成のコツ

通常、画像生成AIを利用するときは、非常に凝ったプロンプトを考えます。しかし、TripoSR向けの画像を生成する場合は、それほど凝る必要はありません。ポイントは次の2点です。

  • シンプルな背景にする
  • 3D形状を把握しやすい画像を生成する

TripoSRは、ノイズとなるものが多い複雑な背景では失敗しやすいため、シンプルな背景にします。また、平面的な画像から3Dデータを作成することも苦手ですから、できる限り3D形状を把握しやすい画像を生成することがポイントです。具体的に示します。


カートゥーン風男性 AI生成画像

プロンプト
1人のカートゥーン風男性のデフォルメされた3DCGイラストです。
背景はシンプルな白色背景です。
1人のカートゥーン風男性は、かっこいいポーズをしています。
1人のカートゥーン風男性の全身のCG画像です。
1人のカートゥーン風男性は、陰影がはっきりしており、3D形状がよくわかるCG画像です。


タイヤ付きゴミ箱 AI生成画像

プロンプト
古びたゴミ箱の3DCGイラストです。
背景はシンプルな白色背景です。
ゴミ箱は、古びた感じがあり、錆びている部分もあります。
蓋とタイヤがあるシンプルなデザインのゴミ箱です。
陰影がはっきりしており、3D形状がよくわかるCG画像です。

どちらのプロンプトも、シンプルな背景と3D形状を把握しやすい画像を生成することを重視しています。これにより、生成された画像を使用することで、TripoSRは3Dデータをより正確に生成しやすくなり、成功率も高まります。シンプルな背景はノイズを減らし、3D形状の明確な表現はデータの精度を向上させるため、これらのポイントを押さえたプロンプトが効果的です。

●3Dモデル生成AI(TripoSR)

画像生成AIで作成した画像を元に、TripoSRで3Dデータを作成します。ここでは、TripoSRの使い方と、いくつかのパターンを試した際の成功事例と失敗事例を紹介します。

TripoSRの使い方

環境構築時に作成した起動用バッチファイル「tripo_run.bat」を実行して、TripoSRを起動します。起動後のアプリケーションの使い方は、以下のgif動画で動きを交えながら説明します。キャプションも画面下部に表示していますので、あわせてご確認ください。シンプルな操作なので、使い方に戸惑うことはないと思います。


TripoSR 使い方 gif動画

3Dデータ成功・失敗事例

いくつか試した中から、成功事例と失敗事例をピックアップして紹介します。それぞれの結果について寸評を述べます。


TripoSR 成功・失敗事例

成功事例
  • 男性キャラ
    人型のキャラは成功しにくいと思っていましたが、意外と成功します。AIが人間をイメージしやすいのかもしれません。
  • カーゴタイプゴミ箱
    画像では見えていないタイヤの部分も3Dデータとして出力されており、結果にとても驚きました!
  • ゴミ箱
    単純な形状は比較的成功率が高く、質感も含めて高品質に出力されました。
失敗事例
  • カメ
    奥行き方向の距離感が掴めていないようで、前後にギュッと縮んだ感じになりました。個人的に成功してほしかったです…。
  • 植物
    成功しそうな形状ですが、結果は失敗です。植物の位置関係など、少しバランスが悪いことが影響しているかもしれません。
  • イチゴキューブ
    透明なものや複数のものが存在すると失敗するようです。

●3D CADソフト(Fusion)

FusionによるOBJファイルからSTLファイルへの変換方法をgif動画で示します。Fusionは非常に魅力的なソフトですが、今回は変換のみに使用します。なお、Fusionは商用利用ではない個人利用の場合、一部機能が制限されますが、無料で利用できます(個人利用では全く問題ないレベルです)。


Fusion 使い方 gif動画

●スライサー&プリンタ

あとは、いつも通り使い慣れたスライサーとプリンタを使って印刷を行うだけです👍


スライサー&3Dプリント

このように、画像一枚から素敵な造形物たちが誕生しました!


1枚の画像から作られた造形物たち

以上で全ての説明は完了となります!
本当にお疲れさまでした🎉

まとめ

画像1枚から3Dプリンタで造形物を作ることができました。AIはこれまで文章や画像、プログラミングなどパソコンの中で扱うことが多かったですが、今回の内容で実際のモノづくりにも生かせることが分かりました。今はまだ途上の技術ですが、これからが本当に楽しみです。

この記事を読んだ方のAIライフ、3Dプリンタライフがさらに充実したものになればと思います。もし、分からないことや、ちょっとした疑問などありましたら、遠慮なくコメント欄に書き込んでください。🐢

今回も長い記事になりましたが、最後まで読んでくださりありがとうございました!

リンク

私が書いた、GitHub CopilotというAIを利用したコーディングツールの記事もあります。プログラミングに興味がある方は、ぜひこちらの記事も読んでみてください。AIをうまく活用すると、モノづくりの速度が劇的に改善します。

https://zenn.dev/safubuki/articles/turtle-20240223-gitcopilot

TripoSRの後継モデル「Stable Fast 3D」が2024年8月2日にリリースされました!TripoSRも十分に素晴らしい技術ですが、Stable Fast 3Dの出力品質の高さには驚かされます。早速、使い方やStable Fast 3DとTripoSRの出力結果の比較などを記事にしましたので、ぜひ読んでその凄さを体感してみてください。

https://zenn.dev/safubuki/articles/turtle-20240803-stable-fast

更新履歴

  • 2024/08/04
    AI関連のStable Fast 3Dの記事を追加し、説明文を追加しました。

  • 2024/08/05
    手順11にエラー時の対処法を追加しました。
    不要な手順を削除しました。

  • 2024/08/06
     リンクのブログ紹介文を微修正しました。

  • 2024/08/07
    Python仮想環境アクティベート時のエラー対処方法を追加しました。

GitHubで編集を提案

Discussion