nerfstudio-project/nerfstudio

Allow gaussian splatting to initialize start points from other data pipelines than COLMAP

Open

#2,681 opened on Dec 15, 2023

 (14 comments) (15 reactions) (0 assignees)Python (819 forks)batch import
custom datasetgood first issue

Repository metrics

Stars
 (6,659 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Currently, gaussian splatting intakes a pointcloud for initialization either through: 1) using a COLMAP dataset, or 2) adding a pointcloud to transforms.json and using the nerfstudio dataparser to read it. Currently, data intake pipelines like polycam, metashape, etc do not output a pointcloud and thus gaussian splatting will use a random initialization of points, which produces much worse results.

To fix this, we should edit the data intake scripts to add point clouds to the output transforms.json files and use the nerfstudio dataparser to read them. #2557 added the capability to load .ply files in the nerfstudio dataparser

  • Add to the COLMAP data processing pipeline to save pointclouds of the SFM points as output, and add it to the transforms.json
  • Switch to nerfstudio dataparser as the default for splatting
  • implement pointcloud saving in other data processing pipelines

Contributor guide