Commit Graph
31 Commits
Author SHA1 Message Date
Pablo Vela ddfa463f4d NeuS Implementation (#1444)
* 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
2023-03-12 16:01:18 -04:00
Jake Austin 3ffee522e0 TrainerConfig inherit from InstantiateConfig (#1175)
Making TrainerConfig an InstantiateConfig so it can be swapped in and out with different methods. Also made the TrainerConfig a subclass of ExperimentConfig (which was changed from a printableconfig to an instantiateconfig), since we were already instantiating the Trainer class with the ExperimentConfig

Removed the "config" field from the TrainerCallbackAttributes struct to eliminate circular dependencies when types are checked.

Minor scripts and docs changes to accommodate the update to the config struct, meaning the flags that were associated with the TrainerConfig were moved up to the top level of the config.
2022-12-27 18:19:34 -10:00
Matthew Tancik 21f58252c1 remove tensorf model (#660)
* remove tensorf model

* lint
2022-10-04 16:39:47 -07:00
Matthew Tancik 654f070553 Remove mipnerf 360 (#659)
remove mipnerf 360
2022-10-04 16:29:11 -07:00
Matthew Tancik 531361a6aa Remove remaining nerfactory (#598)
* Remove remaining nerfactory

* Lint
2022-10-01 12:28:15 -07:00
Matthew Tancik 1f83ad03db Rename to nerfstudio (#589) 2022-09-29 23:42:15 -07:00
Ethan Weber cf34ef4bd0 rename files and add project scripts (#566)
* scripts

* b

* fix file
2022-09-27 15:02:55 -07:00
Ethan Weber 7b5a251a30 [wip] dynamic batch size for instant ngp (#501)
* starting dynamic batch size branch

* dynamic batch pipeline code
2022-09-21 14:07:04 -07:00
Ethan Weber 5ccb8277d1 nerfacc integration (#447)
* integrated changes

* update

* stratified

* black

* bump version

* upgrade version
2022-09-16 09:51:19 -07:00
Ethan Weber 8973039e65 misc cleanup (#432)
* misc cuda improvements. added cone angle as param

* wandb as default. better organization for experiments

* turn off tensorboard

* disable eval when using viewer

* remove comment

* launch.json
2022-09-15 00:16:41 -07:00
Ethan Weber de2cdb6cca Friends dataset loading (#389)
command line dataparsing and friends dataset loading improvement
2022-09-11 12:52:27 -07:00
Matthew Tancik f910836b8c Cleanup (#325)
cleanup
2022-09-01 12:36:54 -07:00
Terrance WangandEthan Weber 8670f19d2d Terrance/tensorf (#218)
* added tensorf, updated requirements for windows

* cleaning up imports

* tensorf changes

* initial working version of tensorf

* added callback for feature upsampling

* modifying tests to match changes

* reverting requirements changes

* reverting unnecessary changes

* reverting unnecessary changes

* no more upsampling on step 0

* removed density field, fixed error msg

* modified callbacks and upsampling, reinitializing optimzer in training loop

* deleting tensorf_field file"

* checkpointing progress on restructuring callbacks

* updated callback logic for before and after train capabilities

* fixing upsampling stepping

* merging

* adding tensorf to config, fixing some bugs with new callback

* changed the way callbacks detected steps argument in callback func

* fixing typing

* adding pylint disable no self use to get_training_callbacks

* fixing config

* changing callback in vanilla nerf to allow for no density field

* cleanup

* removing config yaml

Co-authored-by: Ethan Weber <eweb0124@gmail.com>
2022-08-31 23:29:13 -07:00
Matthew Tancik 04d0165a24 Camera Refactor (#301)
* Start camera refactor

* Training runs, but transforms incorrect

* Cameras render correctly in viewer.

* Fix eval

* cleanup

* cleanup
2022-08-29 13:09:02 -07:00
Ethan Weberandevonneng 7e9a56fac4 Config restructure (#283)
* starting docs for pipelines

* working on an example

* clearing output

* starting to implement config changes and add documentation

* wip: removed cicular imports; porting basic config into python; todo: get python setups workin

* circular imports again

* wip: pausing at dataloader sort of working

* break for today

* running vanilla

* wip need to get all the config docs working

* laptop about to die

* instant ngp working

* added all configs for all methods; not tested yet: [mipnerf360, nerfw, semantic_nerf]

* unpacking later

* done with pylinting

* mostly done. just need to do docs and one test

* added import order to docs

* fixing near/far plane and other config things

* making loggers also instantiable via configs

* docs

* lint

* making --help work with dcargs

* moving configs back into flat

* convert list to tuples; fixed post init function with mutable params

* lint

* made run_eval and benchmarking scripts compatible with new config/dcargs

* lint

* added option to load configs from presaved config

Co-authored-by: evonneng <evonne_ng@berkeley.edu>
2022-08-26 17:25:10 -07:00
Ethan Weber 73fedc7593 Viewer refactor with state sync (#212)
* initial commit for viewer refactor

* updating name change to nerfactory

* adding headers

* making the rendering fix which broke from a merge

* things are starting to work. removing old commands now

* removed prints

* cleanup

* updating state works now even for nested dictionaries

* updating state in redux. listening for state changes. trying to draw three.js now

* added drawing functionality. need to fix translation of frustums and image planes

* images and frustums drawn correctly

* fixing lint

* github actions

* back to npm

* fixing eslint

* remove package.json from root

* new favicon

* some viewer cleanup

* notebook

* fixed camera drawings speed to avoid redraw

* trying to get Leva to update

* quick fix

* synced config panel

* adding notebook

* fixing output print error
2022-08-02 16:02:07 -05:00
Matthew Tancik a957e8c501 Move datasets to classes (#227) 2022-07-28 18:41:39 -07:00
Ethan Weber 05b92e228b Fixing nerfw and adding to GH Actions (#167)
* added beta_min to nerfw, which I think is needed

* added camera interpolation path and restructured run_eval code

* adding to gitignore

* addressing github comments. mostly documentation

* fixing nerfw dataset for test cases
2022-07-19 16:21:54 -07:00
Matthew Tancik 304a759e85 Tancik/scene contraction (#70)
Contract the scene to a sphere of radius 2. This is the same contraction used in MipNeRF 360.
Add mipnerf 360 graph and config. It currently doesn't contain the other advancements made in the paper (sample proposal network, regularizers)
2022-06-29 18:28:21 -07:00
evonneng ee4e6b24f4 Added structured config support (#58)
* added typed config; idealy would convert graph to typed too....

* added graph as config
2022-06-17 08:46:03 -07:00
Matt Tancik cc79708df7 Cleanup mipnerf implementation 2022-06-09 17:26:58 -07:00
Ethan Weber 457788d689 dataloader logic, new folder structure, flatter configs (#26)
* renaming dataloader to data. adding some dataloader classes

* restructuring configs

* fixed instant ngp tcnn direction rescaling

* working through test cases

* black and lint and tests
2022-06-08 09:01:56 -07:00
Ethan Weber 146332cfb6 Refactoring (data loading, semantic-nerf/nerf-w fixes, ...) (#8)
* in progress. camera_indices broken

* faster dataloader. starting on pixel sampler logic

* imagesampler and pixelsampler

* lint and black

* continuing merge

* pytest working

* fixed docs

* docs

* minor changes
2022-06-02 14:58:46 -04:00
Ethan Weber 676beebb14 Setting near and far with scene bounds collider. Also LR schedules. (#74)
* some initial cuda code as I learn. using git to save progress.

* first cuda kernel for ray sampling that mostly works

* cleaning up code. working on lr. structs for scene bounds aabb

* added scene bounds collider code

* updated setup

* setup

* setup

* black

* including some files

* exporting env variable

* new file

* git workflows

* github actions

* github actions

* github actions

* removing env var
2022-05-16 14:03:19 -07:00
Ethan Weber 1c1a58c4e5 nerf-w and semantic-nerf initial implementations (#73)
* initial nerfw code

* nerfw should be implmented correctly now

* semantic nerf in progress. data loader is too slow and not clean right now

* added implementation of semantic nerf

* mend
2022-05-13 17:44:16 -07:00
Ethan Weber 5fb3d14304 Fixed testing and added graph abstractions (#64)
* abstracted some test logic and actually using test images now

* moved logging from trainer to graph

* fixing dataset path

* refactored instant ngp code to use inheritance

* fixed my run_train

* fixed data path

* fixed data dir
2022-05-09 11:54:40 -07:00
Matt Tancik a10eb5caef Add basic NGP encoder 2022-05-02 13:27:30 -07:00
Ethan Weber 6b17ad51c6 cpu support and multi gpu progress 2022-04-29 21:29:13 +00:00
Ethan Weber dd6f79fc40 using test images. including some local data. black on save. disabled warnings for pytest 2022-04-29 16:23:05 +00:00
Ethan Weber cf7034f0d1 added test set (using training data for now) 2022-04-22 03:45:06 +00:00
Ethan Weber a9c0d5b97f hydra config and starting trainer class 2022-04-06 16:46:47 +00:00