Commit Graph
555 Commits
Author SHA1 Message Date
Ethan Weber b7c101bd33 added visibility loss method and to vanilla pipeline 2023-07-26 01:15:44 +00:00
Ethan Weber 5447b219aa changes before merging main 2023-07-25 01:41:05 +00:00
Ethan Weber 159b3707a9 visibility field code without modifications to pipeline yet 2023-07-25 00:58:44 +00:00
Cyrus Vachha 8682e481b1 Render VR180 video (#2261)
* 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.
2023-07-24 07:26:20 -07:00
hturki 4f2157cd58 support packed samples in semantic renderer (#2247) 2023-07-20 09:48:25 -07:00
hyperzy e7fd1aefa2 Load schedulers from ckpt in a backward-compatible manner (#2236) 2023-07-18 18:02:15 +00:00
Nicholas PfaffandJonas Kulhanek 9f487a464f Implement nerfacto alpha transparency training (#2165)
* 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>
2023-07-18 12:54:52 +02:00
Khoa Nguyen-Tuanandkhoa dbd4092dbb Add std for eval (#2239)
* Add std for eval

* change default value of get_std

---------

Co-authored-by: khoa <tuankhoanguyen94@gmail.com>
2023-07-17 15:02:32 -07:00
Justin Kerr e417ee07e7 Minor kwarg fix to be future-compatible with viser version (#2235)
* add kwarg to step to avoid breaking in newer version of viser
2023-07-16 18:27:36 -07:00
Yueh-Cheng Liu 劉岳承andMatthew Tancik 8cd9beccd5 Fix arguments that are not passed from config to NerfactoField (#2186)
* 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>
2023-07-15 14:24:37 +00:00
Sebastiaan 6329f53a5c Remove superfluous -r1 (fix ffmpeg/colmap video) (#2231) 2023-07-14 10:32:58 -07:00
Matthew Tancik 54d26814d9 Update torchmetrics (#2223) 2023-07-13 18:02:19 -07:00
Saurav Maheshkar 0cb98fbdd8 refactor: get_normalized_directions (#2216)
* refactor: normalized_directions

* fix: directions shape
2023-07-14 05:44:07 +05:30
machenmusikandSebastiaan Meijer 91291bc52c Fast downscaling for video and image processing (PR2168 plus images) (#2213)
* 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>
2023-07-13 18:54:19 -04:00
Jeff CookandMatthew Tancik 365e4c6663 Try non-strict model loading on RuntimeError. ... (#2214)
* 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>
2023-07-13 22:22:36 +00:00
Victor Rong 7acaed11a0 Reorient point cloud normals for better surface reconstruction (#2220)
Implemented normal reorientation
2023-07-13 15:01:53 -07:00
Cyrus Vachha 554dec77f2 Omnidirectional Stereo Update - Alignment and Compositing (#2217)
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.
2023-07-13 07:59:10 -07:00
hyperzy cebe787bed Add saving/loading scheduler state_dict (#2203)
- Add saving/loading scheduler stat_dict
2023-07-12 14:14:59 +00:00
machenmusik 49a4be635d Fix colmap vocab_tree_path (#2195) to work with Windows (#2204)
* Fix colmap vocab_tree_path to work with Windows

* black
2023-07-12 07:03:23 -07:00
Riley 6cb10ae682 Adding input handling for RFFEncoding's get_out_dim(self) (#2201)
fixed RFFEncoding's get_out_dim(self) to incude dims of input if include_input
2023-07-11 22:56:12 +00:00
hyperzy e9a5a66a54 Default fied_heads with instances will cause shared parameters (#2197)
* - Bug report. Modified the default parameters of NeRFField to avoid shared RGBFieldHead

* - Modified to ensure minimal changes

* - Modified type checking
2023-07-11 12:02:48 -04:00
Jan-Niklas Dihlmann 904e1352d9 Fixing Colmap VocabTreeMatching command to support spaces in Filename (#2195)
fix: colmap vocab tree file path error
2023-07-11 07:51:03 -07:00
machenmusik 82b3f70f87 Avoid zero duration crash (#2193)
Avoid zero duration divide-by-zero crash when processing too quickly.
2023-07-10 22:09:44 +00:00
b86a4251a9 Feature/run_beta_viewer (#2157)
* 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>
2023-07-07 22:01:14 +00:00
Georg HessandMatthew Tancik 492fa0e67b Remove pytorch hash table if tcnn implementation is used (#2175)
* fixes div by 1 error

* removes pytorch hash_table if tcnn is used

* formatting

* test fixes

---------

Co-authored-by: Matthew Tancik <matt@lumalabs.ai>
2023-07-06 17:55:22 +00:00
Weibo GaoandWeb 77cf4c88ed fix the ZeroDivisionError occured in int(image_width / aspect_ratio) when aspect_ratio equals zero (#2177)
fix the ZeroDivisionError occured in int(image_width / aspect_ratio)

Co-authored-by: Web <iamwebgao@163.com>
2023-07-06 10:38:10 -07:00
Weihang Li c7def8ce8c Fix image saving format issue in render (#2172)
* fix scannet dataparser pose issue

* camera pose corrected

* fix image format saving issue
2023-07-04 14:07:04 -07:00
Daniel CrispellandBrent Yi 8ed2a2d667 Make all SDFFieldConfig params configurable via constructor (#2167)
Co-authored-by: Brent Yi <yibrenth@gmail.com>
2023-07-03 21:00:38 +00:00
Matthew Tancik 061d691d43 Default to tcnn (#2159) 2023-07-02 21:36:28 -07:00
Brent Yi d6bb8bd8e5 Fix use_appearance_embedding for instant-ngp (#1999)
* Attempt fixes for instant-ngp

* Run `ns-dev-test`

* Remove NGP field implementation

* Test nerfacto field instead of ngp field

* Black
2023-07-01 18:54:27 +00:00
Milan van Wouden f4be2b729a Fix typo in nerfacto.py (#2149) 2023-06-30 08:44:53 +00:00
hturkiandMatthew Tancik 0719026c15 Add option to render evaluated images (#2135)
* Add option to render evaluated images

* add args

* fix formatting

* attempt to fix pyright

* attempt 2

---------

Co-authored-by: Matthew Tancik <matt@lumalabs.ai>
2023-06-29 23:26:56 +00:00
Jonáš KulhánekandMatthew Tancik b3df46314c Remove breakpoint from colmap_dataparser (#2141)
Co-authored-by: Matthew Tancik <matt@lumalabs.ai>
2023-06-29 17:03:29 +00:00
Konstantin Kozlovtsev 000272f895 Fix unnecessary encodings calculation in tensorf field (#2145)
Fixed unnecessary encodings calculation in tensorf field
2023-06-29 09:54:59 -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
Ethan WeberandMatias Turkulainen d9ee5752d2 Fix to fall back to torch if tcnn not found (#2124)
fix for falling back to torch if tcnn not found

Co-authored-by: Matias Turkulainen <30566358+maturk@users.noreply.github.com>
2023-06-27 09:33:28 -07:00
Jonáš Kulhánek aa6c052660 Jkulhanek/colmap dataparser (#2115)
* Add COLMAP dataparser implementation

* Fix downscale_images input

* Add help to COLMAP dataparser
2023-06-25 17:08:17 +00:00
Jonáš Kulhánek ac6a83cc53 Fix pickling of VanillaDataManager (#2129)
* Fix pickling of VanillaDataManager

* Fix vanilladatamanager init
2023-06-25 18:46:07 +02:00
olegpokhilchenko ef1350bd36 Fix get_num_frames_in_video (#2090)
* Fix get_num_frames_in_video

* Make sure that there is a number

* Fix output[0]
2023-06-23 08:38:16 -07:00
Jonáš Kulhánek 3214fcfeb5 Fix spherical harmonics #2081 (#2112) 2023-06-22 02:40:22 +00:00
b747db6877 Fixing the image_dir if using skip_image_processing (#2111)
Co-authored-by: khoa <tuankhoanguyen94@gmail.com>
Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
2023-06-21 12:24:55 -04:00
machenmusik ccb8a25d4a Add option to process masks on GPU for speed at the expense of memory (#2110)
--pipeline.datamanager.masks-on-gpu True
2023-06-21 09:16:14 -07:00
Matias TurkulainenandMatthew Tancik e0e66ce9fb Add non-trainable camera indices to CameraOptimizer (#2080)
* add non-trainable indices to camera optimizer

* improve comment

* create on device

---------

Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
2023-06-18 12:55:13 -04:00
ksnzhandZhang Jian c55f5d36b9 add gradient accumulation support (#2049)
* add gradient accumulation support

* fix 2 blank lines

* fix possibly unbound variable

* update gradient accumulation step with for loop

* add seert and ignore pyright check

---------

Co-authored-by: Zhang Jian <zhangjian49@lenovo.com>
2023-06-18 07:17:35 -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
Justin Kerr e4a5c38b28 Fix resolution rendering logic in statemachine for viewer beta (#2085)
* fix render statemachine logic for viewer beta
2023-06-17 21:15:33 -07:00
machenmusik 1066f8f433 don't force downscale factor to 1 for nerfacto-huge (#2088)
* per @kerrj, nerfacto-huge doesn't need downscale_factor=1
2023-06-16 23:49:56 -07:00
Matthew Tancik 7859f19f50 Fix data downscale paths (#2071)
* Fix data downscale paths

* ruff

* format

* Update process_data_utils.py
2023-06-16 11:40:12 -07:00
Justin Kerr f9d06d1f9c reduce nerfacto-huge memory (#2082)
reduce memory to 24G by reducing appearance embed dim
2023-06-15 16:33:30 -07:00
Justin Kerr 8fad92c39a nerfacto-huge (#2003)
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
2023-06-15 11:05:53 -07:00