画像から3DモデルをRTX 3060で生成:Stable Fast 3DとHunyuan3D-2mvを花ロボの図面で比較

当社のキャラクター「花ロボ」のイラストから、3Dモデルを自動で作れるかを試しました。
使ったのは、画像1枚から3D化する Stability AI の Stable Fast 3D と、複数の視点の画像から3D化する Tencent の Hunyuan3D-2mv です。どちらも社内の検証マシン「DQN」(GeForce RTX 3060、VRAM 12 GiB)で動かしました。
結果を先にまとめます。
Stable Fast 3Dは、正面図1枚から約2.3秒で色付きの3Dモデルを作れました。
正面の見た目は絵に忠実でしたが、奥行きが幅の約2割しかない、板のような形になりました。
Hunyuan3D-2mvは、正面図と側面図の2枚から、奥行きが幅の約8割ある箱型の立体を作れました。時間は形状と色付けを合わせて約3分半かかりましたが、公式の目安では16 GBのVRAMが必要なところを、12 GBで最後まで動かせました。
検証日:2026年10月1日(生成)、10月2日(時間の再測定とレンダリング)。いずれも日本時間です。
比較した2つのモデル
| 項目 | Stable Fast 3D | Hunyuan3D-2mv |
|---|---|---|
| 開発元 | Stability AI | Tencent |
| 入力 | 画像1枚 | 正面・左・背面・右の画像を2〜4枚 |
| 出力 | UV展開済み・色付きのメッシュ(GLB) | 形状のメッシュ。色付けは別のモデル(Hunyuan3D-Paint)で行う |
| 使ったモデル | stabilityai/stable-fast-3d | 形状:tencent/Hunyuan3D-2mv(fp16)色付け: tencent/Hunyuan3D-2 のPaint |
| ライセンス | Stability AI Community License(同意フォームあり) | Tencent Hunyuan 3D 2.0 Community License |
Stability AIには後継のSPAR3Dもありますが、こちらも画像1枚専用です。複数の画像を入力できるオープンなモデルとして、Hunyuan3D-2mvを選びました。
ライセンスには注意が必要です。Stability AI Community Licenseは、年商100万ドル未満なら商用利用もできる条件です。Hunyuan3D 2.0のライセンスは、欧州連合・英国・韓国では適用されず、その地域では使えません。リリース時点で月間アクティブユーザーが100万人を超えるサービスでは、Tencentへの別途の申請が必要です。また、出力を他のAIモデルの改善に使うことも禁止されています。出典は各モデルのライセンス条文です(末尾の参照資料を参照)。
入力に使ったイラスト
入力は、花ロボの三面図(正面・側面・上面)です。写真ではなく、真横・真上から描いた平面的なイラストです。

どちらのモデルも、背景を取り除いた画像を入力にします。ここで最初につまずきました。背景除去のAI(u2net、isnet、BiRefNet)は、どれも明るいグレーの頭を、水色の背景と区別できずに消してしまいました。
そこで、花と体はBiRefNetで切り抜き、頭は輪郭線を壁にした塗りつぶし(OpenCVのfloodFill)で切り抜いて、2つのマスクを合成しました。側面図は、塗りつぶしの許容範囲を調整して切り抜きました。AIが苦手な部分を、古典的な画像処理で補った形です。

Stable Fast 3Dには正面図だけを渡しました。Hunyuan3D-2mvには、正面図と側面図の2枚を渡しました。Hunyuan3D-2mvの「左」の画像は、被写体の顔が画像の左を向いている図、という決まりだったので、側面図は左右反転しています。上面図は、Hunyuan3D-2mvの入力(前後左右)に当てはまらないため、どちらにも使っていません。
検証環境とセットアップ
| 項目 | 内容 |
|---|---|
| OS / CPU / メモリ | Ubuntu 24.04 LTS / Intel Core i5-12400 / 32 GiB |
| GPU | NVIDIA GeForce RTX 3060、VRAM 12 GiB、ドライバー 580.173.02 |
| Python | 3.12(モデルごとに別のvenvを作成) |
| Stable Fast 3D | 公式リポジトリ ff21fc4、torch 2.7.1+cu128 |
| Hunyuan3D-2 | 公式リポジトリ f8db630、torch 2.7.1+cu128、transformers 4.48.3、diffusers 0.32.2 |
| CUDA拡張のビルド | CUDA 12.9(/usr/local/cuda-12.9) |
DQNでは普段、ローカルLLMのサーバーがVRAMを約10 GiB使っています。検証中はこのサービスを止めてGPUを空け、終了後に再起動しました。
どちらのリポジトリも、テクスチャの焼き込みやラスタライズのために独自のCUDA拡張をビルドする必要があります。DQNの標準のCUDA Toolkitは12.0で、PyTorch側(CUDA 12.8)と合いませんでした。マシンに入っていたCUDA 12.9を指定してビルドしました。
セットアップでつまずいた点
- Stable Fast 3D:指定の
gpytoolbox==0.2.0に、Python 3.12用のビルド済みパッケージがありませんでした。0.3.7に差し替え、使われている関数の互換性を確認しました。 - Hunyuan3D-2:新しいtransformers(5.x)では、画像エンコーダー(DINOv2)の重みの名前が合わず、読み込みに失敗しました。transformers 4.48.3、diffusers 0.32.2、huggingface_hub 0.30未満に固定して動かしました。
- 確認用のレンダリング:pyrenderでGPUを使って描画するには、PyOpenGLを3.1.7にする必要がありました。
実行した設定
# Stable Fast 3D(テクスチャ 2048px、三角形で再メッシュ化)
python run.py inputs/hanarobo_final.png --output-dir output/hanarobo \
--texture-resolution 2048 --remesh_option triangle
# Hunyuan3D-2mv(Python から実行。要点のみ)
shape = Hunyuan3DDiTFlowMatchingPipeline.from_pretrained(
"tencent/Hunyuan3D-2mv", subfolder="hunyuan3d-dit-v2-mv", variant="fp16")
mesh = shape(image={"front": front, "left": left}, num_inference_steps=50,
octree_resolution=380, generator=torch.manual_seed(12345))[0]
# 浮いた破片・つぶれた面の除去、面数の削減をしてから形状を保存
del shape; torch.cuda.empty_cache() # 色付けの前に VRAM を解放
paint = Hunyuan3DPaintPipeline.from_pretrained("tencent/Hunyuan3D-2")
paint.enable_model_cpu_offload() # 12 GB に収めるため CPU オフロード
mesh = paint(mesh, image=front)
Hunyuan3D-2の公式READMEでは、形状と色付けを合わせて16 GBのVRAMが目安とされています。今回は、形状を作った後にモデルをメモリから外し、色付けではCPUオフロードを使うことで、12 GBに収めました。
結果:同じ角度から見比べる
できた3Dモデルを、同じ角度からレンダリングしました。並びは左から、正面、側面、背面、斜め上、真上です。


