1. 10 Jul, 2020 2 commits
    • Jeremy Reizenstein's avatar
      Privacy terms · 20ef9195
      Jeremy Reizenstein authored
      Summary: Simple method to add terms and privacy.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22476671
      
      fbshipit-source-id: 5b0503536f9a95961c46c93895c9e351c0401118
      20ef9195
    • Georgia Gkioxari's avatar
      remove unused params + cubify note · 3d7dea58
      Georgia Gkioxari authored
      Summary:
      This diff
      * removes the unused compositing params
      * adds a note describing cubify
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22426191
      
      fbshipit-source-id: e8aa32040bb594e1dfd7d6d98e29264feefcec7c
      3d7dea58
  2. 09 Jul, 2020 2 commits
    • Jeremy Reizenstein's avatar
      Deduplicate installation instructions · 38eadb75
      Jeremy Reizenstein authored
      Summary: Remove abbreviated installation instructions from the homepage because they confuse.
      
      Reviewed By: gkioxari
      
      Differential Revision: D22160787
      
      fbshipit-source-id: 8eb81030727f71951f8785f71c0a332ef58e790c
      38eadb75
    • David Novotny's avatar
      Efficient PnP weighting bug fix · daf9eac8
      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
      daf9eac8
  3. 08 Jul, 2020 1 commit
  4. 07 Jul, 2020 2 commits
    • Nikhila Ravi's avatar
      Simplify transforms in point rasterizer · ce3da649
      Nikhila Ravi authored
      Summary: Update the transform step in the pointcloud rasterizer to use the `update_padded` method on `Pointclouds`.  There was an inefficient step using `offset_points` which went via the packed represntation (and required unecessary additional memory). I think this was before the `update_padded` method was added to `Pointclouds`.
      
      Reviewed By: gkioxari
      
      Differential Revision: D22329166
      
      fbshipit-source-id: 76db8a19654fb2f7807635d4f1c1729debdf3320
      ce3da649
    • Martin Rünz's avatar
      Fix function call in Transform3d documentation (#233) · 876bdff2
      Martin Rünz authored
      Summary:
      The documentation of `Transform3d` highlights that the class handles points as well as normals. However, `transform_points` is applied to points and normals in the documentation instead of using `transform_normals` for normals, which I believe was intended.
      
      This pull request fixes this typo in the documentation.
      Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/233
      
      Reviewed By: bottler
      
      Differential Revision: D22287642
      
      Pulled By: nikhilaravi
      
      fbshipit-source-id: 0bc8754097b2e17a34fa3071319d00b78c3bc803
      876bdff2
  5. 03 Jul, 2020 4 commits
    • Georgia Gkioxari's avatar
      fix pts scale, save ply · 2f0fd601
      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
      2f0fd601
    • Jeremy Reizenstein's avatar
      CPU device for tutorials · 275ddade
      Jeremy Reizenstein authored
      Reviewed By: nikhilaravi
      
      Differential Revision: D22357376
      
      fbshipit-source-id: c103f9b0c798d4425d642781b5bfbb1a27310270
      275ddade
    • Jeremy Reizenstein's avatar
      strip output from tutorials · 52979226
      Jeremy Reizenstein authored
      Summary: It's easier to understand code changes if we don't store the output in the notebooks. This is just a run of nbstripout on all the notebooks.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22357375
      
      fbshipit-source-id: bffdb426af2f676d448630d717658d609c224811
      52979226
    • generatedunixname89002005307016's avatar
      suppress errors in `vision/fair/pytorch3d` · ec82b466
      generatedunixname89002005307016 authored
      Summary:
      Automatic run to suppress type errors.
       #pyreupgrade
      
      Differential Revision: D22369027
      
      fbshipit-source-id: 2beb1a43e429a0850944a8849d416bedefd516ed
      ec82b466
  6. 02 Jul, 2020 1 commit
    • Nikhila Ravi's avatar
      making sorting for K >1 optional in KNN points function · 806ca361
      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
      806ca361
  7. 30 Jun, 2020 2 commits
    • Nikhila Ravi's avatar
      mesh rasterizer settings fix · dd4a35cf
      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
      dd4a35cf
    • Nikhila Ravi's avatar
      fix default settings for point rasterization and update benchmark · 88f57938
      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
      88f57938
  8. 29 Jun, 2020 1 commit
    • Luya Gao's avatar
      Adding datasets.rst to modules · b636f295
      Luya Gao authored
      Summary: Adding datasets.rst to modules and update index.rst.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22187578
      
      fbshipit-source-id: e70cf49fa276db8a106c67a2edab530b6dba2dee
      b636f295
  9. 24 Jun, 2020 1 commit
    • Jeremy Reizenstein's avatar
      specify full pytorch version for conda nightly builds. · 0baeb05a
      Jeremy Reizenstein authored
      Summary: Now pytorch 1.5.1 is released, pytorch 1.5 is ambiguous and causes problems. Now have specific builds for pytorch 1.5.0 and 1.5.1. Here we only change the conda builds.
      
      Reviewed By: gkioxari
      
      Differential Revision: D22196016
      
      fbshipit-source-id: 478327e870f538f54d3480d5a268a1ece5c5c680
      0baeb05a
  10. 18 Jun, 2020 2 commits
    • Luya Gao's avatar
      Adding support for selecting categories and ver2 for ShapeNetCore · 2ea6a7d8
      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
      2ea6a7d8
    • Luya Gao's avatar
      Skeleton of ShapeNetCore class · 9d279ba5
      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
      9d279ba5
  11. 16 Jun, 2020 1 commit
    • Jeremy Reizenstein's avatar
      Restore C++14 compatibility · 2f6387f2
      Jeremy Reizenstein authored
      Summary: Fix the new CPU implementation of point_mesh functionality to be compatible with older C++.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D22066785
      
      fbshipit-source-id: a245849342019a93ff68e186a10985458b007436
      2f6387f2
  12. 15 Jun, 2020 1 commit
    • Jeremy Reizenstein's avatar
      CPU implementation for point_mesh functions · 74659aef
      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
      74659aef
  13. 10 Jun, 2020 1 commit
    • Jeremy Reizenstein's avatar
      Take care with single integers on gpu · 7f1e63ae
      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
      7f1e63ae
  14. 09 Jun, 2020 2 commits
    • Yedidya Feldblum's avatar
      Cut FOR_EACH_KV · d0e7426a
      Yedidya Feldblum authored
      Summary: [Folly] Cut the FOR_EACH_KV macro, which may be replaced by a combination of range-for and structured bindings.
      
      Differential Revision: D21826182
      
      fbshipit-source-id: ce4712afd3d0d7806eb1fca8c97009da117f982e
      d0e7426a
    • Luya Gao's avatar
      Adding join_mesh in pytorch3d.structures.meshes · e053d7c4
      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
      e053d7c4
  15. 04 Jun, 2020 1 commit
  16. 03 Jun, 2020 1 commit
    • Jeremy Reizenstein's avatar
      Avoid plain division involving integers · 5444c53c
      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
      5444c53c
  17. 01 Jun, 2020 2 commits
    • Yedidya Feldblum's avatar
      Cut FOR_EACH_ENUMERATE · 40b068e4
      Yedidya Feldblum authored
      Summary: [Folly] Cut the `FOR_EACH_ENUMERATE` macro, which may be replaced by a combination of range-for, `ranges::view::enumerate`, and structured bindings.
      
      Reviewed By: markisaa
      
      Differential Revision: D21813019
      
      fbshipit-source-id: fc9ac09a4e2f72f1433d0a518f03d5cd69a59c55
      40b068e4
    • Luya Gao's avatar
      Adding support for changing background color · 65620e71
      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
      65620e71
  18. 23 May, 2020 2 commits
    • Nikhila Ravi's avatar
      update rasterizer transform method · e3819a49
      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
      e3819a49
    • Georgia Gkioxari's avatar
      update padded in meshes · 1fb97f9c
      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
      1fb97f9c
  19. 22 May, 2020 1 commit
    • generatedunixname89002005307016's avatar
      suppress errors in `vision` - batch 1 · ae68a54f
      generatedunixname89002005307016 authored
      Summary:
      This diff is auto-generated to upgrade the Pyre version and suppress errors in vision. The upgrade will affect Pyre local configurations in the following directories:
      ```
      vision/ale/search
      vision/fair/fvcore
      vision/fair/pytorch3d
      vision/ocr/rosetta_hash
      vision/vogue/personalization
      ```
      
      Differential Revision: D21688454
      
      fbshipit-source-id: 1f3c3fee42b6da2e162fd0932742ab8c5c96aa45
      ae68a54f
  20. 20 May, 2020 2 commits
    • Georgia Gkioxari's avatar
      fix alpha compositing · d689baac
      Georgia Gkioxari authored
      Summary:
      Fix division by zero when alpha is 1.0
      In this case, the nominator is already 0 and we need to make sure division with 0 does not occur which would produce nans
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D21650478
      
      fbshipit-source-id: bc457105b3050fef1c8bd4e58e7d6d15c0c81ffd
      d689baac
    • Jeremy Reizenstein's avatar
      Alternative type names in PLY #205 · f2d1d2db
      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
      f2d1d2db
  21. 19 May, 2020 1 commit
  22. 16 May, 2020 1 commit
    • Justin Johnson's avatar
      Add benchmark for diffuse and specular lighting · d8987c6f
      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
      d8987c6f
  23. 15 May, 2020 2 commits
    • Nikhila Ravi's avatar
      Make cuda tensors contiguous in host function and remove contiguous check · 3fef5068
      Nikhila Ravi authored
      Summary:
      Update the cuda kernels to:
      - remove contiguous checks for the grad tensors and for cpu functions which use accessors
      - for cuda implementations call `.contiguous()` on all tensors in the host function before invoking the kernel
      
      Reviewed By: gkioxari
      
      Differential Revision: D21598008
      
      fbshipit-source-id: 9b97bda4582fd4269c8a00999874d4552a1aea2d
      3fef5068
    • Roman Shapovalov's avatar
      Numerical stability of ePnP. · a8377f1f
      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
      a8377f1f
  24. 14 May, 2020 2 commits
    • Georgia Gkioxari's avatar
      flat shading fix · a0e14cae
      Georgia Gkioxari authored
      Summary:
      Make flat shading differentiable again
      
      Currently test fails with P130944403 which looks weird.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D21567106
      
      fbshipit-source-id: 65995b64739e08397b3d021b65625e3c377cd1a5
      a0e14cae
    • Jeremy Reizenstein's avatar
      avoid converting a TensorOptions from float to integer · 728179e8
      Jeremy Reizenstein authored
      Summary: pytorch is adding checks that mean integer tensors with requires_grad=True need to be avoided. Fix accidentally creating them.
      
      Reviewed By: jcjohnson, gkioxari
      
      Differential Revision: D21576712
      
      fbshipit-source-id: 008218997986800a36d93caa1a032ee91f2bffcd
      728179e8
  25. 11 May, 2020 1 commit
  26. 10 May, 2020 1 commit
    • David Novotny's avatar
      SO3 log map fix for singularity at PI · 34a0df06
      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
      34a0df06