Gaussian Splatting
フォトリアルな3Dシーン再構築のためのGaussian Splattingを探求します。リアルタイムレンダリングを可能にし、視覚認識のためにUltralytics YOLO26と統合する仕組みを学びましょう。
Gaussian Splattingは、コンピュータグラフィックスおよびコンピュータビジョンにおいて、一連の2D画像からフォトリアルな3Dシーンを再構築するために使用される現代的なラスタライゼーション技術です。ポリゴンメッシュに依存する従来の3Dモデリングや、ニューラルネットワークを使用してシーンを近似するNeural Radiance Fields (NeRF)といった最近のAI技術とは異なり、Gaussian Splattingはシーンを数百万個の3Dガウス分布(楕円体)の集合として表現します。この手法により、以前のビュー合成手法に見られた主要なパフォーマンスのボトルネックを解消しつつ、高いフレームレート(多くの場合100 FPSを超える)でのリアルタイムレンダリングと卓越した視覚的忠実度を実現します。
Link to this sectionGaussian Splattingの仕組み#
The core idea revolves around representing 3D space explicitly rather than implicitly. In a typical workflow, the process begins with a sparse point cloud generated from a set of photos using a technique called Structure from Motion (SfM). Each point in this cloud is then initialized as a 3D Gaussian.
学習プロセスにおいて、システムは各ガウスに対していくつかのパラメータを最適化します。
- 位置: シーン内の3D座標(X、Y、Z)。
- 共分散: 楕円体の形状と回転を決定します(例:「スプラット」がどの程度引き伸ばされているか、または傾いているか)。
- 不透明度: ガウスがどの程度透明か、あるいは不透明かを示します(アルファ値)。
- 色: 球面調和関数を使用して表現され、視角に応じて色を変化させることができ、リアルな反射や照明効果を捉えます。
「Splatting(スプラッティング)」という用語は、これらの3Dガウスが2Dカメラ平面に投影(または「スプラット」)されて画像を形成するラスタライゼーションプロセスを指します。この投影は完全に微分可能であり、標準的な勾配降下法アルゴリズムを使用して、レンダリングされた画像と元のグラウンドトゥルース写真との差異を最小化することができます。
Link to this sectionGaussian Splatting対NeRF#
両方の技術はシーンの新しい視点を生成することを目的としていますが、アーキテクチャとパフォーマンスの面で根本的に異なります。NeRF (Neural Radiance Fields)は、ニューラルネットワークの重みの中にシーンをエンコードします。NeRFをレンダリングするには、フレームごとに何百万回もこのネットワークにクエリを投げる(レイマーチング)必要があり、計算コストが高く低速です。
対照的に、Gaussian Splattingは明示的な表現(ガウスのリスト)を使用します。これにより、ビデオゲームがグラフィックスをレンダリングするのと同様の、効率的なタイルベースのラスタライゼーションを利用できます。その結果、Gaussian SplattingはNeRFよりも学習およびレンダリングが大幅に高速であり、消費者向けアプリケーションやリアルタイム推論により適しています。
Link to this section実社会での応用#
Gaussian Splattingの速度と品質は、さまざまな業界で新たな可能性を切り拓いています。
- 仮想観光および不動産: クリエイターは、ドローンやスマートフォンを使用して美術館、史跡、販売物件などをキャプチャできます。Gaussian Splattingにより、リモートユーザーは仮想現実 (VR)内で6自由度(6DoF)でこれらの空間を探索でき、従来のフォトグラメトリでは見落とされがちな硬材床の反射のような細かい詳細を確認できます。
- 自動車シミュレーション: 自動運転車を開発する企業は、知覚アルゴリズムをテストするために膨大なデータ量を必要とします。Gaussian Splattingはセンサーデータから現実世界の街区を再構築し、フォトリアルなシミュレーション環境を作成できます。これらの環境内では、Ultralytics YOLO26のようなビジョンモデルをテストして、複雑な3Dシナリオにおいて危険を正しく識別できるかを確認できます。
Link to this sectionコンピュータビジョンを用いたSplattingの前処理#
Gaussian Splattingを効果的に機能させるには、学習画像は通常静止している必要があります。ソース写真内の動く物体(歩行者や車など)は、「フローター」と呼ばれるアーティファクトを引き起こす可能性があります。高度なパイプラインでは、スプラットモデルを学習する前にインスタンスセグメンテーションを使用して、これらの動的な要素を自動的にマスクします。
Ultralytics Platformを使用すると、チームはデータセットを管理し、この前処理フェーズを支援するモデルを学習できます。以下は、3D再構築を目的としたデータセットのマスクを作成するためにセグメンテーションモデルを使用する方法の例です。
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image from the scan dataset
# Class 0 is 'person' in COCO - we mask them out to keep the scene static
results = model.predict("scan_frame_001.jpg", classes=[0])
# Save the generated mask to exclude the person from the 3D reconstruction
for result in results:
result.save_masks("scan_frame_001_mask.png")Link to this sectionAIにおける重要性と将来のトレンド#
Gaussian Splattingは、コンピュータビジョンが、ディープラーニングの学習能力と従来のコンピュータグラフィックスの効率性を組み合わせたハイブリッド手法へとシフトしていることを表しています。この技術は急速に進化しており、研究者はファイルサイズ(大きくなる可能性がある)を圧縮する方法や、生成AIと統合してテキストプロンプトから3Dアセットを作成する方法を模索しています。GPUのようなハードウェアアクセラレータが進化し続けるにつれ、Gaussian Splattingは現実世界をデジタル形式でキャプチャおよびレンダリングするための標準になると予想されます。






