Loading...
3D Gaussian Splattingを試してみよう - スマホ撮影からWebビューアまで初心者向け完全ガイド

3D Gaussian Splattingを試してみよう - スマホ撮影からWebビューアまで初心者向け完全ガイド

スマホで撮って3Dシーンを生成。必要なのはカメラと好奇心だけ

2026-03-287分で読める

はじめに

3D Gaussian Splatting(3DGS)は、複数の写真からリアルタイムで閲覧できる3Dシーンを生成する技術です。

「難しそう」と思うかもしれませんが、2026年現在はスマホアプリで撮影するだけでGaussian Splatを作れる環境が整っています。

この記事では、難易度別に3つのアプローチを紹介します。

レベル1: スマホアプリで手軽に試す(所要時間:10分)

最も簡単なのは、専用アプリを使う方法です。

Polycam

  1. App Store / Google PlayからPolycamをダウンロード
  2. アプリ内で「Gaussian Splat」モードを選択
  3. 対象物の周囲をゆっくり歩きながら撮影(30秒〜1分程度)
  4. クラウドで処理が行われ、数分で3DGSが完成
  5. アプリ内で3Dビューとして閲覧可能

Luma AI

  1. Luma AIアプリをダウンロード
  2. 対象物を動画で撮影(周囲をぐるっと回る)
  3. アップロード後、クラウド処理でGaussian Splatが生成
  4. Webリンクとして共有可能

撮影のコツ

  • 対象物の周囲360度をカバーするように撮影する
  • カメラをゆっくり、滑らかに動かす(急な動きはNG)
  • 明るい場所で撮影する(暗い環境は品質が落ちる)
  • 同じ場所を複数回通らない(重複は品質低下の原因に)
  • 20〜100枚程度の写真が理想(動画の場合はアプリが自動でフレームを抽出)

レベル2: COLMAP + 公式実装で本格トレーニング

より高品質な結果を得たい場合は、公式リポジトリを使ったトレーニングに挑戦してみましょう。

必要な環境

  • GPU: NVIDIA GPU(VRAM 8GB以上推奨、12GB以上で快適)
  • OS: Ubuntu 22.04推奨(WindowsはWSL2経由で可能)
  • Python: 3.8以上
  • CUDA: 11.8以上

ステップ1: 写真を用意する

対象物を20〜200枚程度撮影します。

dataset/
  input/
    IMG_001.jpg
    IMG_002.jpg
    ...

ステップ2: COLMAPでカメラ位置を推定

COLMAPはSfM(Structure from Motion)ソフトウェアで、写真群からカメラの位置・向きと疎な点群を推定します。

# COLMAPのインストール
sudo apt install colmap

# 自動処理(公式リポジトリのスクリプト)
python convert.py -s dataset/

これにより、各写真のカメラパラメータと初期点群が生成されます。

ステップ3: 公式リポジトリでトレーニング

# リポジトリのクローン
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
cd gaussian-splatting

# 環境構築
pip install -r requirements.txt
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn

# トレーニング実行
python train.py -s dataset/

デフォルト設定で30,000イテレーション、NVIDIA RTX 3090で約10〜30分程度です。

ステップ4: 結果の確認

# インタラクティブビューアで確認
python viewer.py -m output/

リアルタイムで自由な視点から3Dシーンを閲覧できます。

レベル3: Webで公開・アプリに組み込む

作成したGaussian Splatを公開・活用する方法を紹介します。

Webビューア

ブラウザ上で3DGSを表示できるライブラリがいくつかあります。

GaussianSplats3D(Three.js ベース)

npm install @mkkellogg/gaussian-splats-3d
import * as GaussianSplats3D from '@mkkellogg/gaussian-splats-3d';

const viewer = new GaussianSplats3D.Viewer({
  cameraUp: [0, -1, 0],
  initialCameraPosition: [0, 0, 5],
});

viewer.addSplatScene('your-scene.ply')
  .then(() => {
    viewer.start();
  });

Spline

デザインツールSplineは3DGSのインポートに対応しています。コードを書かずにWebページに3Dシーンを埋め込めるため、デザイナーにもおすすめです。

Unreal Engine 5(NanoGS)

UE5ユーザーは、無料プラグインNanoGSを使って大規模なGaussian Splatをエンジン内で表示できます。Naniteライクな設計で数百万スプラットを効率的に描画します。

ファイル形式について

2026年現在、3DGSには複数のファイル形式があります。

| 形式 | 特徴 | |---|---| | .ply | 公式実装のデフォルト出力。点群形式で広く対応 | | .splat | Web表示に最適化された軽量フォーマット | | .spz | Niantic開発の圧縮形式。元データの約1/10のサイズ | | .glTF | Khronos標準(2026 Q2承認予定)。今後の主流になる見込み |

Webで配信する場合は .splat.spz が実用的です。長期的には .glTF への移行が見込まれます。

よくあるトラブルと対処法

トレーニング結果にぼやけた部分がある

  • 撮影枚数が足りない可能性があります。特に問題のある部分をカバーする追加写真を撮影してみてください
  • COLMAPでのカメラ推定が失敗しているケースもあります。sparse/0/ 内のファイル数を確認してください

VRAM不足エラー

  • --densification_interval を大きくしてガウシアンの増加ペースを抑える
  • 画像解像度を下げる(--resolution 2 で半分に)
  • より大きなVRAMのGPUを使う

背景にノイズが出る

  • 撮影時に背景が変化していると起こりやすいです(通行人、車など)
  • マスクを使って対象物以外を除外する方法もあります

まとめ

| レベル | 方法 | 難易度 | 所要時間 | |---|---|---|---| | 1 | スマホアプリ(Polycam / Luma) | 簡単 | 10分 | | 2 | COLMAP + 公式リポジトリ | 中級 | 1〜2時間 | | 3 | Web公開・エンジン統合 | 中〜上級 | 用途次第 |

まずはスマホアプリで身近なものを3DGS化してみるのがおすすめです。自分の部屋、お気に入りのフィギュア、近所の建物 — 何でもフォトリアリスティックな3Dシーンに変換できる体験は、きっと新鮮な驚きがあるはずです。

技術に慣れてきたら、公式リポジトリでのトレーニングやWebでの公開にも挑戦してみてください。2026年はglTF標準化も控えており、3DGSを学ぶには最高のタイミングです。

次に読む

役に立ったら、関連記事とカテゴリ一覧もチェックしてください。

この記事が役に立ったら: