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?

360° Image Gaussian Splatting with Metashape

0
Last updated at Posted at 2026-03-28

Introduction

Gaussian Splatting is gaining attention as a method for recreating wide outdoor scenes in 3D. While related information is increasingly appearing on social media and blogs, it is scattered across many sources, making it difficult to build an efficient workflow.

In the previous articles — Basic Workflow and Quality Improvement Edition — I introduced a workflow built entirely around free-to-use tools that I personally use for Gaussian Splatting as a hobby. This time, I'll introduce a workflow using Metashape (Standard Eddition), a relatively popular paid SfM tool, along with additional post-processing steps.

💡 Before You Start
This article includes a step that involves running a Python script. If you're new to Gaussian Splatting or unfamiliar with Python, I recommend working through the free-tools-based Basic Workflow first to understand the overall process before tackling this one.

📝 Note
This article is written so it can be followed independently, so some sections overlap with the previous articles. Please keep this in mind.


Environment

PC Specs

Item Spec
OS Windows 11
GPU NVIDIA GeForce RTX 4070 SUPER
CPU AMD Ryzen7 8700G
RAM 32 GB

360° Camera

  • Insta360 X4 Air
    ※ Other manufacturers' cameras such as THETA are also supported. 8K or higher is recommended.

Software

Software Purpose
LichtFeld Studio v0.5.2 GUI tool for 3D Gaussian Splatting ※
360° Gaussian v1.4.3 Tool to automate each step of Gaussian Splatting (Updated: April 8, 2026)
Metashape (Standard Edition) Used for SfM and point cloud generation
RealityScan Used for point cloud regeneration
360-to-RealityScan Converts Metashape results into a format readable by RealityScan (.xmp)

※ (Updated: April 18, 2026) Free distribution of pre-built binaries for LichtFeld Studio v0.5.2 has ended. v0.4.0 remains available for free download. To use v0.5.2, you must either purchase a paid license or build it from source.
If you want to try the latest features available on GitHub, or try v0.5.2 before purchasing a license, please refer to the notes below and try building it yourself.

Notes for building from source

Click to expand

To build it yourself, follow the build instructions here.
Tip 1
Also note: although not mentioned in the official build instructions, Perl may be required. Install it from Strawberry Perl.
Be aware that the cmake bundled with Perl may take precedence over your system cmake, so first temporarily rename C:\Strawberry\c\bin\cmake.exe, and delete it only if necessary. To be safe, restart your PC afterward.
Tip 2
In the official documentation's Clone repository section, the following command did not always download all required files correctly in the author's environment:
git clone https://github.com/MrNeRF/LichtFeld-Studio
Instead, to avoid missing submodule downloads, it is recommended to add the --recursive flag, or use a client tool such as Fork or GitHub Desktop:
git clone --recursive https://github.com/MrNeRF/LichtFeld-Studio
Tip 3
Note: skip the git checkout v0.4.0 command in the Checkout stable version step.
The build process takes a long time, so plan to run it when you have plenty of time available.

Other

  • Python environment (e.g., Anaconda)
    Required only if you run 360-to-RealityScan directly as a Python script.
    Not required if you use the pre-built executable (.exe) for 360-to-RealityScan. Download MetashapeToRS.exe from Releases.

Overall Workflow

Gaussian Splatting generally follows these steps:

# Process Description
1 Capture Shoot the scene with a 360° camera
2 SfM (Structure from Motion) Estimate the position from which each image was taken
3 Point Cloud Generation Generate a point cloud based on the camera positions from SfM
4 Gaussian Splatting Generate a 3D Gaussian Splatting model from the point cloud

In this article, Metashape is used for Steps 2 and 3.
Additionally, before Step 4, the Metashape results are converted into a format readable by integration tools such as LichtFeld Studio or RealityCapture, and point cloud regeneration is performed.


Step 1. Capturing & Exporting the Video

Capture the scene with your 360° camera. Since processing can take a long time, it's recommended to start with videos under 1 minute until you get familiar with the workflow.

Export the captured video in Equirectangular format and copy it to your PC.
If you're using an Insta360, export it using Insta360 Studio (the PC application).

