这几天想用深度学习做一下点云的分割试验,网上搜了一下相关标题的blog有很多,但大部分只是简单的介绍文章内容,说明具体操作流程的干货并不多。在缺乏相关资料和帮助的情况下,本人大致搞清楚了pointnet进行sem_seg的流程。可能步骤存在问题甚至是错的,因为也没有人交流,但从试验结果看来还行。欢迎大家批评指正。点云的标注用cloudcompare(下面简称cc)就可以,后面obj文件的可视化由于cc对其支持不太好,改用meshlab。
欢迎阅读我的其他文章:
windows下运行pointnet(全)
pointnet C++推理部署(一)
pointnet C++推理部署(二)
首先准备自己的数据集。txt格式的点云文件就行,我随便找了个斯坦福兔子点云文件,里面是xyz三维点的坐标。把兔子用cc软件分割成头(head)和身子(body),并分别保存成两个txt文件。
因为我比较懒所以只标注了这一个兔子,将其随机平移和旋转变换得到100个兔子的头和身子的txt,将其分别保存在编号为i(i=0,1,2,…,99)的文件夹下分别命名为head_i.txt和body_i.txt(i=0,1,2,…,99)。
修改sem_segmetaclass_name.txt内容为head和body。
修改sem_segmetaanno_path.txt内容为训练标注的路径。
修改indoor3d_util.py中的g_class2color如下
修改collect_point_label函数里面的内容,给点云数据增加rgb信息:
运行batch_inference.py程序即可。同理,需要修改NUM_CLASSES,以及修改sem_segmetadata_label.txt中的待预测模型的路径。运行需要提供的参数可以参考我的上一篇文章:windows下运行pointnet(全)。
随便做了一些npy文件用于测试,制作过程和训练部分相似。用于预测的数据集包括随机平移旋转的模型,添加噪声的模型,裁剪的模型以及混合前三种的模型。红色为预测出的兔子头部,蓝色为预测出的兔子身体,黑色为未识别出的部分。因为我自始至终只是用了一个原始模型进行不同变换进行的测试,所以正确率都在99%以上。
随机平移旋转的模型预测结果:
添加噪声的模型预测结果:
裁剪的模型预测结果:
混合平移旋转、添加噪声、裁剪的模型预测结果:
整个工程文件打包:链接: https://pan.baidu.com/s/1yZG_OigNQqbeC852N6SMXw?pwd=zjn1 提取码: zjn1 复制这段内容后打开百度网盘手机App,操作更方便哦
–来自百度网盘超级会员v4的分享
添加高斯噪声
- File “h5py_objects.pyx”, line 54, in h5py._objects.with_phil.wrapper
File “h5py_objects.pyx”, line 55, in h5py._objects.with_phil.wrapper
File “h5pyh5f.pyx”, line 106, in h5py.h5f.open
FileNotFoundError: [Errno 2] Unable to open file (unable to open file: name = ‘E: uanjianchengxuwenjianpypointnet-rabbitsem_seg/dataply_data_all_0.h5’, errno = 2, error message = ‘No such file or directory’, flags = 0, o_flags = 0)
报错原因:h5py包的版本过高
解决方法:降低h5py包的版本,例如pip install h5py==2.10 - Exception has occurred: ValueError
need at least one array to concatenate
位于gen_indoor3d_h5.py的return np.concatenate(block_data_list, 0), np.concatenate(block_label_list, 0)
报错原因:网格划分尺度过小,导致某个网格中点的个数为0
解决方法:将
中的block_size和stride根据自己数据尺度进行调整,参数的含义见下图(从indoor3d_util.py中摘选)。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/40820.html