tks_yoshinagaの日記

KinectやLeap motion, VRやARなどの技術を使ってやったことのメモとか

Metashape で始める 360° 画像を用いた Gaussian Splatting

はじめに

屋外などの広範囲なシーンを Gaussian Splatting で再現する手法が注目を集めています。SNS やブログで関連情報を見かける機会も増えてきましたが、情報が各所に散らばっており、適切に統合して効率的なワークフローを構築するのは容易ではありません。

これまでの記事基本手順編クオリティ向上編では、筆者が趣味でのGaussian Splattingで運用している、基本的に無料で使えるツールだけで構成したワークフローをご紹介しました。今回は、比較的人気がある有料のSfMツールであるMetashape(Standard版)とその後の追加手順を用いたワークフローをご紹介します。

💡 本記事を読む前に
本記事では Python スクリプトを使用するステップが含まれます。Gaussian Splatting が初めての方や Python に不慣れな方は、まず無料ツールを使った「基本手順編」で全体の流れを掴んでから挑戦することをおすすめします。

 

📝 注意
本記事は単独でも手順を追えるよう、これまでの記事と重複するセクションが含まれています。ご了承ください。


続きを読む

手軽に始める 360° 画像を用いた Gaussian Splatting(クオリティ向上編)

はじめに

屋外などの広範囲なシーンを Gaussian Splatting で再現する手法が注目を集めています。SNS やブログで関連情報を見かける機会も増えてきましたが、情報が各所に散らばっており、効率的なワークフローを構築するのは容易ではありません。

前回の記事(基本手順編)では、筆者が趣味でのGaussian Splattingで運用している、基本的に無料で使えるツールだけで構成したワークフローの最小構成をご紹介しました。今回は、その手順にほんの少しの工夫を加えるだけで、クオリティをさらに引き上げる方法を解説します。また、無料ツールだけでなく、有償のソフトウェアであるAgisoft Metashapeを用いたワークフローについては「Metashape編」で紹介していますので、興味がある方はそちらもご覧ください。

💡 本記事を読む前に
本記事では Python スクリプトを使用するステップが含まれます。Gaussian Splatting が初めての方や Python に不慣れな方は、まず「基本手順編」で全体の流れを掴んでから挑戦することをおすすめします。

基本手順編との出力比較

下の画像は、基本手順と本記事の手順による出力を比較したものです。タイルの継ぎ目やオブジェクトの輪郭がよりくっきりと再現されていることがわかります。

基本手順 vs クオリティ改善手順の比較

📝 注意
本記事は単独でも手順を追えるよう、前回と重複するセクションが含まれています。ご了承ください。


続きを読む

手軽に始める 360° 画像を用いた Gaussian Splatting(基本手順編)

はじめに

最近屋外などの比較的広範囲のシーンを Gaussian Splatting で再現する手法が注目を集めています。SNS やブログで関連情報を見かける機会も増えてきましたが、情報が各所に散らばっているため、それらをうまくまとめて効率的なワークフローを構築するのは容易ではありません。さらに、複数のアプリケーションを切り替える必要があり、初心者にとってはハードルが高いと考えています。

そこで本記事では、筆者が趣味でのGaussian Splattingで運用している ワークフローの最小構成 をご紹介します。
本記事で紹介するツールはすべて無料で利用可能(一部オプション機能は有料)なため、これからGaussian Splattingを始めたい方も気軽にスタートできます。
また、クオリティをさらに引き上げるアレンジについては、別記事「クオリティ向上編」で解説しています。さらに、有償ソフトウェアのAgisoft Metashapeを用いたワークフローについても「Metashape編」で紹介していますので、興味がある方はこちらも併せてご覧ください。

本記事の手順による作例

作例動画


続きを読む

nerfstudioセットアップガイド for Windows

0. はじめに

最近、Nerfstudioを使った研究開発をWindows環境で始めようとしたところ、マシンによっては公式ドキュメントの手順だけでは環境構築がうまくいかないケースに遭遇しました。
このブログでは、Windows11上でNerfstudioを動作させるための手順を備忘録としてまとめています。公式ガイドでは触れられていない細かな設定やトラブルシューティングも含めているので、同じ問題で悩んでいる方の助けになれば幸いです。
なお、Nerfstudio公式のセットアップ手順の詳細については下記をご参照ください。

github.com

(2026/4/6追記)
3D Gaussian Splattingに興味を持ちこの記事にたどり着いた方へ。 最近はNerfstudioよりもLichtFeld Studioを使ったワークフローをお勧めしております。 ご興味があれば下記の記事も併せてごらんください。 tks-yoshinaga.hatenablog.com

1. 必要なソフトウェアを揃える

まずは基本的なソフトウェアをインストールしていきましょう。これらはNerfstudioを動かすための土台となります。

  • Git - コードの管理とダウンロードに使用
  • Anaconda - Python環境の管理に必須
  • Visual Studio 2022 - C++によるデスクトップ開発ワークロードを必ず選択
  • CUDA Toolkit 11.8 - NVIDIAのGPU利用に必要

💡 ヒント
以降のコマンドはすべてAnaconda Promptで実行することを前提としています。

続きを読む

池袋で現地気分!ガチ中華フードコートの食べ歩き

0.イントロ

