Closed chenx1e closed 1 year ago
We usually train on train-val set and test on test dataset to enhance performance, the checkpoint we provided is only trained on training set
@ZCMax Thanks for your reply. I'll try to train the whole dataset 👍
@ZCMax Excuse me again, I'm not sure whether the AP40 strict metric for the three difficulty levels is following the KITTI official evaluation metric, since I initially guess the performance gap between validation and test set is due to the different metric. If you know, please tell me, thanks.
AP40 is the latest evaluation metric used in the KITTI official benchmark, so there is no gap here. Besides, there can be some other tricks like different train-val split for cross-validation, etc., to achieve better performance on the test set, but it depends on different paper authors.
Prerequisite
Task
I'm using the official example scripts/configs for the officially supported tasks/models/datasets.
Branch
master branch https://github.com/open-mmlab/mmdetection3d
Environment
Not about the environment, running successfully.
Reproduces the problem - code sample
I've run the SECOND model as a baseline in my experiment using the official config file with KITTI 3 classes for 160 epochs and batch size of 2. The config files I'm using are:
To unify the training settings to validation and compare my improved model and the SECOND official baseline. I made a small change to the SECOND config files above, and it hardly affected the results. Specifically:
samples_per_gpu=2
(2) I delete the ObjectNoise in train_pipeline.runner = dict(type='EpochBasedRunner', max_epochs=80)
Other than that, it is all consistent with the official model.Now I get validation results of validation set from mmdetection3D (the train val split 1:1 is following the official), it is pretty good AP for the easy, moderate and hard difficulty level. From the training log file, the AP of cars and pedestrians are (I assume that the AP40 strict metric is following the KITTI official evaluation metric)
However, when I using the checkpoint file to predict the KITTI test set and upload the prediction files to the KITTI test server and get results, the AP 3D is extremely lower than the results above. For the Car (3D Detection), it's only 83.44%, 74.68 % and 67.83% for the three difficulty levels. For pedestrian (3D Detection, it's only 47.15%, 36.19% and 33.42%). Please, could anyone tell me why?
To transform the prediction files in mmdetection3D (pkl file) to the text files for upload to KITTI test server, first, I using the command to get the predict pkl file:
python tools/test.py ./configs/mymodel/kitti_3class.py ./results/second/epoch_80.pth --format-only --eval-options 'pklfile_prefix=./second_test'
, where the config file is modified above, and checkpoint file is from training the config file.Second, I write a python file to extract the predict results in pkl file to txt file.
The text file ready to submit KITTI test server is like
I offered everything I could, please, could anyone help me.
Reproduces the problem - command or script
None
Reproduces the problem - error message
None
Additional information
No response