pyg-team / pytorch_geometric

Graph Neural Network Library for PyTorch
https://pyg.org
MIT License
21.03k stars 3.62k forks source link

PointConv example with Joint Alignment Network #353

Open victor000000 opened 5 years ago

victor000000 commented 5 years ago

🚀 Feature

In origin Pointnet paper, there's two Joint Alignment Networks.

In the classification roadmap: the input -> input transform -> the first MLP layer -> feature transform -> the second MLP layer -> maxpooling layer -> MLP layer -> k output scores

In examples/pointnet2_classification.py, where the 54 line: self.sa1_module = SAModule(0.5, 0.2, MLP([3, 64, 64, 128])) where the 43 line: def MLP( .... where the 45 line: Seq(Lin(channels[i - 1], channels[i]), ReLU(), BN(channels[i])

There's no clue that the code implementing the Joint Alignment Networks in the original paper

where is the Joint Alignment Networks in the pointnet++ classification/segmentation implementation, in examples/pointnet2_classification.py and examples/pointnet2_segmentation.py

or

for some reason, there's no need to implement the Joint Alignment Networks why ignore them? for time efficiency?

rusty1s commented 5 years ago

It is not integrated. Especially on ModelNet10 this shouldn‘t be necessary due to already aligned input models. However, it should be quite easy to integrate this.

victor000000 commented 5 years ago

by the way, I found only SSG of pointnet++ is implemented. MSG and MRG is not implemented

As the original paper PointNet++: '3.3 Robust Feature Learning under Non-Uniform Sampling Density', mentioned, MSG and MRG is useful for Non-Uniform Density of point cloud

maybe I will implement MSG for my own dataset, and make a pull request. I'm also implementing the Sementic3D dataset inherits from PyG Dataset class

Thanks for the excellent PyG work !

rusty1s commented 5 years ago

Looking forward to your contribution :)