- 26 Aug, 2022 1 commit
-
-
Darijan Gudelj authored
Summary: Added replacable decoding functions which will be applied after the voxel grid to get color and density Reviewed By: bottler Differential Revision: D38829763 fbshipit-source-id: f21ce206c1c19548206ea2ce97d7ebea3de30a23
-
- 25 Aug, 2022 1 commit
-
-
Darijan Gudelj authored
Summary: Simple wrapper around voxel grids to make them a module Reviewed By: bottler Differential Revision: D38829762 fbshipit-source-id: dfee85088fa3c65e396cc7d3bf7ebaaffaadb646
-
- 23 Aug, 2022 1 commit
-
-
Darijan Gudelj authored
Summary: Added voxel grid classes from TensoRF, both in their factorized (CP and VM) and full form. Reviewed By: bottler Differential Revision: D38465419 fbshipit-source-id: 8b306338af58dc50ef47a682616022a0512c0047
-
- 22 Aug, 2022 1 commit
-
-
Georgia Gkioxari authored
Summary: Fix EPS issue that causes numerical instabilities when boxes are very close Reviewed By: kjchalup Differential Revision: D38661465 fbshipit-source-id: d2b6753cba9dc2f0072ace5289c9aa815a1a29f6
-
- 18 Aug, 2022 3 commits
-
-
Darijan Gudelj authored
Summary: Split Volumes class to data and location part so that location part can be reused in planned VoxelGrid classes. Reviewed By: bottler Differential Revision: D38782015 fbshipit-source-id: 489da09c5c236f3b81961ce9b09edbd97afaa7c8
-
Jeremy Reizenstein authored
Summary: generic_model_args no longer exists. Update some references to it, mostly in doc. This fixes the testing of all the yaml files in test_forward pass. Reviewed By: shapovalov Differential Revision: D38789202 fbshipit-source-id: f11417efe772d7f86368b3598aa66c52b1309dbf
-
Jeremy Reizenstein authored
Reviewed By: shapovalov Differential Revision: D38794764 fbshipit-source-id: 140c8a935d760bab8569d903cc52ac3dd73cd553
-
- 16 Aug, 2022 1 commit
-
-
Roman Shapovalov authored
Summary: Reasonable to expect bool indexing. Reviewed By: bottler, kjchalup Differential Revision: D38741446 fbshipit-source-id: 22b607bf13110043c5624196c66ca1484fdbce6c
-
- 15 Aug, 2022 2 commits
-
-
David Novotny authored
Summary: Previously, "psnr" was evaluated between the masked g.t. image and the render. To avoid confusion, "psnr" is now renamed to "psnr_masked". Reviewed By: bottler Differential Revision: D38707511 fbshipit-source-id: 8ee881ab1a05453d6692dde9782333a47d8c1234
-
David Novotny authored
Summary: Adds additional source views to the eval batches for evaluating many-view models on CO3D Challenge Reviewed By: bottler Differential Revision: D38705904 fbshipit-source-id: cf7d00dc7db926fbd1656dd97a729674e9ff5adb
-
- 12 Aug, 2022 1 commit
-
-
David Novotny authored
Summary: Reports also the PSNR between the unmasked G.T. image and the render. Reviewed By: bottler Differential Revision: D38655943 fbshipit-source-id: 1603a2d02116ea1ce037e5530abe1afc65a2ba93
-
- 09 Aug, 2022 1 commit
-
-
Krzysztof Chalupka authored
Summary: LLFF (and most/all non-synth datasets) will have no background/foreground distinction. Add support for data with no fg mask. Also, we had a bug in stats loading, like this: * Load stats * One of the stats has a history of length 0 * That's fine, e.g. maybe it's fg_error but the dataset has no notion of fg/bg. So leave it as len 0 * Check whether all the stats have the same history length as an arbitrarily chosen "reference-stat" * Ooops the reference-stat happened to be the stat with length 0 * assert (legit_stat_len == reference_stat_len (=0)) ---> failed assert Also some minor fixes (from Jeremy's other diff) to support LLFF Reviewed By: davnov134 Differential Revision: D38475272 fbshipit-source-id: 5b35ac86d1d5239759f537621f41a3aa4eb3bd68
-
- 05 Aug, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: remove n_instances==0 special case, standardise args for GlobalEncoderBase's forward. Reviewed By: shapovalov Differential Revision: D37817340 fbshipit-source-id: 0aac5fbc7c336d09be9d412cffff5712bda27290
-
- 03 Aug, 2022 3 commits
-
-
Jeremy Reizenstein authored
Summary: continued - avoid duplicate inputs Reviewed By: davnov134 Differential Revision: D38248827 fbshipit-source-id: 91ed398e304496a936f66e7a70ab3d189eeb5c70
-
Jeremy Reizenstein authored
Summary: Don't copy from one part of config to another, rather do the copy within GenericModel. Reviewed By: davnov134 Differential Revision: D38248828 fbshipit-source-id: ff8af985c37ea1f7df9e0aa0a45a58df34c3f893
-
Darijan Gudelj authored
Summary: Made the config system call open_dict when it calls the tweak function. Reviewed By: shapovalov Differential Revision: D38315334 fbshipit-source-id: 5924a92d8d0bf399bbf3788247f81fc990e265e7
-
- 02 Aug, 2022 4 commits
-
-
David Novotny authored
Summary: Stats are logically connected to the training loop, not to the model. Hence, moving to the training loop. Also removing resume_epoch from OptimizerFactory in favor of a single place - ModelFactory. This removes the need for config consistency checks etc. Reviewed By: kjchalup Differential Revision: D38313475 fbshipit-source-id: a1d188a63e28459df381ff98ad8acdcdb14887b7
-
Jeremy Reizenstein authored
Summary: Simple DataLoaderMapProvider instance Reviewed By: davnov134 Differential Revision: D38326719 fbshipit-source-id: 58556833e76fae5790d25a59bea0aac4ce046bf1
-
Darijan Gudelj authored
Summary: Added _NEED_CONTROL to JsonIndexDatasetMapProviderV2 and made dataset_tweak_args use it. Reviewed By: bottler Differential Revision: D38313914 fbshipit-source-id: 529847571065dfba995b609a66737bd91e002cfe
-
Jeremy Reizenstein authored
Summary: Only import it if you ask for it. Reviewed By: kjchalup Differential Revision: D38327167 fbshipit-source-id: 3f05231f26eda582a63afc71b669996342b0c6f9
-
- 01 Aug, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: Make a dummy single-scene dataset using the code from generate_cow_renders (used in existing NeRF tutorials) Reviewed By: kjchalup Differential Revision: D38116910 fbshipit-source-id: 8db6df7098aa221c81d392e5cd21b0e67f65bd70
-
- 28 Jul, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: This is an internal change in the config systen. It allows redefining a pluggable implementation with new default values. This is useful in notebooks / interactive use. For example, this now works. class A(ReplaceableBase): pass registry.register class B(A): i: int = 4 class C(Configurable): a: A a_class_type: str = "B" def __post_init__(self): run_auto_creation(self) expand_args_fields(C) registry.register class B(A): i: int = 5 c = C() assert c.a.i == 5 Reviewed By: shapovalov Differential Revision: D38219371 fbshipit-source-id: 72911a9bd3426d3359cf8802cc016fc7f6d7713b
-
- 22 Jul, 2022 3 commits
-
-
Krzysztof Chalupka authored
Summary: Adding MeshRasterizerOpenGL, a faster alternative to MeshRasterizer. The new rasterizer follows the ideas from "Differentiable Surface Rendering via non-Differentiable Sampling". The new rasterizer 20x faster on a 2M face mesh (try pose optimization on Nefertiti from https://www.cs.cmu.edu/~kmcrane/Projects/ModelRepository/!). The larger the mesh, the larger the speedup. There are two main disadvantages: * The new rasterizer works with an OpenGL backend, so requires pycuda.gl and pyopengl installed (though we avoided writing any C++ code, everything is in Python!) * The new rasterizer is non-differentiable. However, you can still differentiate the rendering function if you use if with the new SplatterPhongShader which we recently added to PyTorch3D (see the original paper cited above). Reviewed By: patricklabatut, jcjohnson Differential Revision: D37698816 fbshipit-source-id: 54d120639d3cb001f096237807e54aced0acda25
-
Krzysztof Chalupka authored
Summary: Needed to properly change devices during OpenGL rasterization. Reviewed By: jcjohnson Differential Revision: D37698568 fbshipit-source-id: 38968149d577322e662d3b5d04880204b0a7be29
-
Krzysztof Chalupka authored
Summary: EGLContext is a utility to render with OpenGL without an attached display (that is, without a monitor). DeviceContextManager allows us to avoid unnecessary context creations and releases. See docstrings for more info. Reviewed By: jcjohnson Differential Revision: D36562551 fbshipit-source-id: eb0d2a2f85555ee110e203d435a44ad243281d2c
-
- 21 Jul, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: Avoid calculating all_train_cameras before it is needed, because it is slow in some datasets. Reviewed By: shapovalov Differential Revision: D38037157 fbshipit-source-id: 95461226655cde2626b680661951ab17ebb0ec75
-
- 19 Jul, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: X-link: https://github.com/fairinternal/pytorch3d/pull/39 Blender and LLFF cameras were sending screen space focal length and principal point to a camera init function expecting NDC Reviewed By: shapovalov Differential Revision: D37788686 fbshipit-source-id: 2ddf7436248bc0d174eceb04c288b93858138582
-
- 14 Jul, 2022 1 commit
-
-
Jiali Duan authored
Summary: EPnP fails the test when the number of points is below 6. As suggested, quadratic option is in theory to deal with as few as 4 points (so num_pts_thresh=3 is set). And when num_pts > num_pts_thresh=4, skip_q is False. To avoid bumping num_pts_thresh while passing all the original tests, check_output is set to False when num_pts < 6, similar to the logic in Line 123-127. It makes sure that the algo doesn't crash. Reviewed By: shapovalov Differential Revision: D37804438 fbshipit-source-id: 74576d63a9553e25e3ec344677edb6912b5f9354
-
- 13 Jul, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: Fixing comments on D37592429 (https://github.com/facebookresearch/pytorch3d/commit/0dce883241ae638b9fa824f34fca9590d5f0782c) Reviewed By: shapovalov Differential Revision: D37752367 fbshipit-source-id: 40aa7ee4dc0c5b8b7a84a09d13a3933a9e3afedd
-
- 12 Jul, 2022 2 commits
-
-
Tristan Rice authored
Summary: This fixes a indexing bug in HardDepthShader and adds proper unit tests for both of the DepthShaders. This bug was introduced when updating the shader sizes and discovered when I switched my local model onto pytorch3d trunk instead of the patched copy. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1252 Test Plan: Unit test + custom model code ``` pytest tests/test_shader.py ```  Reviewed By: bottler Differential Revision: D37775767 Pulled By: d4l3k fbshipit-source-id: 5f001903985976d7067d1fa0a3102d602790e3e8
-
Tristan Rice authored
renderer: add support for rendering high dimensional textures for classification/segmentation use cases (#1248) Summary: For 3D segmentation problems it's really useful to be able to train the models from multiple viewpoints using Pytorch3D as the renderer. Currently due to hardcoded assumptions in a few spots the mesh renderer only supports rendering RGB (3 dimensional) data. You can encode the classification information as 3 channel data but if you have more than 3 classes you're out of luck. This relaxes the assumptions to make rendering semantic classes work with `HardFlatShader` and `AmbientLights` with no diffusion/specular. The other shaders/lights don't make any sense for classification since they mutate the texture values in some way. This only requires changes in `Materials` and `AmbientLights`. The bulk of the code is the unit test. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1248 Test Plan: Added unit test that renders a 5 dimensional texture and compare dimensions 2-5 to a stored picture. Reviewed By: bottler Differential Revision: D37764610 Pulled By: d4l3k fbshipit-source-id: 031895724d9318a6f6bab5b31055bb3f438176a5
-
- 11 Jul, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: remove erroneous RandomDataLoaderMapProvider Reviewed By: davnov134 Differential Revision: D37751116 fbshipit-source-id: cf3b555dc1e6304425914d1522b4f70407b498bf
-
- 10 Jul, 2022 2 commits
-
-
David Novotny authored
Summary: A new version of json index dataset provider supporting CO3Dv2 Reviewed By: shapovalov Differential Revision: D37690918 fbshipit-source-id: bf2d5fc9d0f1220259e08661dafc69cdbe6b7f94
-
David Novotny authored
Summary: Implements several changes needed for the CO3Dv2 release: - FrameData contains crop_bbox_xywh which defines the outline of the image crop corresponding to the image-shaped tensors in FrameData - revised the definition of a bounding box inside JsonDatasetIndex: bbox_xyxy is [xmin, ymin, xmax, ymax], where xmax, ymax are not inclusive; bbox_xywh = [xmin, ymain, xmax-xmin, ymax-ymin] - is_filtered for detecting whether the entries of the dataset were somehow filtered - seq_frame_index_to_dataset_index allows to skip entries that are not present in the dataset Reviewed By: shapovalov Differential Revision: D37687547 fbshipit-source-id: 7842756b0517878cc0964fc0935d3c0769454d78
-
- 06 Jul, 2022 2 commits
-
-
Jeremy Reizenstein authored
Summary: As part of removing Task, make the dataset code generate the source cameras for itself. There's a small optimization available here, in that the JsonIndexDataset could avoid loading images. Reviewed By: shapovalov Differential Revision: D37313423 fbshipit-source-id: 3e5e0b2aabbf9cc51f10547a3523e98c72ad8755
-
Jeremy Reizenstein authored
Summary: Add facilities for dataloading non-sequential scenes. Reviewed By: shapovalov Differential Revision: D37291277 fbshipit-source-id: 0a33e3727b44c4f0cba3a2abe9b12f40d2a20447
-
- 04 Jul, 2022 1 commit
-
-
David Novotny authored
Summary: Refactors autodecoders. Tests pass. Reviewed By: bottler Differential Revision: D37592429 fbshipit-source-id: 8f5c9eac254e1fdf0704d5ec5f69eb42f6225113
-
- 30 Jun, 2022 1 commit
-
-
Krzysztof Chalupka authored
Summary: Make ViewMetrics easy to replace by putting them into an OmegaConf dataclass. Also, re-word a few variable names and fix minor TODOs. Reviewed By: bottler Differential Revision: D37327157 fbshipit-source-id: 78d8e39bbb3548b952f10abbe05688409fb987cc
-
- 29 Jun, 2022 1 commit
-
-
Brian Hirsh authored
Summary: After landing https://github.com/pytorch/pytorch/pull/69607, that made it an error to use indexing with `cpu_tensor[cuda_indices]`. There was one outstanding test in fbcode that incorrectly used indexing in that way, which is fixed here Reviewed By: bottler, osalpekar Differential Revision: D37128838 fbshipit-source-id: 611b6f717b5b5d89fa61fd9ebeb513ad7e65a656
-
- 28 Jun, 2022 1 commit
-
-
Roman Shapovalov authored
Summary: David had his code crashed when using frame_annot["meta"] dictionary. Turns out we had a typo. The tests were passing by chance since all the keys were single-character strings. Reviewed By: bottler Differential Revision: D37503987 fbshipit-source-id: c12b0df21116cfbbc4675a0182b9b9e6d62bad2e
-