pointnet 结果可视化_pointNet代码详解

本文详细介绍了PointNet的代码实现,包括数据处理(shuffle、rotate、jitter)、模型构建(Feature transform net、mlp)以及结果评估。通过T-net进行点云转换,使用mlp进行特征提取,并运用argmax函数进行类别投票。文章还提到了点云的可视化方法以及错误案例的保存。
摘要由CSDN通过智能技术生成

github地址

PointNet 官方使用了 tensorflow

介绍

组成

1.PointNet classification network分类网络

part segmentation network

数据集

1.point clouds sampled from 3D shapes

2.ShapeNetPart dataset.

结构

其主要分成以下三部分:

数据处理

model构建

结果选择

数据处理

将点云处理成程序可用的格式,具体实现在 provider.py 中,主要包含了数据下载、预处理(shuffle->rotate->jitter)、格式转换(hdf5->txt)

shuffle

def shuffle_data(data, labels):

""" Shuffle data and labels.

Input:

data: B,N,... numpy array

label: B,... numpy array

Return:

shuffled data, label and shuffle indices

"""

idx = np.arange(len(labels))#返回一个列表

# print('idx=',idx)#idx= [ 0 1 2 ... 2045 2046 2047]

np.random.shuffle(idx)#把idx进行shuffle

# print('idx=', idx)

return data[idx, ...], labels[idx], idx

rotate旋转处理

def rotate_point_cloud(batch_data):

# print('batch data shape=',batch_data.shape)#(32, 1024, 3)

rotated_data = np.zeros(batch_data.shape, dtype=np.float32)

for k in range(batch_data.shape[0]):

rotation_angle = np.random.uniform() * 2 * np.pi#生成一个随机数

cosval = np.cos(rotation_angle)</

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值