- 24 Feb, 2021 1 commit
-
-
Nikhila Ravi authored
Summary: - Fix the calculation of the non square NDC range when the H and W are not integer multiples. - Add test for this case Reviewed By: gkioxari Differential Revision: D26613213 fbshipit-source-id: df6763cac602e9f1d516b41b432c4d2cfbaa356d
-
- 12 Feb, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Implements the ascii OFF file format. This was discussed in https://github.com/facebookresearch/pytorch3d/issues/216 Reviewed By: theschnitz Differential Revision: D25788834 fbshipit-source-id: c141d1f4ba3bad24e3c1f280a20aee782bfd74d6
-
- 11 Feb, 2021 3 commits
-
-
Jeremy Reizenstein authored
Summary: One step in finding all the pairs of vertices which share faces is a simple calculation but annoying to parallelize. It was implemented in pure Python. We move it to C++. We still pull the data to the CPU and put the answer back on the device. Reviewed By: nikhilaravi, gkioxari Differential Revision: D26073475 fbshipit-source-id: ffbf4e2c347a511ab5084bceff600465812b6a52
-
Jeremy Reizenstein authored
Summary: Fixes mostly related to the "main" build on circleci. -Avoid error to do with tuple copy from initializer_list which is `explicit` on old compiler. -Add better reporting to copyright test. -Move to PackedTensorAccessor64 from the deprecated PackedTensorAccessor -Avoid some warnings about mismatched comparisons. The "main" build is the only one that runs the test_build stuff. In that area -Fix my bad copyright fix D26275931 (https://github.com/facebookresearch/pytorch3d/commit/3463f418b8a3e3c3e6b6a20007b38eb71938ec7f) / 965c9c -Add test that all tutorials are valid json. Reviewed By: nikhilaravi Differential Revision: D26366466 fbshipit-source-id: c4ab8b7e6647987069f7cb7144aa6ab7c24bcdac
-
Shubham Goel authored
Summary: Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/553 Reviewed By: theschnitz Differential Revision: D26257591 Pulled By: gkioxari fbshipit-source-id: 899a3f733a77361e8572b0900a34b55764ff08f2
-
- 09 Feb, 2021 2 commits
-
-
Nikhila Ravi authored
Summary: Add link to v0.4 after it has been tagged. Reviewed By: bottler Differential Revision: D26286000 fbshipit-source-id: b75893e668a18122c64aa989b6f4d150c99831be
-
Jeremy Reizenstein authored
Summary: Update PyTorch3D version number Reviewed By: nikhilaravi Differential Revision: D26257778 fbshipit-source-id: 62a37669c51ec56d21f71b5619a1a821ae2a8e98
-
- 08 Feb, 2021 3 commits
-
-
Nikhila Ravi authored
Summary: - Updated the C++/CUDA mesh rasterization kernels to handle the clipped faces. In particular this required careful handling of the distance calculation for faces which are cut into a quadrilateral by the image plane and then split into two sub triangles i.e. both sub triangles can't be part of the top K faces. - Updated `rasterize_meshes.py` to use the utils functions to clip the meshes and convert the fragments back to in terms of the unclipped mesh - Added end to end tests Reviewed By: jcjohnson Differential Revision: D26169685 fbshipit-source-id: d64cd0d656109b965f44a35c301b7c81f451cfa0
-
Nikhila Ravi authored
Summary: Small update to the cameras and rasterizer to correctly infer the type of camera (perspective vs orthographic). Reviewed By: jcjohnson Differential Revision: D26267225 fbshipit-source-id: a58ed3bc2ab25553d2a4307c734204c1d41b5176
-
Nikhila Ravi authored
Summary: This diff adds utils functions for converting rasterization fragments of the clipped mesh into fragments expressed in terms of the original unclipped mesh. The face indices and barycentric coordinates are converted in this step. The pixel to triangle distances are handled in the rasterizer which is updated in the next diff in the stack. Reviewed By: jcjohnson Differential Revision: D26169539 fbshipit-source-id: ba451d3facd60ef88a8ffaf25fd04ca07b449ceb
-
- 06 Feb, 2021 1 commit
-
-
Nikhila Ravi authored
Summary: Instead of culling faces behind the camera, partially clip them if they intersect with the image plane. This diff implements the utils functions for clipping. There are 4 cases for the mesh faces which are all handled: ``` Case 1: the triangle is completely in front of the clipping plane (it is left unchanged) Case 2: the triangle is completely behind the clipping plane (it is culled) Case 3: the triangle has exactly two vertices behind the clipping plane (it is clipped into a smaller triangle) Case 4: the triangle has exactly one vertex behind the clipping plane (it is clipped into a smaller quadrilateral and divided into two triangular faces) ``` Reviewed By: jcjohnson Differential Revision: D23108673 fbshipit-source-id: 550a8b6a982d06065dff10aba10d47e8b144ae52
-
- 05 Feb, 2021 3 commits
-
-
Jeremy Reizenstein authored
Summary: Prepare the tutorial notebooks to use wheels from S3 when run on colab. Reviewed By: nikhilaravi Differential Revision: D26226932 fbshipit-source-id: 1f9366c3fb4ba195333a5d5dfa3f6876ea934508
-
Jeremy Reizenstein authored
Summary: For Linux, instead of uploading wheels to PyPI which will only work with one particular version of PyTorch and CUDA, from the next release we will store a range of built wheels on S3. Reviewed By: nikhilaravi Differential Revision: D26209398 fbshipit-source-id: 945a6907b78807e1eedb25007f87f90bbf59f80e
-
Jeremy Reizenstein authored
Summary: Fix missing copyright header in __init__.py file. Reviewed By: davnov134 Differential Revision: D26275931 fbshipit-source-id: 965c9cf17383aa27d35d549754ebd99ae7c25f47
-
- 04 Feb, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: These two tests fail (with non-small differences) when the seed is changed or if certain environmental changes are made. We disable them pending investigation. A small change to the tolerance at the failing assertion doesn't help. The change in common_testing helps diagnose this. Reviewed By: shapovalov Differential Revision: D26233419 fbshipit-source-id: 357afc1786825256c9bade101fb15707e4dea5ed
-
- 03 Feb, 2021 1 commit
-
-
David Novotny authored
Summary: Fixes to Readme in NeRF Reviewed By: nikhilaravi Differential Revision: D26205882 fbshipit-source-id: 73e4d727f6e6c96fa7af7d2b917acdeaf990091c
-
- 02 Feb, 2021 12 commits
-
-
David Novotny authored
Summary: Adds the readme file. Reviewed By: nikhilaravi Differential Revision: D25684459 fbshipit-source-id: f1aaa621a2a67c98d5fcfe33fe9bbfea8f95b537
-
David Novotny authored
Summary: Implements the test script of NeRF. Reviewed By: nikhilaravi Differential Revision: D25684450 fbshipit-source-id: 739169d9df706795814912bb9a15e2e65ac92df8
-
David Novotny authored
Summary: Implements methods for generating trajectories of test cameras. Reviewed By: nikhilaravi Differential Revision: D26100869 fbshipit-source-id: cf2b61a34d4c749cd8cba881e97f6c388e57d1f8
-
David Novotny authored
Summary: Implements the training script of NeRF. Reviewed By: nikhilaravi Differential Revision: D25684439 fbshipit-source-id: 8b19b6dc282eb6bf6e46ec4476bb0f13a84c90dd
-
David Novotny authored
Summary: Implements the `Stats` class that handles logging of the training statistics. Reviewed By: nikhilaravi Differential Revision: D25684430 fbshipit-source-id: 920a1c65917ab5d047988494d92173da60cfd64b
-
David Novotny authored
Summary: Implements the dataloader for NeRF. Reviewed By: nikhilaravi Differential Revision: D25684424 fbshipit-source-id: 4f7092ce23135bd418186833a087e243433babc7
-
David Novotny authored
Summary: Implements the main NeRF model class that controls the radiance field and its renderer Reviewed By: nikhilaravi Differential Revision: D25684419 fbshipit-source-id: fae45572daa6748c6234bd212f3e68110f778238
-
David Novotny authored
Summary: Implements the radiance field function of NeRF Reviewed By: nikhilaravi Differential Revision: D25684413 fbshipit-source-id: 4bf6dd5d22e6134a09f7b9f314536ec16670f737
-
David Novotny authored
Summary: Implements the positional embedding of NeRF Reviewed By: nikhilaravi Differential Revision: D25684406 fbshipit-source-id: 9f3b657babacff48bd6a0497d7a859607ffa5f89
-
David Novotny authored
Summary: Implements the NeRF raysampler. Reviewed By: nikhilaravi Differential Revision: D25684403 fbshipit-source-id: 616a60f047c79479f60a6a75d214f87cbfb06d28
-
David Novotny authored
Summary: An initial NeRF diff which sets up the folder structure and implements the raymarching algorithm of NeRF. Reviewed By: nikhilaravi Differential Revision: D25623990 fbshipit-source-id: ac6b05a9b866358bd4bbf44858f06859d8a6ebd1
-
Edgar Riba authored
Summary: adds missing spaces in the `estimate_normals` docstrings Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/530 Reviewed By: bottler Differential Revision: D26008667 Pulled By: nikhilaravi fbshipit-source-id: 88cccd7e777fa2df0aea15c087db9e7fb634d93f
-
- 28 Jan, 2021 2 commits
-
-
Jeremy Reizenstein authored
Summary: Corner case where there's nothing to do in this function. Reviewed By: nikhilaravi Differential Revision: D26073476 fbshipit-source-id: eb061683ffe35c1ffa8384c422a1557a636d52cd
-
Jeremy Reizenstein authored
Summary: We were double counting some pairs in some cases. Specifically if four or more faces share an edge, then some of them were getting double counted. This is a minimal tweak to avoid that. Reviewed By: nikhilaravi Differential Revision: D26073477 fbshipit-source-id: a40032acf3044bb98dd91cb29904614ef64d5599
-
- 26 Jan, 2021 1 commit
-
-
Christoph Lassner authored
Summary: See title. Reviewed By: theschnitz Differential Revision: D25785775 fbshipit-source-id: 6b2ab6ea8a02a7dd1742a214e48caab35a44528c
-
- 25 Jan, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Ensure that `mesh2 = mesh.to(device)` doesn't change the device of `mesh.textures`. Reviewed By: nikhilaravi Differential Revision: D25978610 fbshipit-source-id: 0558cd62132965d8693ebeea05e42b8c1d16cfbf
-
- 22 Jan, 2021 5 commits
-
-
Penn authored
Summary: Fixes the assertion that `p1` and `p2` have the same last dimension. The issue was that `D` is set to equal `p2.size(2)`, and then `D` is compared to `p2.size(2)`. The fix instead compares `D` to `p1.size(2). Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/524 Reviewed By: bottler Differential Revision: D26008688 Pulled By: nikhilaravi fbshipit-source-id: e32afe9da127d81b1a411d3c223b539a7400597b
-
imlixinyang authored
Summary: Typo fixed. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/529 Reviewed By: bottler Differential Revision: D26008651 Pulled By: nikhilaravi fbshipit-source-id: 76d5baadba7bcd3577397adb842e964ee4490b7d
-
Jeremy Reizenstein authored
Summary: We previously did not send an `up` vector in to plotly when visualization_cameras is supplied. This meant the image would have the default orientation instead of the correct one. Now we use the library function `camera_to_eye_at_up` to calculate the plotly position, which includes the `up` vector. Reviewed By: nikhilaravi Differential Revision: D25981183 fbshipit-source-id: abec72b349f3a5519209e0e6c0518133c3750807
-
Jeremy Reizenstein authored
Summary: Plotly viewing from a specific camera location requires converting that location in to an (eye, at, up) specification. There may be other reasons to want to do this as well. I create a separate utility function for it. I envisage more such utility functions for manipulating camera information, so I create a separate camera_utils.py file for such things. Reviewed By: nikhilaravi Differential Revision: D25981184 fbshipit-source-id: 0947bf98b212676c021f2fddf775bf436dee3487
-
Jeremy Reizenstein authored
Summary: It is common when trying things out to want to move a whole mesh or point cloud by the same amount. Here we allow the offset functions to broadcast. Also add a sanity check to join_meshes_as_scene which it is easy to call wrongly. Reviewed By: nikhilaravi Differential Revision: D25980593 fbshipit-source-id: cdf1568e1317e3b81ad94ed4e608ba7eef81290b
-
- 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
-