| 項目 | Stable Fast 3D | Hunyuan3D-2mv |
|---|---|---|
| 奥行き÷幅(全体の外形) | 0.20 | 0.77 |
| 正面 | 絵に忠実。画面の文字や目も再現 | 絵に近い。画面の文字は「$ bancon」に崩れた |
| 側面 | 薄い板 | 側面図どおりの箱型。黄色いボタンとアゴの段差も出た |
| 背面 | 平らな面として推測 | 箱の裏として推測。花の裏側は暗い色になった |
| 真上 | 細い線に近い | 入力に使っていない上面図とほぼ同じ見た目 |
奥行き÷幅は、できたメッシュ全体を囲む箱の寸法から計算しました。体や花も含んだ外形の比率です。元の上面図では頭がほぼ正方形なので、頭だけを見れば1に近い値が本来の形です。
Stable Fast 3Dが薄くなった原因は、入力が真正面から描いた平面的なイラストだったことだと考えています。写真のような遠近感や陰影がないため、奥行きを推測する手がかりがほとんどありません。Hunyuan3D-2mvは側面図から奥行きを直接読み取れるので、この問題が起きませんでした。
生成時間とメモリ
初回はモデルのダウンロード時間が含まれるため、モデルを保存済みの状態で、10月2日に同じ入力・同じ設定で測り直しました。
| 項目 | Stable Fast 3D | Hunyuan3D-2mv(形状) | Hunyuan3D-Paint(色付け) |
|---|---|---|---|
| モデルの読み込み | 約7〜11秒 | 17.1秒 | 13.9秒 |
| 生成 | 2.3秒 | 169.4秒(後処理を含む) | 24.0秒 |
| ピークVRAM(PyTorch計測) | 8.1 GiB | 5.7 GiB | 6.7 GiB |
Stable Fast 3Dは、プロセスの起動から保存までが2回の実行で13.3秒と9.2秒でした。読み込みの時間は、そこから生成時間を引いた概算です。生成の2.3秒には、再メッシュ化とテクスチャの焼き込みも含まれます。Hunyuan3D-2mvは、形状から色付けまでの全体で231.6秒、プロセスのメインメモリ使用量は最大で約16.3 GiBでした。
Stable Fast 3Dの公式の目安はVRAM約6 GBですが、今回はテクスチャの解像度を2048pxに上げたため、8.1 GiBになりました。
用途別の使い分け
| やりたいこと | 向いているモデル | 理由 |
|---|---|---|
| 写真1枚から手早く3D化する | Stable Fast 3D | 数秒で色付き・UV展開済みのモデルができる。遠近感のある写真なら奥行きも推測しやすい |
| キャラクターの設定画から立体を作る | Hunyuan3D-2mv | 正面図と側面図を両方使えるので、平面的なイラストでも奥行きが出る |
| 3Dプリント用の形がほしい | Hunyuan3D-2mv | 色付け前の形状だけのメッシュも保存できる |
作った3Dモデル(GLB形式)は、Blenderなどの3Dソフトや、ブラウザで動くglTFビューアーで開いて確認できます。
この結果から評価できる範囲
入力は花ロボのイラスト1体だけで、各モデルとも1つの設定で1回生成した結果です。写真や、ほかの形のキャラクターで同じ傾向になるかは確かめていません。Stable Fast 3Dの「薄くなる」結果も、真正面の平面的なイラストという、このモデルにとって不利な入力での結果です。
形の比較は、外形の寸法と、レンダリング画像の目視によるものです。元の図面との誤差を数値で測ったわけではありません。Hunyuan3D-2mvは4枚まで入力できますが、今回は手元にあった正面図と側面図の2枚だけを使いました。背面図を加えれば、背面の色の推測は改善する可能性があります。
生成時間は、モデルをダウンロード済みの状態での1回の測定です。ピークVRAMはPyTorchが確保した最大量で、GPU全体の使用量とは一致しません。
参照資料
Stable Fast 3D 公式リポジトリ / Stable Fast 3D モデルカード / Hunyuan3D-2 公式リポジトリ / Hunyuan3D-2mv モデルカード / Tencent Hunyuan 3D 2.0 Community License。公式情報は2026年10月1〜2日に確認。
