使用RandLA-Net训练自己的数据集
在tensorflow2.0环境下使用RandLA-Net训练Semantic3D数据集记录了如何使用RandLANet实现Semantic3D数据集的语义分割,这里记录下如何使用RandLANet训练我们自己的数据集。
声明:我的数据集是无人机获取的点云数据,与Semantic3D类似,因此以下内容是基于Semantic3D的处理来修改的。
其实使用RandLANet训练自己的数据集主要修改的是数据预处理部分和dataset
部分。
一、数据预处理
1、数据格式
我自己的点云数据集是txt格式,每一行代表一个点,每一行有7列,每一列分别为x,y,z,r,g,b,lable。
2、数据预处理
我们自己的数据集在数据存储上与公开的数据集或多或少都有些区别。如我的数据集的标签就存储在点云文件的最后一列,而Semantic3D的标签是单独存储成与点云文件同名的.label文件中。
下面给出我根据自己的数据集格式修改的预处理脚本。
from sklearn.neighbors import KDTree
from os