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

157 Commits

Author SHA1 Message Date
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 Yi
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
Justin Kerr
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
Ethan Weber
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
machenmusik
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
Terrance Wang
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ánek
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
Jonáš Kulhánek
9584fa9b39
Add pre-commit (#1949)
* Add pre-commit

* Add pre-commit to docs

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2023-05-18 07:13:58 -07:00
Matthew Tancik
2b0831b6d4
Final typing fixes + add Pyright to CI (#1944)
* knocking out a couple

* Fix more errors

* Add pyright

* Remove some unnecessary cv2 type ignores, warning on missing imports
(for missing tinycudann)

* Minor annotation fixes

* Update docs

* Drop `None` from temporal distortion output

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2023-05-18 02:25:34 -07:00
Jonáš Kulhánek
ea3f25d662
Bump torchvision to match PyTorch (#1947)
Bump torchvision to match torch
2023-05-17 22:45:28 -07:00
Matthew Tancik
e0e48bcecd
Update SD for pytorch 2 (#1943) 2023-05-17 17:47:03 -07:00
Matthew Tancik
c6111e377e
bump pyproject torch (#1942) 2023-05-17 16:35:22 -07:00
Jonáš Kulhánek
e898f562e6
Switching to Torch 2.0 by default. (#1922)
* Update requirements for torch 2.0

* Update docs

* Fix missing _LRScheduler import

* Fix pylint issues

* Update docs, drop 1.13

* Fix pip postfix version

* fix docs

* Allow python 1.13 (for now)

* Minor fix for torch.compile

* Switch to torch.compile

* ruff

* Fix test

---------

Co-authored-by: Matt Tancik <mattt4001@gmail.com>
Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
2023-05-17 16:03:17 -07:00
Brent Yi
d542646c72
Switch to ruff (#1939)
* `isort` -> `ruff`

* `pylint` -> `ruff`

* Remove line

* More minor cleanup

* Better documentation for rules we are enabling

* Fix gitignore, run black

* vscode settings

---------

Co-authored-by: Matt Tancik <mattt4001@gmail.com>
2023-05-17 10:08:14 -07:00
Brent Yi
814db32ec4
More typing fixes (#1941)
* Fix more types

* Fix tests

* Minor cleaning

* Address comments

* Resolve linting errors

* Re-ignore pymeshlab type

* Add extra assert / error message to mipnerf model
2023-05-17 07:17:40 -07:00
Brent Yi
6ba2a18b2b
torchtyping => jaxtyping (#1838)
* Run `ruff --fix`

* Add jaxtyping migration script

* Run migration scripts + ruff + black

* Merge remote-tracking branch 'origin/main' into brent/jaxtyping

* black

* Fix lint

* fix lint

* Cleanup and more specific types

* Fixed annotation errors

* Fix more errors

* Fix annotation

* Delete _torchtyping_to_jaxtyping.py

---------

Co-authored-by: Matt Tancik <mattt4001@gmail.com>
2023-05-16 15:57:47 -07:00
Matthew Tancik
72a14b0b22
Move scripts folder into nerfstudio (#1897)
move scripts folder into nerfstudio
2023-05-09 16:44:21 -07:00
Matthew Tancik
82c0c5545b
Fix misc warnings (#1894) 2023-05-09 14:11:28 -07:00
Brent Yi
63c6303736
Bump minimum Python version to 3.8 (#1876)
* Bump minimum Python version to 3.8

* typing_extensions.Literal -> typing.Literal

* ns-dev-test

* typing_extensions.get_args => typing.get_args

* Format with older version of black

* Bump `black`

* Run black
2023-05-06 13:29:48 -07:00
Matthew Tancik
ad706f59c4
v0.2.2 (#1875) 2023-05-04 14:43:45 -07:00
Matthew Tancik
281615e638
Add missing .cu files to pyproject (#1824) 2023-04-26 09:46:39 -07:00
Ruilong Li(李瑞龙)
ea2993d5b1
Update NGP related models with nerfacc 0.5.2 (#1809)
* profiling

* set pose_optimizer to None if it's mode is "off"

* radial_and_tangential_undistort in nerfacc

* fix camera distortions

* update to nerfacc 0.5.1. Upgrade instant-ngp model.

* revert nerfacc to 0.5.1

* format

* allows to fall back to the pytorch undistortion

* format

* fix linting

* fix test

* fix test

* fix nerfplayer-ngp

* enable_collider=False for NGP

* nerfplayer verified.

* zero cone_angle for ngp bounded

* fix format

* fix pylint
2023-04-24 17:11:30 -07:00
Matthew Tancik
6a06710f49
v0.2.1 (#1769) 2023-04-18 17:28:37 -07:00
Matthew Tancik
b7fd273638
Add time controls to viewer (#1764) 2023-04-18 15:06:03 -07:00
Matthew Tancik
37322ec453
Add typing extensions to pyproject (#1763) 2023-04-18 09:57:51 -07:00
Matthew Tancik
49835b2eab
v0.2.0 (#1751) 2023-04-17 09:10:59 -07:00
Brent Yi
2ddb2631b5
Improve viewer element types (#1743) 2023-04-15 01:14:38 -07:00
Brent Yi
6a7c8820b8
Viewer backend refactor (#1702)
* Copy in `viser` communication infrastructure

* Update background image

* Add build directory to fix viser HTTP server
May want to remove these later

* Copy in `viser` communication infrastructure

* Update background image

* Pass dataset vis using viser

* initial impl of ViewerParameter

* idk what i did but brent and matt know

* Suppress eslint typescript warnings

* implement ViewerElement base class, then ViewerButton, ViewerSlider, etc

* client -> server message setup

* multi folder stuff

* Stream controls over viser

* import

* add types to viewer_param.py

* Move another message to viser

* Update folder color

* Use non throttled messages

* multiple folders works

* Cleanup, more porting

* starting impl of control panel in viser

* More porting

* scenebox to viser

* Cleanup

* Fix render updates

* More cleanup, docs, typing

* start control_panel.py

* set_hidden logic but not merged in

* control_panel replicates behavior of existing control panel (visually), except for setting the list of output options. not yet integrated with viewer_utils.py for logic flow. also implemented set_disabled and set_hidden in javscript/ViewerElement side

* Remove some original leva components

* add some train util logic, attempt set_value, doesn't work on javascript side fully yet (value updates but not slider visually

* bye zmq

* missing call to decoder

* 'gui_set' works properly, control panel now replicates behavior of original

* remove print

* Fix status viewer message

* More cleanup

* support set_options in dropdown

* hiding buttons works correctly

* fix set_options, switch from cur_value to get_value()

* Fix slowdown

* output options

* colormap logic converted

* add handle to cb_hook

* fix some lambda bugs

* cleanup

* Save checkpoint logic readded

* Cleanup and minor fixes

* snappier ui

* Refactoring

* Fix state update bugs

* Bug fixes

* Write less to redux

* added comments to reducer code

* Render state machine (#1727)

* state machine works, but train step throttling not implemented

* more step logic, cleanup

* remove random try catcH

* mutex logic for render

* Update lock logic

* types and docs

* added some state machine logic to help rerenders

* merge

---------

Co-authored-by: Justin <justin.g.kerr@gmail.com>

* Refactor and cleanup

* More cleanup and docs

* docstring to gui_utils

* docstrings, rename viewer_param.py to viewer_elements.py

* Fix viewer, remove bridge stuff

* Render on connect

* Fix lint errors

* More eslint fixes

* render_freq logic

* better rerender logic for crop

* More cleanup

* Purge

* Cleanup

* Lint fixes

* Fix cache

* better parsing logic

* Fix infinite test

* More cleanup

* typo

* Update webdocs

* Update docs

* rerender on custom hooks

* add more docs

* Use shared utilities in `viser.infra`

* rework callback to use elements instead of handles

* Fix ESlint errors

* change naming of handle to element, add setter for value

* cleanup

---------

Co-authored-by: Matt Tancik <mattt4001@gmail.com>
Co-authored-by: Justin <justin.g.kerr@gmail.com>
Co-authored-by: Ethan Weber <eweb0124@gmail.com>
Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
2023-04-14 14:53:10 -07:00
Pablo Vela
e7ec208b6a
add sdf mesh export and texturing (#1620)
* add sdf mesh export and texturing

* update bug not allowing use of no monopriors

* resolve comments

* update sdf name to be more generic

* fix silly naming bug
2023-04-11 13:34:45 -05:00
Matthew Tancik
af29ead3a2
Fix the typeguard version (#1612)
* Fix the typeguard version

* avoid torch 2

* fix
2023-03-15 18:33:58 -07:00
Matthew Tancik
7ae2fce52b
v0.1.19 (#1585) 2023-03-10 18:10:33 -08:00
Matthew Tancik
63af268495
Remove webrtc (#1579)
* Remove webrtc

* cleanup

* lint

* cleanup

* Lower quailty

* Update viewer version

* Update docs

* remove cryptography req
2023-03-10 12:00:35 -08:00
Paul Wais
5c73766653
SFM: sfm-based depth, some breadcrumbs for pycolmap (#1457)
* save

* save

* more cleanup

* save

* save

* update phototourism

* save

* works

* works

* cleanup

* cleanup

* lint

* python3 default

* cleanup
2023-02-25 21:10:53 -08:00
Ruilong Li(李瑞龙)
3933589b94
bump nerfacc to 0.3.5 (#1492) 2023-02-24 11:17:21 -08:00