《PointNetLK: Robust & Efficient Point Cloud Registration using PointNet》
代码运行
文件 | 描述 |
---|---|
ex1_train.sh | 训练PointNet分类器,并转移到PointNetLK |
ex1_genrot.sh | 为测试生成扰动 |
ex1_test_pointlk.sh | 测试PointNetLK |
ex1_test_icp.sh | 测试ICP |
ex1_result_stat.sh | 计算上述测试的平均误差 |
离线运行代码1
nohup python train.py >> log_train.out &
ex1_train.sh
1 | 1. 切换目录,为输出创建文件夹 |
移动pth等到results文件夹中???
ex1_genrot.sh
1 | 为每个物体生成扰动(每个'ModelNet40/[category]/test/*') |
ex1_test_pointlk.sh
1 | 1. 切换目录,为输出创建文件夹 |
ex1_test_icp.sh
1 | 1. 切换目录,为输出创建文件夹 |
ex1_result_stat.sh
1 | 添加 'result_*.csv' 到 'result.csv' |
ex1_genpert.sh
针对的是CADset4tracking_fixed_perturbation数据集
代码解析
文件 | 描述 |
---|---|
train_classifier.py | 训练PointNet分类器(用于迁移学习) |
train_pointlk.py | 训练PointNetLK |
generate_rotation.py | 生成6自由度的扰动(旋转和平移)(为了测试) |
test_pointlk.py | 测试PointNetLK |
test_icp.py | 测试ICP |
result_stat.py | 计算上述测试的平均误差 |
generate_rotations.py
实测下来,wv与wt的旋转相同(前3位),平移不同(后3位)(疑似是wv的实现有问题)
1 | import torch |
result_stat.py
读取 test_pointlk.py/test_icp.py 生成的csv,计算平均误差
1 | 1. test_pointlk.py/test_icp.py 保存的csv有12列, |
1 | import torch |
参考
官方
内容 | 描述 |
---|---|
原始论文:PointNetLK | 演示视频 |
代码:PointNetLK | PyTorch 0.4.0 |