Speridlabsが写真1枚から回転して見られる3D物体を作るIdolの重みと推論コードを公開した。開発者やデザイナーは背景除去から立体生成までを一括で処理し、結果を標準ファイルとして保存して既存のビューアーで開ける。
1. 1枚を入力して3Dアセットへ
Idolはレンダリング画像、生成画像、実写写真を入力として、見えない面も含む3Dガウシアンスプラットという、点群で立体を表す表現を生成する。小さなガウシアン要素を集めて立体物を表す方式で、要素数は32,768個から1,048,576個まで調整でき、既定値は262,144個だ。
出力ファイルは標準の3DGS .ply形式だ。コマンドラインで実行すると、モデルが実際に処理した前処理済み画像と、撮影方向や位置を推定した入力の推定カメラも併せて保存され、結果の確認や後処理に使える。
重みとリポジトリのライセンスはApache-2.0だ。
2. 入力の整備から生成まで複数の処理段階をつなぐパイプライン
前処理ではBiRefNetが背景を除去する。パイプラインは入力モードに応じて物体の周囲の余白を調整する。写真モードは合成画像モードよりも余白を多く残す。
DINOv3とFLUX.2 VAEは、入力画像を生成の手掛かりに変換するエンコーダーを担う。
その後、画像情報を反映してノイズを減らすトランスフォーマーモデルのDiTが生成段階を担う。Euler方式で既定では50回の反復計算を行う。デコーダーは生成されたモデル出力を3Dガウシアン表現に変換する。
3. エンコーダーへのアクセス承認後にPythonで実行
リポジトリはPython 3.10以上、PyTorch 2.5以上、CUDAをサポートするNVIDIA GPUを要件としている。
DINOv3とFLUX.2 VAEはアクセスが制限されたモデルのため、Hugging Faceでそれぞれの利用条件に同意してからログインする必要がある。
初回実行時には、約3 GBのIdolの重みと2つの画像エンコーダーがキャッシュに自動ダウンロードされる。
Pythonからパイプラインを呼び出す原文の例は次のとおりだ。
from idol import IdolPipeline
pipeline = IdolPipeline.from_pretrained("speridlabs/idol")
output = pipeline("photo.jpg", mode="real", seed=42, num_gaussians=1_048_576)
output.gaussian.save_ply("photo.ply")
output.preprocessed_image.save("photo_input.png")4. 同じ生成設定でもGPUによって変わる時間
リポジトリでは、既存の単一画像3D生成モデルTripoSplatを基盤にしたと説明している。同社のベンチマークによると、H100 1台で50ステップ、ガウシアン262,144個の設定で生成した場合、リクエスト時間はIdolが6.8秒、TripoSplatが9.9秒で、Idolが約31%短かった。入力視点と7か所の新規視点の平均評価指標もIdolのほうが良好だった。新規視点のDINOv2平均スコアはIdolが0.781、TripoSplatが0.743で、高いほど良いこの指標でもIdolが上回った。
以下のGPU別の時間は、同社の発表に基づく、50ステップで画像1枚からガウシアン262,144個を生成した結果だ。各GPUで同じコードと設定を使い、8枚の画像の中央値を示した。
表:GPU別のIdol生成時間
条件:50ステップ、画像1枚からガウシアン262,144個を生成、同じコードと設定、GPUごとに8枚の画像の中央値、機器1台につきGPU 1台
単位:メモリ(GB)、リクエスト時間(秒)
| GPU | メモリ | リクエスト時間 |
|---|---|---|
| B300 | 269 | 3.4 |
| B200 | 179 | 3.6 |
| H200 | 140 | 6.6 |
| H100 | 80 | 6.7 |
| RTX 5090 | 32 | 14.1 |
| A100 | 80 | 16.3 |
| L40S | 45 | 16.6 |
| RTX 4090 | 24 | 19.1 |
| RTX 3080 | 10 | 46.2 |
| L4 | 22 | 54.6 |
表のRTX 4090のような一般消費者向けGPUでも実行できるため、開発者は手持ちの機器の処理時間に合わせて作業の流れを設計できる。
モデル情報と利用条件をまとめたモデルカードでは、同社発表に基づきメモリ使用量7.2 GBと2秒未満の実行も示しているが、その速度を測定したGPUや設定は併記されていない。
5. 撮影の負担を減らす代わりに保存容量と生成ステップを調整
単一画像の入力と標準ファイル出力は、複数の角度からの撮影や別途の形式変換の負担を減らす。一方、ガウシアン数を増やすと保存の負担も大きくなる。
同社のプロジェクトページのファイルサイズ表示では、ガウシアン32,768個は0.4 MB、262,144個は3.2 MB、1,048,576個は12.2 MBだ。
生成ステップを減らすと速くなるが、細部の表現が減るとリポジトリは説明している。速度を調整する際には、処理時間と併せて必要な細部の表現水準を決めるとよい。
Idolの核心は、画像1枚からの前処理、3D生成、標準ファイル出力を1つの経路にまとめ、3Dアセット制作に取りかかる手順を減らした点にある。
