Commit Graph
289 Commits
Author SHA1 Message Date
terrance 80cdb73406 merging main 2023-05-10 21:26:04 +00:00
Matthew Tancik 72a14b0b22 Move scripts folder into nerfstudio (#1897)
move scripts folder into nerfstudio
2023-05-09 16:44:21 -07:00
Matthew Tancik 28532c583f Render with colormaps (#1893)
* render with colormaps

* black
2023-05-09 12:26:44 -07:00
Brent Yi 63c6303736 Bump minimum Python version to 3.8 (#1876)
* Bump minimum Python version to 3.8

* typing_extensions.Literal -> typing.Literal

* ns-dev-test

* typing_extensions.get_args => typing.get_args

* Format with older version of black

* Bump `black`

* Run black
2023-05-06 13:29:48 -07:00
Milan van Wouden 8030367e6b Fix images to nerfstudio filename (#1853)
fix images to nerfstudio filename
2023-05-04 10:06:52 -07:00
Matthew Tancik b753a0063c Auto update viewer version (#1825) 2023-04-27 12:07:44 -07:00
Malcolm MielleandBrent Yi 3d2e62a480 Refactor of image and video dataset conversion (#1690)
* Refactor of image and video dataset conversion

The classes to convert images and video to a NerfStudio
dataset are moved to the main repo and refactor:
* Code duplications are removed
* Import of the class is now done from nerfstudio package instead of
  scripts

* Doc formatting nits

* Doc formatting

---------

Co-authored-by: Brent Yi <yibrenth@gmail.com>
2023-04-26 10:30:01 -07:00
Matthew Tancik d3fcca5215 Update renderer logs (#1817) 2023-04-25 09:42:22 -07:00
efd33b5248 Improve mask generation script for nuScenes data (#1679)
* Fix bug: Improve mask generation script for nuScenes data

* Run black

---------

Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
Co-authored-by: Matthew Tancik <mattt4001@gmail.com>
2023-04-20 10:08:30 -07:00
Rohan Mathur bf3ae6ac5c Added docs wording change and also --crop-bottom (#1767)
* added docs wording change and also --crop-bottom

* fixed linting
2023-04-20 09:58:02 -07:00
SeungWoo YooandMatthew Tancik cc494adb27 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>
2023-04-19 21:47:34 -07:00
Matthew Tancik cbb0511619 Add completed training state (#1768) 2023-04-18 16:55:38 -07:00
Brent Yi c1c7a3b283 Fix ns-install-cli (#1754)
* Make ns-dev-sync-viser-message-defs a tyro CLI to fix ns-install-cli error

* Fix pylint
2023-04-17 17:57:04 -07:00
6a7c8820b8 Viewer backend refactor (#1702)
* Copy in `viser` communication infrastructure

* Update background image

* Add build directory to fix viser HTTP server
May want to remove these later

* Copy in `viser` communication infrastructure

* Update background image

* Pass dataset vis using viser

* initial impl of ViewerParameter

* idk what i did but brent and matt know

* Suppress eslint typescript warnings

* implement ViewerElement base class, then ViewerButton, ViewerSlider, etc

* client -> server message setup

* multi folder stuff

* Stream controls over viser

* import

* add types to viewer_param.py

* Move another message to viser

* Update folder color

* Use non throttled messages

* multiple folders works

* Cleanup, more porting

* starting impl of control panel in viser

* More porting

* scenebox to viser

* Cleanup

* Fix render updates

* More cleanup, docs, typing

* start control_panel.py

* set_hidden logic but not merged in

* control_panel replicates behavior of existing control panel (visually), except for setting the list of output options. not yet integrated with viewer_utils.py for logic flow. also implemented set_disabled and set_hidden in javscript/ViewerElement side

* Remove some original leva components

* add some train util logic, attempt set_value, doesn't work on javascript side fully yet (value updates but not slider visually

* bye zmq

* missing call to decoder

* 'gui_set' works properly, control panel now replicates behavior of original

* remove print

* Fix status viewer message

* More cleanup

* support set_options in dropdown

* hiding buttons works correctly

* fix set_options, switch from cur_value to get_value()

* Fix slowdown

* output options

* colormap logic converted

* add handle to cb_hook

* fix some lambda bugs

* cleanup

* Save checkpoint logic readded

* Cleanup and minor fixes

* snappier ui

* Refactoring

* Fix state update bugs

* Bug fixes

* Write less to redux

* added comments to reducer code

* Render state machine (#1727)

* state machine works, but train step throttling not implemented

* more step logic, cleanup

* remove random try catcH

* mutex logic for render

* Update lock logic

* types and docs

* added some state machine logic to help rerenders

* merge

---------

Co-authored-by: Justin <justin.g.kerr@gmail.com>

* Refactor and cleanup

* More cleanup and docs

* docstring to gui_utils

* docstrings, rename viewer_param.py to viewer_elements.py

* Fix viewer, remove bridge stuff

* Render on connect

* Fix lint errors

* More eslint fixes

* render_freq logic

* better rerender logic for crop

* More cleanup

* Purge

* Cleanup

* Lint fixes

* Fix cache

* better parsing logic

* Fix infinite test

* More cleanup

* typo

* Update webdocs

* Update docs

* rerender on custom hooks

* add more docs

* Use shared utilities in `viser.infra`

* rework callback to use elements instead of handles

* Fix ESlint errors

* change naming of handle to element, add setter for value

* cleanup

---------

Co-authored-by: Matt Tancik <mattt4001@gmail.com>
Co-authored-by: Justin <justin.g.kerr@gmail.com>
Co-authored-by: Ethan Weber <eweb0124@gmail.com>
Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
2023-04-14 14:53:10 -07:00
Pablo VelaandEthan Weber 8126d47d8c NeusFacto (#1654)
* add neus_facto method

* fix missing pixsfm from video process

* fix dev errors and small typos

---------

Co-authored-by: Ethan Weber <eweb0124@gmail.com>
2023-04-12 19:08:53 -05:00
Pablo Vela e7ec208b6a add sdf mesh export and texturing (#1620)
* add sdf mesh export and texturing

* update bug not allowing use of no monopriors

* resolve comments

* update sdf name to be more generic

* fix silly naming bug
2023-04-11 13:34:45 -05:00
Matthew Tancik 4e6c52c8fd Update sphinx docs (#1695) 2023-04-04 11:08:09 -07:00
James Gardner 9a01738b0e Adding NeRF-OSR Dataset (#1626)
* Added NeRFOSR Dataparser

* updating nerfosr dataparser

* fix import order in datamanager

* updating nerfosr dataparser

* update nerfosr dataparser
2023-03-17 15:53:19 -07:00
Rohan MathurandMatthew Tancik ea9a066f8f Removed deprecated insta360 (#1621)
* removed insta360 and also updated equirect images docs to include cropping

* removed unused import

---------

Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
2023-03-17 12:54:45 -07:00
ksnzh 505ebe6793 fix missing param refine-pixsfm (#1618) 2023-03-17 11:52:57 -07:00
terrancewang a449219f91 merging + text embedding bugfix 2023-03-15 13:34:43 -07:00
Rohan Mathur 2838cfc8a5 Adding the crop code made for videos to images (#1598)
* added equirect support

* added cropping for planar image input

* random comment

* bug fix and running command

* added crop-factor to docstrings
2023-03-14 12:04:28 -07:00
Pablo Vela 630babacd6 Add option to use Pixel Perfect SFM (#1554)
add pixsfm option when using hloc
2023-03-12 16:32:33 -04:00
Frédéric DevernayandFrédéric Devernay 21a452f1b4 scripts/exporter.py: export PLY compatible with PCL (#1572)
* scripts/exporter.py: export PLY compatible with PCL

Use the newer Open3D Tensor API to write pointclouds as float32, which
are compatible with PCL (see https://github.com/isl-org/Open3D/issues/1633).

fixes https://github.com/nerfstudio-project/nerfstudio/issues/1571

* exporter.py: pylint: disable=no-member

fixes https://github.com/nerfstudio-project/nerfstudio/actions/runs/4377569585/jobs/7661246358#step:10:13

open3d.core.Dtype has been around since open3d 0.11.0 http://www.open3d.org/docs/0.11.0/python_api/open3d.core.Dtype.html

---------

Co-authored-by: Frédéric Devernay <f-dy@users.noreply.github.com>
2023-03-10 10:20:36 -08:00
Rohan Mathur 403ab26f0c Changed percent-crop to crop-factor so it's less confusing (#1575)
* changed percent-crop arg to crop-factor so it's more clear that it's a float

* added error if crop values are less than 0 or more than 1

* added value hint and changed error to console thing

* added imports

* fixed linter issues

* refixed linter issues
2023-03-09 12:23:50 -08:00
Rohan Mathur 982e527bee Added video cropping for equirectangular and made it independent of mask in normal videos (#1542)
* started bottom crop functionality

* first draft of cropping

* cleaned up and debugged cropping equirectangular and re added mask stuff just without percent crop

* added nonequirectangular video crop

* added left right crop for equirectangular

* shortened equirect utils

* finished regular video cropping

* removed print, added underscores, changed type to List[float]
2023-03-02 18:24:59 -08:00
Matt Tancik 978bf1d12d Merge remote-tracking branch 'origin' into generative 2023-02-27 18:35:50 -08:00
Matthew Tancik bfaf11cd72 Remove dataparser dependency (#1529) 2023-02-27 18:32:40 -08:00
Georgy Ponimatkin 4a9764d3c4 Fixing data processing script when depth is not used (#1527)
Update process_data.py

Fix image_id_to_depth_path = {} to image_id_to_depth_path = None
2023-02-27 18:23:58 -08:00
Matt Tancik a83d443dc3 Remove dataparser 2023-02-27 12:36:01 -08:00
Jonáš Kulhánek 7309273d92 Add support for more colmap camera models in ns-process-data (#1500)
* Add support for more colmap camera models in ns-process-data

* Fix bugs introduced in #1457
2023-02-26 18:53:08 +01:00
Georgy Ponimatkin 7da588c5d2 Extending ns-render to support loop rendering using interpolated cameras (#1508)
* Extending ns-render to support loop rendering using interpolated cameras.

* Adding docstring for render.py. Applying formating.

* Expanding docstrings for class. Renaming trajectory type.

* Removing mentions of loop from render.py.
2023-02-26 09:30:19 -08:00
Paul Wais 5c73766653 SFM: sfm-based depth, some breadcrumbs for pycolmap (#1457)
* save

* save

* more cleanup

* save

* save

* update phototourism

* save

* works

* works

* cleanup

* cleanup

* lint

* python3 default

* cleanup
2023-02-25 21:10:53 -08:00
Jingchen Ye 871eb0f7d3 Rename friends dataset to sitcoms3d (#1503)
* Rename friends dataset with official name sitcoms3d

* Rename downloaded folder

* Fix pylint
2023-02-25 14:38:23 -08:00
Ruilong Li(李瑞龙) 7dc7129cf8 fixes for nerf synthetic dataset (#1507)
* fixes for nerf synthetic dataset

* restore eval script

* fix format with black
2023-02-25 14:37:10 -08:00
Jonáš Kulhánek 7e9af33c03 ns-process-data: fix image renaming for the --skip-colmap case (#1459)
* Fix ns-process-data with skip colmap

* Fix docstring

* Fix pylint problem

* Change OrderedDict to dict
2023-02-24 20:40:52 -08:00
Sacha Lewin 151b1060fe Uniform Sampler in Nerfacto (#1464)
* Allow black/white background color in Nerfacto

* Use white background in Nerfacto Blender Benchmark

* Fixed unused import

* Updated index for license headers script

* Removed debug code in NGP models

* Uniform initial sampler config in Nerfacto

* Undo changes in settings.json

* Removed unwanted settings file

* Removed unneeded config parameter

* Use uniform sampler on Blender benchmark
2023-02-21 09:17:57 -08:00
796fad8bcb Equirectangular input (#1446)
* started adding equirectangular to process_data

* was multiplying frame by 255 twice

* added equi2planar configs for the 3 presets

* fixed presets

* setup process data

* changed variable name and comment

* fixed middle preset

* removed third preset

* added progress bar and fixed video for equirectangular input

* fixed whitespace stuff

* added pyequilib dependencey

* Updated for JPG support for equirectangular image input

Updated process_data_utils for JPG support for equirectangular image input, since even though .jpg images worked, .JPG images (output from 360 camera software) were not working.

* changed file type matching

* added equirect utils

* added license header

* added docstring on equirect utils

* added heuristic for image size

* added heuristic for videos

* fixed linty stuff

* shortened code

* raised error if no ims in directory

* Updated ProcessVideo for fixing directories for equirectangular input

Updated the ProcessVideo for equirectangular input to make the image directory have the correct perspective projections. The original equirectangular images are copied into a temp_images folder which also holds the perspective projections. This folder is deleted once the perspective projections are copied into the process data images folder.

---------

Co-authored-by: cvachha <cyrus.vachha@yahoo.com>
Co-authored-by: cvachha <cvachha549@gmail.com>
2023-02-20 10:58:42 -08:00
Matthew TancikandDavid McAllister 36514797fd Support multiple versions of stable diffusion (#1461)
Co-authored-by: David McAllister <davidrmc2@gmail.com>
2023-02-20 10:12:41 -08:00
Sacha Lewin 8e4ae6bebf Allow use of black or white background in Nerfacto models (#1441)
* Allow black/white background color in Nerfacto

* Use white background in Nerfacto Blender Benchmark

* Fixed unused import

* Updated index for license headers script
2023-02-17 20:39:10 -08:00
Jonáš Kulhánek 97498e3223 Improve ns-install-cli (#1396)
* Improve ns-install-cli

* Remove unused code

* ns-install-cli conda specify encoding explicitly

* Fix missing directory in ns-install-cli

* Implement ns-install-cli deactivate for conda env

* ns-install-cli: conda create deactivate.d
2023-02-15 17:46:55 +01:00
Pablo Vela a37c73fb07 sdfstudio dataparser/dataset (#1381)
* add downloads for sdfstudio datasets

* add sdfstudio parser to work with sdfstudio data

* fix licensing and doc strings

* fix linter errors

* move depths/normals to metadata, create sdfdataset

* remove extra scenebox parameters

* more linting errors fix

* fix wrong annotation

* add in missing depth/normal files

* minor fixes

---------
2023-02-12 10:31:31 -08:00
Matthew Tancik 71eacd5932 Update reality capture doc (#1404) 2023-02-11 10:51:22 -08:00
Jonáš Kulhánek 6368340aa2 Add ns-viewer command to run viewer only with model in eval mode (#1379)
* Add ns-viewer command to run only viewer with model in eval mode

* Remove profiler and logger

* Fix ns-viewer

* ns-viewer remove writer.setup_local_writer

* ns-viewer add writer.setup_local_writer

* ns-viewer: update docs

* Delete outputs
2023-02-09 17:31:16 -08:00
NCJ 92cadf5ce4 Fix Multiple Typos (#1376)
fix multiple typos
2023-02-08 10:33:23 -08:00
Jonáš KulhánekandMatthew Tancik 2ff1d3b19e Improve ns-process-data images when using existing COLMAP model (#1371)
* Allow skipping copy+downscale of images in ns-process-data, fix bug when using --skip-colmap on images.bin with non-standard image names

* Rename flags and improve error messages

---------

Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
2023-02-07 13:08:14 -08:00
Matthew Tancik e749fbcf78 Trace Stable Diffusion (#1362)
* Trace Stable Diffusion

* pylint

Co-authored by Terrance Wang
2023-02-06 18:33:59 -08:00
machenmusik fad5a839aa double-quote filenames in process-data commands so that on Windows, paths with spaces don't fail (#1347)
* double-quote filenames in commands so that on Windows, paths with spaces don't fail

* reformatting by black
2023-02-03 21:01:37 -05:00
Matthew Tancik ef9e00e614 Check if curl is installed (#1337)
* check if curl is installed

* lint
2023-02-02 10:11:41 -08:00
MaroonAmor 91d61162b7 Corrected the order of texture arguments (#1300)
corrected the order of texture arguments
2023-01-29 09:22:10 -08:00