Giter VIP home page Giter VIP logo

rubenwiersma / deltaconv Goto Github PK

View Code? Open in Web Editor NEW
137.0 137.0 8.0 34.22 MB

Code for the SIGGRAPH 2022 paper "DeltaConv: Anisotropic Operators for Geometric Deep Learning on Point Clouds."

License: MIT License

CMake 0.02% Python 5.11% C++ 0.14% Jupyter Notebook 94.69% Shell 0.04%
differential-geometry geometric-deep-learning graph-learning point-cloud point-cloud-classification point-cloud-segmentation pytorch

deltaconv's People

Contributors

rubenwiersma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

deltaconv's Issues

Implementation of the derivatives of \gamma(u, v) in Eq (15)

Hi @rubenwiersma,
Thx for sharing this excellent work.
While I was going through the paper details, I got confused by the implementation of $\partial_{u} \Gamma\left(u_{j}, v_{j}\right) \text{ and } \partial_{v} \Gamma\left(u_{j}, v_{j}\right)$ in these two lines L173-174.
Why is the implementation different from that of grad? Can u plz give detailed mathematical expressions for this?

coordinate-independency breaks when using xyz-coordinates as input

Hi, thanks for your excellent work,
I do some simple tests feeding rotated point clouds into DeltaNetSegmentation
it seems coordinate-independency breaks(output features are different) when using xyz-coordinates as input scalar field,
is it an expected behavior?
should we set constant values to each node to guarantee coordinate-independency?

here is my test code:

    # coordinate independent
    model = deltaconv.models.DeltaNetSegmentation(1, 256).to('cuda')
    # not coordinate independent
    # model = deltaconv.models.DeltaNetSegmentation(3, 256).to('cuda')
    torch.set_printoptions(precision=2, threshold=10)
    pos = torch.randn(100, 3).cuda() 
    batch_ids = torch.zeros(100).cuda().long()
    input = torch.ones(100,1).cuda()
    for R in RandomRotations():
        pos_r = pos @ R
        # coordinate independent
        feats = model(DataSeg(pos_r, batch_ids, input))
        # not coordinate independent
        # feats = model(DataSeg(pos_r, batch_ids))
        print(torch.sum(feats, dim=0).detach())
        print(feats[5:8].detach())

Visualization of the scalar- or vector features

Hi, first of all thanks for sharing the great work!
I am quite interested in the visualization of the single scalar- or vector feature of each layer (figure 5 in the paper). Can you please also release the codes for the visualization? Thanks a lot!

possibly redundant "`from tkinter import W`" in transforms/__init__.py

In transforms/__init__.py, there is from tkinter import W. This import seems out of place. Can you please confirm?

This actually caused a issue when using in a docker container with python 3.8.

  File "/home/algorithm/.local/lib/python3.8/site-packages/deltaconv/__init__.py", line 4, in <module> 
    from . import transforms
  File "/home/algorithm/.local/lib/python3.8/site-packages/deltaconv/transforms/__init__.py", line 1, in <module>
    from tkinter import W
  File "/opt/conda/lib/python3.8/tkinter/__init__.py", line 36, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: libX11.so.6: cannot open shared object file: No such file or directory

Can it be designed to judge whether the point cloud is perpendicular to a certain plane

This work is very interesting, I think if I have a group of point clouds with different shapes but all perpendicular to the xy plane (similar to walls with various shapes perpendicular to the ground), can I use your algorithm directly to determine how much they are perpendicular to the ground (some walls are not exactly perpendicular to the ground)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.