mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-14 03:44:02 +08:00
fix large number of typos in repository (#1977)
* fix large number of typos in repository * fix typos in tests
This commit is contained in:
1 parent
ccdcc3951e
commit
d413ca4204
32 files changed
+48
-48
No files matched your search
@@ -117,7 +117,7 @@ dataparser_outputs = dataparser.get_dataparser_outputs(split="train")
|
||||
input_dataset = InputDataset(dataparser_outputs)
|
||||
```
|
||||
|
||||
You can also pull out information from the DataParserOutputs for other DataMangager components, such as the RayGenerator. The RayGenerator generates RayBundle objects from camera and pixel indices.
|
||||
You can also pull out information from the DataParserOutputs for other DataManager components, such as the RayGenerator. The RayGenerator generates RayBundle objects from camera and pixel indices.
|
||||
|
||||
```python
|
||||
ray_generator = RayGenerator(dataparser_outputs.cameras)
|
||||
|
||||
@@ -29,7 +29,7 @@ You can learn more about these methods [here](https://github.com/autonomousvisio
|
||||
|
||||
## Surface models in nerfstudio
|
||||
|
||||
We intend to integrate many of the SDFStudio improvments back into the nerstudio core repository.
|
||||
We intend to integrate many of the SDFStudio improvements back into the nerfstudio core repository.
|
||||
|
||||
Supported methods:
|
||||
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ This documentation is organized into 3 parts:
|
||||
|
||||
- [**Nerfacto**](nerfology/methods/nerfacto.md): Recommended method, integrates mutiple methods into one.
|
||||
- [Instant-NGP](nerfology/methods/instant_ngp.md): Instant Neural Graphics Primitives with a Multiresolution Hash Encoding
|
||||
- [NeRF](nerfology/methods/nerf.md): OG Nerual Radiance Fields
|
||||
- [NeRF](nerfology/methods/nerf.md): OG Neural Radiance Fields
|
||||
- [Mip-NeRF](nerfology/methods/mipnerf.md): A Multiscale Representation for Anti-Aliasing Neural Radiance Fields
|
||||
- [TensoRF](nerfology/methods/tensorf.md): Tensorial Radiance Fields
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ The code snippet for how an image is edited in the pipeline can be found [here](
|
||||
|
||||
When NeRF training starts, the dataset consists of the original, unedited images used to train the original scene. These images are saved separately to use as conditioning for InstructPix2Pix. At each optimization step, some number of NeRF optimization steps are performed, and then some number of images (often just one) are updated. The images are randomly ordered prior to training and then at each step, the images are chosen in order to edit. Once an image has been edited, it is replaced in the dataset. Importantly, at each NeRF step, rays are sampled across the entire dataset, meaning there is a mixed source of supervision between edited images and unedited images. This allows for a gradual optimization that balances maintaining the 3D structure and consistency of the NeRF as well as performing the edit.
|
||||
|
||||
At early iterations of this process, the edited images may be inconistent with one another, as InstructPix2Pix often doesn't perform consistent edits across viewpoints. However, over time, since images are edited using the current render of the NeRF, the edits begin to converge towards a globally consistent depiction of the underlying scene. Here is an example of how the underlying dataset evolves and becomes more consistent.
|
||||
At early iterations of this process, the edited images may be inconsistent with one another, as InstructPix2Pix often doesn't perform consistent edits across viewpoints. However, over time, since images are edited using the current render of the NeRF, the edits begin to converge towards a globally consistent depiction of the underlying scene. Here is an example of how the underlying dataset evolves and becomes more consistent.
|
||||
|
||||
<video id="idu" muted autoplay playsinline loop controls width="100%">
|
||||
<source id="mp4" src="https://instruct-nerf2nerf.github.io/data/videos/du_update.mp4" type="video/mp4">
|
||||
|
||||
@@ -36,7 +36,7 @@ The core idea behind the improved sampling technique is that sampling over empty
|
||||
|
||||
Nerfstudio uses [NerfAcc](https://www.nerfacc.com/en/latest/index.html) as the sampling algorithm implementation. The details on NerfAcc's sampling and occupancy grid is discussed [here](https://www.nerfacc.com/en/stable/methodology/sampling.html#occupancy-grid-estimator).
|
||||
|
||||
Another major bottleneck for NeRF's training speed has been querying the neural network. The authors of this work implement the network such that it runs entirely on a single CUDA kernal. The network is also shrunk down to be just 4 layers with 64 neurons in each layer. They show that their fully-fused neural network is 5-10x faster than a Tensorflow implementation.
|
||||
Another major bottleneck for NeRF's training speed has been querying the neural network. The authors of this work implement the network such that it runs entirely on a single CUDA kernel. The network is also shrunk down to be just 4 layers with 64 neurons in each layer. They show that their fully-fused neural network is 5-10x faster than a Tensorflow implementation.
|
||||
|
||||
Nerfstudio uses the [tinycudann](https://github.com/NVlabs/tiny-cuda-nn) framework to utilize the fully-fused neural networks.
|
||||
|
||||
@@ -62,8 +62,8 @@ Steps 1-3 are done independently at each resolution level. Thus, since these fea
|
||||
|
||||
An important note is that hash collisions are not explicitly handled. At each hash index, there may be multiple vertices which index to that feature vector, but because these vectors are trainable, the vertices that are most important to the specific output will have the highest gradient, and therefore automatically dominate the optimization of that feature.
|
||||
|
||||
This encoding structure creates a tradeoff betweewn quality, memory, and performance. The main parameters which can be adjusted are the size of the hash table (T), the size of the feature vectors (F), and the number of resolutions (L).
|
||||
This encoding structure creates a tradeoff between quality, memory, and performance. The main parameters which can be adjusted are the size of the hash table (T), the size of the feature vectors (F), and the number of resolutions (L).
|
||||
|
||||
Instant-NGP encodes the vieweing direction using spherical harmonic encodings.
|
||||
Instant-NGP encodes the viewing direction using spherical harmonic encodings.
|
||||
|
||||
Our [`nerfacto`](./nerfacto.md) model uses both the fully-fused MLP and the hash encoder, which were inspired by Instant-NGP. Lastly, our implementation covers the major ideas from Instant-NGP, but it doesn't strictly follow every detail. Some known differences include learning rate schedulers, hyper-parameters for sampling, and how camera gradients are calculated if enabled.
|
||||
Reference in new issue
Block a user