Commit Graph
72 Commits
Author SHA1 Message Date
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
evonneng 928a414468 adding sliders for min/max value user defined (#179)
* added sliders for min/max values... todo debug glitchy if camera moves

* fixed camera changing bug and removed sliders from config
2022-07-19 19:42:17 -07:00
Matthew Tancik ab35e28871 Cache full dataset by default (#157)
Cache full dataset by default
2022-07-15 17:52:15 -07:00
Matthew Tancik 2f2919535a Update configs (#147)
Update configs
2022-07-14 17:56:21 -07:00
Brent Yi c5eecaec8d Bump instant-ngp optimizer eps for numerical stability (#134)
* bump optimizer eps to 1e-7 for instant-ngp

* instant-ngp optimizer eps: 1e-7 -> 1e-4
2022-07-13 23:44:45 -07:00
Ethan Weber 0f779c2885 quick fix to hydra issue on changing working directory 2022-07-13 23:27:56 +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
Matt Tancik 437606e614 Update mipnerf config 2022-07-12 16:53:42 -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 d0f0f8da2d Add interval loss (#92)
Implement interval loss that was proposed in mipnerf-360.
2022-07-06 17:27:19 -07:00
Ethan Weberandevonneng 56661b5d9a Viewer Dynamic Resolution Scaling (DRS) (#87)
* updated three.js version. only send camera information when it moves

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

* interrupting function during rendering

* small linting fixes

* added logic for interrupting rendering + separted out visualizer logic from trainer

Co-authored-by: evonneng <evonne_ng@berkeley.edu>
2022-07-06 15:47:08 -07:00
Ethan Weberandevonneng bf13ed3cf3 Integrating WebRTC into viewer (#73)
* restructuring for webrtc integration

* some webrtc code but not working

* webrtc connects when muted

* the flag is real!

* updating camera in websocket bridge. moved webrtc to existing websocket connection instead of http request. need to change video track

* rudimentary adding real-time imaging

* added free TURN server so code works everywhere

* slow rendering works during training with the viewer

* fix tensor device and update default model save dir

* forgot to include trainer updates

* removing some code that isn't needed

* quick fix to bins. not the most accurate however

* cleaned up code and added some config logic

* black

* adding license

Co-authored-by: evonneng <evonne_ng@berkeley.edu>
2022-07-05 14:52:49 -07:00
Ethan Weber fefbad2592 Fixed frustum device and updated model checkpoint defaults (#78)
* fix tensor device and update default model save dir

* removed viewer reference
2022-07-04 17:22:39 -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
Matt Tancik 73a2449bae Fix hydra bug 2022-06-25 18:43:10 -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
evonneng 91ef54963c refactoring configs; pulled network out of graph; created trainer heirarchy (#51)
* changed config graph structure

* removed network udner graphs; added new heirarchy trainer

* fixed callback in occupancy graph

* lint

* changed register callback to setter method
2022-06-15 09:06:43 -07:00
evonneng f67dca6f5b refactor moving setup functions to associated classes; cleanup eval and benchmark scripts (#48)
* refactor code to move graph/dataset setup to respective files

* consolidated eval and benchmark script

* moved setup optimizers to its own thing
2022-06-13 19:05:07 -07:00
Matt Tancik 3921839d1a Update config 2022-06-13 13:39:49 -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
Matt Tancik 1a8ad9a763 Change name to pyrad 2022-05-31 14:15:06 -07:00
evonneng fbcf3cb831 Eng/better configs (#113)
* update possible config setup

* finished porting remaning configs

* fix bugs

* change mattprot to radiance in config
2022-05-30 10:47:49 -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
Matt Tancik 4cccc9110d RAdam + background color fix 2022-05-24 11:28:05 -07: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
evonneng 2144fd1527 Enable stats tracker logging on full history (#91)
* added logger ability to log everything without erasing
2022-05-20 11:41:34 -07:00
evonneng 10d713f84b Consolidate StatsTracker as LocalWriter; cleaned up functions to write (#88)
* removed stats tracker; consolidate writers into local writer

* basic revamp of stats tracker/writers
2022-05-20 08:51:45 -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
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
evonneng a555ef7eb4 cap history in calc avg of stats; tensorboard output to /tmp (#67)
* cap history in calc avg of stats

* fixed too many nested ifs
2022-05-10 16:55:16 -07:00
Matt Tancik 8c1e9d7f1a Better align with nerf 2022-05-10 10:18:20 -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
evonneng a498a6cc64 Standardized logging code to all global var; writers now accessible from all files (#62)
* added skeleton for terminal logger

* done skeleton terminal writer logic... todo: actual calls to the write classes

* moved lambda to top function

* added logic to support timing

* prettier printing

* prettier printing

* lint

* separated out timing and other stats variables. printing in dict format

* keeping logging history and wiping rest

* updated logic to calculate total times instead of average times

* made stats tracker configurable

* moved stats tracker and profiler to own class file; implemented basic functionality for profiler

* lint removing duplicate function

* update readme; moved around config variables

* profiler prints on sig kill

* merge

* standardized all logging to global variables
2022-05-06 21:55:33 -07:00
Ethan Weber 0b82c1188c Colmap type of dataset (from "friends" project) (#56)
* code to process the friends data. need to add masking

* code to process the friends data. need to add masking

* black

* trying to fix black

* black fixed

* updating black version
2022-05-05 08:45:30 -07:00
Matt Tancik fc282f8857 Add multiple color options 2022-05-04 15:47:54 -07:00
Matt Tancik ba28d0cdb2 Add training with white backgrounds 2022-05-04 13:45:53 -07:00
evonneng 603c85ccd2 fixed error; changed pkg to file 2022-05-03 06:26:11 +00:00
evonneng 35145cb400 moved test config to own config dir; using default 2022-05-03 06:10:34 +00:00
Matt Tancik a10eb5caef Add basic NGP encoder 2022-05-02 13:27:30 -07:00
evonneng e874e856ec changed test config file to inherit from default (#49)
* lint

* reconfigured modules in yaml

* added data module

* changed test config file
2022-04-29 16:18:30 -07:00
Ethan Weber 023e6a3f92 merging masters new config 2022-04-29 22:29:43 +00:00
Ethan Weber 92062418d6 Merge branch 'master' into ethan/apr29_cpu_and_multigpu 2022-04-29 22:10:51 +00:00
Ethan Weber 387ad93027 merging 2022-04-29 22:10:36 +00:00
evonneng 9004584026 added data/ config folder (#47)
* lint

* reconfigured modules in yaml

* added data module
2022-04-29 15:01:39 -07:00
evonneng a93dace958 modularizing hydra config and setting defaults (#46)
* lint

* reconfigured modules in yaml
2022-04-29 14:39:43 -07:00
Ethan Weber 7b118750ec merged master into this 2022-04-29 21:37:10 +00:00