- 22 Oct, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: Fix axis_angle conversions where I used torch.square which doesn't work with pytorch 1.4 Reviewed By: nikhilaravi Differential Revision: D24451546 fbshipit-source-id: ba26f7dad5fa991f0a8f7d3d09ee7151163aecf4
-
- 21 Oct, 2020 6 commits
-
-
Jeremy Reizenstein authored
Summary: We can represent a rotation as a vector in the axis direction, whose length is the rotation anticlockwise in radians around that axis. Reviewed By: gkioxari Differential Revision: D24306293 fbshipit-source-id: 2e0f138eda8329f6cceff600a6e5f17a00e4deb7
-
Amitav Baruah authored
Summary: Take in a renderer with camera(s) and render the cameras as wireframes in the corresponding plotly plots Reviewed By: nikhilaravi Differential Revision: D24151706 fbshipit-source-id: f8e86d61f3d991500bafc0533738c79b96bda630
-
Amitav Baruah authored
Summary: Use a provided renderer's camera positions to render a plotly plot to match what the renderer would render for pointclouds and meshes. - takes in a Cameras object for viewpoints - for each subplot, will index into the Cameras object (or use the Cameras object, if len(viewpoint_cameras) == 1 and use the Cameras' eye and at vectors to set plotly's camera's corresponding values, the eye and center values. Reviewed By: nikhilaravi Differential Revision: D24094934 fbshipit-source-id: 48abcdb04c6909a172ba9f721522c3446952a089
-
Amitav Baruah authored
Summary: Change the two affected tutorials to use plot_scene and plot_batch_individually. Reviewed By: nikhilaravi Differential Revision: D24235480 fbshipit-source-id: ca9d73bfb7ccf733efaf16299c15927406d7f2aa
-
Amitav Baruah authored
Summary: - adds plot_batch_individually - for each batched object, plots each object in its own subplot with other same-indexed elements of the other batched objects provided as input Reviewed By: nikhilaravi Differential Revision: D24258389 fbshipit-source-id: a80128e6e7a03a44c257b0598569159afadb2d39
-
Amitav Baruah authored
Summary: Defines a function plot_scene that takes in a dictionary defining subplot and trace layouts for Mesh/Pointcloud objects and plots them. Also supports other plotly axis arguments and mesh lighting. Plot_batch_individually is a wrapper function that takes in one or multiple batched Meshes/Pointclouds and uses plot_scene to plot each element within a batch in an individual subplot, possibly sharing that subplot with traces of other individual elements of the other batched structures passed in. Reviewed By: nikhilaravi Differential Revision: D24235479 fbshipit-source-id: 9f669f1b186d55fe5c75552083316c0cf1387472
-
- 20 Oct, 2020 2 commits
-
-
Jeremy Reizenstein authored
Summary: As pointed out in #328, we had an indexing operation where a reshape would do and be faster. The resulting faces_packed_to_edges_packed is no longer contiguous. Also fix a use of faces_packed_to_edges_packed which might modify the object unintentionally. Reviewed By: theschnitz Differential Revision: D24390292 fbshipit-source-id: 225677d8fcc1d6b76efad7706718ecdb5182ffe1
-
Nikhila Ravi authored
Summary: Added images for four tutorials to add to the README. Reviewed By: gkioxari Differential Revision: D24411993 fbshipit-source-id: 5f0b2256efb156b5956013c26b8ddb1631bd1c46
-
- 18 Oct, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: The linter has become stricter about the indenting of comments and docstrings. This was accompanied by a codemod. In a few places we can fix the problem nicer than the codemod has. Reviewed By: gkioxari Differential Revision: D24363880 fbshipit-source-id: 4cff3bbe3d2a834bc92a490469a2b24fa376e6ab
-
- 16 Oct, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Small fix and updated tests for multigpu rendering case. This resolves the issue seen in: https://github.com/facebookresearch/pytorch3d/issues/401 Reviewed By: gkioxari Differential Revision: D24314681 fbshipit-source-id: 84c5a5359844c77518b48044001daa9a86f3c43a
-
- 15 Oct, 2020 2 commits
-
-
Jeremy Reizenstein authored
Summary: Issue #119. The function `sqrt(max(x, 0))` is not convex and has infinite gradient at 0, but 0 is a subgradient at 0. Here we implement it in such a way as to give 0 as the gradient. Reviewed By: gkioxari Differential Revision: D24306294 fbshipit-source-id: 48d136faca083babad4d64970be7ea522dbe9e09
-
John Reese authored
Summary: allow-large-files black_any_style Reviewed By: zertosh Differential Revision: D24325133 fbshipit-source-id: b4afe80d1e8b2bc993f4b8e3822c02964df47462
-
- 12 Oct, 2020 2 commits
-
-
Albhox authored
Summary: Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/386 Reviewed By: gkioxari Differential Revision: D24220501 Pulled By: nikhilaravi fbshipit-source-id: 5bb0014b46a89fde52c9aaccba0e3ba6d485430f
-
Jeremy Reizenstein authored
Summary: As mentioned in a comment on https://github.com/facebookresearch/pytorch3d/issues/77, we can't use this function in Python 3.6. It's easy to write our own version. Reviewed By: gkioxari Differential Revision: D24249915 fbshipit-source-id: 4c70a3efb03daa115041d082e616511297eab8fa
-
- 07 Oct, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Fix for GitHub issue #381. The example mesh provided in the issue only had material properties but no texture image. The current implementation of texture atlassing generated an atlas using both the material properties and the texture image but only worked if there was a texture image and associated vertex uv coordinates. I have now modified the texture atlas creation so that it doesn't require an image and can work with materials which only have material properties. Reviewed By: gkioxari Differential Revision: D24153068 fbshipit-source-id: 63e9d325db09a84b336b83369d5342ce588a9932
-
- 06 Oct, 2020 3 commits
-
-
Amitav Baruah authored
Summary: Importing from pytorch3d.visualization is wordy, so shortened the path to the vis module and updated the relevant imports. Reviewed By: nikhilaravi Differential Revision: D24116527 fbshipit-source-id: e0e4da7d48c5afedec07482d7be43362b6822445
-
Georgia Gkioxari authored
Summary: Enhance every texture type with `faces_verts_textures_packed` that allows users to query the texture of each vertex in mesh Reviewed By: nikhilaravi Differential Revision: D24058778 fbshipit-source-id: 19d0e3a244fa96aae462c47bf52e07dfd3b7c6f0
-
Georgia Gkioxari authored
Summary: Enhanced `sample_points_from_meshes` with texture sampling * This new feature is used to return textures corresponding to the sampled points in `sample_points_from_meshes` Reviewed By: nikhilaravi Differential Revision: D24031525 fbshipit-source-id: 8e5d8f784cc38aa391aa8e84e54423bd9fad7ad1
-
- 01 Oct, 2020 5 commits
-
-
Amitav Baruah authored
Summary: Add markdown note explaining why PyTorch3D has plotly visualizations, examples, and how to save these visualizations as an image. Reviewed By: nikhilaravi Differential Revision: D23976283 fbshipit-source-id: cbbaffd1f0ebe3466841e42fdb454d85773152cd
-
Amitav Baruah authored
Summary: Add examples of using the Plotly visualization functions to the corresponding tutorial notebooks. Reviewed By: nikhilaravi Differential Revision: D23879109 fbshipit-source-id: ea8c45aa6c828eb2f6ea2ae1c8846adc486f92e0
-
Amitav Baruah authored
Summary: Visualize a pointcloud in plotly. - customize lighting and light position - customizable axis arguments - customizable height and width of plotly figure - render batches in subplots or the same plot Reviewed By: nikhilaravi Differential Revision: D23872391 fbshipit-source-id: 9b1e1fd417500521be9d0eb85d71c77a538fa77c
-
Amitav Baruah authored
Summary: Visualize a mesh in a plotly figure. - customize lighting and light position - customizable axis arguments (x, y, z) - customizable height and width of plotly figure - render batches of meshes in subplots or in a singular plot Reviewed By: nikhilaravi Differential Revision: D22611960 fbshipit-source-id: 5dc5c55e599d5b0d9c38f22e156c662654099e11
-
Patrick Labatut authored
Summary: Fix a few linting warnings Reviewed By: nikhilaravi Differential Revision: D20720810 fbshipit-source-id: c5b6a25fdd7971cc8743b54bbe162464a874071d
-
- 29 Sep, 2020 1 commit
-
-
Eduardo Henrique Arnold authored
Summary: …between the projection on the y=0 plane and reference vector (0,0,1). Fixes https://github.com/facebookresearch/pytorch3d/issues/229 Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/251 Reviewed By: gkioxari Differential Revision: D23967073 Pulled By: nikhilaravi fbshipit-source-id: fb6f10d4b7f5e319d17e28b4316837205b637f5e
-
- 28 Sep, 2020 1 commit
-
-
generatedunixname89002005307016 authored
Differential Revision: D23970214 fbshipit-source-id: b6a328f53178304b36556b5cf96584467a7d2ce4
-
- 24 Sep, 2020 2 commits
-
-
Nikhila Ravi authored
Summary: Small documentation fix for FOVPerspectiveCamera. The error pointed out in the GitHub issue was due to the docs referring to the OpenGL z parameterization from [-1, 1] whereas we use the [0, 1] range. Reviewed By: gkioxari Differential Revision: D23857312 fbshipit-source-id: 2d20677ec614c935e76f67e100a41a23df708d59
-
Nikhila Ravi authored
Summary: Support for moving all the tensors of the renderer to another device by calling `renderer.to(new_device)` Currently the `MeshRenderer`, `MeshRasterizer` and `SoftPhongShader` (and other shaders) are all of type `nn.Module` which already supports easily moving tensors of submodules (defined as class attributes) to a different device. However the class attributes of the rasterizer and shader (e.g. cameras, lights, materials), are of type `TensorProperties`, not nn.Module so we need to explicity create a `to` method to move these tensors to device. Note that the `TensorProperties` class already has a `to` method so we only need to call `cameras.to(device)` and don't need to worry about the internal tensors. The other option is of course making these other classes (cameras, lights etc) also of type nn.Module. Reviewed By: gkioxari Differential Revision: D23885107 fbshipit-source-id: d71565c442181f739de4d797076ed5d00fb67f8e
-
- 23 Sep, 2020 3 commits
-
-
andrijazz authored
Summary: I'm constantly encountering 3D models with resources that have spaces in their filenames (especially on Windows) and therefore they can't be loaded in pytorch3d. Let me know what you think. Thanks Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/358 Reviewed By: bottler Differential Revision: D23798492 Pulled By: nikhilaravi fbshipit-source-id: 4d85b7ee05339486d2e5ef53a531f8e6052251c5
-
Nikhila Ravi authored
Summary: Tidy OBJ / MTL parsing: remove redundant calls to tokenize, factor out parsing and texture loading Reviewed By: gkioxari Differential Revision: D20720768 fbshipit-source-id: fb1713106d4ff99a4a9147afcc3da74ae013d8dc
-
Jeremy Reizenstein authored
Summary: This addresses #375. Change circleci mac version to 9.4.1 just like torchvision did in https://github.com/pytorch/vision/issues/2629 . Reviewed By: gkioxari Differential Revision: D23866112 fbshipit-source-id: c5019618bcb7da8f950123fee201beaad55fecab
-
- 21 Sep, 2020 3 commits
-
-
Amitav Baruah authored
Summary: Add a notebook demonstrating how to use Pytorch3D to render a textured mesh with the DensePose textures and the SMPL model {F336408690} Reviewed By: nikhilaravi Differential Revision: D23784314 fbshipit-source-id: c92f32fb9b9468eb7ec26bf58dcabb1f26d92e7b -
Jeremy Reizenstein authored
Summary: Fix map size in the comment. Reviewed By: gkioxari Differential Revision: D23813431 fbshipit-source-id: e0777beadd7473014c1b79ad9f850d10f3549599
-
Jeremy Reizenstein authored
Summary: Make save_ply save to binary instead of ascii. An option makes the previous functionality available. save_ply's API accepts a stream, but this is undocumented; that stream must now be a binary stream not a text stream. Avoiding warnings about making tensors from immutable numpy arrays. Possible performance improvement when reading binary files. Fix reading zero-length binary lists. Reviewed By: nikhilaravi Differential Revision: D22333118 fbshipit-source-id: b423dfd3da46e047bead200255f47a7707306811
-
- 19 Sep, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Support variable size pointclouds in the renderer API to allow compatibility with Pulsar rasterizer. If radius is provided as a float, it is converted to a tensor of shape (P). Otherwise radius is expected to be an (N, P_padded) dimensional tensor where P_padded is the max number of points in the batch (following the convention from pulsar: https://our.intern.facebook.com/intern/diffusion/FBS/browse/master/fbcode/frl/gemini/pulsar/pulsar/renderer.py?commit=ee0342850210e5df441e14fd97162675c70d147c&lines=50) Reviewed By: jcjohnson, gkioxari Differential Revision: D21429400 fbshipit-source-id: 65de7d9cd2472b27fc29f96160c33687e88098a2
-
- 17 Sep, 2020 1 commit
-
-
z003yctd authored
Summary: Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/362 Reviewed By: bottler Differential Revision: D23712242 Pulled By: nikhilaravi fbshipit-source-id: 1c4184c8482049991356be7dbc9755b0c2018a1d
-
- 16 Sep, 2020 1 commit
-
-
OrHayat authored
Summary: fixed small typo in update_padded function docstring. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/322 Reviewed By: gkioxari Differential Revision: D23712324 Pulled By: nikhilaravi fbshipit-source-id: fea3b68039644b236897c6f465cbb322c5c48085
-
- 14 Sep, 2020 2 commits
-
-
Amitav Baruah authored
Summary: Add cells to the rendering_colored_points tutorial showing how to initialize a renderer and compositor that will render pointclouds with a background color. {F333731292} {F334136799} Reviewed By: nikhilaravi Differential Revision: D23632503 fbshipit-source-id: e9ce0178b41e74baf912bd82ca1db41b680fc68f -
Amitav Baruah authored
Summary: Support rendering different color backgrounds for pointclouds for both compositors Reviewed By: nikhilaravi Differential Revision: D23611043 fbshipit-source-id: ab029650d51349340372c5bd66700e6577d48851
-
- 11 Sep, 2020 1 commit
-
-
David Novotny authored
Summary: Fixes a bug that initializes default SfMCameras with a default _R instead of default _T Reviewed By: gkioxari Differential Revision: D23654583 fbshipit-source-id: ccfb7235b2fb6df5a2e402b9fb4b194e97d78dc6
-