---
title: 3D Gaussian Splattingで写真から3Dデータを作る
tags:  #3d gaussian splatting #windows #unity  
author: [あうぜん](https://www.docswell.com/user/Ovjang)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/D7YV596M7M.jpg?width=480
description: Windows環境で3D Gaussian Splattingを使い、オリジナルデータから3Dデータを作成する方法をまとめています。
published: September 10, 23
canonical: https://www.docswell.com/s/Ovjang/KW1LE1-2023-09-10-113237
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/D7YV596M7M.jpg)

GAUSSIAN SPLATTINGで写真から3Dデータの作成
WINDOWS環境構築編


# Page. 2

![Page Image](https://bcdn.docswell.com/page/VENMNLZ3J8.jpg)

大久保 聡
Mail
ovjang@gmail.com
Twitter ＠followapp


# Page. 3

![Page Image](https://bcdn.docswell.com/page/Y79NR4ZP73.jpg)

はじめに


# Page. 4

![Page Image](https://bcdn.docswell.com/page/G78KWQ1XJD.jpg)

GAUSSIAN-SPLATTINGとは
 Gaussian Splattingとは
2D 画像のセットを使用して 3D シーンを作成する方法です。
 ガウス スプラットは、基本的には「空間内の塊の集まり」を、パーティクルとして表現します。
•
各パーティクル は、3D 空間内で位置、回転、および不均一なスケールを持ちます。
•
各パーティクルには、色だけでなく不透明度もあります。つまり、「色」は見る方向に応じて変化する可能性が
あります)。
•
レンダリングでは、パーティクルは画面空間内の2D ガウスとしてレンダリングされます。
出典：https://aras-p.info/blog/2023/09/05/Gaussian-Splatting-is-pretty-cool/


# Page. 5

![Page Image](https://bcdn.docswell.com/page/L7LZNXQNER.jpg)

要求スペック
 Hardware Requirements
•
CUDA-ready GPU with Compute Capability 7.0+
•
24 GB VRAM (to train to paper evaluation quality)
•
Please see FAQ for smaller VRAM configurations
 Software Requirements
•
Conda (recommended for easy setup)
•
C++ Compiler for PyTorch extensions (we used Visual Studio 2019 for Windows)
•
CUDA SDK 11 for PyTorch extensions, install after Visual Studio (we used 11.8, known issues with 11.6)
•
C++ Compiler and CUDA SDK must be compatible


# Page. 6

![Page Image](https://bcdn.docswell.com/page/4EMVXL1QEW.jpg)

環境構築


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PER2NKLK79.jpg)

VRAMのチューニング
 24GBもVRAMねぇーよという場合、FAQをご確認くだい。
結果の品質に影響が出るかもしれないけどパラメータ調整は可能です。
I don‘t have 24 GB of VRAM for training, what do I do?
The VRAM consumption is determined by the number of points that are being optimized, which
increases over time. If you only want to train to 7k iterations, you will need significantly less. To
do the full training routine and avoid running out of memory, you can
increase the --densify_grad_threshold, --densification_interval
or
reduce the value of --densify_until_iter.
Note however that this will affect the quality of the result. Also try setting --test_iterations to -1
to avoid memory spikes during testing. If --densify_grad_threshold is very high, no densification
should occur and training should complete if the scene itself loads successfully.


# Page. 8

![Page Image](https://bcdn.docswell.com/page/P7XDNLW5JX.jpg)

GAUSSIAN-SPLATTINGのチュートリアル
 GitHubのReadmeからはじめよう。
https://github.com/graphdeco-inria/gaussian-splatting
 チュートリアルはこちら
https://www.youtube.com/watch?v=UXtuigy_wYc


# Page. 9

![Page Image](https://bcdn.docswell.com/page/37KXNLVRJD.jpg)

VISUAL STUDIO2019
 Visual Studio2019をインストール、ワークロードでC++ によるデスクトップ開発を入れます。


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LJ35V3MG75.jpg)

CUDA TOOLKITの入手
 CUDA Toolkit 11.8の入手します。
自分の環境は、Windows10 64Bitなので、下記のものをダウンロード。
https://developer.nvidia.com/cuda-toolkit-archive


# Page. 11

![Page Image](https://bcdn.docswell.com/page/8JDD846NJG.jpg)

CUDAインストール
 インストーラーを実行しインストールします。


# Page. 12

![Page Image](https://bcdn.docswell.com/page/VEPX8MYNJ8.jpg)

格納フォルダ
 本ドキュメントで環境構築に使うフォルダ構成は下記の通りです。パスの指定などこの環境に従って記
述しています。
D:\graphdeco-inria
├ COLMAP-3.8-windows-cuda …COLMAPの格納(解凍フォルダ)
├ Data
│ └ Input
…オリジナル写真データ格納
└ gaussian-splatting
… gaussian-splattingの格納


# Page. 13

![Page Image](https://bcdn.docswell.com/page/27VLN9GYEQ.jpg)

3D GAUSSIAN SPLATTINGを取得
 格納用フォルダの作成
explolerでフォルダ作成して、コマンドプロンプトで開きます。
(explolerのパスのところでcmd＋Enterと入れると楽)
 Gitでクローンする。
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive


# Page. 14

![Page Image](https://bcdn.docswell.com/page/5JGXKZ8W7L.jpg)

しばし待たれよ


# Page. 15

![Page Image](https://bcdn.docswell.com/page/47Q8NL9QEP.jpg)

ANACONDAのインストール
 https://www.anaconda.com/downloadからAnacondaをダウンロードしインストールします。


# Page. 16

![Page Image](https://bcdn.docswell.com/page/KE42GDXY71.jpg)

ANACONDAプロント起動
 Anaconda Powershell Promptを起動します。


# Page. 17

![Page Image](https://bcdn.docswell.com/page/L71MDZNNJG.jpg)

CONDA環境構築
 SET DISTUTILS_USE_SDK=1、カレントディレクトリをgaussian-splattingのフォルダへ移動。
 environment.yaml を指定し、condaの環境構築コマンドを叩きます。


# Page. 18

![Page Image](https://bcdn.docswell.com/page/G7W3Y6MM72.jpg)

CONDAの環境メモ
 Anaconda有償化で使えない場合もあろうかと思いますので、必要パッケージのメモです。
pip install -r requirements.txtでインストールできるはず…
※pytorchは、CUDA版を入れる必要があるので注意です。
requirements.txt(gaussian-splattingフォルダに格納の前提で相対パス書いてます。)
setuptools==68.1.2
torch==2.0.1+cu118 --index-url https://download.pytorch.org/whl/cu118
torchaudio==2.0.2+cu118 --index-url https://download.pytorch.org/whl/cu118
torchvision==0.15.2+cu118 --index-url https://download.pytorch.org/whl/cu118
Brotli==1.0.9
certifi==2023.7.22
charset-normalizer
colorama==0.4.6
idna==3.4
numpy==1.21.6
Pillow==9.2.0
plyfile==0.8.1
PySocks==1.7.1
requests==2.31.0
tqdm==4.66.1
typing_extensions==4.7.1
urllib3==2.0.4
win-inet-pton==1.1.0
submodules/diff-gaussian-rasterization
submodules/simple-knn


# Page. 19

![Page Image](https://bcdn.docswell.com/page/4JZVXYQM73.jpg)

COLMAPのダウンロード
 https://demuc.de/colmap/から、Release Versionを取得します。
今回はCOLMAP-3.8-windows-cuda.zip を利用しました。


# Page. 20

![Page Image](https://bcdn.docswell.com/page/YE654D65JV.jpg)

COLMAPを解凍
 ダウンロードしたファイルを解凍。
 システム環境変数のPathに解凍フォルダを設定する。


# Page. 21

![Page Image](https://bcdn.docswell.com/page/GE5YQ36GE4.jpg)

オリジナルデータのトレーニング


# Page. 22

![Page Image](https://bcdn.docswell.com/page/972GPZMD7R.jpg)

DATAフォルダの作成
 オリジナルデータ格納用のDataフォルダを作成。
 配下にInputフォルダを作成し、写真を格納する。
33枚
適当にキッチン
を撮影


# Page. 23

![Page Image](https://bcdn.docswell.com/page/DJYV5RXMJM.jpg)

用意する画像の注意
•
画像数は 200 ～ 1000 枚を目指してください。画像が 200 枚未満の場合はモデルの品質が低くな
り、画像が 1000 枚を超えると処理に時間がかかります。
•
カメラの露出をロックします。フレーム間で一貫性がないと、最終モデルでちらつきが発生します。


# Page. 24

![Page Image](https://bcdn.docswell.com/page/V7NMND13E8.jpg)

ANACONDAプロント起動
 Anaconda Powershell Promptを起動します。


# Page. 25

![Page Image](https://bcdn.docswell.com/page/YJ9NRG5PJ3.jpg)

環境切り替え
 環境の一覧確認し、環境の切り替え、実行パスの移動します。


# Page. 26

![Page Image](https://bcdn.docswell.com/page/GJ8KWVYXED.jpg)

カメラのポーズ(向き・位置)データの作成
 convert.pyにCOLMAPのバッチとデータ格納フォルダを指定し実行します。
python convert.py --source_path &quot;D:¥graphdeco-inria¥Data&quot; --colmap_executable &quot;D:¥graphdeco-inria¥COLMAP-3.8-windows-cuda¥COLMAP.bat&quot;


# Page. 27

![Page Image](https://bcdn.docswell.com/page/LJLZN54N7R.jpg)

トレーニング
 train.pyにデータ格納フォルダを指定し実行。
90分くらい
かかってます
python train.py --source_path &quot;D:¥graphdeco-inria¥Data&quot;


# Page. 28

![Page Image](https://bcdn.docswell.com/page/47MVX3KQ7W.jpg)

結果を確認


# Page. 29

![Page Image](https://bcdn.docswell.com/page/P7R2NQXKJ9.jpg)

トレーニング結果を確認
 \gaussian-splatting\outputフォルダを確認します。
 タイムスタンプで作成したトレーニング結果がどれか特定してきます。


# Page. 30

![Page Image](https://bcdn.docswell.com/page/PJXDN565EX.jpg)

ビューアーの準備
 Windowsのビルド済みバイナリーをダウンロードします。


# Page. 31

![Page Image](https://bcdn.docswell.com/page/3JKXN61RED.jpg)

ビューアーをインストール
 gaussian-splattingフォルダにviewers.zipを解凍します。


# Page. 32

![Page Image](https://bcdn.docswell.com/page/LE35V6QGJ5.jpg)

ビューアーの起動準備
 ビューアーのexeのパスへ移動、コマンドプロンプトを開きます。
(explolerのパスのところでcmd＋Enterと入れると楽)


# Page. 33

![Page Image](https://bcdn.docswell.com/page/8EDD8V9NEG.jpg)

ビューアー起動
 コマンドプロンプトでトレーニングデータのパスを指定して、ビューアーを起動します。
SIBR_gaussianViewer_app -m D:¥graphdeco-inria¥gaussian-splatting¥output¥6cd0bb57-e


# Page. 34

![Page Image](https://bcdn.docswell.com/page/V7PX8VZNE8.jpg)

ビューアーでぐるぐるします。
 起動したビューアーで表示確認。WASDで移動。Yキー押下でマウスで回転できるようになります。


# Page. 35

![Page Image](https://bcdn.docswell.com/page/2JVLNZWY7Q.jpg)

撮影例


# Page. 36

![Page Image](https://bcdn.docswell.com/page/5EGXK4DWJL.jpg)

公園で遊具を撮影
 真夏の炎天下、1時間かけて撮影。
EOSS Kiss x5(ISO400、1/1000、F10、太陽光)で、3脚を利用し545枚撮影。
撮影は、遊具の周りを回転しなが5周。上の方は少し密度低めですが、オーバーラップは多めに心がけ。
カメラ位置。中心部に遊具がある感じです。


# Page. 37

![Page Image](https://bcdn.docswell.com/page/4JQ8NG1Q7P.jpg)

トレーニング結果の表示
 遊具回りはきれいにデータ化できています。遠くの鉄棒とかも再現されてて良い感じ。
動画はこちら https://youtu.be/RXDd0RTTxiE


# Page. 38

![Page Image](https://bcdn.docswell.com/page/K742G5RYJ1.jpg)

UNITYでの利用


# Page. 39

![Page Image](https://bcdn.docswell.com/page/LJ1MDWQNEG.jpg)

UNITYでの表示
 各ガウス スプラットを、スクリーンスペースに揃えられた長方形として描画する方法で可視化してい
るものが公開されています。
https://github.com/aras-p/UnityGaussianSplatting


# Page. 40

![Page Image](https://bcdn.docswell.com/page/GJW3Y6LMJ2.jpg)

UNITYGAUSSIANSPLATTINGをUNITYで開く
 コマンドプロンプトで、git clone https://github.com/aras-p/UnityGaussianSplatting.git


# Page. 41

![Page Image](https://bcdn.docswell.com/page/4EZVXYMMJ3.jpg)

UNITYGAUSSIANSPLATTINGをUNITYで開く
 Unity Hubで開くを選択、cloneしたフォルダ(UnityGaussianSplatting)を選択する。


# Page. 42

![Page Image](https://bcdn.docswell.com/page/Y7654DN5EV.jpg)

GAUSSIAN
SPLAT
ASSETの作成
 シーンを開く
 ToolsからCreate GaussianSplatAssetを選択


# Page. 43

![Page Image](https://bcdn.docswell.com/page/G75YQ35G74.jpg)

データを選択してASSETの作成
 Input Folderに、トレーニング済みデータのフォルダを選択する。
 Create Assetを押下する。


# Page. 44

![Page Image](https://bcdn.docswell.com/page/9J2GPZNDJR.jpg)

GAUSSIAN SPLAT RENDERERの設定
 HierarchyのGaussianSplatsを選択し、InspectorでData Assetに作成したAssetを指定する。


# Page. 45

![Page Image](https://bcdn.docswell.com/page/DEYV5RPMEM.jpg)

シーンの確認
 シーンに3Dデータが表示される。


