Pointnet++中cls代表分类,对应数据集(ModelNet);partseg代表零件分割,对应数据集(ShapeNet);semseg(semantic segmentation)代表场景分割,对应数据集(S3DIS)。
parseg:
任务描述:用于将一个复杂物体分割成其组成部分,例如,对飞机模型,将机翼、机身和尾翼等部分分开标注。
目标:识别和区分出每个具体部分,这些部分是整个物体的组成单元。
应用场景:用于CAD模型分析,机器人抓取等。
semseg:
任务描述:将点云中每个点分配给一个语义类别,例如,在一个室内场景中,将点云中的点分类为桌子、椅子、墙壁等。
目标:将场景中的每个点都标注为一个特定的类别,关注的是点的语义信息。
应用场景:常用于自动驾驶,场景理解,环境建模等。
一、数据集构成
分割网络的数据集参照:ShapeNet。
自制数据集构成如下,一个book类别,类别里有两个部件。
二、代码修改
首先,修改train_partseg.py文件:
1、最开始的seg_classes所在行;
2、root所在行;
3、num_classes所在行;
4、num_part所在行。
接着修改pointnet2_part_seg_msg。参考博客:【PointNet++】Part-Segement局部分割训练自制数据集_pointnet++ part seg-CSDN博客
三、如何训练
训练代码:
python train_partseg.py --model pointnet2_part_seg_msg --normal --log_dir pointnet2_part_seg_msg_XXX
##记得改log dir名
四、如何测试
修改test_partseg.py文件:用pointnet++分类自己的点云数据_pointnet++文件类型-CSDN博客