4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00
Commit Graph

383 Commits

Author SHA1 Message Date
bglglzd
eba2e794ee Fix a small issue in nerfstudio (#3769) 2026-07-12 22:00:20 +03:00
Qizhi Chen
04a6cb6268
Add documentation for LiveScene (#3577)
* Add support for LiveScene as an external method

* update link
2025-07-22 16:12:37 -07:00
Emmanuel Ferdman
2adcc380c6
Fix Viser reference (#3654)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-05-21 14:22:20 -07:00
Anthony Zhang
94357f82c1
Dataloading Followup (#3604)
* fixing ns-eval when datamanager is set to disk for splats

* fixing prefetch_factor type issues if user decides to use 0 workers

* removing accidental file

* fixing depth nerfacto config for issue 3592

* ruff linting the imports

* fixing workers creating GPU tensors serialization error

* finished next_eval

* adding flowcharts!

* fixing ruff

* added flowcharts into datamanagers.md

* simplying code and adding GPU serialization fix for both datamanagers

* fixing nits with consistent styling

* last optional nit

* fixing num workers
2025-04-20 11:46:18 -07:00
Anthony Zhang
4a3e3e6403
Dataloading Revamp (#3216)
* initial debugging and testing works

* pwais changes with RayBatchStream to alleviate training

* few bugs to iron out with multiprocessing, specifically pickled collate_fn

* working version of RayBatchStream

* additional docstrings

* cleanup

* much more documentation

* successfully trained AEA-script2_seq2 closed_loop without OOM

* porting over aria dataset-size feature

* added logic to handle eviction of a worker's cached_collated_batch

* antonio's implementation of stream batches

* training on a dataset with 4000 images works!

* some configuration speedups, loops aren't actually needed!

* quick fix adjustment to aria

* removed unnecessary looping

* much faster training when adding i variable to collate every 5 ray bundles

* cleanup unnecssary variables in Dataloader

* further cleanup

* adding caching of compressed images to RAM to reduce disk bottleneck

* added caching to RAM for masks

* found fast way to collate - many tricks applied

* quick update to aria to test on different datasets

* cleaned up the accelerated pil_to_numpy function

* cleaning up PR

* this commit was used to generate the time metrics and profiling metrics

* REAL commit used to run tests

* testing with nerfacto-big

* generated RayBundle collate and converting images from uint8s to float32 on GPU tests

* updating nerfacto to support uint8 easily, will need to figure out a way to contain this within the datamanager API

* datamanager updates, both splat and nerf

* must use writeable arrays because torch requires them

* cleaned up base_dataset, added pickle to utils, more code in full_image, and cleaner desc for base_datamanager

* lots of process on a parallel FullImageDatamanger

* can train big splats with pre-assertion hack or ROI hack and 0 workers

* fixed all undistortion issues with ParallelImageDatamanager

* adding some downsampling and parallel tests with splatfacto!

* deleted commented code in dataloaders.py and added bugfix to shuffling

* testing splatfacto-big

* cleaned up base_pipeline.py

* cleaned up base_pipeline.py ACTUALLY THIS TIME, forgot to save last time

* cleaned up a lot of code

* process_project_aria back to main branch and some cleanup in full_image_datamanager

* clarifying docstrings

* further PR cleanup

* updating models

* further cleanup

* removed caching of images into bytestrings

* adding caching of compressed images to RAM, forgot that hardware matters

* removing oom methods, adding the ability to add a flag to dataloading

* removed CacheDataloader, moved RayBatchStream to dataloaders.py, new vanilla_datamanager rewritten

* fixing base_piplines, deleting a weird datamanager_configs file that was accidently created

* cleaning up next_train

* replaced parallel datamanager with new datamanager

* reverted the original base_datamanager.py, new datamanager replaced parallel_datamanager.py

* modified VanillaConfig, but VanillaDataManager is the same as before

* cleaning up, 2 datamanagers now - original and new parallel one

* able to train with new nerfstudio dataloader now

* side by side datamanagers, moved tons of logic into dataloaders.py and created new files for our parallel datamangers

* added custom ray processing API to support implementations like LERF, cleaned up FullImageDatamanager to original because of new ParallelImageDatamanger

* adding functionality for ns-eval by adding FixedIndicesEvalDataloader to the setup_eval

* adding both ray API and image-view API to datamanagers for custom parallelization

* updating splatfacto config for 4k tests

* updating docstrings to be more descriptive

* new datamanager API breaks when setup_eval() has multiple workers, not sure why but single worker will have to do

* adding custom_view_processor to ImageBatchStream

* reverting full_images_datamanager to main branch

* removing nn.Module inheritance from Datamanager class

* don't need to move datamanger to device anymore since Datamanager is not a subclass of nn.Module

* finished integration test with nerfacto

* simplified config variables, integrated the parallelism/disk-data-loading all into one datamanager

* updated the splatfacto config to be simpler with the dataloading and now uses FullImageDatamanager (which has been changed)

* style checks and some cleanup

* new splatfacto test, cleaning up nerfacto integration test

* removing redundant parallel_full_images_datamaanger, as the OG full_image_datamanager now has full parallelized support

* ruff linting and pyright fixing

* further pyright fixing

* another pyright fixing

* fixing pyright error, camera optimization no longer part of datamanager

* fixing one pyright

* fixing dataloading error when camera is not undistorted with dataloader

* fixing comments and updating style

* undoing a style change i made

* undoing another style change i made by accident

* fixing slow runtime

* fixing a more general camera undistortion bug

* move images to device properly

* minor improvements

* add print statement about >500 images, cleanup method configs

* make method configs consistent across nerfacto models

* adding description comments

* updating description

* resolving some pyright issues with export.py, explained in PR desc

* fixing pyright issues in base_pipeline.py

* ran pyright on exporter and base_pipeline.py without issues

* adding a git ignore to a clearly checked pyright issue

* typo

* fixing most ns-dev-test cases

* cleanup, passing final ns-dev-test

* oops, accidentally pushed the deletion of a docstring, undoing that

* another cleanup

* some fixes to eval pipeline

* lint

* add asserts for spawn

* lint

* cleaning up import statements in parallel_datamanager.py

* adding new developer documentation if users would like to migrate their custom datamanagers to support new features

* removing unnecessary to_device no-op

* further updates to documentation

* lint

* more docs

* docs

* remove comment

* add docs, fix depth dataset with parallel datamanager, fix mask sampling bug

* remove profiling

* more profile removal

* custom_view_processor->custom_image_processor

* doc clarification

* datamanager doc nit

* whitespace

* nits

* remove stuff from __post_init__, tune num workers more, add random offset in raybatchstream

* removing unnecessary assertion, updating docstring because DataManager is no longer an nn.Module

* clarifying configuration with num_images_to_sample_from and num_times_to_repeat_images, cleaning up functions

* adding logic so that nerfacto users can load_from_disk and customize image batch sizes and repeat parameters

* ruff formatting! whoops forgot to format

* fixing logic, now if users set load_from_disk to true, datamanager will use 50 and 10. If users set it and specify their own values, we support that as well

* adding separate datamanager config so that target can be removed in method_configs

---------

Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
Co-authored-by: Brent Yi <yibrenth@gmail.com>
2025-01-31 10:40:01 -08:00
beckyfeng08
189328ec79
Fixes in Maya plugin page (#3576)
* doc and plugin

* small fixes in plugin
2025-01-22 04:15:39 +00:00
Qizhi Chen
1dc2ebd9dc
Fix cli bug in high version of tyro (#3567)
* limited the tyro version up to 0.9.2

* bump tyro>=0.9.8

* Bump typeguard

* Runtime checking with jaxtyping hook instead of typeguard

* Fix test for Python >=3.11, caused by missing default_factory

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2025-01-21 03:32:35 -08:00
beckyfeng08
3057c68570
Maya plugin and documentation (#3575) 2025-01-20 00:11:35 -08:00
Justin Kerr
66cd6817f9
rerun formatting with ruff 0.9.1 (#3569)
rerun with ruff 0.9.1
2025-01-13 10:46:11 -08:00
Roger Q.
ecd40dfab8
Adding docs for feature-splatting as an external method (#3557)
Add support for feature splatting as an external method
2025-01-03 19:44:04 +00:00
Jameson Crate
0ced5cecdd
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
2024-12-24 01:02:52 +00:00
clonefetch
14f1d4ed62
chore: remove redundant words in comment (#3544)
* chore: remove redundant words in comment

Signed-off-by: clonefetch <c0217@outlook.com>

* small typo change

---------

Signed-off-by: clonefetch <c0217@outlook.com>
Co-authored-by: Alexander Kristoffersen <alexanator28@icloud.com>
2024-12-22 19:52:11 +00:00
Jonáš Kulhánek
f86dbe6d45
Update dockerfile and add docker build action (#3283)
* Use github docker registry

* Fix DDP train for GPU in exclusive mode

* Improve docker image - compile gsplat, decrease image size

* Drop unrelated change

* Add build docker image action

* Rename build docker image action

* nit

* Remove commented line from Dockerfile

* Fix dockerfile when explicit source is specified

* Fix failing dynamo build for torch.compile

* Lock dockerfile and tcnn versions

* Add `torch.cuda.is_available()` condition

* Drop set_cuda_device

* Fix build docker image github action

* Docker build save disk space

* Set MAX_JOBS to limit resource usage for docker build

* Try bumping `MAX_JOBS` 2 => 4

* Install fixed gsplat version from nerfstudio's pyproject.toml

* Update docs

* Finish docker build action

* Fix ignores push when PR

---------

Co-authored-by: Gina Wu <ginawu98@gmail.com>
Co-authored-by: Brent Yi <yibrenth@gmail.com>
2024-09-05 10:12:21 +02:00
Yufeng Zhang
792c5fa9f7
Add an example on how to customize dataparser with ns-train (#3385) 2024-08-25 22:04:23 +00:00
Sebastiaan
096116097a
installation.md: Remove manual gsplat installation for Windows (#3333)
* installation.md: Remove manual gsplat installation for Windows

* installation.md: Reformat and clarify Windows instructions.

* Update installation.md

installation.md: Minor change in wording

---------

Co-authored-by: J.Y. <132313008+jb-ye@users.noreply.github.com>
2024-08-19 15:44:41 +00:00
Brent Yi
c669d865c1
Bump + run ruff (#3369)
* Bump + run ruff

* Fix notebook import
2024-08-19 11:23:14 -04:00
Congrong Xu
d2510aa02f
Splatw doc updates (#3311)
* splatw doc

* fix

* fix typo

* update doc

---------

Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-07-18 16:59:55 +09:00
Sebastiaan
bf3664a19a
Update installation.md: Add missing Pixi documentation (#3302) 2024-07-12 16:25:04 -04:00
Congrong Xu
b28cc78b7c
Document updates for splatfacto-w (#3281)
* splatw doc

* fix

* fix typo

---------

Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-07-09 10:00:10 -04:00
pculbertson-bdai
592615ff51
Make awscli an optional dependency (#3279)
* removed awscli from deps + added warning during attempted download.

* update docs to flag manual awscli install to users.

* add awscli to dev dependencies

* add proper awscli error handling to ns-download-data

* minor typing fix for ns-download-data when awscli is not installed
2024-07-03 19:43:59 +00:00
Congrong Xu
4fb09bebd6
Update installation.md (#3213) 2024-06-12 13:13:29 -04:00
Congrong Xu
43ab3616f1
Update installation guide for Windows (tcnn+gsplat) (#3212)
* Update installation.md

* Update installation.md
2024-06-11 14:29:26 -04:00
Ruilong Li(李瑞龙)
b6d0ca00dd
Update splatfacto with gsplat 1.0 (#3200)
Co-authored-by: Ruilong Li <397653553@qq.com>
Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-06-08 11:40:06 -07:00
Siming He
67d9fd1933
NeRFtoGSandBack (#3150)
* add methods

* fix reference in index.md

* update description
2024-05-27 17:29:26 +03:00
fe
ee4c18a407
Add OpenNeRF method (ICLR'24 http://arxiv.org/abs/2404.03650) (#3167)
* Create opennerf.md

* Update opennerf.md

* Add OpenNeRF to method list

* Add OpenNeRF method
2024-05-24 15:05:48 +03:00
Pablo Vela
8d5502db1a
Add Pixi as an option for installation (#3130)
* pixi installation optiont

* chore: Update .gitignore to include /third_party and include pixi lock file

* feat: Update download and training commands for dozer data

The commit updates the download and training commands for the dozer data in the `pixi.toml` file. It renames the `download-sample-data` command to `download-dozer-data` and modifies the `train-example-splat` and `train-example-nerf` commands to include the dozer data as a dependency.

This makes it easy to run an example training for both nerfacto and splatfacto

* update to include range between 3.8 -3.10

* Add Pixi installation instructions to the installation.md file

---------

Co-authored-by: maturk <30566358+maturk@users.noreply.github.com>
2024-05-19 11:56:30 +03:00
Elias Watson
e3ef9fb163
Clarify flag name in docs/nerfology/methods/splat.md (#3140)
Clarify full flag name
2024-05-13 08:55:35 +01:00
Leandro Passos
7ba02be8cf
adding the link for the paper page and fixing image paths (#3132)
* bionerf markdown file
2024-05-09 16:02:48 +00:00
Leandro Passos
3d61d8cbdc
Fixing typos and symbols in bionerf.md (#3126)
* bionerf markdown file

* method description in markdown file

* inserting bionerf in index file

* bionerf description

* fixing image paths

* including results on readme

* deleting last line from bionerfs page

* fixing typos in bionerf.md
2024-05-07 00:43:10 -07:00
Leandro Passos
9fe8e6c27c
BioNeRF (#3125)
* bionerf markdown file

* method description in markdown file

* inserting bionerf in index file

* bionerf description

* fixing image paths

* including results on readme

* deleting last line from bionerfs page
2024-05-06 22:11:07 -07:00
Justin Kerr
a64026f8db
shift principle points by .5 in undistortion (#3071)
* shift principle points by .5

* fix ordering

* add fisheye offset
2024-04-12 15:32:22 -04:00
Jan-Niklas Dihlmann
911091ccb6
Added SIGNeRF to Nerfstudio methods (#3053)
* feat: signerf as nerfstudio method

* fix: formating issues and indexing
2024-04-08 07:17:56 -07:00
Chung Min Kim
c572eb7f19
Refactor ScenePointerCallbacks for viser compatibility (#3036)
* Update to match viser pr

* Bump viser version

* `done` => `removed` in docs

* Update viewer_elements.py

* Fix

* Point function signature overload

* Update viewer_control.md

* type ignore on callback

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2024-04-02 23:42:15 -07:00
Chung Min Kim
71de07163a
Support rectangle selection in viewer (#3014)
* Support rectangle selection in viewer

* Update doc for click screen_pos

* Raise callback override warning from nerfstudio

* Bump viser version, rect-select only in >0.1.26
2024-03-25 19:48:49 +00:00
Lei Lei
3a4ed804d3
doc: fix code typo in 'NeRF' method doc (#2978)
In NeRF methods doc, old code component was found. So just fix this small typo issue.
2024-03-01 21:34:28 +00:00
AdamRashid96
6df06f264e
add splatfacto-big docs (#2955)
* add splatfacto-big docs
2024-02-29 12:04:15 -08:00
Ling Jing
1b4b682bce
add zipnerf-pytorch as external method (#2850)
* add zipnerf-pytorch as external method
2024-02-12 22:10:14 +00:00
Brent Yi
6127ec0f72
Update viewer legacy docs (#2875) 2024-02-06 16:07:37 -08:00
psetinek
f9a5227828
External Method: seathru_nerf (#2829)
* add seathru_nerf as external method
2024-01-28 11:01:46 -08:00
Brent Yi
1bc5b424b4
Update viewer docs (#2826)
* Update viewer docs

* Typo
2024-01-26 22:30:50 -08:00
VasuAgrawal
5988c7ee7c
Add documentation on existing datasets (#2806) 2024-01-23 09:54:13 -08:00
J.Y
8952fb531e
important fix typo (#2800)
fix typo

Co-authored-by: Jianbo Ye <jianboye@amazon.com>
2024-01-19 21:15:00 -08:00
Justin Kerr
616846b10e
Gracefuly handle old ViewerElements from legacy viewer (#2797)
* fix jittering in markdown in viewer beta

* Revert "fix jittering in markdown in viewer beta"

This reverts commit 70ade42e46.

* print correctly formatted url in banner for viewer beta

* warn when legacy viewerelements are used in new viewer

* Add shim for viewer_elements namespace, fixes https://github.com/ayaanzhaque/instruct-nerf2nerf/pull/88

* Fix typo

* suppress ruff error

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2024-01-20 00:37:40 +00:00
Justin Kerr
378dfc1661
Rename gaussian-splatting to splatfacto for clarity (#2796)
* method name->splatfacto

* change file names to splatfacto
2024-01-19 15:21:24 -08:00
AdamRashid96
a8d5dc9ae9
Updates to docs for gaussian splatting (#2782)
* additions to docs

---------

Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-01-18 11:17:54 -08:00
Cyrus Vachha
15e81d37dc
Update documentation for 3DGS (#2780)
Adding 3rd party viewers for splats and other edits to gs documentation.
2024-01-18 09:51:15 -08:00
Justin Kerr
7d0ab6aca8
Docs for gaussian splatting (#2776)
* fill in doc page for GS
2024-01-17 19:44:29 +00:00
Cyrus Vachha
3e2271a656
Setting save_world_frame as False by default and Splat export panel in viewer (#2700)
* Setting save_world_frame as False by default

Setting save_world_frame as False by default for the exporter as well as in the viewer, since it is exports the point cloud in a different coordinate system from the Blender add-on and there is not a similar checkbox in the original viewer, so by default the exported point cloud would not be compatible. This flag can still be set true in the cmd command and in the new viewer

Also updating the blender docs to mention support for gs scenes

* Adding splat export panel in viewer

Adding the splat option in the export panel which returns a basic splat export cmd. Also renaming the splat exports as splat.ply instead of point_cloud.ply

* Showing export panels based on method

If gaussian splatting is running, then the crop box, mesh, and point cloud exports are hidden/disabled. Else, all but splat export is visible.

* Fix pyright type check

* Changing viewer model argument for export panels

* Update export_panel.py

* Update export_panel.py

* Update export_panel.py

* Update exporter.py

* Update exporter.py

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2024-01-15 22:04:22 +00:00
Matthew Hoffman
f0aadf9de8
Use ruff as linter and formatter (#2765)
* Switch from black to ruff format

* Sort dependencies with ruff check

* Run ruff format
2024-01-15 13:43:14 -08:00
Brent Yi
55b7a2c8ef
Update docs to recommend torch 2.1 (#2748) 2024-01-11 15:12:41 -08:00