⚠️ Prerequisites
This article assumes that the 360° camera is held nearly vertical during shooting.

⚠️ Note on Stabilization
Stabilization can be ON or OFF, but if you turn it ON, make sure to disable the following:

  • Horizon Leveling
  • Tilt Recovery
  • Vibration Reduction

💡 Tip
With stabilization ON, the camera automatically corrects for tilt. Strictly speaking, the slight distortion introduced by this correction can become a source of noise in later processing — but if you just want to get started without worrying about that, turning stabilization ON is totally fine.

Stabilization Settings Screen


Step 2. SfM and Point Cloud Generation

This step uses 360° Gaussian.
Because 360° Gaussian supports multiple tools for both SfM and Gaussian Splatting, it makes it easy to compare and test different combinations of tools and methods.
For detailed usage, refer to the following videos:

2.1 Image Extraction

1. Launch 360° Gaussian
2. Click Add Video(s) and select the Equirectangular video
3. Select Splitting and configure the extraction settings

Parameter Description
Extra frame every Extract images at the specified interval (seconds or frames)
Sharp frame extraction Whether to prioritize less blurry images compared to adjacent frames
Sharpness check range E.g., 10 compares ±5 frames to select the sharpest image

360° Gaussian Splitting Settings

2.2 Image Masking (Optional)

AutoMasker is a tool that automatically masks regions that are unnecessary for Gaussian Splatting.

ℹ️ This step is optional
If you are not using AutoMasker, skip ahead to 2.3 SfM Configuration.

1. Click AutoMasker
2. Enable Use AutoMasker
3. Enter keywords in Detection Keywords separated by periods (.)
Example: person.sky

AutoMasker Result

💡 Two Reasons Why Masking Matters
First, subjects that move or lack distinct features — such as people, vehicles, and low-texture objects — introduce noise into the SfM process, reducing the accuracy of camera pose estimation. Since SfM accuracy directly impacts the quality of the Gaussian Splatting output, masking these subjects out is essential.
Second, the same noise degrades quality during the training stage as well. When the same subject appears with a different appearance across frames, the Gaussians struggle to converge to the correct shape and color. Masking protects quality at both stages of the pipeline.
📺 Reference Video

📝 About AutoMasker
AutoMasker is a paid tool (46€), but since it runs as a standalone application, it can be used not only within the 360° Gaussian Splatting automation workflow, but also for general 360° image masking tasks outside of Gaussian Splatting.
It offers better value than purchasing a similar tool, and is well worth considering.
For setup instructions to integrate it with 360° Gaussian after purchase, refer to this video.

2.3 SfM Configuration

1. Click Alignment
2. Configure Training Method

Since this article uses LichtFeld Studio for the final processing, configure the settings as follows:

  • Training Method: Lichtfeld
  • SfM (dropdown menu): Metashape Standard GUT

⚠️ Difference from Previous Articles
The previous articles used SphereSFM-based SfM tools, but this article uses Metashape Standard GUT. Please make sure to select the correct one.

Alignment Settings Screen

2.4 Frame Extraction

Click Start to extract frames at the interval configured earlier.
When extraction is complete, a screen explaining the Metashape alignment workflow will appear. It serves as a useful reference, so there is no need to close it yet.

Extraction Complete Screen

Verify that the camera positions and point cloud have been generated correctly.

📁 Folder containing the video
  └── 📁 Folder with the same name as the video
       ├── 📁 final
       ├── 📁 frames
       ├── 📁 lichtfeld
       ├── 📁 masks
       └── 📁 metashape

In preparation for the next step, create a RealityScan folder at the same level as the lichtfeld folder.

📁 Folder containing the video
  └── 📁 Folder with the same name as the video
       ├── 📁 final
       ├── 📁 frames
       ├── 📁 lichtfeld
       ├── 📁 masks
       ├── 📁 metashape
       └── 📁 RealityScan ← folder you just created

2.5 Importing Data into Metashape

1. Launch Metashape
2. Click Workflow in the menu bar and select Add Folder
3. Select the frames folder inside the folder generated earlier
4. Click Tools in the menu bar and select Camera Calibration
5. Open the General tab and change Camera type to Spherical
6. Click OK

