Commit Graph
1845 Commits
Author SHA1 Message Date
J.Y d8b517d6a5 Add average_init_density to improve robustness of nerfacto training (#2834) 2024-01-28 14:09:27 -08:00
Piero Toffanin fb1fee1d8f Add support for loading 3D points with ODM data processor (#2838)
* Add support for loading 3D points with OpenDroneMap data processor
2024-01-28 11:09:31 -08:00
psetinek f9a5227828 External Method: seathru_nerf (#2829)
* add seathru_nerf as external method
2024-01-28 11:01:46 -08:00
Congrong Xu 3f23e6efb2 Fix the background color bug when exporting video with the "random" background option (#2831)
patch #2815
2024-01-27 11:27:49 -08:00
Brent Yi 1bc5b424b4 Update viewer docs (#2826)
* Update viewer docs

* Typo
2024-01-26 22:30:50 -08:00
Anthony Zhang 1aba4ea7a2 fixing colmap installation to use apt-get since gdown on the URL unable to download colmap (#2823)
fixing colmap installation to use apt-get since gdown on the URL was failing
2024-01-25 23:09:23 +00:00
Piotr Sokólski 67b1005784 Fix "mutable default" error in render.py (#2825)
This fixes 

```
ValueError: mutable default <class 'nerfstudio.data.scene_box.OrientedBox'> for field obb is not allowed: use default_factory
```
2024-01-25 15:04:14 -08:00
Justin Kerr f2f4bf55b2 Add alpha rendering to splatfacto, fix depth bug (#2824)
* Add alpha rendering to splatfacto, output as accumulation
2024-01-25 12:51:16 -08:00
Brent Yi 3bade3a9dc Remove viewer build badge (#2819) 2024-01-24 23:11:22 -08:00
Chung Min Kim 3db08019db Use packaging for colmap version (#2814)
* Use packaging.version for colmap version

* Run ruff

* Change default_version to str type
2024-01-24 16:02:05 -08:00
Brent Yi fb4f9f0060 Fix mask shape for Fisheye624 cameras (#2813) 2024-01-23 16:08:04 -08:00
hturki 365592036e Have Mill19 dataset use official splits by default (#2745)
add splits to mill19
2024-01-23 23:51:58 +00:00
VasuAgrawal 7cc27da7ff Make downloading more windows-friendly (#2810)
* Make downloading more windows-friendly

* Remove unnecessary f-strings
2024-01-23 15:37:05 -08:00
Ikko Eltociear Ashimine 0dfefbf922 Fix typo in parallel_datamanager.py (#2812)
occured -> occurred
2024-01-23 20:56:01 +02:00
Huang Binxiao b669f51f02 Update splatfacto.py (#2804)
Shape error: The shape of batch['mask'] is [H, W, 1], not[H, W]
2024-01-23 10:16:22 -08:00
VasuAgrawal 5988c7ee7c Add documentation on existing datasets (#2806) 2024-01-23 09:54:13 -08:00
J.YandJianbo Ye 8952fb531e important fix typo (#2800)
fix typo

Co-authored-by: Jianbo Ye <jianboye@amazon.com>
2024-01-19 21:15:00 -08:00
Brent Yi 19a21d7773 Bump version to 1.0.0 (#2799)
Update pyproject.toml
v1.0.0
2024-01-19 18:15:02 -08:00
c83ed7dcaf fix the bugs associated with blender datas (#2704)
* fix the bug when camera.distortion_params is None

* Handle background color override when using blender.

* fix bare except

* format

* Update background color override in Blender dataparser

* Add ability to download EyefulTower dataset

* wip before I copy linning's stuff in

* Generate per-resolution cameras.xml

* Generate transforms.json at download

* Fix a couple of quotes

* Use official EyefulTower splits for train and val

* Disable projectaria-tools on windows

* Fix extra imports

* Add a new nerfacto method tund for EyefulTower

* Split eyefultower download into a separate file

* Fix typo

* Add some fisheye support for eyeful data

* Reformatted imports to not be dumb

* Apparently this file was missed when formatting originally

* Added 1k resolution scenes

* revert method_configs.py to original values

* Also add 1k exrs

* Add option to modify bg color in gaussian splatting

* fix back the config, bg color should work now

* removed camera optimizer for gs to align with main

* Address feedback

* Revert changes to pyproject.toml, to be added in a later PR

* Oops, probably shouldn't have gotten rid of awscli ...

* adding support for bg color, tested and reformatted now

* formatted

* formatted

* changed glob variable name

* Refactor background color variable name

* prevent viser overriding

---------

Co-authored-by: Vasu Agrawal <vasuagrawal@meta.com>
Co-authored-by: Ethan Weber <ethanweber@berkeley.edu>
Co-authored-by: Brent Yi <yibrenth@gmail.com>
Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-01-20 02:10:06 +00:00
Brent YiandJustin Kerr ff4002d343 Clean up ns-train {method} --help for not-yet-installed external methods (#2760)
* Clean up `ns-train {method} --help` for not-yet-installed external methods

* Ruff

* Ruff

* add clearer print statement

* Types? Not sure if this fixes it

---------

Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-01-19 18:02:56 -08:00
Brent YiandJustin Kerr 70d83d4201 Remove legacy viewer from GitHub actions (#2798)
Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-01-19 16:42:50 -08:00
Justin KerrandBrent Yi 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
248e99e7f4 Add preliminary EyefulTower dataset support (#2672)
* Add ability to download EyefulTower dataset

* wip before I copy linning's stuff in

* Generate per-resolution cameras.xml

* Generate transforms.json at download

* Fix a couple of quotes

* Use official EyefulTower splits for train and val

* Disable projectaria-tools on windows

* Fix extra imports

* Add a new nerfacto method tund for EyefulTower

* Split eyefultower download into a separate file

* Add some fisheye support for eyeful data

* Reformatted imports to not be dumb

* Apparently this file was missed when formatting originally

* Added 1k resolution scenes

* revert method_configs.py to original values

* Also add 1k exrs

* Address feedback

* Revert changes to pyproject.toml, to be added in a later PR

* Oops, probably shouldn't have gotten rid of awscli ...

* changed glob variable name

* Update tensor_dataclass.py

---------

Co-authored-by: Ethan Weber <ethanweber@berkeley.edu>
Co-authored-by: Brent Yi <yibrenth@gmail.com>
2024-01-20 00:22:49 +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
VasuAgrawal 25d723c08b Disable projectaria tools on Windows (#2794)
* Update pyproject.toml to work for windows again

* Actually pycolmap works now
2024-01-19 15:04:33 -08:00
Brent Yi 6389cacd19 Gaussian splatting support for Aria (#2785)
* Gaussian splatting support for Aria

* Respect masks in splatting loss function
2024-01-19 11:09:37 -08:00
Brent YiandJustin Kerr c27b5cb65f Use github output format for ruff in CI (#2786)
* Use github output format for ruff in CI

* Fix

---------

Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-01-19 09:29:50 +00:00
Brent YiandJustin Kerr 99073eb187 Don't throw away non-tensor objects in TensorDataclass (#2783)
* Don't throw away non-tensor objects in TensorDataclass

* Update test_tensor_dataclass.py

---------

Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-01-19 01:18:19 -08:00
Brent Yi f55bd04ca6 Hotfix non-colmap nerfstudio datasets 2024-01-19 00:39:53 -08:00
288e1496f1 Switching the gaussian-splatting dataparser from ColmapDataParser to NerfStudioDataparser and updating ns-process-data (#2791)
* ns-process-data updated to output a .ply of sparse points from colmap

* docs for loading 3D points

* format fixing

* ruff formatting

* added read_points3D_text

* formatting

* added 3D points to test

* prompted user bool fix

* small fixes to pass test cases

* fix colors

* fixed coord system

* Tweak frames

* Comment wording

* ruff

* Comment intentional default change for load_3D_points

* Wording

* More wording

* Fix double/float issue

---------

Co-authored-by: Ethan Weber <ethanweber@berkeley.edu>
Co-authored-by: Brent Yi <yibrenth@gmail.com>
2024-01-19 08:00:45 +00:00
J.Y 25a00a09ab Revisiting #1504 and fix colmap world coordinate transform (#2793)
fix colmap world coordinate transform
2024-01-19 05:08:19 +00:00
Brent Yi 46847ab56b Bump tyro (#2792) 2024-01-18 20:19:28 -08:00
Justin Kerr 402d4fdd1e Remove unsupported camera optimization from GS (#2790)
* 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

* remove cam opt from gs
2024-01-18 22:51:04 +00:00
J.YandJianbo Ye da57d3f5ba MAX_AUTO_RESOLUTION is ensured in auto downscale (#2788)
Co-authored-by: Jianbo Ye <jianboye@amazon.com>
2024-01-18 14:15:05 -08:00
AdamRashid96andJustin Kerr 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
J.YandJustin Kerr 6f2b87e8c2 Add option of caching image in bytes rather than float32 (#2741)
Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-01-18 11:03:11 -08:00
Justin Kerr b76a24093d Migrate to python functions for gsplat (#2778)
* switch to pythonic interface for gsplat
2024-01-18 10:35:45 -08:00
a78ca29470 Speed up mask sampling with rejection sampling (#2585)
* change masked pixel sampling to use rejection sampling instead of torch.nonzero

* black reformat code

* pyright unbound variable num_valid

* pyright type issues with num_valid

* add configuration settings for rejection sampling masks

* black reformat

* maybe this fixes it?

* revert behavior if mask sampling failed, still raise warning

* on iteration failure, use non-rejection sampling to generate indices

* ruff

---------

Co-authored-by: adrian_chang <adrian.chang@visionsystemsinc.com>
Co-authored-by: Alexander Kristoffersen <akristoffersen@berkeley.edu>
2024-01-18 18:21:44 +00: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
Brent Yi 368c9ecd12 Bump viser (#2779) 2024-01-17 15:35:08 -08:00
Justin Kerr 7d0ab6aca8 Docs for gaussian splatting (#2776)
* fill in doc page for GS
2024-01-17 19:44:29 +00:00
Matias Turkulainen a6a3dedc0e camtoworld is already a tensor in sdfstudio_data (#2777)
camtoworld is already a tensor
2024-01-17 11:22:34 -08:00
Brent Yi 05d305467f Reduce startup overhead (#2763)
* Reduce import overhead

* Bump tyro, suppress deprecated config values

* Bump viser

* Fix pyright
2024-01-17 01:42:10 +00:00
Too Yuen MinandBrent Yi e00da7de31 Update dependencies for aarch64 (#2750)
remove pymeshlab for aarch64

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2024-01-17 00:39:35 +00:00
Brent YiandJustin Kerr 609dc3ea5e Remove unused make_share_url arg in ns-viewer (#2749)
* Remove unused make_share_url arg in ns-viewer

* Update docstring

* Ruff

---------

Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-01-17 00:08:18 +00:00
Matthew Hoffman 32939e0d41 Remove deprecated dependency_links config (#2753)
* Move dependency_links to setup.cfg

[options] is not a valid table in pyproject.toml, but it is in setup.cfg: https://setuptools.pypa.io/en/latest/deprecated/dependency_links.html

* Remove setup.cfg

https://github.com/nerfstudio-project/nerfstudio/pull/2753#issuecomment-1893217202
2024-01-16 01:29:07 -08:00
Cyrus VachhaandBrent Yi 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 69ed6d4093 Improve viewer banner when server is bound to 0.0.0.0 (#2761)
* Improve viewer banner when server is bound to 0.0.0.0

* Add comment

* Update viewer.py
2024-01-13 20:31:39 +00:00
SiN 44dafa3a4e Add --no-cache-dir option to pip install in Dockerfile (#2739) 2024-01-13 06:24:27 +00:00