Commit Graph
184 Commits
Author SHA1 Message Date
J.Y eb9bcb577d Implement new rasterization mode using opacity compensation factor (#2888)
Implement new rasterization mode for tiny gaussians
2024-02-13 11:43:04 -08:00
Matthew Tancik ffe3c31c13 v1.0.1 (#2865) 2024-02-01 17:00:02 -08:00
Brent Yi 6436742c34 Upper-bound torch version for dev installs only (#2864) 2024-02-02 00:19:54 +00:00
Simon Bethke 10c6f29451 Changed torch version to <2.2 (#2861)
* Changed torch version to <=2.2, as <=2.1 will uninstall torch 2.1.2+cu118 and leave users without cuda in torch

* changed <=2.2 to <2.2 to prevent the issue at to prevent the type error referenced here https://github.com/nerfstudio-project/nerfstudio/pull/2857

* Changed torch version to <=2.2, as <=2.1 will uninstall torch 2.1.2+cu118 and leave users without cuda in torch
2024-02-01 11:06:17 +00:00
Justin Kerr 17748a8309 limit torch to <=2.1 to avoid type errors (#2857) 2024-01-31 19:34:00 +00: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
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 19a21d7773 Bump version to 1.0.0 (#2799)
Update pyproject.toml
2024-01-19 18:15:02 -08: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
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 46847ab56b Bump tyro (#2792) 2024-01-18 20:19:28 -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
Brent Yi 368c9ecd12 Bump viser (#2779) 2024-01-17 15:35:08 -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
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
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
Matthew Hoffman 114c5f7aa5 Fix apple silicon install 3.10+ (#2752)
* Fix install on darwin arm64 Python 3.10+

* Fix darwin arm64 3.11+ install
2024-01-12 12:59:04 -08:00
3ec10f8ea7 Undistortion should not occur for already-undistorted images (#2726)
* undistortion should not occur if pinhole (smoothes the images), and accordingly fix rounding of downscaled image size

* rounding downscaling, more consistent with other resizing methods in public datasets

* reverting to cpu image caching

* re-allow camera unimplemented

* compatibility with mask/depth

* reverted scale factor rounding, corrected mask undistort condition

* moved distortion_params update inside PERSPECTIVE type if-clause

* bumping opencv to 4.8, to deal with undistortion bug with distortion parameters of zero

---------

Co-authored-by: liorf <liorf@amazon.com>
Co-authored-by: alshan <alshan@amazon.com>
Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2024-01-10 12:44:57 -08:00
Ruilong Li(李瑞龙) 98a21263c1 Fix periodically stuck in parallel datamanager (#2713)
* Fix sticking in parallel datamanager
2024-01-05 15:21:50 -08:00
Brent Yi 7a8e31d84e Improved render panel for beta viewer (#2667)
* Continuous velocities for render splines

* Configure ruff line length

* Improved render preview

* No longer need to update camera FOV in render preview

* Details

* Polishing

* Cleanup

* Details

* Address pyright errors

* type: ignore for broken (?) Aria stub
2023-12-20 17:20:41 -08:00
+5 ddedb920dc Gaussian splatting (#2521)
* Adds Gaussian Splatting integration
---------

Co-authored-by: Jake Austin jake-austin@berkeley.edu <jake-austin@berkeley.edu>
Co-authored-by: Brent Yi <yibrenth@gmail.com>
Co-authored-by: Zhuoyang <zhuoyangpan@outlook.com>
Co-authored-by: Vickie Ye <vye1116@gmail.com>
Co-authored-by: adamrashid96 <abrashid@berkeley.edu>
Co-authored-by: Paul Wais <paulwais@gmail.com>
Co-authored-by: Gina Wu <ginawu98@gmail.com>
Co-authored-by: Alexander Kristoffersen <akristoffersen@berkeley.edu>
Co-authored-by: machenmusik <machenmusik@users.noreply.github.com>
Co-authored-by: Riley <cardiacmangoes@gmail.com>
Co-authored-by: Gina Wu <42229107+ginazhouhuiwu@users.noreply.github.com>
Co-authored-by: maturk <matiasturkulainen@gmail.com>
Co-authored-by: Guangyun-Xu <38279883+Guangyun-Xu@users.noreply.github.com>
Co-authored-by: Zhuoyang Pan <102644383+Zhuoyang-Pan@users.noreply.github.com>
2023-12-14 22:14:09 -08:00
Justin KerrandBrent Yi 17f785758b Parity of layout between viewer beta and legacy viewer (#2639)
* alter layout of beta viewer to match old viewer

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2023-12-13 11:17:36 -08:00
Chris SweeneyandBrent Yi 6ccbc2de45 Add support for Project Aria datasets. (#2617)
* Add support for Project Aria datasets.

1) An export script for processing Project Aria datasets
2) Add support for Fisheye624 cameras
3) Add support for center-crop masking and sampling

Example commands for running nerfstudio on Project Aria data:

python scripts/datasets/process_project_aria.py --vrs_file=<path_to_vrs> --mps_data_dir=<path to MPS directory> --output_dir=<nerfstudio_data_dir>

ns-train nerfacto --data <nerfstudio_data_dir>  nerfstudio-data --orientation-method none

* Clean up type errors

* Fix formatting

* Fix linter errors, import, and use absolute file paths

* Add aria subcommand to ns-process-data

* Appease ruff

* Add Aria to docs

* Fix docs, add back import try/except

* nit: path.as_posix() -> str(path)

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2023-12-12 22:18:13 +00:00
Brent YiandGina Wu 01d57b90dc Fix large dataset (> 512 images) training in viewer_beta (#2669)
* Fix large dataset (> 512 images) training in viewer_beta (#2586)

* fix index bug in update_camera_poses of viewer

* Set Ruff line lenth

---------

Co-authored-by: Gina Wu <42229107+ginazhouhuiwu@users.noreply.github.com>
2023-12-12 11:44:26 +00:00
Brent Yi 73fc3dcd63 Update dependencies for M1 Macs (#2665)
* Update dependencies for M1 Macs

* import newrawpy as rawpy

* Comment

* Add back rawpy for Linux

* Run black
2023-12-11 18:08:17 +00:00
Brent Yi c8c55521e8 Keyframe timing for beta viewer (#2638)
* Add keyframe timing to beta viewer

* Nits

* New keyframe timing logic

* Bump viser version
2023-11-30 00:52:37 +00:00
Brent Yi 042c7d1465 Bump tyro to 0.5.7 (#2393)
* Bump `tyro`

* tyro 0.5.7
2023-10-16 06:26:42 +00:00
Brent Yi d3934737a1 Upgrade pyright (#2526)
* Upgrade pyright

* Resolve pyright errors

* Suppress trimesh error

* Run ruff
2023-10-14 13:00:17 +08:00
Justin Kerr 8e2a0651d0 Fix jitter viewer (#2505) 2023-10-10 17:49:52 -07:00
Matthew Tancik c87ebe34ba v0.3.4 (#2452) 2023-09-21 18:38:22 -07:00
Brent YiandJustin Kerr 3e1d4af821 Add share link support for beta viewer (#2445)
* Add share link support for beta viewer

* More consistent CLI experience

* fix viewer jitter by adding atomic update on camera pose

* change to make_share_url

* fix

* remove incorrect assert

---------

Co-authored-by: Justin Kerr <justin.g.kerr@gmail.com>
2023-09-19 16:22:55 -07:00
Sid Mehta 7269a7ee16 Add Comet Logging (#2431)
* initial commit

* fixed naming

* added comet_ml as depedency

* added comet to docs

* Update custom_gui.md

* Update models.md

* Update benchmarking.md

* added Comet to ReadMe

* added decorator

* fixed link and added comet examples

* fixed link and added comet example

* fixed format

* fixed type ignore error

* fixed readme typo

* fixed typo
2023-09-15 09:21:09 -07:00
85ef567682 Flesh out viewer beta (#2086)
* Increase max_res of first proposal network

* fix render statemachine logic for viewer beta

* clicking on cameras in the viewer

* fix fov calculation, update camera positions while training

* cleanup

* backup

* fix configure theme

* Fix theme configure for latest dev version of viser

* Fix runtime errors

* add set up direction button

* add pause resume button

* Export panel

* Render tab skeleton

* make responsiveness more snappy by stopping training

* depth composite

* start implementing viewercontrol in new viewer

* refactor background img to use depth and add depth layering option

* show/hide images

* speed up rendering

* fix crop color background

* crop

* rotated crops

* rotated crops

* transform handle on crop box

* fix xyzw for crop

* oriented crop export for pointclouds, not for meshes yet

* Initial render panel

* Fix export button

* Theme tweaks

* fix background issue in cropping

* export rotated poisson meshe

* double normals definition in export panel

* Visual nits

* remove tsdf from export panel

* Add licenses

* Fix some CI errors

* Type fixes

* Fix tests

* Fix numpy broken

* various bugfix

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
Co-authored-by: terrancewang <terrance.3512@gmail.com>
2023-09-08 05:10:00 +00:00
Rohan Mathur 48135ee4c8 Added a pytorch implementation of OmniCV's to remove equilib package usage (#2350)
* added pytorch omnicv implementation in order to not use GPL equi2pers

* renamed rotation matrix function to decrease confusion

* fixed docstrings

* fixed linting

* removed pyequilib from dependencies
2023-08-20 21:34:18 -07:00
Matthew Tancik 61548ceba1 v0.3.3 (#2349) 2023-08-17 11:59:04 -07:00
Brent Yi 6d51af1a24 viser 0.1.0, fix type checker errors (#2343)
* Pin to viser 0.1.0, fix type checker errors

* gui_folder => add_gui_folder
2023-08-15 23:15:35 +00:00
71c6b9cf3d Monodepth Regularization (#2284)
* monodepth implemented

* device

* pair pixel sampler

* docstring

* removing unused imports

* fix bugs

* cache in cache dir, no longer edit json file

* moving to depth nerfacto

* fixed bug using median depth by accident

* removing depthdataset from nerfacto

* added pixelsamplerconfig

* added equirectangular warning back

* bug fix

* delete sample_config.py + small fixes

* rename to pixel_sampler

* cleaning

* test

* passing num_rays_per_batch properly

* fixed transforms typo

* renaming in nerfacto

* remove depth files from test data

* removed defaulting to base pixel sampler with mask

* adding patch_size back

---------

Co-authored-by: AdamRashid96 <abrashid@berkeley.edu>
Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
2023-08-01 18:52:47 -07:00
Matthew Tancik 54d26814d9 Update torchmetrics (#2223) 2023-07-13 18:02:19 -07:00
machenmusikandMatias Turkulainen d78af5b569 allow ns-process-data to use CR2 raw images (#2119)
* allow ns-process-data to use CR2 raw images

* Update process_data_utils.py

* black wants an extra newline

---------

Co-authored-by: Matias Turkulainen <30566358+maturk@users.noreply.github.com>
2023-06-27 16:02:58 -04:00
Matthew Tancik 7349f2320b v0.3.2 (#2118) 2023-06-22 09:25:36 -07:00
Jonáš Kulhánek c68d622bbc Allow newer pycolmap for newer python (#2113) 2023-06-21 19:23:34 -07:00
b17268e83b [WIP] dreamfusion implementation (#1008)
* starting the framework for dreamfusion

* Removed view direction from RGB to calculate albedo

* Started diffusion

* Added dreamfusion to CLI, removed direction embeddings

* Normals in dreamfusion

* Lambertian shading added

* Train normals in Dreamfusion

* Stable diffusion from Stable Dreamfusion

* Fix normal orientation loss

* Configurable light direction sampling

* adding density initalization at origin

* V1 datamanager

* Don't train normals for first 1k iters

* SDS loss added to dreamfusion

* Dreamfusion pipeline

* Background MLP and SphereCollider

* Normals prediction training fixed

* Sigmoid on background, prompt in config

* Shading hyperparameter adjustements

* Shading hyperparameter tuning

* Location based prompting, density initialization fades, LR change

* Cleaned imports, more config options

* Tuning, more config changes

* remove unused sampler, normalize predicted normals from network

* change position encoding to direction encoding for background color mlp

* Updating dreamfusion to use custom trainer, fixed bug, multi-gpu support (put diffusion on one specific device), merged with main

* Hard coding less, offloading to config

* Appeasing the linter

* First pass opacity / sparsity losses

* Small patches and configs

* Accidentally pushed logs

* Removing logs for real this time

* Transmittance loss bug fix

* 12 GB Dreamfusion!

* Lint

* Remove unecissary collider changes

* Start SD cleanup

* Cleanup SD code

* adding overhead location prompting

* Use lambertian renderer

* turn grad accum off by default, decrease background mlp size, add overhead text embedding

* Cleanup

* Fix normals vis

* change uniform sampler to prediction network, add option to jit unet for faster sds_loss

* Use shaders

* cleaning up jit code

* add warning if using non jit unet

* add proposal network optimizer to config

* speed up render and cleanup code

* Clean up datamanager

* Add distortion loss

* fix wanb

* adding interpolated location sampling

* Update configs

* interpolated location prompting option, lowering init density, transmittance loss interpolation flipped

* rename alphas mult to alphas loss mult

* Mess around with normals

* add option to use random bg color + bg mlp

* Remove Dreamfusion Trainer (#1423)

* Dreamfusion trainer no longer needed

* Added typing for grad scaler

* SDS return loss

* Fix CFG

* Cleanup

* Update configs

* Fix opacity loss, use unform sampling first round of prop

* add prompt edditing to viewer

* Choose your own diffusion

* remove dreamfusion pipeline file

* merging + remove dreamfusion pipeline file

* Update configs

* add stable diff utils

* cleanup

* cleanup

* Fix test

* positional prompting bugfix

* Warmups

* tune

* lint

* Remove dataparser

* merging + text embedding bugfix

* Set data path to launch viewer for DreamFusion (#1776)

* Set data path to launch viewer for DreamFusion

* Apply formatter

* Fallback to 'base_dir' if data manager has no path

* Make if statement non-inline

* Reformat

---------

Co-authored-by: Matthew Tancik <mattt4001@gmail.com>

* add deepfloyd option first try

* merging

* merging from main

* merging

* removing comments, cleaning code, making stable diff utils usable for deepfloyd, remove deepfloyd text encoder after use

* undo chagnes in data folder

* cleaning code, removing unneccesary changes from main, removed normals prediction network

* remove old scripts files, rename generative pipeline flag to no_input_data, revert to default histogram padding in proposal sampler

* changing pipeline flag

* move no input data flag from pipeline to datamanager

* undo config and merge in deepfloyd from main

* merging grad scaler pipeline addition

* merging + setting proposal net scheduler

* revert nerfacto config change

* typing + linting

* rename dreamfusion datamanager to random camras datamanager, check datamanager typing in pipeline and trainer

* fix test import

* fix test import

* changing datamanager check in trainer, add typing in random cameras datamanager

* add Tensor to randomcamerasdatamanager

* remove old comments

* resolve tyro warning

* update fields to use tcnn

* lint

* add packages for deepfloyd

* add versions

* docs first draft

* rename to generfacto, clean docs

* fix import error

* minor changes

* fix orientation loss bug, retune params

* cleanup

* typing

* trying docs fix

* fixing generative package imports

* fix pyright

* docs fix

* merge w main

* docs minor change

* tuning + bugfixes

* remove torch.backends

---------

Co-authored-by: Abhik Ahuja <ahujaabhik@berkeley.edu>
Co-authored-by: David McAllister <davidrmc2@gmail.com>
Co-authored-by: Jake Austin <jake-austin@berkeley.edu>
Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
Co-authored-by: Matt Tancik <mattt4001@gmail.com>
Co-authored-by: SeungWoo Yoo <dreamy1534@gmail.com>
Co-authored-by: ayaanzhaque <ayaanzhaque@gmail.com>
Co-authored-by: Ayaan Haque <ayaanzhaque@berkeley.edu>
2023-06-17 23:34:04 -07:00
Brent Yi 4d71cd2e95 Bump tyro (#2008) 2023-05-27 19:49:11 +00:00
Matthew Tancik addf477e8c add controls to the beta viewer (#2005)
* add controls to the beta viewer

* Remove misc file

* works now
2023-05-26 15:15:36 -07:00
Matthew Tancik efd83abb6d Basic viser frontend (#1973)
* Use viser frontend

* Rendering but poses incorrect

* Fix cameras
2023-05-23 12:21:38 -07:00
Matthew Tancik bd04ceeb50 v0.3.1 (#1972) 2023-05-22 10:45:32 -07:00
Jonáš Kulhánekandmachenmusik 3bc160cc7d Backward compatibility for torch 1.x and fix for windows (#1962)
* backward compatibility for torch 1.x and fix for windows

* Update pyproject.toml

* Update README.md

* Update README.md

(As per request)

---------

Co-authored-by: machenmusik <machenmusik@users.noreply.github.com>
2023-05-22 08:58:08 -07:00
Matthew Tancik 1e205c1b5b Remove hloc from pyproejct (#1955) 2023-05-18 17:45:11 -07:00
Matthew Tancik a4775f218f v0.3.0 (#1954) 2023-05-18 17:37:04 -07:00