⚠️ Important Setting
If you forget to change Camera type to Spherical, the 360° images will not be processed correctly. Make sure to set this.

Calibration Settings

[Optional: If You Created Mask Images]

If you generated mask images, import them using the following steps:

1. Click File in the menu bar and select Import → Import Masks
2. Change File name template to {filename}.mask.png
3. Click OK and select the masks folder inside the folder generated earlier

📝 Note on Template Format
The default may show something like {filename}_mask.png. Make sure to change the underscore (_) to a period (.).

Importing Mask Images

2.6 Running SfM

1. Click Workflow in the menu bar and select Align Photos
2. When the settings dialog appears, configure the options and click OK

💡 About Alignment Settings
The author uses Estimated rather than Sequential for the Reference preselection method. For other detailed settings, refer to the screenshot below.

Running SfM

When processing is complete, the results will be displayed. Verify that the camera positions and point cloud have been estimated correctly.

SfM Results

[Exporting Data]

If everything looks correct, save the generated data.

1. Click File in the menu bar and select Export → Export Cameras
2. Select the metashape folder and save as an XML file with any name (e.g., metashape.xml)
3. Next, select File → Export → Export Point Cloud
4. Save to the same metashape folder as a PLY file with any name (e.g., points.ply)
5. When the Export Points dialog appears, verify the settings and click OK

Export Points

Once the export is complete, close Metashape.
In this article, the processing on the 360° Gaussian side is also complete at this point — click Abort in the Metashape usage guide window to close it.
Also click Stop in the main 360° Gaussian window to end processing.


Step 3. Image Splitting and Point Cloud Regeneration

In this step, the SfM results obtained from Metashape are split into images from multiple viewpoints using a pinhole camera model. The data is then imported into RealityScan, which performs point cloud regeneration based on the split images.

3.1 Input/Output File Configuration

1. Download MetashapeToRS.exe from Releases and launch it by double-clicking (no Anaconda or Python required)

On first launch, enter the path to ffmpeg.exe in the FFmpeg (.exe) path field at the bottom of the window and click 💾 to save

[!NOTE]
Running as a Python script
Open a terminal (Python environment) and run:

cd C:\path\to\360-to-RealityScan
python metashape_to_realityscan.py

For setup instructions, refer to the README at https://github.com/TakashiYoshinaga/360-to-RealityScan

2. Specify each path as follows:

Item Target
Metashape XML metashape.xml inside the metashape folder
PLY file (optional) points.ply inside the metashape folder
Input folder (equirectangular) frames folder
Mask folder (equirectangular, optional) masks folder
Output folder the RealityScan folder you created

3.2 Split Settings

The default settings are generally fine.

Parameter Description
Additional Pitch Angles The equator (vertical center of the image = 0°) is always included automatically. To also crop directions tilted up or down from the center of the equirectangular image, enter angles as comma-separated values (e.g. -45,45 adds 45° above and 45° below center). Leave blank to crop the equatorial direction only
Split Count (Equator) Number of splits along the equator. Default is 6; setting to 4 extracts only the side faces of the Cube Map

💡 Note on Additional Pitch Angles
Depending on the scene, adding upward and downward views can improve the quality of the Gaussian Splatting output. For example, if the floor or ceiling has distinctive textures or patterns, try adding -45,45 to include tilted angles.

3.3 Running the Conversion

Click Start Conversion to start the conversion.
When complete, you'll see the following screen:

Metashape to RealityScan

The SfM results are now ready to be imported into RealityScan.

📝 Note
If you specify both the XML and PLY files, the output will include complete COLMAP-format data containing camera poses, a point cloud, and image information.
If you prefer to skip point cloud regeneration in RealityScan and use the images split by this tool directly for Gaussian Splatting, proceed to Step 4. Gaussian Splatting.

3.4 Point Cloud Generation in RealityScan

1. Launch RealityScan
2. Click the WORKFLOW tab
3. Click Folder and select the all folder inside the RealityScan folder
4. Open Inputs and press Ctrl + A to select all images

RealityScan Inputs Screen

5. Configure the detail settings as follows:

