4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00
Commit Graph

112 Commits

Author SHA1 Message Date
evonneng
b0f6d75cdf
refactored dataset names + multi-gpu running (#321)
* refactored dataset names + multi-gpu running

* update comments + docs
2022-09-01 18:22:11 -07:00
Terrance Wang
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
Ethan Weber
2cca012ad8
Clickable viewer deployment (#308)
* first commit for clickable web viewer

* pylint ignore

* functional clickable viewer with updated docs

* fixed logging
2022-08-29 22:50:57 -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 Weber
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
evonneng
1f1631cec6 removing callable modules from script/ 2022-08-15 21:31:43 +00:00
Ethan Weber
0b042be956
Pipeline v2 (#258)
* Model class done, pipeline class still needs more visualization stuffs

* Renaming the BaseDataContainer to DataloaderOutputs and adding documentation

* Pushing more documentation, removing some trivial functions

* Updating dict typing

* Removing config dicts for collider

* Passing tests

* Pushing shell new dataloader

* Saving work, need to fix NGP model's get_loss_dict and Pipeline

* V1 of the ngp pipeline should be done. Need train script and debugging

* Updating with latest instant-ngp code

* Syntax updates from latest ngp graph code

* Linter, removing unneeded code in new NGP graph code

* Style

* Should be good now. Linter is happy and the code is verbatum current instant-ngp

* Everything done except novel view testing code

* Fixing some nitpicks

* Debugging dataloader

* merged master

* WOP. integrating pipeline with configs and notebook demo

* removing model folder

* a lot of name changing from Graph to Model

* in progress... changing trainer to use pipeline... broken right now

* pipeline code runs

* switched to val dataset

* makes run_eval.py work

* updated configs for pipeline change

* fixing test_run_train script

* fixing black and linting

* fix docs

* small updates to trainer

Co-authored-by: Jake Austin <jake-austin@berkeley.edu>
2022-08-10 14:59:45 -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
e35781fe85
Code cleanup (#234) 2022-07-31 18:22:57 -07:00
Matthew Tancik
58212543f5
Fix typing errors (#229) 2022-07-29 14:17:38 -07:00
Matthew Tancik
a957e8c501
Move datasets to classes (#227) 2022-07-28 18:41:39 -07:00
Matthew Tancik
395b03f48c
Add boolean visualization (#225) 2022-07-28 10:50:56 -07:00
Ruilong Li(李瑞龙)
1cd697366e
sorting imports on save; cleanup imports sorting; add isort check (#207) 2022-07-26 14:35:38 -07:00
Matthew Tancik
6dc704c551
Rename repo to nerfactory (#204)
* Rename to nerfactory

* Fix missing files
2022-07-25 13:52:20 -07:00
Ruilong Li(李瑞龙)
12cd321e1a
Update Instant-NGP & Density Grid with CUDA supports. Much faster and better PSNR. (#193) 2022-07-24 22:22:44 -07:00
Matthew Tancik
441dcd5314
Add mix precision training (#172)
* Add mix precision training

* Disable mixed precision for cpu
2022-07-20 13:21:06 -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
Ruilong Li
1f38240212 fix axis arg to dim for pytorch funcs 2022-07-13 20:31:38 +00:00
Ethan Weber
4ddd146633
Improving eval script with camera trajectory videos (#124)
* spiral traj working, specify version for hydra, better documentation

* cleaned up spiral trajectory a bit
2022-07-13 10:58:01 -07:00
evonneng
898d9384a5
added logic to check all graphs in testing (#111)
* added logic to check all graphs in testing

* fixed path to test dataset
2022-07-11 16:05:44 -07:00
Matthew Tancik
74280110ce
Remove redundant data (#103)
RaySamples contained fields for bin_starts and bin_ends. These are also stored in the frustums. This PR removes them from the RaySamples.
2022-07-07 18:07:34 -07:00
Ethan Weber
74ec84117e
cleaning up viewer code (#101) 2022-07-07 16:00:30 -07:00
Ethan Weber
44c5e3264c
Documenting viewer and faster image sending (#86)
* updated three.js version. only send camera information when it moves

* changing code back to updating camera constantly because packets seem to be lost

* name change

* starting viewer docs

* new workflow

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* ga

* homepage

* homepage

* / to ?

* more documentation

* fixed none error

* instant ngp fix

* faster image sending over tcp. instant ngp bin fix. lowest res when moving

* black

* requirements
2022-07-07 00:03:45 -07:00
Matt Tancik
bd78a68756 Update RaySamples to TensorDataclass 2022-07-06 12:01:09 -07:00
Matthew Tancik
59957fa202
Use tensordataclasses (#85)
+ Convert Frustum and RayBundle into TensorDataclasses.
+ Support TensorDataclass fields in TensorDataclasses
+ Support non batched types in TensorDataclass (The are iignored)
2022-07-05 18:32:43 -07:00
Matt Tancik
711f69fe24 Add TensorDataclass 2022-07-04 16:19:48 -07:00
Matt Tancik
5a1c8a1c86 Remove point samples 2022-07-01 09:36:59 -07:00
Matt Tancik
65fe212d17 Add more samplers 2022-06-16 18:27:47 -07:00
Ethan Weber
1e22984d87
Initial viewer (visualizer) code (#52)
* some initial code for viewer. copying from other repos

* adding electron support

* moving some test files around. need to rewrite these

* camera traj. test cases. starting to transmit images

* still working on vis

* reorganized viewer and figured out websocket sending from client. need to do with camera pose

* black

* temporarily ignore pylinting for viewer

* ignore viewer

* fixed array

* license and fixed ignore in pyproject.toml

* improved syntax
2022-06-16 12:11:40 -07:00
Matt Tancik
201f85a175 Update bins 2022-06-10 16:52:34 -07:00
Matt Tancik
cc79708df7 Cleanup mipnerf implementation 2022-06-09 17:26:58 -07:00
Matt Tancik
cc4d3431b8 Add integrated positional encodings 2022-06-08 16:13:41 -07:00
Matt Tancik
f183e03517 Add gausian frustum calculations. 2022-06-08 11:50:42 -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
Matt Tancik
1b20028ea3 Switch from point samples to frustum samples 2022-06-06 16:43:11 -07:00
evonneng
e8118f0569 merge 2022-06-03 17:51:01 +00:00
evonneng
394b1748ea update readmes 2022-06-03 17:49:27 +00: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
Matt Tancik
1a8ad9a763 Change name to pyrad 2022-05-31 14:15:06 -07:00
Matt Tancik
eb8434ace9 Update test sensitivity 2022-05-31 10:05:20 -07:00
Matt Tancik
b26408eb7a Adios mattport 2022-05-30 09:24:12 -07:00
Ethan Weber
3226a1c989
CPU usage improvement and minor changes (#108)
* cpu fixes, masking logic but commented out, nerfw and semanticnerf in progress

* pylint
2022-05-26 10:18:08 -04:00
evonneng
e4a878556e removed outdated test configs 2022-05-23 20:49:45 +00:00
Ethan Weber
7d8beaaed4
Tiny-cuda-nn and fixed logic for instant-ngp (#102)
* correcting implementation for instant ngp

* instant ngp with tcnn

* black and pylint

* merged master
2022-05-23 12:05:41 -07:00
Matt Tancik
d512391df7 Remove CameraRayBundle 2022-05-23 11:09:28 -07:00
Matt Tancik
a9e6cad0fb Refactor field heads 2022-05-20 15:36:14 -07:00
Matt Tancik
8a6b7c3e46 Refactor ray samples 2022-05-19 18:38:30 -07:00
Ethan Weber
fb440fedf3
Occupancy grid (#79)
* occupancy grid in progress

* visualizing occupancy grid. currently restructing field and renderer head outputs

* black and pylint. broke nerfw and semantic nerf but it's okay

* get_project_root
2022-05-17 19:09:25 -07:00
Matt Tancik
8ccc98a389 refactor field heads 2022-05-16 18:07:22 -07: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