代码及数据见最后
1.参数配置
参数配置使用默认参数即可,但是windows操作系统下,需要将--workers设置为0.
2.数据准备
PF-Net将不完整的点云做输入,并预测其缺失部分。同时,我们可以从整体流程看到,输入有三个尺度,通过最远点采样进行构建,预测的输出也有三个尺度。数据和标签的构建流程如下:
- 首先是标签的构建,标签即缺失部分的点,我们需要指定完整点云中缺失部分的初始位置,遍历得到每个点到初始位置的距离,并进行排序,以距离中心点最近的opt.crop_point_num个点作为缺失部分,即标签
- 然后是数据的构建,需要去除缺失部分,将缺失部分的坐标置零
- 最后是多尺度的数据和标签,由数据和标签经过最远点采样得到
代码如下:
if opt.D_choose == 1:
for epoch in range(resume_epoch,opt.niter):
if epoch<30:
alpha1 = 0.01
alpha2 = 0.02
elif epoch<80:
alpha1 = 0.05
alpha2 = 0.1
else:
alpha1 = 0.1
alpha2 = 0.2
for i, data in enum