4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-10 18:17:31 +08:00
Commit Graph

2063 Commits

Author SHA1 Message Date
couperle
50e0e3c70c
Add image tiling option to ColmapDataParser to use less memory (#3685)
Add tiling option to ColmapDataParser
2025-07-28 19:28:48 -07: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
Frédéric Devernay
83fe2f6cd4
fix core tests (#3687)
* fix core tests

* Try alternative fix for pyright errors

* Run ruff, bump core code checks to 3.11

* Run correct ruff version

* Use the previous pyright version 👀

* cv2 ignore, pin dev dependency to newer pytorch version

* ruff

* Remove pyright error suppressions

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2025-07-15 16:35:57 -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
Daniel Crispell
5003d0e271
sample pixels from all data in variable-resolution batches (#2772)
* sample pixels from all data in variable-resolution batches

* sort import block

* sort imports

* reorder imports

* clean up warnings

* simplify index extraction
2025-04-23 20:14:28 -07:00
Anthony Zhang
2091a0d927
Removing unnecessary print statement (#3639)
removing unnecessary print
2025-04-21 17:36:39 -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
HeaIn
54b127f870
Fixing bounding box issue when exporting poisson mesh (#3591)
Co-authored-by: Brent Yi <yibrenth@gmail.com>
2025-04-04 14:49:43 -07:00
klimermana
047100d465
Allow up to v5 of protobuf (#3580)
Co-authored-by: Brent Yi <yibrenth@gmail.com>
2025-04-04 14:49:00 -07:00
Anthony Zhang
352cae6b84
Updating github actions cache version (#3624)
updating github actions versions
2025-04-04 14:44:43 -07:00
Dávid Komorowicz
73fe54dda0
Fix seams/gaps when exporting mesh using marching cubes Fixes #2721 (#3598) 2025-02-24 07:17:09 -08:00
Anthony Zhang
f604fd960e
Fixing Assertion issues when exporting NeRFs to poisson meshes and pointclouds (#3587)
fixing assertion issues for a successful poissonMesh and pointcloud export
2025-02-09 23:05:31 -08: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
Brian Xu
62ab373f7e
Add GLOMAP to Dockerfile (#3565)
add GLOMAP to dockerfile

Co-authored-by: Jonáš Kulhánek <jonas.kulhanek@live.com>
2025-01-17 10:42:33 -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
Yudong Jin
5be513e968
Write camera path to output dir if saving to the data dir fails (#3476)
* Update render_panel.py

* Update render_panel.py

* Update render_panel.py

* Update render_panel.py

* isort fix

* Update render_panel.py

---------

Co-authored-by: J.Y. <132313008+jb-ye@users.noreply.github.com>
2025-01-08 09:10:43 +00:00
Tim de Jager
7be0ed98c5
refactor: use depends-on instead of depends_on (#3561) 2025-01-06 08:57:50 -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
Congrong Xu
c7bd953972
Finalize MCMC strategy and some tiny fix (#3548)
---------

Co-authored-by: KevinXu02 <xucr2002@gmail.com>
Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2025-01-03 19:41:13 +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
Noe
555d554008
Improve default launch device for train (#3523)
* feat: improve launch device

* add licence header

* crash instead of trying to set the available option

* set cuda as default

---------

Co-authored-by: Noé Pion <noe.pion@onfido.com>
Co-authored-by: J.Y. <132313008+jb-ye@users.noreply.github.com>
2024-12-05 18:29:13 +00:00
Alexander Kristoffersen
a8888e7d9e
Move util functions out of splatfacto (#3538)
* Move util functions out of splatfacto

Nothing else currently uses some of the SH utils, but it might make sense to get them out of splatfacto.

I also moved the k nearest neighbors to utils since it doesn't depend on the model class.

* fix assert

* fix sh test

* convert to using degrees, not levels
2024-12-05 13:25:55 -05:00
Qizhi Chen
e8bf472692
add time interpolation support for ns-render interpolate (#3481)
add time interpolation support
2024-11-29 10:29:43 -05:00
Daniel Wang
4d73c4e61e
Fix: number of iterations wasn't set correctly (num_iterations directly set to equal to max_num_iterations) (#3526)
Fix: number of iterations wasn't set correctly

The original code causes iteration to go over max_num_iterations, causing progress tracker be unable to estimate time needed to finish, and causes unwanted extra iterations
2024-11-28 11:50:37 -08:00
J.Y.
11ca6e379e
Fix build error (#3533) 2024-11-26 14:10:12 -08:00
Kevin Chen
758ea1918e
Fix: --crop-bottom for equirect data (#3525) 2024-11-20 00:37:31 -08:00
J.Y.
6b60855003
bump version to 1.1.5 (#3521) 2024-11-11 16:20:42 -05:00
Lei Lei
9e5bbd9819
fix: saving ckpt error when ckpt folder has some folder inside (#3516) 2024-11-08 17:44:39 -05:00
Sebastiaan
cef95890f3
Restrict pymeshlab version on Windows (3461) (#3474)
Co-authored-by: J.Y. <132313008+jb-ye@users.noreply.github.com>
2024-10-24 19:12:25 +00:00
Justin Kerr
fc4fc5cb15
Properly reset train state after render lock in viewer (#3486)
* properly reset train state after render locK

* finally block
2024-10-18 11:37:58 -07:00
Justin Kerr
d2f2ad9474
update gsplat version to >=1.3.0 (#3478)
* update gsplat version

* 1.4.0
2024-10-16 12:32:06 -07:00
Simon Bethke
adc743c3a0
tag exported ply files (#3472)
* tag exported ply files

* Added the version

* fix import order

* Added information about the up-axis
2024-10-13 18:48:52 -07:00
Brent Yi
67be06009e
Add option to change .ply output filename for Gaussian exports (#3467)
Add option to configure .ply output filename for Gaussian exports
2024-10-09 22:22:52 +00:00
Nicholas Pfaff
8e27e5f54d
Add option for refining the TSDF using the mesh's AABB (#3459) 2024-10-06 21:23:16 -07:00
Brent Yi
1bc1e1aaf6
Add max_frames + max_output_size arguments for Aria data processing (#3466)
* Add max_frames + max_image_size arguments for Aria data processing

* Change max_output_size
2024-10-06 21:22:16 -07:00
Nicholas Pfaff
866a069777
Keep depth_image on CPU (#3449)
Co-authored-by: J.Y. <132313008+jb-ye@users.noreply.github.com>
2024-10-01 19:39:26 +00:00
Nicholas Pfaff
334a1c8afe
Make PixelSampler the depth-nerfacto default (#3454)
* Make PixelSampler the depth-nerfacto default

* Add note about PairPixelSampler and DepthLossType.SPARSENERF_RANKING
2024-10-01 16:59:31 +00:00
Nicholas Pfaff
56556d22fa
Rejection sample mask for patch pixel sampler (#3457)
Use mask rejection sampling in PatchPixelSampler
2024-10-01 09:54:28 -07:00
Nicholas Pfaff
4c7297c75a
Speed up PairPixelSampler (#3452) 2024-09-30 17:31:49 -07:00
Nicholas Pfaff
6da94443fd
Change depth from float64 to float32 (#3453) 2024-09-28 16:51:05 -07:00
J.Y.
01d3f73e2c
Fix #3417 (#3441) 2024-09-24 18:01:43 -07:00
Aayush Gupta
e6941aca47
Zipnerf point cloud and tsdf mesh export support (#3429)
Co-authored-by: J.Y. <132313008+jb-ye@users.noreply.github.com>
2024-09-24 15:28:18 -04:00
Aayush Gupta
516fd7c9ac
Fix splatfacto crash in eval when using viewer (#3430) 2024-09-17 12:31:42 -07:00
Anthony Tafoya
3e638da635
Adding Random Seed for Frame Processing (#3416)
* Adding Random Seed for Frame Processing

* Added Unit Tests

* Updating Unit Tests for Ffmpeg

* Make Logs More Detailed

---------

Co-authored-by: Anthony-Tafoya <anthonytafoya@berkeley.edu>
Co-authored-by: J.Y. <132313008+jb-ye@users.noreply.github.com>
2024-09-17 15:32:09 +00:00
Nicholas Pfaff
27b8e14798
Fix crop obb masking in pointcloud generation (#3433) 2024-09-16 16:44:31 -04:00
Maximum Wilder-Smith
106d427e80
Minor update to generate splat files in inference mode (#3432)
changed gaussian splat export to inference mode
2024-09-16 13:57:21 -04:00