0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

一つのアプリでSFM~Gaussian splattingを遊べるアプリ作りました

Last updated at Posted at 2025-03-16

一つのアプリでStructure from MotionからGaussian Splatting

1つのアプリケーションで、画像のメタデータチェック、キーポイント抽出、マスク生成、マッチング、3次元構成、そしてGaussian Splattingまでの3D再構築処理を一元管理できるツールを作りました。

Githubレポジトリ

概要

これまで、3D再構築を行う際は、各処理を個別のツールで実施していました。今回作成したアプリは、以下の一連の処理を1つのアプリケーション内で完結できるようにしています。

  • 画像のメタデータチェック
    画像ファイルから必要なメタデータを確認します。

  • キーポイント抽出
    画像から特徴点を抽出し、後続のマッチング処理に備えます。

  • マスク生成
    必要に応じて、画像に対してマスク処理を行います。

  • マッチング
    抽出した特徴点を用いて、画像間の対応関係を算出します。

  • 3次元構成
    マッチング結果から、カメラ位置やシーンの3D構造を再構築します。

  • Gaussian Splatting
    再構成された3Dデータを、Gaussian Splatting技術によりレンダリングします。

ezgif-170e0f4a09aed3.gif

使用技術

本プロジェクトでは、以下のオープンソースプロジェクトを活用しています。

これらの技術を組み合わせることで、高精度な3D再構築とリアルタイムレンダリングを実現しています。

Dockerでの動かし方

環境構築が不要な Docker イメージ inuex35/splat_one を利用すれば、簡単に動作させることができます。以下のコマンドを実行してください。

docker run --gpus all \
    -e DISPLAY=host.docker.internal:0.0 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -v ${PWD}/dataset:/source/splat_one/dataset \
    -v C:\Users\$env:USERNAME\.cache:/home/user/.cache/ \
    -p 7007:7007 \
    --rm -it \
    --shm-size=12gb \
    inuex35/splat_one

コンテナに入ったら

python main.py

でGUIが起動します。

最後に

開発中なのでバグ等あります。issueに挙げてもらえばなるべく早く直しますが、個人開発なので修正したらプルリクいただけると助かります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?