Lilac-Lee/PointNetLK_Revisited

Test error on 3dmatch dataset

Opened this issue · 0 comments

Dear creator, thank you for your efforts and sharing!

I noticed that in the code related to obtaining data in the testing section, the 3dmatch dataset needs to be in PCD format. After converting PLY to PCD for testing, the same error still occurred. The error code is as follows. How can I solve this problem

C:\ProgramData\Miniconda3\python.exe C:\PointNetLK_Revisited-main\test.py
[Open3D INFO] Resetting default logger to print to terminal.
DEBUG:main, 2024-07-04 09:39:22,603, Testing (PID=4640), Namespace(batch_size=1, categoryfile='./dataset/test_3dmatch.txt', clip=0.0, data_type='synthetic', dataset_path='./dataset/ThreeDMatch', dataset_type='3dmatch', device='cuda:0', dim_k=1024, embedding='pointnet', logfile='', max_iter=20, max_voxel_points=1000, num_points=1000, num_voxels=8, outfile='./test_logs/2024_07_24_test_on_3dmatch_trained_on_modelnet', overlap_ratio=0.7, pose_file='./dataset/gt_poses.csv', pretrained='./logs/model_trained_on_ModelNet40_model_best.pth', sigma=0.0, vis=False, voxel=2, voxel_after_transf=False, voxel_ratio=0.05, workers=0)
init_trans shape is (0, 6)
DEBUG:main, 2024-07-04 09:39:24,023, Begin Testing!
Traceback (most recent call last):
File "C:\PointNetLK_Revisited-main\test.py", line 156, in
main(ARGS)
File "C:\PointNetLK_Revisited-main\test.py", line 112, in main
test(args, testset, dptnetlk)
File "C:\PointNetLK_Revisited-main\test.py", line 106, in test
dptnetlk.test_one_epoch(model, testloader, args.device, 'test', args.data_type, args.vis)
File "C:\PointNetLK_Revisited-main\trainer.py", line 206, in test_one_epoch
utils.test_metrics(rotations_gt, translation_gt, rotations_ab, translation_ab, self.filename)
File "C:\PointNetLK_Revisited-main\utils.py", line 391, in test_metrics
rotations_gt = np.concatenate(rotations_gt, axis=0).reshape(-1, 3)
File "<array_function internals>", line 180, in concatenate
ValueError: need at least one array to concatenate