ここ最近暖かくなり、昨年から始めた台湾食べ歩き旅行に行きたくなってきました。
先週あたりから航空チケットの検索をしてチケットを予約しようと試みるも、その度に愛猫たちが視界に入り「休日はこの子たちと過ごしたい」と思い直すことの繰り返し。


そこで、海外に行かずとも身近なところで海外の食べ歩き気分を楽しめないかと探していたところ、池袋に現地の雰囲気たっぷりの中華料理を食べられるフードコートがあることを発見!
今回はその食べ歩きレポートをお届けします。

続きを読む

2024年11月 台北グルメ旅行の記録

2024年11/28-29で台北に食べ歩き旅行に行ったのでその記録。

1. 旅の準備

前回の4月の台湾旅行と異なり、今回は前日の11/27に突発的に台湾旅行に行くことを決めたためフライトの選択肢が少なく、昼過ぎ出発の少々タイトなスケジュールになった。
また、フライトに関して航空会社側によるアクシデントが発生し便や空港が変更になったため、実際は当初の予定よりも短時間の24時間未満の滞在となった。

[往路]
チャイナエアライン 221便 
  発 2024/11/28 14:15  東京/羽田空港
  着 2024/04/29 17:15  台北/松山空港

[復路]

チャイナエアライン 222便  (変更前)
  発 2024/11/29 18:05  台北/松山空港
  着 2024/11/29 22:05  東京/羽田空港

チャイナエアライン 108便  (変更後)
  発 2024/11/29 14:35  台北/桃園空港
  着 2024/11/29 18:40  東京/成田空港

 

食べ歩きをするにあたり、現地の情報を収集するためのインターネットは必須ということでkkdayを利用。今回はWiFiルーターのレンタルではなくe-SIMを契約。
利用開始時にパスポートを使った本人確認が必要だけど、それだけ予め知っておけば非常に手軽にネットを開通できて便利でした。

[kkdayのe-sim詳細]
https://www.kkday.com/ja/product/132984-unlimited-data-esim-taiwan

 

2.旅の記録

今回も前回と同様、食べ歩きメインの旅だったので食べたものを時系列で紹介。

続きを読む

XREAL開発:NRSDK2.2.1 + HandTrackingシーン動作確認に関するメモ

0. はじめに

XREAL用アプリ開発で用いる公式SDKのNRSDKでは数多くのサンプルシーンが提供されています。

そのサンプルシーンの中でハンドトラッキング機能の使い方について学習するのに便利なのがHandTrackingシーンです。

このシーンでは手を使ったハンドトラッキングを使用するのに必要なセットアップ、オブジェクトとのインタラクションやUI操作、手の位置の角度の取得方法を学ぶことができ初学者にとって非常に有用な情報が詰まっています。

しかし、最新版のSDKの2.2.1(2024年7月30日現在)ではビルド後のアプリの起動の際に問題が生じるケースがあります。

問題が生じない場合もあるので調査が十分ではありませんが、現時点で分かっている解決方法をメモとして残しておきます。

 

1. 前提

  • Unity 2022.3.xでプロジェクトを作成
  • NRSDK 2.2.1インストール済み
  • NRSDK Project Tipsで最低限のセットアップ済み
  • HandTrackingシーンを使用
  • アプリはNebulaから起動
  • バイスはXREAL LightとAir2 Ultra

 

2. 問題点と解決方法

問題①:アプリアイコンをクリックできない

初回のビルド時に発生することがあります。おそらくアプリ起動に必要な情報の追加が初回ビルド時に間に合わなかったのではないかと考えられます。この問題が生じた場合は事前にマニフェストファイル等を生成してプロジェクトに適用することで解決できます。具体的にはメニューバーのNRSDKを開き、PreprocessBuildForAndroidをクリックします。



問題➁:アプリ起動直後にホーム画面に戻ってしまう

アプリが起動してスマホ画面にUnityのスプラッシュスクリーンが表示されるけど、その後すぐにホーム画面に戻ってしまうケースがあります。おそらくアクセスしようとしている何かしらの機能が正常に動作していないものと考えられます。

下記の記事によるとNRSDK2.2.0からはSDKの読み込みの方法が新しくなったとのこと。

Getting Started with NRSDK | NRSDK

詳細は公式ページを参照していただきたいが、要約するとAssetsフォルダにあるNRLibraryStripConfigを使うことで使用したい機能を有効化し、不要な機能はオフ(ビルドに含めないように)にすることができるようです。

ここで、BaseApiとHandTrackingを明示的にオンにしたところ問題は解決しました

Stripと書かれているのでビルドするapkからこれらが除外されるように見えますよね?
実際、これらはapkには含まれず別の方法によってアプリでロードされるようです。apkファイルのサイズを小さくするという観点で見ればstripで問題ないのですが、アプリ内でも使われなそうな印象を受けて紛らわしいのでネーミングは変えてほしいところです。

 

3. まとめ

以上です。冒頭でも述べた通り、深く調査をした訳ではないのでより良い解決方法や、この問題を回避するためのセッティングがあるかと思います。私の場合、問題②が新規に作成したプロジェクトでは発生し、過去に作成したプロジェクトのNRSDKをアップデートした場合には生じませんでした。この辺の原因は要調査だと考えています。
ですがベストな方法が見つかるまでの一時しのぎとしてこちらの方法を採用できればと考えています。

もし読者の方で良い方法をご存じでしたらぜひお知らせください。