Category Item Value
Prior pose Absolute pose Locked
Prior calibration Calibration group 0 (same settings for all cameras)
Prior Fixed (fixed field of view)
Prior lens distortion Lens group 0 (same settings for all cameras)
Prior Fixed (fixed distortion)

RealityScan Detail Settings

6. Click the ALIGNMENT tab
7. Click Align Images

Align Images Execution

When processing is complete, the regenerated point cloud will be displayed.

Regenerated Point Cloud

3.5 Export

[Export Camera Pose Information and Point Cloud in COLMAP Format]

1. Click the WORKFLOW tab
2. Click Export
3. Click COLMAP
4. Save to the RealityScan folder with any file name (e.g., colmap)

📝 Note on File Overwriting
The cameras.txt, images.txt, and points3D.txt output by metashape_to_realityscan.py will be overwritten. This is fine, but if you want to keep the COLMAP files from before regeneration, move them to a separate folder beforehand.

5. In the Export Dialog, set Directory structure to Flat
6. Set Export masks to No
7. Temporarily set Export images to Yes
8. The Export image setting will appear
9. Set Image format to jpg
10. Set Naming convention to original file name
11. Set Export images back to No
12. Click OK

COLMAP Export Settings

💡 Hint
The all folder and its images are used exclusively for processing within RealityScan. Therefore, you can safely delete them once the export is complete and they are no longer needed. If you ever need them again, you can always regenerate them by re-running metashape_to_realityscan.py.


Step 4. Gaussian Splatting

4.1 Loading Data

1. Launch LichtFeld Studio
2. Drag and drop the RealityScan folder (directly under the video name folder) into the window
3. When the Load DataSet dialog appears, click Load

LichtFeld Studio Launch Screen
Load DataSet Dialog

Verify that the point cloud and images have been loaded correctly.
If you don't need to see the camera images, uncheck Camera Frustum in the Rendering tab on the right side of the screen.

After Data Loading

4.2 Training Configuration

Here is an example training configuration. Feel free to experiment with different settings as you get more familiar.

1. Click the Training tab
2. Select MRNF for Strategy
3. Set Steps Scaler appropriately

Condition Recommended Value
300 or fewer images 1
More than 300 images number of images / 300

⚠️ If Training Doesn't Work
If the Gaussian Splatting training fails to converge and the view whites out as steps progress, setting Steps Scaler to 2–3x the value of number of images / 300 tends to stabilize training.

4. Set Max Gaussians for the maximum number of Gaussians
The default value is generally fine, but increase it if the output lacks detail.

Optional Settings:
Only apply the following if you created mask images with AutoMasker.

  • Mask Mode → Set to Ignore
  • Use Alpha as Mask → Uncheck

Training Settings Screen

For other parameters, start with the above settings and experiment as you become more comfortable.

4.3 Running Training

1. Use the mouse to zoom in on the area you want to observe during training
(In my example, around a bridge)
2. Click Start Training to begin
3. The display starts blurry but gradually becomes clearer as steps progress

Training in Progress

Training stops automatically when the step limit is reached.
If you want to save intermediate results, click Save Checkpoint.

4.4 Export

The exported data can be used with tools like SuperSplat Editor for creating videos or viewing in a viewer.

1. Click File → Export
2. Select the output format (e.g., .ply)


Summary

In this article, I introduced a workflow using Metashape, a commercial SfM software.
Metashape is a paid tool, but it comes with a 30-day free trial, so feel free to give it a try if you're interested.

SphereSfM, covered in previous articles, offers significantly more fine-grained parameter control for SfM (such as alignment iterations). On the other hand, Metashape provides an easy-to-use windowed interface, giving it an edge in terms of handiness and processing speed. It's difficult to say definitively which is superior — the best choice depends on your use case, goals, and the level of accuracy you need.

In that regard, 360° Gaussian makes it easy to switch between processing tools within the same application to suit your needs. I find it to be an extremely powerful tool for comparing and evaluating different methods.

I hope you'll use this article's workflow as a foundation, add your own personal touches, and push the quality of your Gaussian Splatting results even further.

Examples (Comparison)

For reference, here is a comparison of the results generated using different SfM tools. You can view the actual 3D scenes in your browser:


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?