工程路径:/media/ubuntu/EXTERNAL_USB/project_superpoint_graph/Semantic3D
数据我是放在我的硬盘里面的,记住这个路径,后面需要用到很多次
一、数据准备工作:
创建目录

然后去semantic3d官网下载数据
我是挑着下载的,没有全部下载
如果train数据集不全部下载的话,后面需要改一下代码
得注意train数据集里面不能有二级文件夹,都解压到train文件夹中;sem8_tables_training文件夹中的标签数据需要和下载的txt文件一一对应,多的删掉就行
二、数据处理
(1)分区处理
python partition/partition.py --dataset sema3d --ROOT_PATH /media/ubuntu/EXTERNAL_USB/project_superpoint_graph/Semantic3D --voxel_width 0.05 --reg_strength 0.8 --ver_batch 5000000
(2)重组为超点
python learning/sema3d_dataset.py --SEMA3D_PATH /media/ubuntu/EXTERNAL_USB/project_superpoint_graph/Semantic3D

此时出现维度问题报错,因为labels标签文件里面是一维的,但代码是二维的,改一下,增加它的健壮性

# 替换原有代码(约106行)
if len(labels.shape) == 1:
# 处理一维标签(直接使用)
hard_labels = labels.astype(np.int64)
elif labels.shape[1] > 1:
# 处理二维one-hot编码标签
hard_labels = np.argmax(labels[:,1:], axis=1)
else:
# 处理其他情况
hard_labels = labels.flatten().astype(np.int64)
三、训练完整模型
CUDA_VISIBLE_DEVICES=0 python learning/main.py --dataset sema3d --SEMA3D_PATH /media/ubuntu/EXTERNAL_USB/project_superpoint_graph/Semantic3D --db_test_name testred --db_train_name trainval \
--epochs 500 --lr_steps '[350, 400, 450]' --test_nth_epoch 100 --model_config 'gru_10,f_8' --ptn_nfeat_stn 11 \
--nworkers 2 --pc_attrib xyzrgbelpsv --odir "results/sema3d/trainval_best"

显示找不到文件,因为我们没有下载完整的训练集,但是代码里面使用了完整的,下面修改代码

train_name是训练的,vaild_name是测试的

结果如上面所示
然后根据md文件要下载预训练模型

但是这个网站404 not found,所以我没下载
四、模型测试

我没进行
五、结果可视化
(1)生成预测标签文件
python partition/write_Semantic3d.py --SEMA3D_PATH /media/ubuntu/EXTERNAL_USB/project_superpoint_graph/Semantic3D --odir "results/sema3d/trainval_best" --db_test_name testred
(2)可视化结果
要改成绝对路径,因为数据和原工程文件夹不在一起
python partition/visualize.py --dataset sema3d --ROOT_PATH /media/ubuntu/EXTERNAL_USB/project_superpoint_graph/Semantic3D --res_file '/home/ubuntu/project/superpoint_graph/results/sema3d/trainval_best/predictions_testred' --file_path 'test_reduced/birdfountain_station1' --output_type ifprs
需要的文件在

根据上面的文件名改绝对路径

生成的结果如下


但是使用cloudcompare软件打不开

6738

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



