MSG作为PointNet++的核心策略之一,在点云处理中发挥了重要作用。它通过多尺度分组和特征融合,为点云数据提供了更加丰富的特征表示。未来,随着深度学习技术的不断发展,MSG策略有望在更多领域得到应用,推动点云处理技术的进一步发展。 此外,MSG策略还有很大的优化空间。例如,可以探索更加高效的点集分组方法、更加先进的特征...
而PointNet(基本版)[^20]拥有最好的时间效率,我们的模型(没有密度自适应层)在同等速度下得到了最小的模型尺寸。 值得注意的是我们的MSG,虽然它在非均匀采样数据下获得了最好的性能,但是受其多尺度区域特征提取的影响比SSG版本代价高出2倍。MRG与MSG相比,其效率更高,因为它使用跨层次的区域。 image-20220113142612...
具体而言,PointNet++ MSG首先使用k-means算法将输入的点云数据聚类成k个不同的簇,每个簇代表一个尺度组。然后,在每个尺度组内,PointNet++ MSG会利用PointNet网络进行特征提取,得到每个点的局部特征。接下来,PointNet++ MSG通过一系列的上采样和特征拼接操作,将不同尺度组的特征进行融合,得到最终的点云特征表示。 在...
new_point= torch.max(new_point, dim=2)[0]#B * C‘ * n,相当于maxpool,每组中用最大的特征表示该组point_list.append(new_point) new_point= torch.cat(point_list, dim = 1)#Msg中将不同半径所生成的向量整合center = center.transpose(2, 1)returncenter, new_pointelse: center= torch.zeros(...
PointNet++ MSG msg的训练的巨慢,不过总算是复现出来了,之后搞一下MRG的,或者裸的 关于插值: 注意:最后一次set abstraction 层之后并没有对称函数,因此B * C2 * k的特征向量(其中k为特征向量维数),还保存的一些点的数量C2,因此不是简单的repeat,然后拼接,是先找k近邻...
PointNet++会先对点云进行采样(sampling)和划分区域(grouping),在各个小区域内用基础的PointNet网络进行特征提取(MSG、MRG),不断迭代。 对于分类问题,直接用PointNet提取全局特征,采用全连接得到每个类别评分。对于分割问题,将高维的点反距离插值得到与低维相同的点数,再特征融合,再使用PointNet提取特征 。比较PointNet++...
那么在这一节中,我们将会实现PointNet++(MSG)中基础部分的搭建,即PointNetSetAbstractionMsg层的搭建。 在下一节点云处理:基于Paddle2.0实现PointNet++对点云进行分类处理④中,我们将会一起来实现PointNet++(SSG)整体网络搭建,并进行训练和测试。 二、PointNet++(MSG)网络简介 ...
给一片点云,PointNet++会先对点云进行采样(sampling)和划分区域(grouping),在各个小区域内用基础的PointNet网络进行特征提取(MSG、MRG),不断迭代。对于分类问题,直接用PointNet提取全局特征,采用全连接得到每个类别评分。对于分割问题,将高维的点反距离插值得到与低维相同的点数,再特征融合,再使用PointNet提取特征 ...
PointNet++会先对点云进行采样(sampling)和划分区域(grouping),在各个小区域内用基础的PointNet网络进行特征提取(MSG、MRG),不断迭代。对于分类问题,直接用PointNet提取全局特征,采用全连接得到每个类别评分。对于分割问题,将高维的点反距离插值得到与低维相同的点数,再特征融合,再使用PointNet提取特征 。
与MSG相比,该方法的计算效率更高,因为我们避免了在最底层的大规模邻域中提取特征。 Point Feature Propagation for Set Segmentation 在集合抽象层,原始点集被二次抽样。然而,在诸如语义点标记的集合分割任务中,我们希望获得所有原始点的点特征。一种解决方案是总是将所有集合抽象层中的所有点采样为质心,然而这导致高...