kujason / avod

Code for 3D object detection for autonomous driving
MIT License
939 stars 347 forks source link

Checking the mAP for cars, cyclist, and pedestrian #183

Open shaunkheng97 opened 4 years ago

shaunkheng97 commented 4 years ago

Hi, may I know how can I check the mAP for all 3 classes (cars, pedestrian, and cyclist)? I only manage to get the AP vs Recall at 120K iteration for cars, and I could not find the mAP for pedestrian and cyclist.

120000 done. car_detection AP: 89.690933 87.545586 80.095444 car_detection_BEV AP: 89.220963 86.716461 79.471199 car_heading_BEV AP: 89.044968 86.048393 78.694473 car_detection_3D AP: 76.440689 66.945091 66.161629 car_heading_3D AP: 76.301559 66.577248 65.644859

Also, the detection for pedestrian and cyclist doesn't seem to show in the show_prediction_2D. I believe that the red boxes are the ground truth. May I know what seems to be the problem?

![Uploading image (2).png…]() image (1)

rossivalen commented 4 years ago

It depends on which classes you trained: it seems to me that you trained just for the car class. You can either train separately on the classes or create a config to train on all classes (to do that there are info on the other issues)! Hope it still helps you, even if i am just a student, i used this algorithm a bit lately.

shaunkheng97 commented 4 years ago

Are you able to visualise the pedestrian and cyclist? I have set the pedestrian and cyclist class to be TRUE under the config file and retrained them.

rossivalen commented 4 years ago

Yes i can! i was able to plot both separately and together (so just cars, and cars with cyclists and pedestrians!) An example taken from the results i got: (it missed a cyclist group and a car, but i was trying the detection with just the LiDAR here) kitti_bev_all2

shaunkheng97 commented 4 years ago

image

For this step, you just set all 4 classes (cars, pedestrian, cyclist, people) to be TRUE and you get the current results?

rossivalen commented 4 years ago

Just cars and People! But yes, pretty much.If you want in another issue, already closed, the authors of the algorithm commented giving the config they used and other suggestions! You can find it under the name "All class training" or something similar.

shaunkheng97 commented 4 years ago

Ill try again with pedestrian and cyclist class only. Thank you

rossivalen commented 4 years ago

If you kept the results for the car class with a simple python script you could easily merge in the same .txt file the proposed boxes you obtained with the two training sessions: when plotting it is just necessary that the results in the files in the proposed boxes 4c folder display the predictions for all classes. So in case you would not need to train a third time!

Liaoqing-up commented 3 years ago

Just cars and People! But yes, pretty much.If you want in another issue, already closed, the authors of the algorithm commented giving the config they used and other suggestions! You can find it under the name "All class training" or something similar.

hello, i want train 3classes, but get error "/avod/avod/data/mini_batches/iou_2d/kitti/train/lidar/All[ 0.5]/004826.npy not found for sample 004826 ", i wander these handle file dire called All[0.5], but i only get Car[0.5], Cyclist[0.5] and Pedestrain[0.5] by running the script 'gen_mini_batches.py', these is no one called All[0.5]. How can i fix it? Thank you!

RMobina commented 2 years ago

If you kept the results for the car class with a simple python script you could easily merge in the same .txt file the proposed boxes you obtained with the two training sessions: when plotting it is just necessary that the results in the files in the proposed boxes 4c folder display the predictions for all classes. So in case you would not need to train a third time!

Hi, I want to train all classes at the same time and modified the following files, But just see the AP for car class. I will be thankful if share with me if you have any information. Thanks

1.avod/configs/mbpreprocessing/rpn[class].config; 2.scripts/preprocessing/gen_mini_batches.py;

  1. avod/config