1. 03 Aug, 2021 4 commits
    • Jeremy Reizenstein's avatar
      update tutorials for new prebuilt version · addbe49d
      Jeremy Reizenstein authored
      Summary: At the next release, the prebuilt PyTorch3D wheels will depend on PyTorch 1.9.0. Update the tutorials to expect this.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29614450
      
      fbshipit-source-id: 39978a6a55b62fb7c7e62aaa8f138e47cadd631e
      addbe49d
    • Jeremy Reizenstein's avatar
      update INSTALL.md for next release · 4d2c0600
      Jeremy Reizenstein authored
      Summary: New Python, new PyTorches.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29538175
      
      fbshipit-source-id: f7086ef84a2993c760a1b1f668a3336e898c801e
      4d2c0600
    • Jeremy Reizenstein's avatar
      PyTorch 1.4 compat · 5ecce832
      Jeremy Reizenstein authored
      Summary: Restore compatibility with PyTorch 1.4 and 1.5, and a few lint fixes.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D30048115
      
      fbshipit-source-id: ee05efa7c625f6079fb06a3cc23be93e48df9433
      5ecce832
    • CodemodService Bot's avatar
      Daily `arc lint --take BLACK` · 55aaec4d
      CodemodService Bot authored
      Reviewed By: wynsmart
      
      Differential Revision: D30065248
      
      fbshipit-source-id: 600915ab43d3d6d4846f60f976391f9dc1d77d10
      55aaec4d
  2. 02 Aug, 2021 1 commit
    • Georgia Gkioxari's avatar
      NDC/screen cameras API fix, compatibility with renderer · 0c32f094
      Georgia Gkioxari authored
      Summary:
      API fix for NDC/screen cameras and compatibility with PyTorch3D renderers.
      
      With this new fix:
      * Users can define cameras and `transform_points` under any coordinate system conventions. The transformation applies the camera K and RT to the input points, not regarding for PyTorch3D conventions. So this makes cameras completely independent from PyTorch3D renderer.
      
      * Cameras can be defined either in NDC space or screen space. For existing ones, FoV cameras are in NDC space. Perspective/Orthographic can be defined in NDC or screen space.
      
      * The interface with PyTorch3D renderers happens through `transform_points_ndc` which transforms points to the NDC space and assumes that input points are provided according to PyTorch3D conventions.
      
      * Similarly, `transform_points_screen` transforms points to screen space and again assumes that input points are under PyTorch3D conventions.
      
      * For Orthographic/Perspective cameras, if they are defined in screen space, the `get_ndc_camera_transform` allows points to be converted to NDC for use for the renderers.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D26932657
      
      fbshipit-source-id: 1a964e3e7caa54d10c792cf39c4d527ba2fb2e79
      0c32f094
  3. 30 Jul, 2021 1 commit
    • Patrick Labatut's avatar
      Fix circular import · 9a14f54e
      Patrick Labatut authored
      Summary: This fixes a recently introduced circular import: the problem went unnoticed by having `pytorch3d.renderer` imported first...
      
      Reviewed By: bottler
      
      Differential Revision: D29686235
      
      fbshipit-source-id: 4b9f2faecec2cc8347ee259cfc359dc9e4f67784
      9a14f54e
  4. 28 Jul, 2021 1 commit
  5. 23 Jul, 2021 1 commit
    • Roman Shapovalov's avatar
      Improving RayBundle docstrings · e794d062
      Roman Shapovalov authored
      Summary: This changes only documentation. We want to be explicit that ray directions are not normalised (nor assumed to be normalised) but their magnitude is used.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29845210
      
      fbshipit-source-id: b81fb3da13a42ad20e8721ed5271fd4f3d8f5acb
      e794d062
  6. 19 Jul, 2021 3 commits
    • Jeremy Reizenstein's avatar
      path_manager in obj_io · 1872e024
      Jeremy Reizenstein authored
      Summary: Use PathManager for checking file existence, rather than assuming the path is a local file, in a couple of cases.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29734621
      
      fbshipit-source-id: e2236a7c2c50ba6916936a4d786abd601205b519
      1872e024
    • Jeremy Reizenstein's avatar
      restore build tests · 9e8d91eb
      Jeremy Reizenstein authored
      Summary: A bad env var check meant these tests were not being run. Fix that, and fix the copyright test for the new message format.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29734562
      
      fbshipit-source-id: a1a9bb68901b09c71c7b4ff81a04083febca8d50
      9e8d91eb
    • Alexey Sidnev's avatar
      Replace `torch.det()` with manual implementation for 3x3 matrix · bcee361d
      Alexey Sidnev authored
      Summary:
      # Background
      There is an unstable error during training (it can happen after several minutes or after several hours).
      The error is connected to `torch.det()` function in  `_check_valid_rotation_matrix()`.
      
      if I remove the function `torch.det()` in `_check_valid_rotation_matrix()` or remove the whole functions `_check_valid_rotation_matrix()` the error is disappeared (D29555876).
      
      # Solution
      Replace `torch.det()` with manual implementation for 3x3 matrix.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29655924
      
      fbshipit-source-id: 41bde1119274a705ab849751ece28873d2c45155
      bcee361d
  7. 16 Jul, 2021 1 commit
    • Alexey Sidnev's avatar
      Disable gradient calculation in `_check_valid_rotation_matrix()` · 2f668ece
      Alexey Sidnev authored
      Summary:
      # Make `transform3d.py` a little bit better (performance and code quality)
      
      ## 1. Add decorator `torch.no_grad()` to the function `_check_valid_rotation_matrix()`
      
      Function `_check_valid_rotation_matrix()` is needed to identify errors during forward pass only, it's not used for gradients.
      
      ## 2. Replace two calls `to` with the single one
      
      Reviewed By: bottler
      
      Differential Revision: D29656501
      
      fbshipit-source-id: 4419e24dbf436c1b60abf77bda4376fb87a593be
      2f668ece
  8. 13 Jul, 2021 1 commit
    • Roman Shapovalov's avatar
      Adding utility methods to TensorProperties · 0c02ae90
      Roman Shapovalov authored
      Summary:
      Context: in the code we are releasing with CO3D dataset, we use  `cuda()` on TensorProperties like Pointclouds and Cameras where we recursively move batch to a GPU. It would be good to push it to a release so we don’t need to depend on the nightly build.
      
      Additionally, I aligned the logic of `.to("cuda")` without device index to the one of `torch.Tensor` where the current device is populated to index. It should not affect any actual use cases but some tests had to be changed.
      
      Reviewed By: bottler
      
      Differential Revision: D29659529
      
      fbshipit-source-id: abe58aeaca14bacc68da3e6cf5ae07df3353e3ce
      0c02ae90
  9. 10 Jul, 2021 2 commits
  10. 09 Jul, 2021 1 commit
    • Patrick Labatut's avatar
      Use rotation matrices for OpenCV / PyTorch3D conversions · fef5bcd8
      Patrick Labatut authored
      Summary: Use rotation matrices for OpenCV / PyTorch3D conversions: this avoids hiding issues with conversions to / from axis-angle vectors and ensure new conversion functions have a consistent interface.
      
      Reviewed By: bottler, classner
      
      Differential Revision: D29634099
      
      fbshipit-source-id: 40b28357914eb563fedea60a965dcf69e848ccfa
      fef5bcd8
  11. 07 Jul, 2021 1 commit
  12. 06 Jul, 2021 1 commit
  13. 05 Jul, 2021 1 commit
    • Jeremy Reizenstein's avatar
      xcode update for mac builds · 68a35543
      Jeremy Reizenstein authored
      Summary: Avoid using old xcode which CircleCI say is deprecated.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29538176
      
      fbshipit-source-id: 1e2ae4845d42365c778536446958966bbecf188c
      68a35543
  14. 02 Jul, 2021 1 commit
    • David Novotny's avatar
      RayBundle visualization · 4426a9d1
      David Novotny authored
      Summary: Extends plotly_vis to visualize `RayBundle`s.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29014098
      
      fbshipit-source-id: 4dee426510a1fa53d4afefbe1bcdd003684c9932
      4426a9d1
  15. 01 Jul, 2021 2 commits
    • Jeremy Reizenstein's avatar
      points2volumes benchmark run alone · 62ff77b4
      Jeremy Reizenstein authored
      Summary: Enable this benchmark to be run on its own, like others.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29522846
      
      fbshipit-source-id: c7b3b5c9a0fcdeeb79d8b2ec197684b4380aa547
      62ff77b4
    • Jeremy Reizenstein's avatar
      lint fixes · 61754b2f
      Jeremy Reizenstein authored
      Summary: Fixing recent lint problems.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29522647
      
      fbshipit-source-id: 9bd89fbfa512ecd7359ec355cf12b16fb7024b47
      61754b2f
  16. 29 Jun, 2021 2 commits
  17. 28 Jun, 2021 2 commits
    • Jeremy Reizenstein's avatar
      work with old linalg · b8790474
      Jeremy Reizenstein authored
      Summary: solve and lstsq have moved around in torch. Cope with both.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29302316
      
      fbshipit-source-id: b34f0b923e90a357f20df359635929241eba6e74
      b8790474
    • Patrick Labatut's avatar
      Deprecate so3_exponential_map · 5284de6e
      Patrick Labatut authored
      Summary: Deprecate the `so3_exponential_map()` function in favor of its alias `so3_exp_map()`: this aligns with the naming of `so3_log_map()` and the recently introduced `se3_exp_map()` / `se3_log_map()` pair.
      
      Reviewed By: bottler
      
      Differential Revision: D29329966
      
      fbshipit-source-id: b6f60b9e86b2995f70b1fbeb16f9feea05c55de9
      5284de6e
  18. 26 Jun, 2021 1 commit
    • Patrick Labatut's avatar
      More type annotations · f593bfd3
      Patrick Labatut authored
      Summary: More type annotations: device, shaders, pluggable I/O, stats in NeRF project, cameras, textures, etc...
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29327396
      
      fbshipit-source-id: cdf0ceaaa010e22423088752688c8dd81f1acc3c
      f593bfd3
  19. 24 Jun, 2021 4 commits
    • Nikhila Ravi's avatar
      Save UV texture with obj mesh · 542e2e7c
      Nikhila Ravi authored
      Summary: Add functionality to to save an `.obj` file with associated UV textures: `.png` image and `.mtl` file as well as saving verts_uvs and faces_uvs to the `.obj` file.
      
      Reviewed By: bottler
      
      Differential Revision: D29337562
      
      fbshipit-source-id: 86829b40dae9224088b328e7f5a16eacf8582eb5
      542e2e7c
    • Patrick Labatut's avatar
      Annotate dunder functions · 64289a49
      Patrick Labatut authored
      Summary: Annotate the (return type of the) following dunder functions across the codebase: `__init__()`, `__len__()`, `__getitem__()`
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29001801
      
      fbshipit-source-id: 928d9e1c417ffe01ab8c0445311287786e997c7c
      64289a49
    • Pyre Bot Jr's avatar
      suppress errors in `vision/fair/pytorch3d` · 35855bf8
      Pyre Bot Jr authored
      Differential Revision: D29360359
      
      fbshipit-source-id: 9e91e8499a23e30a5fc39f8f6444b2db9f6b4142
      35855bf8
    • Georgia Gkioxari's avatar
      refactor laplacian matrices · 07a5a68d
      Georgia Gkioxari authored
      Summary:
      Refactor of all functions to compute laplacian matrices in one file.
      Support for:
      * Standard Laplacian
      * Cotangent Laplacian
      * Norm Laplacian
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29297466
      
      fbshipit-source-id: b96b88915ce8ef0c2f5693ec9b179fd27b70abf9
      07a5a68d
  20. 23 Jun, 2021 2 commits
    • Christoph Lassner's avatar
      Add PyTorch3D->OpenCV camera parameter conversion. · da9974b4
      Christoph Lassner authored
      Summary: This diff implements the inverse of D28992470 (https://github.com/facebookresearch/pytorch3d/commit/8006842f2a5ab1546a90797a6394f875adce045c): a function to extract OpenCV convention camera parameters from a PyTorch3D `PerspectiveCameras` object. This is the first part of the new PyTorch3d<>OpenCV<>Pulsar conversion functions.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29278411
      
      fbshipit-source-id: 68d4555b508dbe8685d8239443f839d194cc2484
      da9974b4
    • Patrick Labatut's avatar
      Remove _C pyre fixmes · e4039aa5
      Patrick Labatut authored
      Summary:
      Get rid of pyre fixmes related to importing a native module:
      - add stub file for the `_C` native extension to the internal typeshed
      - add initial annotations to the new stub file
      - remove the now unnecessary pyre ignores
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D28929467
      
      fbshipit-source-id: 6525e15c8f27215a3ff6f78392925fd0ed6ec2ac
      e4039aa5
  21. 22 Jun, 2021 7 commits
    • Nikhila Ravi's avatar
      Create stale.yml (#721) · de72049f
      Nikhila Ravi authored
      Summary:
      Github action to close issues/PRs that are not labelled with "enhancement" or "how-to" if they have not had any activity in 30 days.
      
      Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/721
      
      Reviewed By: bottler
      
      Differential Revision: D29309817
      
      Pulled By: nikhilaravi
      
      fbshipit-source-id: 039f6d4f29e9d04c01f59d145317a34ad75026a5
      de72049f
    • Jeremy Reizenstein's avatar
      texture map list validation · 279f4a15
      Jeremy Reizenstein authored
      Summary: Add some more validation of a list of texture maps. Move the initialisation of maps_padded to a new function to reduce complexity.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29263443
      
      fbshipit-source-id: 153e262d2e9af21090570768020fca019e364024
      279f4a15
    • Jeremy Reizenstein's avatar
      Flexible #channels in TexturesUV.join_scene · 2a0660ba
      Jeremy Reizenstein authored
      Summary: The TexturesUV class supports an arbitrary number of channels. In one place in join_scene we unnecessarily assumed the usual value, 3.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29133477
      
      fbshipit-source-id: de8eb15fdd55675da084634d9d99e2a3f4d35401
      2a0660ba
    • Jeremy Reizenstein's avatar
      use C for #channels in textures · c5387258
      Jeremy Reizenstein authored
      Summary: Comments in textures.py were inconsistent in describing the number of channels, sometimes C, sometimes D, sometimes 3. Now always C.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29263435
      
      fbshipit-source-id: 7c1260c164c52852dc9e14d0e12da4cfb64af408
      c5387258
    • Jeremy Reizenstein's avatar
      builds for PyTorch 1.9 · c639198c
      Jeremy Reizenstein authored
      Summary:
      Build for pytorch 1.9, and make it the only mac build. Not testing on cuda 11.1, because of annoying failures which are restricted to certain hardware.
      
      Also update cuda driver in CI tests.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29302314
      
      fbshipit-source-id: 78def378adb9d7aa287abdc5ac0af269e3ba3625
      c639198c
    • Jeremy Reizenstein's avatar
      Fix build for package_data · bbc12e70
      Jeremy Reizenstein authored
      Summary: include_package_data does not work well in the presence of built extensions, and the OSS build hasn't been working for a few days since #593 was merged.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D29302315
      
      fbshipit-source-id: db7e46f8c4593743c3522087979592f9989c7c6b
      bbc12e70
    • Pyre Bot Jr's avatar
      suppress errors in `fbcode/vision` - batch 2 · 639f05a1
      Pyre Bot Jr authored
      Differential Revision: D29301375
      
      fbshipit-source-id: a061a2fb7c7f2fd2038e31b28a5bdf0bfe1676f6
      639f05a1