* Render VR180 video
Adding the VR180 camera model to render VR180 video and images. I condensed the omnidirectional stereo and VR180 render post processing in the render script. I have updated the documentation for VR180 support.
* Condensing formatting of camera types
Condensing the if statement for camera type intrinsics.
* Implement nerfacto alpha transparency training
* Stop adding all ones alpha channel and clean up blend_background
* Make background_color a required argument in blend_background
* Enable alpha transparent training by default
* Improve background_color typing
* Blend uniform background color for metric computation
* Fix typing error
* Clean up typing
* Fix background_color to outputs assignment
* Model outputs returns unblended RGB (black bg) for random bg
* Update renderers
* Fix comments
* Add support for transparent BG for other methods
* Minor refac
* Fix get_background_color
* Fix typing error for blend_background
* Fix comments
* Export utils support transparency
* Pylint fix
* Fix pcd export masking
* Filter pcd view directions based on opacity
* Clean up get_rgba_image
---------
Co-authored-by: Jonas Kulhanek <jonas.kulhanek@live.com>
* 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>
* Merge video image extraction and downscaling
* Linting
* Fix extracting all frames, only apply vfr when thumnailing
* integrate downscale chains into image processing
* fast polycam upscale/downscale depth
* black
* black
* Update process_data_utils.py
Remove code change from other branch.
* use same suffix for downscale, don't force png
* black
---------
Co-authored-by: Sebastiaan Meijer <seb@stiaan.io>
* Try non-strict model loading on RuntimeError. ...
This allows tcnn models that contained a torch hash_table to load.
In particular, it allows us to load tcnn models prior to PR #2175.
cf. https://github.com/nerfstudio-project/nerfstudio/pull/2175
* Only allow non-strict loading when called with defaults.
* Reflow to avoid code duplication; blacken.
---------
Co-authored-by: Matthew Tancik <matt@lumalabs.ai>
Update to omnidirectional stereo rendering (VR 360) to fix slight positional alignment to accurately composite with Blender objects. Modified documentation for ODS and the Blender add-on to include details on Blender camera settings to composite with the Nerfstudio ODS camera model.
* add `build-arg` cuda version to dockerfile
* [Feature] add 'vis' option to 'ns-viewer' script
* fix pylint
* [Fix] fix data format
---------
Co-authored-by: Brent Yi <yibrenth@gmail.com>
Co-authored-by: Matthew Tancik <matt@lumalabs.ai>
* fixes div by 1 error
* removes pytorch hash_table if tcnn is used
* formatting
* test fixes
---------
Co-authored-by: Matthew Tancik <matt@lumalabs.ai>
* 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>
* 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