- 29 Jul, 2020 2 commits
-
-
Nikhila Ravi authored
Summary: A fairly big refactor of the texturing API with some breaking changes to how textures are defined. Main changes: - There are now 3 types of texture classes: `TexturesUV`, `TexturesAtlas` and `TexturesVertex`. Each class: - has a `sample_textures` function which accepts the `fragments` from rasterization and returns `texels`. This means that the shaders will not need to know the type of the mesh texture which will resolve several issues people were reporting on GitHub. - has a `join_batch` method for joining multiple textures of the same type into a batch Reviewed By: gkioxari Differential Revision: D21067427 fbshipit-source-id: 4b346500a60181e72fdd1b0dd89b5505c7a33926
-
Jeremy Reizenstein authored
Summary: Reduce the size of the data in this test, so that on circleci it doesn't run out of memory when pytorch (1.6) is used. Reviewed By: gkioxari Differential Revision: D22801490 fbshipit-source-id: 9591253c3d47430facd769a2c51a0b1722e0a305
-
- 23 Jul, 2020 2 commits
-
-
Luya Gao authored
Summary: Adding BlenderCamera (for rendering with R2N2 Blender transformations in the next diff). Reviewed By: nikhilaravi Differential Revision: D22462515 fbshipit-source-id: 4b40ee9bba8b6d56788dd3c723036ec704668153
-
Luya Gao authored
Summary: Sample/Get all views at the loading phase instead of returning phase; Load only views from the split instead of all 24 views; Test the numbers of views loaded are correct for each category. Reviewed By: nikhilaravi Differential Revision: D22631414 fbshipit-source-id: 1c5ce99fe2bdf6618c1aa0b69bb6899473376bc2
-
- 17 Jul, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Fixing several unused imports and pyre/linter warnings. Reviewed By: bottler Differential Revision: D22592491 fbshipit-source-id: 463383b9b73a545949475044fb5c531712f8482c
-
- 16 Jul, 2020 3 commits
-
-
Roman Shapovalov authored
Summary: 1. CircleCI tests fail because of different randomisation. I was able to reproduce it on devfair (with an older version of pytorch3d though), but with a new threshold, it works. Let’s push and see if it will work in CircleCI. 2. Fixing linter’s issue with `l` variable name. Reviewed By: bottler Differential Revision: D22573244 fbshipit-source-id: 32cebc8981883a3411ed971eb4a617469376964d
-
Nikhila Ravi authored
Summary: Added support for barycentric clipping in the C++/CUDA rasterization kernels which can be switched on/off via a rasterization setting. Added tests and a benchmark to compare with the current implementation in PyTorch - for some cases of large image size/faces per pixel the cuda version is 10x faster. Reviewed By: gkioxari Differential Revision: D21705503 fbshipit-source-id: e835c0f927f1e5088ca89020aef5ff27ac3a8769
-
Nikhila Ravi authored
Summary: C++/CUDA implementation of forward and backward passes for the sigmoid alpha blending function. This is slightly faster than the vectorized implementation in Python, but more importantly uses less memory due to fewer tensors being created. Reviewed By: gkioxari Differential Revision: D19980671 fbshipit-source-id: 0779055d2c68b1f20fb0870e60046077ef4613ff
-
- 14 Jul, 2020 6 commits
-
-
Luya Gao authored
Summary: R2N2 returns R2N2's own renderings of ShapeNetCore models. Reviewed By: nikhilaravi Differential Revision: D22266988 fbshipit-source-id: 36e67bd06c6459773e6e5f654259166b579be36a
-
Luya Gao authored
Summary: Adding a render function for R2N2. Reviewed By: nikhilaravi Differential Revision: D22230228 fbshipit-source-id: a9f588ddcba15bb5d8be1401f68d730e810b4251
-
Luya Gao authored
Summary: Skeleton of R2N2 that for now only returns verts and faces extracted from ShapeNetCore v1. Reviewed By: nikhilaravi Differential Revision: D22203656 fbshipit-source-id: 00db6ac76bfdb76fdbc77a2087c34a3f0ff01e6a
-
Luya Gao authored
Summary: Adding collate_batched_meshes for datasets.utils: takes in a list of dictionaries and merge them into one dictionary (while adding a merged mesh to the dictionary). Reviewed By: nikhilaravi Differential Revision: D22180404 fbshipit-source-id: f811f9a140f09638f355ad5739bffa6ee415819f
-
Luya Gao authored
Summary: Additional functionality for renderer in ShapeNetCore: users can select which objects to render by specifying their model_ids, or users could choose to render several random objects in some categories, or users could specify indices of the objects in the loaded dataset. (currently doesn't support changing lighting, still investigating why lighting is causing instability in renderings) Reviewed By: nikhilaravi Differential Revision: D22179594 fbshipit-source-id: 74c49094ffa3ea2eb71de9451f9e5da5053d356d
-
Luya Gao authored
Summary: Adding a renderer to ShapeNetCore (Note that the lights are currently turned off for the test; will investigate why lighting causes instability in rendering) Reviewed By: nikhilaravi Differential Revision: D22102673 fbshipit-source-id: a704756a1e93b61d5a879f0e5ee14ebcb0df49d7
-
- 13 Jul, 2020 1 commit
-
-
Justin Johnson authored
Summary: When rendering meshes with Phong shading, interpolate_face_attributes was taking up a nontrivial fraction of the overall shading time. This diff replaces our Python implementation of this function with a CUDA implementation. Reviewed By: nikhilaravi Differential Revision: D21610763 fbshipit-source-id: 2bb362a28f698541812aeab539047264b125ebb8
-
- 09 Jul, 2020 1 commit
-
-
David Novotny authored
Summary: There is a bug in efficient PnP that incorrectly weights points. This fixes it. The test does not pass for the previous version with the bug. Reviewed By: shapovalov Differential Revision: D22449357 fbshipit-source-id: f5a22081e91d25681a6a783cce2f5c6be429ca6a
-
- 08 Jul, 2020 1 commit
-
-
Roman Shapovalov authored
Summary: Conversion to/from the 6D representation of rotation from the paper http://arxiv.org/abs/1812.07035 ; based on David’s implementation. Reviewed By: davnov134 Differential Revision: D22234397 fbshipit-source-id: 9e25ee93da7e3a2f2068cbe362cb5edc88649ce0
-
- 03 Jul, 2020 1 commit
-
-
Georgia Gkioxari authored
Summary: Fix: * Scaling of point clouds for scalars * save_ply compatible cat Reviewed By: nikhilaravi Differential Revision: D22298609 fbshipit-source-id: abe94a5b64baf325587202d20adfc36912cc1478
-
- 02 Jul, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Added `sorted` argument to the `knn_points` function. This came up during the benchmarking against Faiss - sorting added extra memory usage. Match the memory usage of Faiss by making sorting optional. Reviewed By: bottler, gkioxari Differential Revision: D22329070 fbshipit-source-id: 0828ff9b48eefce99ce1f60089389f6885d03139
-
- 30 Jun, 2020 2 commits
-
-
Nikhila Ravi authored
Summary: Fix default setting of `max_faces_per_bin` and update mesh rasterization benchmark tests. The previous setting of `max_faces_per_bin` was wrong and for larger mesh sizes and batch sizes it was causing a significant slow down due to an unecessarily large intermediate tensor being created. Reviewed By: gkioxari Differential Revision: D22301819 fbshipit-source-id: d5e817f5b917fb5633c9c6a8634b6c8ff65e3508
-
Nikhila Ravi authored
Summary: Fixes the default setting of `max_points_per_bin` in `rasterize_points.py`. For large batches with large size pointclouds this was a causing the rasterizer to be very slow. Expanded the pointcloud rendering benchmarks to include larger size pointclouds and fixed cuda synchronization issue in benchmark. Reviewed By: gkioxari Differential Revision: D22301185 fbshipit-source-id: 5077c1ba2c43d73efc1c659f0ec75959ceddf893
-
- 18 Jun, 2020 2 commits
-
-
Luya Gao authored
Summary: Adding support so that users can select which categories they would like to load with wordnet synset offsets or labels or a combination of both. ShapeNetCore now also supports loading v2. Reviewed By: nikhilaravi Differential Revision: D22039207 fbshipit-source-id: 1f0218acb790e5561e2ae373e99cebb9823eea1a
-
Luya Gao authored
Summary: Skeleton of ShapeNetCore class that loads ShapeNet v1 from a given directory to a Dataset object. Overrides _init_, _len_, and _getitem_ from torch.utils.data.Dataset. Currently getitem returns verts, faces and id_str, where id_str is a concatenation of synset_id and obj_id. Planning on adding support for loading ShapeNet v2, retrieving textures and returning wordnet synsets (not just ids) in next diffs. Reviewed By: nikhilaravi Differential Revision: D21986222 fbshipit-source-id: c2c515303f1898b6c495b52cb53c74d691585326
-
- 15 Jun, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: point_mesh functions were missing CPU implementations. The indices returned are not always matching, possibly due to numerical instability. Reviewed By: gkioxari Differential Revision: D21594264 fbshipit-source-id: 3016930e2a9a0f3cd8b3ac4c94a92c9411c0989d
-
- 10 Jun, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: Pytorch seems to be becoming stricter about integer tensors of shape `(1,)` on GPU and not allowing them to be used as `int`s. For example the following no longer works on pytorch master, foo = torch.tensor([3, 5, 3], device="cuda:0") torch.arange(10) + foo[0] because this is the sum of tensors on different devices. Here fix tests which recently broke because of this. Reviewed By: nikhilaravi Differential Revision: D21929745 fbshipit-source-id: 25374f70468d1c895372766f1a9dd61df0833957
-
- 09 Jun, 2020 1 commit
-
-
Luya Gao authored
Summary: Adding a function in pytorch3d.structures.meshes to join multiple meshes into a Meshes object representing a single mesh. The function currently ignores all textures. Reviewed By: nikhilaravi Differential Revision: D21876908 fbshipit-source-id: 448602857e9d3d3f774d18bb4e93076f78329823
-
- 03 Jun, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: To avoid pytorch warnings and future behaviour changes, stop using torch.div and / with tensors of integers. Reviewed By: gkioxari, mruberry Differential Revision: D21857955 fbshipit-source-id: fb9f3000f3d953352cdc721d2a5f73d3a4bbf4b7
-
- 01 Jun, 2020 1 commit
-
-
Luya Gao authored
Summary: Adds support to hard_rgb_blend and hard blending shaders in shader.py (HardPhongShader, HardGouraudShader, and HardFlatShader) for changing the background color on which objects are rendered Reviewed By: nikhilaravi Differential Revision: D21746062 fbshipit-source-id: 08001200f4339d6a69c52405c6b8f4cac9f3f56e
-
- 23 May, 2020 2 commits
-
-
Nikhila Ravi authored
Summary: Update the transform method in the mesh rasterizer class to use the new `update_padded` method on the `Meshes` class to directly update the mesh vertices. Also added a benchmark. Reviewed By: gkioxari Differential Revision: D21700352 fbshipit-source-id: c330e4040c681729eb2cc7bdfd92fb4a51a1a7d6
-
Georgia Gkioxari authored
Summary: Three changes to Meshes 1. `num_verts_per_mesh` and `num_faces_per_mesh` are assigned at construction time and are returned without the need for `compute_packed` 2. `update_padded` updates `verts_padded` and shallow copies faces list and faces_padded and existing attributes from construction. 3. `padded_to_packed_idx` does not need `compute_packed` Reviewed By: nikhilaravi Differential Revision: D21653674 fbshipit-source-id: dc6815a2e2a925fe4a834fe357919da2b2c14527
-
- 20 May, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: Add ability to decode ply files which use types like int32. Reviewed By: nikhilaravi Differential Revision: D21639208 fbshipit-source-id: 0ede7d4aa353a6e940446680a18e7ac0c48fafee
-
- 16 May, 2020 1 commit
-
-
Justin Johnson authored
Summary: I was trying to speed up the lighting computations, but my ideas didn't work. Even if that didn't work, we can at least commit the benchmarking script I wrote for diffuse and specular shading. Reviewed By: nikhilaravi Differential Revision: D21580171 fbshipit-source-id: 8b60c0284e91ecbe258b6aae839bd5c2bbe788aa
-
- 15 May, 2020 1 commit
-
-
Roman Shapovalov authored
Summary: lg-zhang found the problem with the quadratic part of ePnP implementation: n262385 . It was caused by a coefficient returned from the linear equation solver being equal to exactly 0.0, which caused `sign()` to return 0, something I had not anticipated. I also made sure we avoid division by zero by clamping all relevant denominators. Reviewed By: nikhilaravi, lg-zhang Differential Revision: D21531200 fbshipit-source-id: 9eb2fa9d4f4f8f5f411d4cf1cffcc44b365b7e51
-
- 10 May, 2020 1 commit
-
-
David Novotny authored
Summary: Fixes the case where the rotation angle is exactly 0/PI. Added a test for `so3_log_map(identity_matrix)`. Reviewed By: nikhilaravi Differential Revision: D21477078 fbshipit-source-id: adff804da97f6f0d4f50aa1f6904a34832cb8bfe
-
- 06 May, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Fix to enable a mesh/point rasterizer to be initialized without having to specify the camera. Reviewed By: jcjohnson, gkioxari Differential Revision: D21362359 fbshipit-source-id: 4f84ea18ad9f179c7b7c2289ebf9422a2f5e26de
-
- 05 May, 2020 2 commits
-
-
Georgia Gkioxari authored
Summary: Add alignment modes for cubify operation. Reviewed By: nikhilaravi Differential Revision: D21393199 fbshipit-source-id: 7022044e591229a6ed5efc361fd3215e65f43f86
-
Jeremy Reizenstein authored
Summary: This has been failing intermittently Reviewed By: nikhilaravi Differential Revision: D21403157 fbshipit-source-id: 51b74d6c813b52effe72d14b565e250fcabbb463
-
- 04 May, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Ran the linter. TODO: need to update the linter as per D21353065. Reviewed By: bottler Differential Revision: D21362270 fbshipit-source-id: ad0e781de0a29f565ad25c43bc94a19b1828c020
-
- 01 May, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: Use nn.functional.interpolate instead of a TorchVision transform to resize texture maps to a common value. This works on all devices. This fixes issue #175. Also fix the condition so it only happens when needed. Reviewed By: nikhilaravi Differential Revision: D21324510 fbshipit-source-id: c50eb06514984995bd81f2c44079be6e0b4098e4
-
- 30 Apr, 2020 1 commit
-
-
Georgia Gkioxari authored
Summary: Fix self assignment of normals when estimating normals Reviewed By: nikhilaravi Differential Revision: D21315980 fbshipit-source-id: 2aa5864c3f066e39e07343f192cc6423ce1ae771
-