Skip to content

Surface normal estimation from point cloud is too SLOW #825

@qiyan98

Description

@qiyan98

❓ Questions on how to use PyTorch3D

Hi there,

I try to compute the surface normal from the 3D point clouds in a differentiable way. pytorch3d supports this functionality, and so does other alternative such as kornia (not exactly the same but similar function is included). So, I tested the runtime performance with a sample point cloud, and it turned out that kornia is way faster than pytorch3d, probably because of its algorithm simplicity. Then I compare pytorch3d with open3d using the same point cloud. Yet the non-differentiable open3d algorithm is still way faster.

Please see the colab at for implementation details: https://colab.research.google.com/drive/1c1TyrC5ZWX-aVi7-jfb094RO-J30zCXQ?usp=sharing
The runtime performance difference is fairly easy to tell. In my last run, I got:
pytorch3d: 48.9s
kornia: 0.004s
open3d: 2.4s

I am curious why this is the case, and I would appreciate any suggestions on how to improve the speed.

Many thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    StalequestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions