"vscode:/vscode.git/clone" did not exist on "e92334255e48b557e699e94b2d560bf0d88f6e7c"
- 15 Jun, 2022 1 commit
-
-
Pyre Bot Jr authored
Differential Revision: D37172764 fbshipit-source-id: a2ec367e56de2781a17f5e708eb5832ec9d7e6b4
-
- 26 May, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: Fix divide by zero for empty pointcloud in chamfer. Also for empty batches. In process, needed to regularize num_points_per_cloud for empty batches. Reviewed By: kjchalup Differential Revision: D36311330 fbshipit-source-id: 3378ab738bee77ecc286f2110a5c8dc445960340
-
- 13 Apr, 2022 1 commit
-
-
Tim Hatch authored
Summary: Applies new import merging and sorting from µsort v1.0. When merging imports, µsort will make a best-effort to move associated comments to match merged elements, but there are known limitations due to the diynamic nature of Python and developer tooling. These changes should not produce any dangerous runtime changes, but may require touch-ups to satisfy linters and other tooling. Note that µsort uses case-insensitive, lexicographical sorting, which results in a different ordering compared to isort. This provides a more consistent sorting order, matching the case-insensitive order used when sorting import statements by module name, and ensures that "frog", "FROG", and "Frog" always sort next to each other. For details on µsort's sorting and merging semantics, see the user guide: https://usort.readthedocs.io/en/stable/guide.html#sorting Reviewed By: bottler Differential Revision: D35553814 fbshipit-source-id: be49bdb6a4c25264ff8d4db3a601f18736d17be1
-
- 11 Apr, 2022 3 commits
-
-
Krzysztof Chalupka authored
Summary: Add submeshing capability for meshes with TexturesVertex. Reviewed By: bottler Differential Revision: D35448534 fbshipit-source-id: 6d16a31a5bfb24ce122cf3c300a7616bc58353d1
-
Krzysztof Chalupka authored
Summary: Copypasting the docstring: ``` Split a mesh into submeshes, defined by face indices of the original Meshes object. Args: face_indices: Let the original mesh have verts_list() of length N. Can be either - List of length N. The n-th element is a list of length num_submeshes_n (empty lists are allowed). Each element of the n-th sublist is a LongTensor of length num_faces. - List of length N. The n-th element is a possibly empty padded LongTensor of shape (num_submeshes_n, max_num_faces). Returns: Meshes object with selected submeshes. The submesh tensors are cloned. Currently submeshing only works with no textures or with the TexturesVertex texture. Example: Take a Meshes object `cubes` with 4 meshes, each a translated cube. Then: * len(cubes) is 4, len(cubes.verts_list()) is 4, len(cubes.faces_list()) is 4, * [cube_verts.size for cube_verts in cubes.verts_list()] is [8, 8, 8, 8], * [cube_faces.size for cube_faces in cubes.faces_list()] if [6, 6, 6, 6], Now let front_facet, top_and_bottom, all_facets be LongTensors of sizes (2), (4), and (12), each picking up a number of facets of a cube by specifying the appropriate triangular faces. Then let `subcubes = cubes.submeshes([[front_facet, top_and_bottom], [], [all_facets], []])`. * len(subcubes) is 3. * subcubes[0] is the front facet of the cube contained in cubes[0]. * subcubes[1] is a mesh containing the (disconnected) top and bottom facets of cubes[0]. * subcubes[2] is a clone of cubes[2]. * There are no submeshes of cubes[1] and cubes[3] in subcubes. * subcubes[0] and subcubes[1] are not watertight. subcubes[2] is. ``` Reviewed By: bottler Differential Revision: D35440657 fbshipit-source-id: 8a6d2d300ce226b5b9eb440688528b5e795195a1 -
Krzysztof Chalupka authored
Summary: The default behavior of Meshes (with verts=None, faces=None) throws an exception: ``` meshes = Meshes() > ValueError: Verts and Faces must be either a list or a tensor with shape (batch_size, N, 3) where N is either the maximum number of verts or faces respectively. ``` Instead, let's default to an empty mesh, following e.g. PyTorch: ``` empty_tensor = torch.FloatTensor() > torch.tensor([]) ``` this change is backwards-compatible (you can still init with verts=[], faces=[]). Reviewed By: bottler, nikhilaravi Differential Revision: D35443453 fbshipit-source-id: d638a8fef49a089bf0da6dd2201727b94ceb21ec
-
- 25 Feb, 2022 2 commits
-
-
Jeremy Reizenstein authored
Summary: Small changes discovered based on circleCI failures. Reviewed By: patricklabatut Differential Revision: D34426807 fbshipit-source-id: 819860f34b2f367dd24057ca7490284204180a13
-
Jeremy Reizenstein authored
Summary: There are cases where importing pytorch3d seems to fail (internally at Meta) because of a clash between the builtin types module and ours, so rename ours. Reviewed By: patricklabatut Differential Revision: D34426817 fbshipit-source-id: f175448db6a4967a9a3f7bb6f595aad2ffb36455
-
- 03 Feb, 2022 1 commit
-
-
Pyre Bot Jr authored
Reviewed By: shannonzhu Differential Revision: D33970393 fbshipit-source-id: 9b4dfaccfc3793fd37705a923d689cb14c9d26ba
-
- 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
-
- 06 Jan, 2022 1 commit
-
-
Jeremy Reizenstein authored
Summary: Fix https://github.com/facebookresearch/pytorch3d/issues/1015. Stop relying on the fact that the dtype returned by np.random.choice (int64 on Linux, int32 on Windows) matches the dtype used by pytorch for indexing (int64 everywhere). Reviewed By: patricklabatut Differential Revision: D33428680 fbshipit-source-id: 716c857502cd54c563cb256f0eaca7dccd535c10
-
- 04 Jan, 2022 1 commit
-
-
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 1 commit
-
-
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
-
- 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
-
- 23 Nov, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Fix some typos in comments. Reviewed By: patricklabatut Differential Revision: D32596645 fbshipit-source-id: 09b6d8c49f4f0301b80df626c6f9a2d5b5d9b1a7
-
- 10 Nov, 2021 1 commit
-
-
Pyre Bot Jr authored
Differential Revision: D32310496 fbshipit-source-id: fa1809bbe0b999baee6d07fad3890dc8c2a2157b
-
- 28 Oct, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Make clear that features_padded() etc can return None Reviewed By: patricklabatut Differential Revision: D31795088 fbshipit-source-id: 7b0bbb6f3b7ad7f7b6e6a727129537af1d1873af
-
- 08 Oct, 2021 1 commit
-
-
Pyre Bot Jr authored
Differential Revision: D31496551 fbshipit-source-id: 705fd88f319875db3f7938a2946c48a51ea225f5
-
- 02 Oct, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: New function to randomly subsample Pointclouds to a maximum size. Reviewed By: nikhilaravi Differential Revision: D30936533 fbshipit-source-id: 789eb5004b6a233034ec1c500f20f2d507a303ff
-
- 26 Jun, 2021 1 commit
-
-
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
-
- 24 Jun, 2021 2 commits
-
-
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
-
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
-
- 22 Jun, 2021 1 commit
-
-
Patrick Labatut authored
Summary: License lint codebase Reviewed By: theschnitz Differential Revision: D29001799 fbshipit-source-id: 5c59869911785b0181b1663bbf430bc8b7fb2909
-
- 11 Jun, 2021 1 commit
-
-
Nikhila Ravi authored
Summary: When textures are set on `Meshes` we need to check if the dimensions actually match that of the verts/faces in the mesh. There was a github issue where someone tried to set the attribute after construction of the `Meshes` object and ran into an error when trying to sample textures. The desired usage is to initialize the class with the textures (not set an attribute afterwards) but in any case we need to check the dimensions match before sampling textures. Reviewed By: bottler Differential Revision: D29020249 fbshipit-source-id: 9fb8a5368b83c9ec53652df92b96fc8b2613f591
-
- 09 Jun, 2021 4 commits
-
-
Patrick Labatut authored
Summary: Tidy uses of `torch.device` in `Volumes`: - Allow `str` or `torch.device` in `Volumes.to()` method - Consistently use `torch.device` for internal type - Fix comparison of devices Reviewed By: nikhilaravi Differential Revision: D28970876 fbshipit-source-id: c640cc22ced684a54cc450ac38a0f4b3435d47be
-
Patrick Labatut authored
Summary: Tidy uses of `torch.device` in `Pointclouds`: - Allow `str` or `torch.device` in `Pointclouds.to()` method - Consistently use `torch.device` for internal type - Fix comparison of devices Reviewed By: nikhilaravi Differential Revision: D28970221 fbshipit-source-id: 3ca7104d4c0d9b20b0cff4f00e3ce931c5f1528a
-
Patrick Labatut authored
Summary: Tidy uses of `torch.device` in `Meshes`: - Allow `str` or `torch.device` in `Meshes.to()` method - Consistently use `torch.device` for internal type - Fix comparison of devices Reviewed By: nikhilaravi Differential Revision: D28969461 fbshipit-source-id: 16d3c1f5458954bb11fdf0efea88542e94dccd7a
-
Patrick Labatut authored
Summary: Improve type annotations for volumes and remove a few pyre fixmes Reviewed By: nikhilaravi Differential Revision: D28943371 fbshipit-source-id: ca2b7a50d72a392910e65cee5e564f34523414d2
-
- 08 Jun, 2021 1 commit
-
-
Patrick Labatut authored
Summary: All classes implicitly inherit from `object` since Python 3, so remove unnecessary explicit inheritance. From the [official documentation](https://docs.python.org/3/library/functions.html#object): > `object` is a base for all classes. Reviewed By: nikhilaravi Differential Revision: D28942595 fbshipit-source-id: 466c0d19d8a93a6263e7ad734c3e87160cfa6066
-
- 04 May, 2021 4 commits
-
-
Jeremy Reizenstein authored
Summary: Add ability to ask a Meshes if it already has normals. If it does, then requesting normals will not trigger a calculation. MeshesFormatInterpreters will therefore be able to decide whether to save normals. Reviewed By: theschnitz, nikhilaravi Differential Revision: D27765261 fbshipit-source-id: 7c87dbf999d5616d20f5eb2c01039ee5ff65a830
-
Jeremy Reizenstein authored
Summary: Add ability to set the vertex normals when creating a Meshes, so that the pluggable loaders can return them from a file. Reviewed By: nikhilaravi Differential Revision: D27765258 fbshipit-source-id: b5ddaa00de3707f636f94d9f74d1da12ecce0608
-
Jeremy Reizenstein authored
Summary: If offset_verts_ is used to move meshes with a single vector, the normals won't change so don't need to recalculate. I am planning to allow user-specified vertex normals. This change means that user-specified vertex normals won't get overwritten when they don't need to be. Reviewed By: nikhilaravi Differential Revision: D27765256 fbshipit-source-id: f6e4d308ac9ac023030325cb75a18d39b966cf88
-
Jeremy Reizenstein authored
Summary: There is no need to recalculate normals when scaling a mesh by a constant. We omit doing this for vertex normals. This will make things less confusing when we allow user-specified vertex normals. Face normals also don't need recalculating, but they are calculated at the same time as face areas which do, so it is easiest not to change their behavior here. That is convenient because we are not immediately planning to allow user-specified face normals. Reviewed By: nikhilaravi Differential Revision: D27793476 fbshipit-source-id: 827f1be4bc78bf0391ce3959cce48c4f3ee326fe
-
- 17 Apr, 2021 1 commit
-
-
Wanchao Liang authored
Reviewed By: divchenko Differential Revision: D27835360 fbshipit-source-id: cbb23793ee57382e43bd65bd40cfeb2820c6eec2
-
- 09 Apr, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Collection of spelling things, mostly in docs / tutorials. Reviewed By: gkioxari Differential Revision: D26101323 fbshipit-source-id: 652f62bc9d71a4ff872efa21141225e43191353a
-
- 02 Feb, 2021 1 commit
-
-
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
-
- 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 1 commit
-
-
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
-
- 07 Jan, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Unified interface for loading and saving meshes and pointclouds. Reviewed By: nikhilaravi Differential Revision: D25372968 fbshipit-source-id: 6fe57cc3704a89d81d13e959bee707b0c7b57d3b
-
- 05 Jan, 2021 1 commit
-
-
generatedunixname89002005307016 authored
Differential Revision: D25781183 fbshipit-source-id: e27808a4c2b94bba205756001cb909827182b592
-