点云深度学习系列3——PointNet/PointNet++代码比较

本文对比分析了PointNet与PointNet++在点云分类任务中的实现代码。PointNet网络结构包括特征提取(T-net, mlp, conv2d, T-net, mlp)和分类两部分,而PointNet++则更复杂,采用Set abstraction layers,无T-net,包含3个pointnet_sa_module,每个模块含3个mlp和1个pooling层,分类部分与PointNet相似。" 116185786,10296397,Python删除文件中特定行的技巧,"['Python', '文件处理', '文本操作']
摘要由CSDN通过智能技术生成

文章就不介绍了,这里主要说代码。

PointNet++是PointNet的升级版本,主要增加了对局部信息的感知能力。体现到代码上的话,变化还是比较多的,我们以分类为例,对二者的实现代码进行对比分析。

首先是网络结构方面,PointNet:

 

def get_model(point_cloud, is_training, bn_decay=None):
    """ Classification PointNet, input is BxNx3, output Bx40 """
    batch_size = point_cloud.get_shape()[0].value
    num_point = point_cloud.get_shape()[1].value
    end_points = {}

    with tf.variable_scope('transform_net1') as sc:
        transform = input_transform_net(point_cloud, is_training, bn_decay, K=3)
    point_cloud_transformed = tf.matmul(point_cloud, transform)
    input_image = tf.expand_dims(point_cloud_transformed, -1)#在最后增加一个维度

    net = tf_util.conv2d(input_image, 64, [1,3],
                         padding='VALID', stride=[1,1],
                         bn=True, is_t
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值