1 minute read

TripoSRのご紹介:単一画像からの高速3Dオブジェクト生成

stablity ai より、1 枚の写真から 3D オブジェクトを生成するモデルがリリースされたので、試してみます。

写真から 3D オブジェクトを生成するのは「フォトグラメトリ」と呼ばれて、従来から存在していました。ただ、3D モデルを生成するには各方向から撮影した、それなりの枚数の写真が必要なのが難点でした。TripoSR は生成 AI を使って、1 枚の写真でオブジェクトの形状や、写真には写っていない部分を推測していると思われます。そのため、写真によっては形状が破綻していたりすることがありますが、作成したオブジェクトをアプリケーションに読み込ませて編集することもできるので、手軽に 3D モデル化できるという点は魅力に感じました。

GeForce RTX 2070 を使用していますが、モデルの生成は数秒で完了します。環境の構築もそれほど時間はかからないので、かなり手軽に試せるツールだと思います。

準備

Docker コンテナを起動します。

>$ docker run -it --gpus=all --rm -p 7860:7860 -v /home/tadashi/work:/work nvidia/cuda:11.8.0-base-ubuntu22.04 /bin/bash

apt で必要なパッケージをインストールします。

># apt update
># apt install -y git python3-venv libgl1-mesa-dev libglib2.0-0

git でツールをダウンロードします。

># git clone https://github.com/VAST-AI-Research/TripoSR.git
># cd TripoSR/

pip で必要なライブラリをインストールしていきます。

># pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
># pip install --upgrade setuptools
># pip install -r requirements.txt 
># pip install gradio

モデルの生成

WebUI を起動します。

># python3 gradio_app.py 

ブラウザで http://localhost:7860 にアクセスすると、以下のような WebUI が表示されます。

WebUI

Input Image に元画像を読み込ませます。今回は Stable Diffusion を使って生成した以下の画像を使います。

dragon

「Generate」をクリックすると数秒で生成されます。「model」欄はマウスでぐりぐり動かすことが可能です。

generate

生成したオブジェクトは .obj ファイルとしてダウンロードできるので、Fusion 360 などの対応するアプリケーションで 3D モデルとして開くことが可能です。

cad

よくよく見返してみると、背景を切り抜く際に翼も落とされてしまっていました・・・

更新日時: