- 29 Mar, 2022 3 commits
-
-
janEbert authored
Summary: Previously, dtypes were not propagated correctly in composed transforms, resulting in errors when different dtypes were mixed. Even specifying a dtype in the constructor does not fix this. Neither does specifying the dtype for each composition function invocation (e.g. as a `kwarg` in `rotate_axis_angle`). With the change, I also had to modify the default dtype of `RotateAxisAngle`, which was `torch.float64`; it is now `torch.float32` like for all other transforms. This was required because the fix in propagation broke some tests due to dtype mismatches. This change in default dtype in turn broke two tests due to precision changes (calculations that were previously done in `torch.float64` were now done in `torch.float32`), so I changed the precision tolerances to be less strict. I chose the lowest power of ten that passed the tests here. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1141 Reviewed By: patricklabatut Differential Revision: D35192970 Pulled By: bottler fbshipit-source-id: ba0293e8b3595dfc94b3cf8048e50b7a5e5ed7cf
-
Jeremy Reizenstein authored
Summary: Allow things like `renderer:Optional[BaseRenderer]` in configurables. Reviewed By: davnov134 Differential Revision: D35118339 fbshipit-source-id: 1219321b2817ed4b26fe924c6d6f73887095c985
-
Jeremy Reizenstein authored
Summary: To ensure that tests outside implicitron/ don't use implicitron, split the test for recursive includes in to two. License header checking is not needed here any more. Reviewed By: shapovalov Differential Revision: D35077830 fbshipit-source-id: 2ebe7436a6dcc5d21a116434f6ddd08705dfab34
-
- 25 Mar, 2022 2 commits
-
-
Jeremy Reizenstein authored
Summary: Attempt to solve an internal issue Reviewed By: shapovalov Differential Revision: D35143263 fbshipit-source-id: b4fd9ee441d85f0a3ee08f2f1e7febd1c1ccbe86
-
Roman Shapovalov authored
Summary: Before the fix, running get_default_args(C: Callable) returns an unstructured DictConfig which causes Enums to be handled incorrectly. This is a fix. WIP update: Currently tests still fail whenever a function signature contains an untyped argument: This needs to be somehow fixed. Reviewed By: bottler Differential Revision: D34932124 fbshipit-source-id: ecdc45c738633cfea5caa7480ba4f790ece931e8
-
- 24 Mar, 2022 2 commits
-
-
Roman Shapovalov authored
Summary: Using the API from D35012121 everywhere. Reviewed By: bottler Differential Revision: D35045870 fbshipit-source-id: dab112b5e04160334859bbe8fa2366344b6e0f70
-
Roman Shapovalov authored
Summary: We often want to iterate over frames in the sequence in temporal order. This diff provides the API to do that. `seq_to_idx` should probably be considered to have `protected` visibility. Reviewed By: davnov134 Differential Revision: D35012121 fbshipit-source-id: 41896672ec35cd62f3ed4be3aa119efd33adada1
-
- 21 Mar, 2022 1 commit
-
-
Jeremy Reizenstein authored
Co-authored-by:Jeremy Francis Reizenstein <bottler@users.noreply.github.com>
-
- 16 Mar, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: Fix assumption that face indices are signed in the PLY file, as reported in #1104. Reviewed By: nikhilaravi Differential Revision: D34892598 fbshipit-source-id: a8b23bfac1357bdc11bbbf752098319142239804
-
- 09 Mar, 2022 2 commits
-
-
Jeremy Reizenstein authored
Summary: As reported in https://github.com/facebookresearch/pytorch3d/pull/1100, a rasterizer couldn't be moved if it was missing the optional cameras member. Fix that. This matters because the renderer.to calls rasterizer.to, so this to() could be called even by a user who never sets a cameras member. Reviewed By: nikhilaravi Differential Revision: D34643841 fbshipit-source-id: 7e26e32e8bc585eb1ee533052754a7b59bc7467a
-
Jeremy Reizenstein authored
Summary: As reported in https://github.com/facebookresearch/pytorch3d/pull/1100, _num_faces_per_mesh was changing in the source mesh in join_batch. This affects both TexturesUV and TexturesAtlas Reviewed By: nikhilaravi Differential Revision: D34643675 fbshipit-source-id: d67bdaca7278f18a76cfb15ba59d0ea85575bd36
-
- 28 Feb, 2022 1 commit
-
-
Andres Suarez authored
Reviewed By: zsol Differential Revision: D34526295 fbshipit-source-id: f511370dc3186bc396d68a2e6d5e0931facbeb42
-
- 25 Feb, 2022 2 commits
-
-
Winnie Lin authored
Summary: 1. changed IsInsideTriangle in geometry_utils to take in min_triangle_area parameter instead of hardcoded value 2. updated point_mesh_cpu.cpp and point_mesh_cuda.[h/cu] to adapt to changes in geometry_utils function signatures 3. updated point_mesh_distance.py and test_point_mesh_distance.py to modify _C. calls Reviewed By: bottler Differential Revision: D34459764 fbshipit-source-id: 0549e78713c6d68f03d85fb597a13dd88e09b686
-
Jeremy Reizenstein authored
Summary: Small changes discovered based on circleCI failures. Reviewed By: patricklabatut Differential Revision: D34426807 fbshipit-source-id: 819860f34b2f367dd24057ca7490284204180a13
-
- 21 Feb, 2022 3 commits
-
-
Georgia Gkioxari authored
Summary: Small fix by adjusting the area `eps` to account for really small faces when computing point to face distances Reviewed By: bottler Differential Revision: D34331336 fbshipit-source-id: 51c4888ea46fefa4e31d5b0bb494a9f9d77813cd
-
Georgia Gkioxari authored
Summary: Lower the epsilon value in the IoU3D calculation to fix small numerical issue from GH#1082 Reviewed By: bottler Differential Revision: D34371597 fbshipit-source-id: 12443fa359b7755ef4ae60e9adf83734a1a295ae
-
Jeremy Reizenstein authored
Summary: Fix tests which depended on output tensors being identical to input ones, which now fail in main PyTorch branch because of some change in autograd. The functions still work in-place. Reviewed By: patricklabatut Differential Revision: D34375817 fbshipit-source-id: 295ae195f75eab6c7abab412c997470d8de8add1
-
- 18 Feb, 2022 1 commit
-
-
Alex Greene authored
Summary: Modified the compositor background color tests to account for either a 3rd or 4th channel. Also replaced hard coding of channel value with C. Implemented changes to alpha channel appending logic, and cleaned up extraneous warnings and checks, per task instructions. Fixes https://github.com/facebookresearch/pytorch3d/issues/1048 Reviewed By: bottler Differential Revision: D34305312 fbshipit-source-id: 2176c3bdd897d1a2ba6ff4c6fa801fea889e4f02
-
- 15 Feb, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: Add a test for Transform3d.stack, and make it work with composed transformations. Fixes https://github.com/facebookresearch/pytorch3d/issues/1072 . Reviewed By: patricklabatut Differential Revision: D34211920 fbshipit-source-id: bfbd0895494ca2ad3d08a61bc82ba23637e168cc
-
- 14 Feb, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: Move this simple layer from the NeRF project into pytorch3d. Reviewed By: shapovalov Differential Revision: D34126972 fbshipit-source-id: a9c6d6c3c1b662c1b844ea5d1b982007d4df83e6
-
- 10 Feb, 2022 1 commit
-
-
Sergei Ovchinnikov authored
Summary: When there is no "usemtl" statement in the .obj file use material from .mtl if there is one. https://github.com/facebookresearch/pytorch3d/issues/1068 Reviewed By: bottler Differential Revision: D34141152 fbshipit-source-id: 7a5b5cc3f0bb287dc617f68de2cd085db8f7ad94
-
- 09 Feb, 2022 1 commit
-
-
David Novotny authored
Summary: Implements a utility function to convert from 2D coordinates in Pytorch3D NDC space to the coordinates in grid_sample. Reviewed By: shapovalov Differential Revision: D33741394 fbshipit-source-id: 88981653356588fe646e6dea48fe7f7298738437
-
- 24 Jan, 2022 3 commits
-
-
Jeremy Reizenstein authored
Summary: Use existing workaround for batched 3x3 symeig because it is faster than torch.symeig. Added benchmark showing speedup. True = workaround. ``` Benchmark Avg Time(μs) Peak Time(μs) Iterations -------------------------------------------------------------------------------- normals_True_3000 16237 17233 31 normals_True_6000 33028 33391 16 normals_False_3000 18623069 18623069 1 normals_False_6000 36535475 36535475 1 ``` Should help https://github.com/facebookresearch/pytorch3d/issues/988 Reviewed By: nikhilaravi Differential Revision: D33660585 fbshipit-source-id: d1162b277f5d61ed67e367057a61f25e03888dce
-
Jeremy Reizenstein authored
Summary: Migrate away from NDCGridRaysampler and GridRaysampler to their more flexible replacements. Reviewed By: patricklabatut Differential Revision: D33281584 fbshipit-source-id: 65f8702e700a32d38f7cd6bda3924bb1707a0633
-
Jeremy Reizenstein authored
Summary: New MultinomialRaysampler succeeds GridRaysampler bringing masking and subsampling. Correspondingly, NDCMultinomialRaysampler succeeds NDCGridRaysampler. Reviewed By: nikhilaravi, shapovalov Differential Revision: D33256897 fbshipit-source-id: cd80ec6f35b110d1d20a75c62f4e889ba8fa5d45
-
- 21 Jan, 2022 2 commits
-
-
Jeremy Reizenstein authored
Summary: Fix https://github.com/facebookresearch/pytorch3d/issues/1021 that cameras_from_opencv_projection always creates on CPU. Reviewed By: nikhilaravi Differential Revision: D33508211 fbshipit-source-id: fadebd45cacafd633af6a58094cf6f654529992c
-
Jeremy Reizenstein authored
Summary: Function to join a list of cameras objects into a single batched object. FB: In the next diff I will remove the `concatenate_cameras` function in implicitron and update the callsites. Reviewed By: nikhilaravi Differential Revision: D33198209 fbshipit-source-id: 0c9f5f5df498a0def9dba756c984e6a946618158
-
- 20 Jan, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: convert_to_tensors_and_broadcast had a special case for a single input, which is not used anywhere except fails to do the right thing if a TensorProperties has only one kwarg. At the moment AmbientLights may be the only way to hit the problem. Fix by removing the special case. Fixes https://github.com/facebookresearch/pytorch3d/issues/1043 Reviewed By: nikhilaravi Differential Revision: D33638345 fbshipit-source-id: 7a6695f44242e650504320f73b6da74254d49ac7
-
- 07 Jan, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: The following snippet should work in more cases. point_cloud = Pointclouds( [pcl.points_packed() for pcl in point_clouds], features=[pcl.features_packed() for pcl in point_clouds], ) We therefore allow features and normals inputs to be lists which contain some (but not all) Nones. The initialization of a Pointclouds from empty data is also made a bit better now at working out how many feature channels there are. Reviewed By: davnov134 Differential Revision: D31795089 fbshipit-source-id: 54bf941ba80672d699ffd5ac28927740e830f8ab
-
- 04 Jan, 2022 2 commits
-
-
Jeremy Reizenstein authored
Summary: Manual adjustments for license changes. Reviewed By: patricklabatut Differential Revision: D33405657 fbshipit-source-id: 8a21735726f3aece9f9164da9e3b272b27db8032
-
Jeremy Reizenstein authored
Summary: Update all FB license strings to the new format. Reviewed By: patricklabatut Differential Revision: D33403538 fbshipit-source-id: 97a4596c5c888f3c54f44456dc07e718a387a02c
-
- 21 Dec, 2021 4 commits
-
-
Nikhila Ravi authored
Summary: Moved `HarmonicEmbedding` function in core PyTorch3D. In the next diff will update the NeRF project. Reviewed By: bottler Differential Revision: D32833808 fbshipit-source-id: 0a12ccd1627c0ce024463c796544c91eb8d4d122
-
Nikhila Ravi authored
Summary: Added a custom `__getitem__` method to `CamerasBase` which returns an instance of the appropriate camera instead of the `TensorAccessor` class. Long term we should deprecate the `TensorAccessor` and the `__getitem__` method on `TensorProperties` FB: In the next diff I will update the uses of `select_cameras` in implicitron. Reviewed By: bottler Differential Revision: D33185885 fbshipit-source-id: c31995d0eb126981e91ba61a6151d5404b263f67
-
Nikhila Ravi authored
Summary: Function to join a list of pointclouds as a batch similar to the corresponding function for Meshes. Reviewed By: bottler Differential Revision: D33145906 fbshipit-source-id: 160639ebb5065e4fae1a1aa43117172719f3871b
-
Jeremy Reizenstein authored
Summary: Fix some comments to match the recent change to transform_points_screen. Reviewed By: patricklabatut Differential Revision: D33243697 fbshipit-source-id: dc8d182667a9413bca2c2e3657f97b2f7a47c795
-
- 18 Dec, 2021 1 commit
-
-
Georgia Gkioxari authored
Summary: A small numerical fix for IoU for 3D boxes, fixes GH #992 * Adds a check for boxes with zero side areas (invalid boxes) * Fixes numerical issue when two boxes have coplanar sides Reviewed By: nikhilaravi Differential Revision: D33195691 fbshipit-source-id: 8a34b4d1f1e5ec2edb6d54143930da44bdde0906
-
- 07 Dec, 2021 3 commits
-
-
Jeremy Reizenstein authored
Summary: Demonstrate current behavior of pixels with new tests of all renderers. Reviewed By: gkioxari Differential Revision: D32651141 fbshipit-source-id: 3ca30b4274ed2699bc5e1a9c6437eb3f0b738cbf
-
Jeremy Reizenstein authored
Summary: All the renderers in PyTorch3D (pointclouds including pulsar, meshes, raysampling) use align_corners=False style. NDC space goes between the edges of the outer pixels. For a non square image with W>H, the vertical NDC space goes from -1 to 1 and the horizontal from -W/H to W/H. However it was recently pointed out that functionality which deals with screen space inside the camera classes is inconsistent with this. It unintentionally uses align_corners=True. This fixes that. This would change behaviour of the following: - If you create a camera in screen coordinates, i.e. setting in_ndc=False, then anything you do with the camera which touches NDC space may be affected, including trying to use renderers. The transform_points_screen function will not be affected... - If you call the function “transform_points_screen” on a camera defined in NDC space results will be different. I have illustrated in the diff how to get the old results from the new results but this probably isn’t the right long-term solution.. Reviewed By: gkioxari Differential Revision: D32536305 fbshipit-source-id: 377325a9137282971dcb7ca11a6cba3fc700c9ce
-
Jeremy Reizenstein authored
Summary: Move benchmarks to a separate directory as tests/ is getting big. Reviewed By: nikhilaravi Differential Revision: D32885462 fbshipit-source-id: a832662a494ee341ab77d95493c95b0af0a83f43
-
- 06 Dec, 2021 1 commit
-
-
Roman Shapovalov authored
Summary: As subj. Tests corrected accordingly. Also changed the test to provide a bit better diagnostics. Reviewed By: bottler Differential Revision: D32879498 fbshipit-source-id: 0a852e4a13dcb4ca3e54d71c6b263c5d2eeaf4eb
-