question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

PointNet implementation

See original GitHub issue

Hi, a PointNet-based network that processes each point in the masked 3D point cloud to a geometric feature embedding, said in the paper. But in the code implementation only convolution and ReLU of point cloud x in network.py. No spacial transform networks(STN) and maxpooling operation on point cloud. These are the two most important features of PointNet.

` Class PoseNetFeat (nn. Module): def init(self, num_points): super(PoseNetFeat, self).init() self.conv1 = torch.nn.Conv1d(3, 64, 1) self.conv2 = torch.nn.Conv1d(64, 128, 1)

    self.e_conv1 = torch.nn.Conv1d(32, 64, 1)
    self.e_conv2 = torch.nn.Conv1d(64, 128, 1)

    self.conv5 = torch.nn.Conv1d(256, 512, 1)
    self.conv6 = torch.nn.Conv1d(512, 1024, 1)

    self.ap1 = torch.nn.AvgPool1d(num_points)
    self.num_points = num_points
def forward(self, x, emb):
    x = F.relu(self.conv1(x))
    emb = F.relu(self.e_conv1(emb))
    pointfeat_1 = torch.cat((x, emb), dim=1)

    x = F.relu(self.conv2(x))
    emb = F.relu(self.e_conv2(emb))
    pointfeat_2 = torch.cat((x, emb), dim=1)

    x = F.relu(self.conv5(pointfeat_2))
    x = F.relu(self.conv6(x))

    ap_x = self.ap1(x)

    ap_x = ap_x.view(-1, 1024, 1).repeat(1, 1, self.num_points)
    return torch.cat([pointfeat_1, pointfeat_2, ap_x], 1) #128 + 256 + 1024`

I am confused. Would you explain this to me? Thanks in advance.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:6 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
j96wcommented, May 15, 2019

Hi, (1) Since we are already uncovering the 6DoF pose (rotation and translation) of the target object, we don’t need the STN to rotate the input pointcloud which might disturb the pose estimation process. (2) Maxpooling will lead to poor training efficiency of the CNN-based encoder-decoder network since it’s skipping too many pixel embeddings during the Max-pool step.

0reactions
roywithfiringbladecommented, Nov 14, 2019

though STN and symmetry function like max pooling are the key idea of PointNet, cause they are the operation to deal with the problem of pointcloud data , otherwise the whole architecture is actually not so “PointNet” …

Read more comments on GitHub >

github_iconTop Results From Across the Web

PointNet: Deep Learning on Point Sets for 3D Classification ...
Our network, named PointNet, provides a unified architecture for applications ranging from object classification, part segmentation, to scene semantic parsing.
Read more >
Point cloud classification with PointNet - Keras
Description: Implementation of PointNet for ModelNet10 classification. View in Colab • GitHub source. Point cloud classification. Introduction.
Read more >
Deep Learning on Point clouds: Implementing PointNet in ...
PointNet is a simple and effective Neural Network for point cloud recognition. In this tutorial we will implement it using PyTorch.
Read more >
PointNet: Deep Learning on Point Sets for ... - Papers With Code
Our network, named PointNet, provides a unified architecture for applications ranging from object classification, ... See all 101 implementations.
Read more >
Point Cloud Classification with PointNet - YouTube
In this Neural Networks Tutorial, we are going to do Point Cloud Classification with PointNet. We are going to load in a dataset...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found