- 21 Jan, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Make `to` on Transform3D carry its member _transforms. Reviewed By: nikhilaravi Differential Revision: D25978611 fbshipit-source-id: 12b39e7a657f28d59ca60800bf9f4193a2c08197
-
- 20 Jan, 2021 2 commits
-
-
Jeremy Reizenstein authored
Summary: Fix recent lint. Reviewed By: nikhilaravi Differential Revision: D25900168 fbshipit-source-id: 6b6e8d35b68c8415ef305dc4719f43eda9316c8f
-
Christoph Lassner authored
Summary: Gradient calculation flags were not properly routed through the Python interface. This diff fixes this. In particular, gradients for focal length (only if no other camera gradients were calculated) and opacity were not calculated as required. Reviewed By: gkioxari Differential Revision: D25921202 fbshipit-source-id: 22cbae3bda886d81bb95878f0be45c2ddd29934c
-
- 11 Jan, 2021 2 commits
-
-
Jeremy Reizenstein authored
Summary: PyTorch versions 1.7.0 and 1.7.1 are between https://github.com/pytorch/pytorch/pull/43931 and https://github.com/pytorch/pytorch/pull/47404. In this gap, PyTorch always copies CC to nvcc_args, like PyTorch3D does. Newer nvcc versions are not happy with `-ccbin` being specified twice, even if it is specified twice the same. We update PyTorch3D so that it doesn't supply `-ccbin` in these cases. Also tweak the detection of the current ccbin so that it is aware that `-ccbin foo` and `-ccbin=foo` are equivalent. Reviewed By: theschnitz Differential Revision: D25825468 fbshipit-source-id: b04e7718cf01820649518eedda99c399c732e8af
-
David Novotny authored
Summary: Adds links to notebooks implementing the Volume / NeRF fitting. Reviewed By: gkioxari Differential Revision: D25849756 fbshipit-source-id: 05d7d40589a8559c9bcc43e0d2e22c49f5a92dfd
-
- 07 Jan, 2021 4 commits
-
-
Jeremy Reizenstein authored
Summary: Allow PLY files to not contain faces. Allow loading pointclouds with color, at least encoded according to the way of some cloudcompare examples. TODO: Allow vertex normals to be read, and allow vertex colors to be written. Make the return type of load_ply something more user friendly, like a dict. Noticed in https://github.com/facebookresearch/pytorch3d/issues/209 Reviewed By: nikhilaravi Differential Revision: D22573314 fbshipit-source-id: 72ba1f7c6417f5dfc83f2ebf359eff017057635c
-
Jeremy Reizenstein authored
Summary: In the original implementation, I had considered PLY properties where there are mixed types of elements in a property to be rare and basically unimportant, so the implementation is very naive. If we want to support pointcloud PLY files, we need to handle at least the subcase where there are no lists efficiently because this seems to be very common there. Reviewed By: nikhilaravi, gkioxari Differential Revision: D22573315 fbshipit-source-id: db6f29446d4e555a2e2b37d38c8e4450d061465b
-
Jeremy Reizenstein authored
Summary: We already have code for obj and ply formats. Here we actually make it available in `IO.load_mesh` and `IO.save_mesh`. Reviewed By: theschnitz, nikhilaravi Differential Revision: D25400650 fbshipit-source-id: f26d6d7fc46c48634a948eea4d255afad13b807b
-
Jeremy Reizenstein authored
Summary: Unified interface for loading and saving meshes and pointclouds. Reviewed By: nikhilaravi Differential Revision: D25372968 fbshipit-source-id: 6fe57cc3704a89d81d13e959bee707b0c7b57d3b
-
- 06 Jan, 2021 5 commits
-
-
David Novotny authored
Summary: Implements a simple nerf tutorial. Reviewed By: nikhilaravi Differential Revision: D24650983 fbshipit-source-id: b3db51c0ed74779ec9b510350d1675b0ae89422c
-
David Novotny authored
Summary: Implements a notebook that fits a volume to multiple views of the cow mesh. Reviewed By: nikhilaravi Differential Revision: D24553385 fbshipit-source-id: 367ca39e176b40df2c5946c9c05d3be824dc8d1c
-
David Novotny authored
Summary: Implements the `ImplicitRenderer` and `VolumeRenderer`. Reviewed By: gkioxari Differential Revision: D24418791 fbshipit-source-id: 127f21186d8e210895db1dcd0681f09f230d81a4
-
generatedunixname89002005287564 authored
Reviewed By: zertosh Differential Revision: D25800514 fbshipit-source-id: 191b2753b8fcfbe2386c761241aaeb58939a973e
-
David Novotny authored
Summary: Implements 3 basic raysamplers. Reviewed By: nikhilaravi Differential Revision: D24110643 fbshipit-source-id: eb67d0e56773c7871ebdcb23e7e520302dc1b3c9
-
- 05 Jan, 2021 6 commits
-
-
generatedunixname89002005307016 authored
Differential Revision: D25781183 fbshipit-source-id: e27808a4c2b94bba205756001cb909827182b592
-
David Novotny authored
Summary: Implements two basic raymarchers. Reviewed By: gkioxari Differential Revision: D24064250 fbshipit-source-id: 18071bd039995336b7410caa403ea29fafb5c66f
-
David Novotny authored
Summary: Conversion from point clouds to volumes ``` Benchmark Avg Time(μs) Peak Time(μs) Iterations -------------------------------------------------------------------------------- ADD_POINTS_TO_VOLUMES_10_trilinear_[25, 25, 25]_1000 43219 44067 12 ADD_POINTS_TO_VOLUMES_10_trilinear_[25, 25, 25]_10000 43274 45313 12 ADD_POINTS_TO_VOLUMES_10_trilinear_[25, 25, 25]_100000 46281 47100 11 ADD_POINTS_TO_VOLUMES_10_trilinear_[101, 111, 121]_1000 51224 51912 10 ADD_POINTS_TO_VOLUMES_10_trilinear_[101, 111, 121]_10000 52092 54487 10 ADD_POINTS_TO_VOLUMES_10_trilinear_[101, 111, 121]_100000 59262 60514 9 ADD_POINTS_TO_VOLUMES_10_nearest_[25, 25, 25]_1000 15998 17237 32 ADD_POINTS_TO_VOLUMES_10_nearest_[25, 25, 25]_10000 15964 16994 32 ADD_POINTS_TO_VOLUMES_10_nearest_[25, 25, 25]_100000 16881 19286 30 ADD_POINTS_TO_VOLUMES_10_nearest_[101, 111, 121]_1000 19150 25277 27 ADD_POINTS_TO_VOLUMES_10_nearest_[101, 111, 121]_10000 18746 19999 27 ADD_POINTS_TO_VOLUMES_10_nearest_[101, 111, 121]_100000 22321 24568 23 ADD_POINTS_TO_VOLUMES_100_trilinear_[25, 25, 25]_1000 49693 50288 11 ADD_POINTS_TO_VOLUMES_100_trilinear_[25, 25, 25]_10000 51429 52449 10 ADD_POINTS_TO_VOLUMES_100_trilinear_[25, 25, 25]_100000 237076 237377 3 ADD_POINTS_TO_VOLUMES_100_trilinear_[101, 111, 121]_1000 81875 82597 7 ADD_POINTS_TO_VOLUMES_100_trilinear_[101, 111, 121]_10000 106671 107045 5 ADD_POINTS_TO_VOLUMES_100_trilinear_[101, 111, 121]_100000 483740 484607 2 ADD_POINTS_TO_VOLUMES_100_nearest_[25, 25, 25]_1000 16667 18143 31 ADD_POINTS_TO_VOLUMES_100_nearest_[25, 25, 25]_10000 17682 18922 29 ADD_POINTS_TO_VOLUMES_100_nearest_[25, 25, 25]_100000 65463 67116 8 ADD_POINTS_TO_VOLUMES_100_nearest_[101, 111, 121]_1000 48058 48826 11 ADD_POINTS_TO_VOLUMES_100_nearest_[101, 111, 121]_10000 53529 53998 10 ADD_POINTS_TO_VOLUMES_100_nearest_[101, 111, 121]_100000 123684 123901 5 -------------------------------------------------------------------------------- ``` Output with `DEBUG=True` {F338561209} Reviewed By: nikhilaravi Differential Revision: D22017500 fbshipit-source-id: ed3e8ed13940c593841d93211623dd533974012f -
David Novotny authored
Summary: Implemented a data structure for volumes. Reviewed By: gkioxari Differential Revision: D20342920 fbshipit-source-id: ccc23eaa183ed8a4e9cd7674b4dcf31e8a65c3c6
-
David Novotny authored
Summary: Implements the `__getitem__` method for `Transform3D` Reviewed By: nikhilaravi Differential Revision: D23813975 fbshipit-source-id: 5da752ed8ea029ad0af58bb7a7856f0995519b7a
-
generatedunixname89002005307016 authored
Differential Revision: D25777275 fbshipit-source-id: ca30fedca118ff22a8be5e29c4c4f21628c94579
-
- 04 Jan, 2021 1 commit
-
-
David Novotny authored
Summary: Extends `list_to_padded`/`padded_to_list` to work for tensors with an arbitrary number of input dimensions. Reviewed By: nikhilaravi, gkioxari Differential Revision: D23813969 fbshipit-source-id: 52c212a2ecdb3c4dfb6ac47217715e07998f37f1
-
- 27 Dec, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: Now we use iopath, we need to find it from its own channel. Reviewed By: nikhilaravi Differential Revision: D25710499 fbshipit-source-id: 1c67eb6d5b009d35b65a3acd3ebff6e0e45fecc4
-
- 24 Dec, 2020 4 commits
-
-
generatedunixname89002005307016 authored
Differential Revision: D25702902 fbshipit-source-id: f0d6708ba917df85b575dfc5525c902b2cab7ea0
-
Jeremy Reizenstein authored
Summary: Make no internal functions inside pytorch3d/io interpret str paths except using a PathManager from iopath which they have been given. This means we no longer use any global PathManager object and we no longer use fvcore's deprecated file_io. To preserve the APIs, various top level functions create their own default-initialized PathManager object if they are not provided one. Reviewed By: theschnitz Differential Revision: D25372969 fbshipit-source-id: c176ee31439645fa54a157d6f1aef18b09501569
-
Jeremy Reizenstein authored
Summary: Allowing usort, isort and black to coexist without fighting means we can't have imports commented as deprecated from the same module as other imports. Reviewed By: nikhilaravi Differential Revision: D25372970 fbshipit-source-id: 637f5a0025c0df9fbec47cba73ce5387f4f8b467
-
Jeremy Reizenstein authored
Summary: Add ioPath as a dependency of PyTorch3D in preparation for using the new PathManager. Reviewed By: nikhilaravi Differential Revision: D25372971 fbshipit-source-id: d8aa661d2de975e747dd494edc42bf843990cf68
-
- 22 Dec, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: Use a more recent PyTorch to build the documentation. Reviewed By: nikhilaravi Differential Revision: D25679756 fbshipit-source-id: 83d647f709337110d39886eaa6aad2565d740c6d
-
- 21 Dec, 2020 1 commit
-
-
Christoph Lassner authored
Summary: This fixes a corner case for multi-radius handling for the pulsar backend. The additional dimensionality check ensures that the batched parsing for radiuses is only performed when appropriate. Reviewed By: bottler Differential Revision: D25387708 fbshipit-source-id: c486dcf327f812265b7ca8ca5ef5c6a31e6d4549
-
- 18 Dec, 2020 2 commits
-
-
Nikhila Ravi authored
Summary: Defines a function to run marching cubes algorithm on a single or batch of 3D scalar fields. Returns a mesh's faces and vertices. UPDATES (12/18) - Input data is now specified as a (B, D, H, W) tensor as opposed to a (B, W, H, D) tensor. This will now be compatible with the Volumes datastructure. - Add an option to return output vertices in local coordinates instead of world coordinates. Also added a small fix to remove the dype for device in Transforms3D - if passing in a torch.device instead of str it causes a pyre error. Reviewed By: jcjohnson Differential Revision: D24599019 fbshipit-source-id: 90554a200319fed8736a12371cc349e7108aacd0
-
Foo Guo Wei authored
Summary: Fixes https://github.com/facebookresearch/pytorch3d/issues/484 Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/486 Reviewed By: bottler Differential Revision: D25620407 Pulled By: nikhilaravi fbshipit-source-id: 9a29e4e717aebcca46e46ff5e7bb80a183a92836
-
- 17 Dec, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Fixes the index out of bound errors for texture sampling from a texture atlas: when barycentric coordinates are 1.0, the integer index into the (R, R) per face texture map is R (max can only be R-1). Reviewed By: gkioxari Differential Revision: D25543803 fbshipit-source-id: 82d0935b981352b49c1d95d5a17f9cc88bad0a82
-
- 15 Dec, 2020 2 commits
-
-
Nikhila Ravi authored
Summary: Similar to non square image rasterization for meshes, apply the same updates to the pointcloud rasterizer. Main API Change: - PointRasterizationSettings now accepts a tuple/list of (H, W) for the image size. Reviewed By: jcjohnson Differential Revision: D25465206 fbshipit-source-id: 7370d83c431af1b972158cecae19d82364623380
-
Evgeniy Zheltonozhskiy authored
Add check for verts and faces being on same device and also checks for pointclouds/features/normals being on the same device (#384) Summary: Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/384 Test Plan: `test_meshes` and `test_points` Reviewed By: gkioxari Differential Revision: D24730524 Pulled By: nikhilaravi fbshipit-source-id: acbd35be5d9f1b13b4d56f3db14f6e8c2c0f7596
-
- 14 Dec, 2020 4 commits
-
-
Nikhila Ravi authored
Summary: Add `return self` to the `to` function for the renderer classes. Reviewed By: bottler Differential Revision: D25534487 fbshipit-source-id: e8dbd35524f0bd40e835439e93184b5a1f1532ca
-
Evgeniy Zheltonozhskiy authored
Summary: As for now, epsilon value is ignored, since `kwargs` are passed to constructor only Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/418 Reviewed By: gkioxari Differential Revision: D24730500 Pulled By: nikhilaravi fbshipit-source-id: 7cce820dbe14f8c74d3df4f18c45d50e228c6a45
-
Elie Michel authored
Summary: `INSTALL.md` On Windows, pip install from git does not work with single quotes. I replace them with double quote as those should work for any OS. `camera_position_optimization_with_differentiable_rendering.ipynb` To extract the silhouette from the reference image, we need to reject white values, not black values, because the background of the ref is white:  Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/254 Reviewed By: gkioxari Differential Revision: D23798508 Pulled By: nikhilaravi fbshipit-source-id: 1fbec291c48c367539a8a4fea389a109aab49e3d
-
Jeremy Reizenstein authored
Summary: Add nightly linux conda builds with the new pytorch 1.7.1. This supports python 3.9. Reviewed By: nikhilaravi Differential Revision: D25532757 fbshipit-source-id: b734637063e148389951899450566275f3cf5831
-
- 11 Dec, 2020 1 commit
-
-
generatedunixname89002005307016 authored
Differential Revision: D25497975 fbshipit-source-id: 9f7aa8d1dd31fa62a428321394d8c97b2d9d937d
-
- 10 Dec, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: We have already uploaded a conda package of the cub 1.10.0 sources to our channel on anaconda. Here is the code we used. Reviewed By: nikhilaravi Differential Revision: D25395358 fbshipit-source-id: b58fd473fcafd425c98c9d7a7c32574f651383a0
-
- 09 Dec, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: There are a couple of options for supporting non square images: 1) NDC stays at [-1, 1] in both directions with the distance calculations all modified by (W/H). There are a lot of distance based calculations (e.g. triangle areas for barycentric coordinates etc) so this requires changes in many places. 2) NDC is scaled by (W/H) so the smallest side has [-1, 1]. In this case none of the distance calculations need to be updated and only the pixel to NDC calculation needs to be modified. I decided to go with option 2 after trying option 1! API Changes: - Image size can now be specified optionally as a tuple TODO: - add a benchmark test for the non square case. Reviewed By: jcjohnson Differential Revision: D24404975 fbshipit-source-id: 545efb67c822d748ec35999b35762bce58db2cf4
-