Pytorch3d: Adding support for non-watertight meshes

Created on 27 Apr 2020  路  3Comments  路  Source: facebookresearch/pytorch3d

馃殌 Feature: Expanding support to non-watertight meshes

pytorch3d has several bugs when working with non-watertight meshes, for example a simple plane. For instance dividing the number of faces is not supported in this case.

Motivation

Watertight meshes are useful but limited in the shapes the can take, there are also shapes like torus which are more flexible in theory but still will result in limited 3d volumes. Moreover adding support for more general meshes early will be easier than refactoring later to support different shapes.

Pitch

Some useful functions which should have support are loading_obj (which I have found it fails sometimes although I am not sure that is because the mesh is a non-watertight mesh) and in general the io module, also ops.SubdivideMeshes, and losses as well. As I said, adding support for generic meshes will be easier to do at the beginning than after expanding the functionality of the library significantly.

enhancement how to

Most helpful comment

I tried to load and divide a simple plane mesh using pytorch and it failed in both cases. So that is why I assumed there was no support for non-watertight meshes. I replicated it and regarding sub-diving the plane it was a mistake from my side and regarding loading the plane it was a problem with the format from blender, so no need for this issue. Thanks for the quick response. Keep up the hard work and thanks for pytorch3d :blush:

All 3 comments

Hi @NotAnyMike
Can you give us concrete bugs of where PyTorch3D fails with non-watertight meshes. You are not mentioning anything concrete in your post, so I am having difficulty understanding what you mean. Actually, all operators of PyTorch3D do not assume watertight meshes. We assume triangular meshes and that's about it. So I would love to have a list of concrete issues that you have identified with code for reproducibility.

A simple plane can be represented in PyTorch3D with Meshes with a collection of triangular faces. So I am not sure what you mean. To move forward and deal with your questions effectively, we will need some code snippets where PyTorch3D fails to do what you wish.

I tried to load and divide a simple plane mesh using pytorch and it failed in both cases. So that is why I assumed there was no support for non-watertight meshes. I replicated it and regarding sub-diving the plane it was a mistake from my side and regarding loading the plane it was a problem with the format from blender, so no need for this issue. Thanks for the quick response. Keep up the hard work and thanks for pytorch3d :blush:

Great! I will close this issue!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

unlugi picture unlugi  路  3Comments

ldepn picture ldepn  路  3Comments

OmriKaduri picture OmriKaduri  路  3Comments

AndreiBarsan picture AndreiBarsan  路  3Comments

TSKongLingwei picture TSKongLingwei  路  3Comments