论文地址:PointNet网络
代码地址:https://github.com/charlesq34/pointnet
windows10环境配置可参考这篇文章:windows下运行pointnet(全)
网络图示:

一、训练模型
1)下载测试集
数据下载:PartAnnotation(注意该链接中对应的数据集有两部分,因此下载时两部分务必都要下载)
存放位置:…/part_seg/PartAnnotation。
HDF5文件解压放在pointnet-master/part_seg/hdf5_data。
2)训练模型
可参考Pointnet(part_seg)部件分割网络代码解析:train.py(二)文章,里面有代码详解,以及训练模型的获取。
3)测试集数据解析

二、test.py代码详解
1、选择第80个训练模型进行测试
parser = argparse.ArgumentParser()
parser.add_argument('--model_path', default='train_results/trained_models/epoch_80.ckpt', help='Model checkpoint path')
FLAGS = parser.parse_args()
2、setting
parser = argparse.ArgumentParser()
# 自行定义命令参数获取 model_path ,保存的训练模型
parser.add_argument('--model_path', default='train_results/trained_models/epoch_80.ckpt', help='Model checkpoint path')
FLAGS = parser.parse_args()
# DEFAULT SETTINGS
pretrained_model_path = FLAGS.model_path # 获取保存好的模型
hdf5_data_dir = os.path.join(BASE_DIR, './hdf5_data') # 获取h5数据集
ply_data_dir = os.path.join(BASE_DIR, './PartAnnotation') # 导入测试数据集
gpu_to_use = 0
output_dir = os.path.join(BASE_DIR, './test_results')
output_verbose = True # If true, output all color-coded part segmentation obj files
# MAIN SCRIPT
point_num = 3000 # the max number of points in the all testing data shapes
batch_size = 1
test_file_list = os.path.join(BASE_DIR, 'testing_ply_file_list.txt')
""" testing_ply_file_list.txt为从PartAnnotation数据集中采样出的2874个数据,分别包括
点云数据 / 分割数据 / 实例类别编号"""
oid2cpid = json.load(open(os.path.join(hdf5_data_dir, 'overallid_to_catid_partid.json'), 'r'))
"""oid2cpid读取物体零件编号
[["02691156", 1], ["02691156", 2],....]"""
object2setofoid = {
} # oid对象集
for idx in range(len(oid2cpid)):
objid, pid = oid2cpid[idx] # oid对象标识符 pid编号
if not objid in object2setofoid.keys():
object2setofoid[objid] = []
object2setofoid[objid].append(idx) # 创建一个字典,将每个物体编号按顺序0-49索引排序
'''{‘02691156’:[0,1,2,3],'02247898':[4,5],....}'''
''' 获取16类物体和编号的文件,并划分到两个列表中'''
all_obj_cat_file = os.path.join(hdf5_data_dir, 'all_object_categories.txt')
fin = open(all_obj_cat_file

本文详细介绍PointNet部件分割网络的测试流程,包括测试集准备、模型加载及测试代码解析。通过对PointNet网络进行部件级别的精确分割,展示了如何利用深度学习进行三维点云数据的处理。
部件分割网络代码解析:test.py(三)&spm=1001.2101.3001.5002&articleId=117249010&d=1&t=3&u=eec3f303943f44f98ee45dd5d87132d8)
1万+

被折叠的 条评论
为什么被折叠?



