Closed sylyt62 closed 2 years ago
Hi @sylyt62,
Yes in general annotations should not be used for testing. However for some reasons in mmdetection3d
this axis_align_matrix
is stored in annotations, so we get it from there also during testing
Did you make any modifications in our code? I think, after #17 everything should be fine.
Actually we do not solve per point classification. You can try to assign the point with the class of the box, that contains it.
@filaPro Oh I removed the comment outputs = single_gpu_test(model, data_loader) # , args.show, args.show_dir)
in line 184, tools/test.py...
I changed it back.
I do get those .obj files when doing validation on the official scannetv2 dataset, cause I added --eval mAP
I think. But for testing there's no groundtruth to do mAP and this error shows up,
Traceback (most recent call last): File "tools/test.py", line 214, in
main() File "tools/test.py", line 210, in main print(dataset.evaluate(outputs, show=args.show, out_dir=args.show_dir, **eval_kwargs)) File "/media/yangtian/SATA3/Workspace/fcaf3d-master/mmdet3d/datasets/custom_3d.py", line 259, in evaluate gt_annos = [info['annos'] for info in self.data_infos] File "/media/yangtian/SATA3/Workspace/fcaf3d-master/mmdet3d/datasets/custom_3d.py", line 259, in gt_annos = [info['annos'] for info in self.data_infos] KeyError: 'annos'
my test.pkl:
[{'point_cloud': {'num_features': 6, 'lidar_idx': 'scene0707_00'}, 'pts_path': 'points/scene0707_00.bin'}, {'point_cloud': {'num_features': 6, 'lidar_idx': 'scene0708_00'}, 'pts_path': 'points/scene0708_00.bin'}, {'point_cloud': {'num_features': 6, 'lidar_idx': 'scene0709_00'}, 'pts_path': 'points/scene0709_00.bin'}, {'point_cloud': {'num_features': 6, 'lidar_idx': 'scene0710_00'}, 'pts_path': 'points/scene0710_00.bin'}]
Unfortunately, we only update the show
call in dataset.evaluate
method in #10. You can somehow update detector.show_results
method with the same call but only for pred_bboxes
without gt_bboxes
...
Gotcha thx ~:)
Hi, thanks for sharing your excellent work first! I have several questions.
I met the following error while testing. For my understanding, there are no annotations available while testing. So after a hard debug, I found that the second composer of test_pipeline called the 'annos' key of my test.pkl data, so I comment out this line
dict(type='GlobalAlignment', rotation_axis=2),
in the config file so that I can get a result. But actually I'm not sure will it cause any alignment problem on the results.And after that, I wanna visualize the results, so I added
--show --show_dir ./results/custom_test/
. However met another error:Not fixed yet. But I found that in show_result.py, the function show_result() takes gt_labels and pred_labels as well while in the testing procedure it doesn't pass this two values. I'm gonna continue debugging on it.
Finally, I'm wondering if there's a convenience way to get per point classification results?