* Fix arguments that are not passed from config to NerfactoField
* Add comments
* Reset base_res and features_per_level config of nerfacto-big and nerfacto-huge to default to match the original behavior
---------
Co-authored-by: Matthew Tancik <matt@lumalabs.ai>
* 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>
An even larger version of nerfacto with scaled hashgrid resolution, MLP sizes, batch sizes, appearance embeddings, proposal sampler resolution, and more.
Also includes some minor tweaks to nerfacto-big configs
* started a package to easily swap out tcnn for pytorch
* trains with pytorch and not tcnn
* cleaned up imports
* making it easy to install on mac
* removed/reverted files
* merged main
* reverted changes
* updating config
* starting to add nerfacto to tests
* fixxing default value
* fixed default implementation
* defaults to torch if tcnn and not installed
* update log
* add comment
* resolved pr comments
* fix
* update default
---------
Co-authored-by: Ethan Weber <ethanweber@eecs-128-32-175-250.dhcp.berkeley.edu>
* `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>
* 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
* 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
* add initial method configs and data manager
* add neus scheduler
* add initial surface model and neus
* add Neus ray sampler
* add sdf field
* move scale/shift calc to math utils
* add debug and fix sdf_dataset typo
* update vscode neus debug
* fix dataset and get initial working version
* add magic number from original repo
* black fixes
* clean up get weights/transmittance from alphas
* clean up typos in sdf datamanager
* type annotations on neus scheduler and remove unused params
* clean up and annotate sdf field along w/ other fixes
* more clean up
* remove unnessary directions norm
* resolve comments
* update neus scheduler to follow refactor
* fix linter errors
* fix some typos
* remove get_weights_from_alpha
* more comment fixes
* more linter error fixes
* clean up and add comments
* more little fixes for types/comments
* more comments
* rename NeuS Scheduler to DelayedScheduler
* rename DelayedScheduler to CosineDecayScheduler
* added volinga model to NeRFStudio
* Removed unused dependencies
* Modified dockerfile to match main
* Corrected typo in core_code_checks.yml
* Corrected typo in core_code_checks.yml
* updated test with Volinga
* Added conversion to NVOL documentation
* [WIP] Refactor documentation and removing Volinga config
* Volinga use existing NerfactoModelConfig
* Added Unreal Engine documentation to extensions
* removed unused field class import
* Updated docs
* Documentation ready
* Update Dockerfile
---------
Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
* fix semseg vis
* semantic configs
* change defaults
* Fix type
* format
* fix imports
* suggested fix for issue 1465
* fix docstring placement; avoid log spam and runtime errors
`nerfstudio\models\semantic_nerfw.py:81: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
self.colormap = torch.tensor(self.semantics.colors).to(self.device)`
* hide semantics output choice, since it kills the viewer
* revert some changes
* caps
* move both image and mask to GPU to avoid runtime error
as suggested in https://github.com/nerfstudio-project/nerfstudio/issues/1465#issuecomment-1441117562
---------
Co-authored-by: machenmusik <machenmusik@users.noreply.github.com>
AABB normalized_positions to [-1, 1]
Previously, SceneBox.get_normalized_positions() returned a value in 0,1.
This was fine for InstantNGP and Nerfacto, which use these values directly in an MLP.
For TensoRF though, this was an error because grid sample expects values in the range [-1,1].
Thus, I think only 1/4th of the encoding planes were actually being used, and half of the
encoding lines were.
* staring normals PR
* code runs but visualization looks bad
* Camera and world coordinate conventions (#889)
* documented coordinate conventions without a figure for now
* another sentence
* update frames docs
* explain intrinsics and extrinsics
* more comments
* fix build
* Start viewer with more accurate speed calculation (#899)
Start viewer with more accurate speed calc
* Minor doc updates (#903)
* fix conflicts
* code runs but visualization looks bad
* normals implemented and vis fixed. still debugging quality
* minor name change
* comment
* fix black
* lint
* predicting normals
* adding detach
* predicted normals
* improved normals prediction performance
* cleaning code
* cleaning code
* cleaning code
* adding type to function param
* fixing tensorf forward func
* reverting tensorf changes
* fix style with tensorf field
* adding normals check to tensorffield
Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
Co-authored-by: terrance <terrance.3512@gmail.com>