speridlabs、1枚画像から最大約105万個の3DGSを作る「Idol」を公開
speridlabsが、物体の画像1枚から3D Gaussian Splattingの.plyを生成するモデル「Idol」をHugging Faceで公開しました。VRAM 7.2GBで動作し、SDKも用意されています。
この記事はAIが作成し、人による事前の確認を経ずに自動で公開しています。
- 用途
- ゲーム・制作・研究
- 出典
- 1件(en)(うち一次情報 1件)
要点
- 物体画像1枚から、背面など写っていない部分も含む最大1,048,576個のGaussianを生成し、標準的な3DGS形式の.plyで出力します。
- ピークVRAMは7.2GBとされ、PyTorch 2.5+とNVIDIA GPU(CUDA)で動かせます。SDKとHugging Faceの重みが公開されています。
- 速度やベンチマークは公開元の自己計測値です。GPUにより1枚あたり3.4秒〜54.6秒と幅があり、利用にはゲート付き2モデルの承認が必要です。
何が起きたか
speridlabsは、物体の画像1枚から3D Gaussian Splatting(3DGS)を生成するモデル「Idol」をHugging Faceで公開しました。入力はレンダリング画像、生成AI画像、写真のいずれかで、出力は一般的な3DGSの.plyファイルです。写っていない側面も含めて、最大1,048,576個のGaussianを生成するとしています。
処理の流れは、背景除去、物体の切り出し(クロップ)、Gaussian生成です。公開元は、消費者向けGPUで動き、VRAM使用量は7.2GB、条件次第では2秒未満で動作するとしています。
コードはGitHubの「idol-sdk」リポジトリにあり、重み(約3GB)は初回実行時にHugging Faceから自動取得されます。ページ上のダウンロード数は直近1か月で20,689、派生モデルは6件、量子化版は4件、このモデルを使うSpacesは14件と表示されています。
仕組みと中身
モデルは複数のパーツで構成されています。ノイズ除去を担うDiT(370.6Mパラメータ)、Octreeデコーダ(50.8M)、Gaussianデコーダ(237.3M)が中核です。
入力処理には、背景除去のBiRefNet(220.7M)、画像特徴抽出のDINOv3 ViT-H+/16(840.6M)、FLUX.2のVAE(84.1M)が使われます。全体は約1.80Bパラメータです。
推論は拡散モデルのサンプリングで行い、既定は50ステップです。ステップを減らすと速くなりますが、細部は失われるとされています。cfg_strength(既定3.0)で入力画像への忠実度を、rescale_t(既定3.0)で全体形状と細部のどちらに多く時間を使うかを調整できます。
GPUでは既定で高速化設定が有効です。denoiserをtorch.compileでコンパイルし、ガイドあり/なしの処理を1バッチにまとめ、attentionにcuDNNとTF32を使います。公開元は、出力品質を保ったまま約1.7倍速くなるとしています。最初の1枚はコンパイルのため遅くなります。
入力モードは2種類です。synthetic(既定)はレンダリングや生成画像向けで、物体がフレームの1/1.2を占めるよう切り出します。realは写真向けで、1/1.7を占めるよう余白を広く取ります。
数字で見る
| 出力形式 | 標準的な3DGS .ply(ほかに入力確認用PNGと推定カメラのJSON) |
|---|---|
| Gaussian数 | 32,768〜1,048,576(32の倍数)。既定は262,144 |
| 全体パラメータ数 | 約1.80B(DiT 370.6M/Octreeデコーダ 50.8M/Gaussianデコーダ 237.3M ほか) |
| VRAM | 重み約3.7〜4.4GB、ピーク7.2GB |
| 動作環境 | Python 3.10+、PyTorch 2.5+、CUDA対応NVIDIA GPU |
| 重みサイズ | 約3GB(初回実行時に自動取得) |
| 要求時間(発表値) | 262,144 Gaussian・50ステップで、B300 3.4秒、H100 6.7秒、RTX 5090 14.1秒、RTX 4090 19.1秒、RTX 3080 46.2秒、L4 54.6秒 |
| ベンチマーク(Idol、発表値) | PSNR 12.25、SSIM 0.726、LPIPS 0.213、IoU 0.862(入力視点)/DINOv2 0.781、CLIP 0.885(新規視点) |
| 比較対象(発表値の掲載対象) | TripoSplat、TRELLIS、LGM(H100 1枚で計測) |
実務への影響
ゲームやXR、プロトタイプ制作では、1枚の画像から3DGSの素材を短時間で作る選択肢が増えます。出力は標準的な.plyなので、既存のSplatビューアや変換ツールに渡しやすい形式です。
重みとコードが公開されているため、ローカルのGPUで試せます。クラウドAPIにデータを送りたくない現場でも、自前環境での評価がしやすくなります。
ただし、生成された背面や側面は画像から推定したものです。実物の形状や色を正確に記録する用途(文化財記録、点検、計測など)には、複数枚撮影による復元とは性質が異なる点を踏まえる必要があります。
試すには
- Hugging Faceのアカウントで、facebook/dinov3-vith16plus-pretrain-lvd1689m と black-forest-labs/FLUX.2-dev(VAEのみ取得)の利用条件に同意し、hf auth login でログインします。
- GitHubのidol-sdkをcloneし、pip install -e . でインストールします。
- 写真は python -m idol.sample --image photo.jpg --mode real、レンダリングや生成画像はフォルダ指定と --mode synthetic で実行します。
- 出力された.plyを、任意のGaussian Splatビューアで開いて確認します。<name>_input.pngで背景除去とクロップの結果も確認できます。
- 同じ結果を再現するには --seed を固定します。Gaussian数は --num_gaussians で変えられます。
注意点・未確認のこと
- ベンチマークと速度は公開元の自己計測値です。第三者による検証は、材料からは確認できません。
- 「2秒未満」とされる条件は材料に明記されていません。掲載の表では、262,144 Gaussian・50ステップの最速がB300の3.4秒です。環境や設定で大きく変わります。
- GPUごとの要求時間は、RTX 3080で46.2秒、L4で54.6秒です。ピークVRAM 7.2GBでも、実用的な速度はGPUに依存します。
- ベンチマークの指標は、入力視点のPSNRやSSIMなどと、新規視点のDINOv2、CLIP、sharpness distanceです。生成物の見た目の品質を、これらの数値だけで判断することはできません。
- 利用には、DINOv3とFLUX.2-devというゲート付き2モデルへの同意が必要です。これらと、Idol自体のライセンス条件は、材料からは確認できません。実際の利用前に各ページの条項を確認してください。
- NVIDIA GPU(CUDA)が前提で、AMD GPUやMacでの動作は材料に記載がありません。
- 論文や技術報告のリンクは、材料からは確認できません。学習データや学習手法の詳細は未公表です。
用語
- 3D Gaussian Splatting(3DGS)
- シーンを多数の半透明な3Dガウス(楕円体)で表し、高速に描画する3D表現。PLYなどのファイルで保存されます。
- PLY
- 点群やメッシュ、3DGSの保存に広く使われるファイル形式です。
- DiT
- Diffusion Transformerの略。Transformerを使うノイズ除去(拡散)モデルです。
- Classifier-free guidance(CFG)
- 生成結果を条件(ここでは入力画像)にどれだけ厳密に合わせるかを調整する手法です。
- LPIPS / PSNR / SSIM
- 画像の再現度を測る指標です。PSNRとSSIMは高いほど、LPIPSは低いほど原画像に近いとされます。
- VRAM
- GPU上のメモリです。モデルを動かせるGPUの目安になります。
出典
一次情報(発表元・論文・リポジトリ)
- speridlabs/idol · Hugging FaceHugging Face(speridlabs)(huggingface.co)・en
きっかけになったXのポスト
- @Z3nlyte のポストをXで見るx.com
この記事は、AIが出典(一次情報)をもとに日本語で作成し、人による事前の確認を経ずに、出典との照合などの自動の検査を通ったものを公開しています(AIの利用について)。数値や仕様は発表元の情報で、当社が独自に検証したものではありません。詳しくは原典をご確認ください。誤りのご指摘はお問い合わせからお願いします。確認のうえ速やかに訂正します。
運営会社のサービスガウシアンスプラッティングとは(株式会社IZUTSUYA)