4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-10 18:17:31 +08:00
nerfstudio/docs/quickstart/export_geometry.md
Mason McGough 92636c3434
Docs fix (#1244)
* Add the following fixes to documentation:

* Fix trailing backslash in “Use docker image” section
* Replace escaped backslash with double-escaped backslash (see Sphinx issue: https://github.com/sphinx-doc/sphinx/issues/6730)
* Close backtick in `contributing.md`
* Add “run” to instructions for “Render Video”
* Remove unnecessary “,” in “Render Video”
* Correct “before preceding” to “before proceeding”
* Correct “viewpoinrts” to “viewpoints”
* Add missing “.” in “Process data”
* Specify “bash” for code blocks (for consistency with other blocks in the page)
* Fix code block in `viewer_quickstart.rst` (”Copy to clipboard” widget now works)
* Fix some code formatting issues in `export_geometry.md`

* Correct "harmoincs" to "harmonics" in docs.
2023-01-17 09:28:20 -08:00

63 lines
2.0 KiB
Markdown

# Export geometry
Here we document how to export point clouds and meshes from nerfstudio. The main command you'll be working with is `ns-export`. Our point clouds are exported as `.ply` files and the textured meshes are exported as `.obj` files.
## Exporting a mesh
### 1. TSDF Fusion
TSDF (truncated signed distance function) Fusion is a meshing algorithm that uses depth maps to extract a surface as a mesh. This method works for all models.
```python
ns-export tsdf --load-config CONFIG.yml --output-dir OUTPUT_DIR
```
### 2. Poisson surface reconstruction
Poisson surface reconstruction gives the highest quality meshes. See the steps below to use Poisson surface reconstruction in our repo.
> **Note:**
> This will only work with a Model that computes or predicts normals, e.g., nerfacto.
1. Train nerfacto with network settings that predict normals.
```bash
ns-train nerfacto --pipeline.model.predict-normals True
```
2. Export a mesh with the Poisson meshing algorithm.
```bash
ns-export poisson --load-config CONFIG.yml --output-dir OUTPUT_DIR
```
## Exporting a point cloud
```bash
ns-export pointcloud --help
```
## Other exporting methods
Run the following command to see other export methods that may exist.
```python
ns-export --help
```
## Texturing an existing mesh with NeRF
Say you want to simplify and/or smooth a mesh offline, and then you want to texture it with NeRF. You can do that with the following command. It will work for any mesh filetypes that [PyMeshLab](https://pymeshlab.readthedocs.io/en/latest/) can support, for example a `.ply`.
```python
python scripts/texture.py --load-config CONFIG.yml --input-mesh-filename FILENAME --output-dir OUTPUT_DIR
```
## Dependencies
Our dependencies are shipped with the pip package in the pyproject.toml file. These are the following:
- [xatlas-python](https://github.com/mworchel/xatlas-python) for unwrapping meshes to a UV map
- [pymeshlab](https://pymeshlab.readthedocs.io/en/latest/) for reducing the number of faces in a mesh