From 0ced5cecddd4f1fa7e24c017be505e875f3d7973 Mon Sep 17 00:00:00 2001
From: Jameson Crate <86806051+Jameson-Crate@users.noreply.github.com>
Date: Mon, 23 Dec 2024 17:02:52 -0800
Subject: [PATCH] Add a point cloud option for Record3D (#3556)
* Add a point cloud option for Record3D
* Change parameter names and add voxel size parameter
* fix record3d point cloud docs formatting
---
docs/quickstart/custom_dataset.md | 35 +++++++++++++++---
.../imgs/record_3d_export_button.png | Bin 0 -> 87831 bytes
.../imgs/record_3d_ply_selection.png | Bin 0 -> 371760 bytes
.../imgs/record_3d_video_example.png | Bin 0 -> 154412 bytes
nerfstudio/process_data/record3d_utils.py | 32 ++++++++++++++--
nerfstudio/scripts/process_data.py | 14 ++++++-
6 files changed, 72 insertions(+), 9 deletions(-)
create mode 100644 docs/quickstart/imgs/record_3d_export_button.png
create mode 100644 docs/quickstart/imgs/record_3d_ply_selection.png
create mode 100644 docs/quickstart/imgs/record_3d_video_example.png
diff --git a/docs/quickstart/custom_dataset.md b/docs/quickstart/custom_dataset.md
index 6444ca445..7453ccb5b 100644
--- a/docs/quickstart/custom_dataset.md
+++ b/docs/quickstart/custom_dataset.md
@@ -268,6 +268,31 @@ ns-process-data record3d --data {data directory} --output-dir {output directory}
ns-train nerfacto --data {output directory}
```
+### Adding a Point Cloud
+
+Adding a point cloud is useful for avoiding random initialization when training gaussian splats. To add a point cloud using Record3D follow these steps:
+
+1. Export a Zipped sequence of PLY point clouds from Record3D.
+
+
+
+
+
+
+2. Move the exported zip file to your computer from your iPhone.
+
+
+3. Unzip the file and move all extracted `.ply` files to a directory.
+
+
+4. Convert the data to nerfstudio format with the `--ply` flag and the directory from step 3.
+
+```bash
+ns-process-data record3d --data {data directory} --ply {ply directory} --output-dir {output directory}
+```
+
+Additionally you can specify `--voxel-size {float}` which determines the level of sparsity when downsampling from the dense point clouds generated by Record3D to the sparse point cloud used in Nerfstudio. The default value is 0.8, lower is less sparse, higher is more sparse.
+
(spectacularai)=
## Spectacular AI
@@ -292,13 +317,13 @@ pip install spectacularAI[full]
2. Install FFmpeg. Linux: `apt install ffmpeg` (or similar, if using another package manager). Windows: [see here](https://www.editframe.com/guides/how-to-install-and-start-using-ffmpeg-in-under-10-minutes). FFmpeg must be in your `PATH` so that `ffmpeg` works on the command line.
3. Data capture. See [here for specific instructions for each supported device](https://github.com/SpectacularAI/sdk-examples/tree/main/python/mapping#recording-data).
-
+
4. Process and export. Once you have recorded a dataset in Spectacular AI format and have it stored in `{data directory}` it can be converted into a Nerfstudio supported format with:
```bash
sai-cli process {data directory} --preview3d --key_frame_distance=0.05 {output directory}
```
-The optional `--preview3d` flag shows a 3D preview of the point cloud and estimated trajectory live while VISLAM is running. The `--key_frame_distance` argument can be tuned based on the recorded scene size: 0.05 (5cm) is good for small scans and 0.15 for room-sized scans. If the processing gets slow, you can also try adding a --fast flag to `sai-cli process` to trade off quality for speed.
+The optional `--preview3d` flag shows a 3D preview of the point cloud and estimated trajectory live while VISLAM is running. The `--key_frame_distance` argument can be tuned based on the recorded scene size: 0.05 (5cm) is good for small scans and 0.15 for room-sized scans. If the processing gets slow, you can also try adding a --fast flag to `sai-cli process` to trade off quality for speed.
5. Train. No separate `ns-process-data` step is needed. The data in `{output directory}` can now be trained with Nerfstudio:
@@ -453,7 +478,7 @@ If cropping only needs to be done from the bottom, you can use the `--crop-botto
## 🥽 Render VR Video
-Stereo equirectangular rendering for VR video is supported as VR180 and omni-directional stereo (360 VR) Nerfstudio camera types for video and image rendering.
+Stereo equirectangular rendering for VR video is supported as VR180 and omni-directional stereo (360 VR) Nerfstudio camera types for video and image rendering.
### Omni-directional Stereo (360 VR)
This outputs two equirectangular renders vertically stacked, one for each eye. Omni-directional stereo (ODS) is a method to render VR 3D 360 videos, and may introduce slight depth distortions for close objects. For additional information on how ODS works, refer to this [writeup](https://developers.google.com/vr/jump/rendering-ods-content.pdf).
@@ -464,7 +489,7 @@ This outputs two equirectangular renders vertically stacked, one for each eye. O
### VR180
-This outputs two 180 deg equirectangular renders horizontally stacked, one for each eye. VR180 is a video format for VR 3D 180 videos. Unlike in omnidirectional stereo, VR180 content only displays front facing content.
+This outputs two 180 deg equirectangular renders horizontally stacked, one for each eye. VR180 is a video format for VR 3D 180 videos. Unlike in omnidirectional stereo, VR180 content only displays front facing content.
@@ -524,4 +549,4 @@ If the depth of the scene is unviewable and looks too close or expanded when vie
- The IPD can be modified in the `cameras.py` script as the variable `vr_ipd` (default is 64 mm).
- Compositing with Blender Objects and VR180 or ODS Renders
- Configure the Blender camera as panoramic and equirectangular. For the VR180 Blender camera, set the panoramic longitude min and max to -90 and 90.
- - Change the Stereoscopy mode to "Parallel" set the Interocular Distance to 0.064 m.
+ - Change the Stereoscopy mode to "Parallel" set the Interocular Distance to 0.064 m.
diff --git a/docs/quickstart/imgs/record_3d_export_button.png b/docs/quickstart/imgs/record_3d_export_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..01fed428319793cb7cc56281034ceac23d00fd3e
GIT binary patch
literal 87831
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