[点云+深度学习]SGPN论文解析

《SGPN: Similarity Group Proposal Network for 3D Point Cloud Instance Segmentation》

代码解析

运行train.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1. 把indoor3d_ins_seg_hdf5.zip解压后放在/data目录下

2. 使用以下代码生成train_hdf5_file_list.txt,并将其移动到/data目录下

import os,shutil
source_path = './data/indoor3d_ins_seg_hdf5/'
f = open('train_hdf5_file_list.txt','w')
room_list = os.listdir(source_path)
for room in room_list:
if 'txt' not in room:
f.write(room + '\n')
f.close()

3. 把trained_models.zip解压后放在/checkpoint/stanford_ins_seg/trained_models下

4. 微微修改train.py,使其能成功运行
第9行:print函数加()
print BASE_DIR => print(BASE_DIR)
第21行:默认使用0号GPU
parser.add_argument('--gpu', type=str, default="1", help='GPU to use [default: GPU 1]') => parser.add_argument('--gpu', type=str, default="0", help='GPU to use [default: GPU 1]')
第176行:修改读取的数据集的目录
cur_data, cur_group, _, cur_seg = provider.loadDataFile_with_groupseglabel_stanfordindoor(cur_train_filename) => cur_data, cur_group, _, cur_seg = provider.loadDataFile_with_groupseglabel_stanfordindoor("data/indoor3d_ins_seg_hdf5/" + cur_train_filename)

5. 跑训练代码
python train.py

在train.py中查看输入数据

1
2
3
4
5
6
cur_train_filename = train_file_list[0]
cur_data, cur_group, _, cur_seg = provider.loadDataFile_with_groupseglabel_stanfordindoor("data/indoor3d_ins_seg_hdf5/" + cur_train_filename)

cur_data.shape == (321, 4096, 9) # 样本数,点个数,
cur_group.shape == (321, 4096) # [5,53]
cur_seg.shape == (321, 4096) # [0,12]

运行test.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. 运行valid.py,生成pergroup_thres.txt、mingroupsize.txt,并将其放在checkpoint/stanford_ins_seg_groupmask11_fromgroup_recipweight_nopow2_lr4目录下

2. 把trained_models.zip解压后放在checkpoint/stanford_ins_seg_groupmask11_fromgroup_recipweight_nopow2_lr4/trained_models下

3. 微微修改test.py,使其能成功运行
第24行:默认使用0号GPU
parser.add_argument('--gpu', type=str, default="1", help='GPU to use [default: GPU 1]') => parser.add_argument('--gpu', type=str, default="0", help='GPU to use [default: GPU 1]')

第110行:修改读取的数据集的目录
cur_train_filename = test_file_list[shape_idx] => cur_train_filename = "data/indoor3d_ins_seg_hdf5/" + test_file_list[shape_idx]

第277~280行:print函数加()

4. 跑测试代码
python test.py

参考

官方

论文学习笔记(三) SGPN: Similarity Group Proposal Network for 3D Point Cloud Instance Segmentation