Closed Blade6570 closed 2 years ago
removing this line , improves the 3d AP scores for cars. Now the the results are,
Car AP@0.70, 0.70, 0.70:
bev AP:32.2144, 32.2144, 32.2144
3d AP:19.0881, 19.0881, 19.0881
Car AP_R40@0.70, 0.70, 0.70:
bev AP:29.3266, 29.3266, 29.3266
3d AP:15.5297, 15.5297, 15.5297
Car AP@0.70, 0.50, 0.50:
bev AP:42.0944, 42.0944, 42.0944
3d AP:37.7694, 37.7694, 37.7694
Car AP_R40@0.70, 0.50, 0.50:
bev AP:39.9449, 39.9449, 39.9449
3d AP:35.2006, 35.2006, 35.2006
Pedestrian AP@0.50, 0.50, 0.50:
bev AP:1.2862, 1.2862, 1.2862
3d AP:0.9642, 0.9642, 0.9642
Pedestrian AP_R40@0.50, 0.50, 0.50:
bev AP:0.5617, 0.5617, 0.5617
3d AP:0.1328, 0.1328, 0.1328
Pedestrian AP@0.50, 0.25, 0.25:
bev AP:4.2195, 4.2195, 4.2195
3d AP:3.6293, 3.6293, 3.6293
Pedestrian AP_R40@0.50, 0.25, 0.25:
bev AP:3.6386, 3.6386, 3.6386
3d AP:3.0101, 3.0101, 3.0101
Pickup_Truck AP@0.70, 0.70, 0.70:
bev AP:6.1766, 6.1766, 6.1766
3d AP:4.7316, 4.7316, 4.7316
Pickup_Truck AP_R40@0.70, 0.70, 0.70:
bev AP:5.4346, 5.4346, 5.4346
3d AP:4.2141, 4.2141, 4.2141
Pickup_Truck AP@0.50, 0.50, 0.50:
bev AP:6.6207, 6.6207, 6.6207
3d AP:6.6164, 6.6164, 6.6164
Pickup_Truck AP_R40@0.50, 0.50, 0.50:
bev AP:6.0628, 6.0628, 6.0628
3d AP:6.0193, 6.0193, 6.0193
Other classes are still bad. I will investigate more but please have a look on the evaluation part.
After removing the above mentioned line and training for few more epochs, I got the following results:
Car AP@0.70, 0.70, 0.70:
bev AP:51.4983, 51.4983, 51.4983
3d AP:4.2109, 4.2109, 4.2109
Car AP_R40@0.70, 0.70, 0.70:
bev AP:50.5045, 50.5045, 50.5045
3d AP:2.5026, 2.5026, 2.5026
Car AP@0.70, 0.50, 0.50:
bev AP:70.5230, 70.5230, 70.5230
3d AP:46.6434, 46.6434, 46.6434
Car AP_R40@0.70, 0.50, 0.50:
bev AP:70.2264, 70.2264, 70.2264
3d AP:44.3507, 44.3507, 44.3507
Pedestrian AP@0.50, 0.50, 0.50:
bev AP:37.0486, 37.0486, 37.0486
3d AP:26.3659, 26.3659, 26.3659
Pedestrian AP_R40@0.50, 0.50, 0.50:
bev AP:34.4007, 34.4007, 34.4007
3d AP:22.8914, 22.8914, 22.8914
Pedestrian AP@0.50, 0.25, 0.25:
bev AP:42.3045, 42.3045, 42.3045
3d AP:41.4861, 41.4861, 41.4861
Pedestrian AP_R40@0.50, 0.25, 0.25:
bev AP:40.1993, 40.1993, 40.1993
3d AP:39.5600, 39.5600, 39.5600
Pickup_Truck AP@0.70, 0.70, 0.70:
bev AP:23.3822, 23.3822, 23.3822
3d AP:4.4535, 4.4535, 4.4535
Pickup_Truck AP_R40@0.70, 0.70, 0.70:
bev AP:22.3618, 22.3618, 22.3618
3d AP:3.8799, 3.8799, 3.8799
Pickup_Truck AP@0.50, 0.50, 0.50:
bev AP:26.3057, 26.3057, 26.3057
3d AP:24.6931, 24.6931, 24.6931
Pickup_Truck AP_R40@0.50, 0.50, 0.50:
bev AP:25.0876, 25.0876, 25.0876
3d AP:24.0102, 24.0102, 24.0102
Does this look close to your experiments? The values are very confusing to me.
Hi, I have been working on some updates to that branch. I also fixed that line you pointed out. The main issues are that the network is being trained on objects with low points and also we don't have difficulty levels.
I have created a new branch that has those fixes. https://github.com/mpitropov/OpenPCDet/pull/2 You will have to rerun the code to create the data infos. You should also use your old config files as I have updated those in the new branch.
I was investigating on the older branch where it seems like after removing that line and finding a good checkpoint can give somewhat resonable results:
Car AP@0.70, 0.70, 0.70:
bev AP:48.5314, 48.5314, 48.5314
3d AP:26.0232, 26.0232, 26.0232
Car AP_R40@0.70, 0.70, 0.70:
bev AP:47.5556, 47.5556, 47.5556
3d AP:21.4210, 21.4210, 21.4210
Car AP@0.70, 0.50, 0.50:
bev AP:63.7194, 63.7194, 63.7194
3d AP:55.6401, 55.6401, 55.6401
Car AP_R40@0.70, 0.50, 0.50:
bev AP:63.5322, 63.5322, 63.5322
3d AP:54.9946, 54.9946, 54.9946
Pedestrian AP@0.50, 0.50, 0.50:
bev AP:30.4946, 30.4946, 30.4946
3d AP:23.0124, 23.0124, 23.0124
Pedestrian AP_R40@0.50, 0.50, 0.50:
bev AP:27.2541, 27.2541, 27.2541
3d AP:19.1644, 19.1644, 19.1644
Pedestrian AP@0.50, 0.25, 0.25:
bev AP:39.0625, 39.0625, 39.0625
3d AP:38.9852, 38.9852, 38.9852
Pedestrian AP_R40@0.50, 0.25, 0.25:
bev AP:36.9300, 36.9300, 36.9300
3d AP:36.8497, 36.8497, 36.8497
Pickup_Truck AP@0.70, 0.70, 0.70:
bev AP:27.6949, 27.6949, 27.6949
3d AP:17.2888, 17.2888, 17.2888
Pickup_Truck AP_R40@0.70, 0.70, 0.70:
bev AP:26.1399, 26.1399, 26.1399
3d AP:15.5157, 15.5157, 15.5157
Pickup_Truck AP@0.50, 0.50, 0.50:
bev AP:30.3369, 30.3369, 30.3369
3d AP:29.8558, 29.8558, 29.8558
Pickup_Truck AP_R40@0.50, 0.50, 0.50:
bev AP:29.0019, 29.0019, 29.0019
3d AP:28.7613, 28.7613, 28.7613
Now I am going to try the new branch. It would be great if you can share the AP numbers (or confirm to my numbers after I share them here) with Pointpillar's default model so that everyone can expect what to get.
thanks :) ~Soumya
I have tested the new branch. Numbers look reasonable. I have used the NMS_THRESH=0.3 to generate this result.
INFO Car AP@0.70, 0.70, 0.70:
bev AP:61.7743, 44.9757, 30.0879
3d AP:36.6587, 25.1438, 17.8584
Car AP_R40@0.70, 0.70, 0.70:
bev AP:62.0301, 43.2371, 26.8890
3d AP:33.3220, 20.0399, 11.9271
Car AP@0.70, 0.50, 0.50:
bev AP:79.3418, 62.9923, 42.5869
3d AP:75.5133, 57.5032, 38.1289
Car AP_R40@0.70, 0.50, 0.50:
bev AP:81.3546, 63.3166, 40.5895
3d AP:76.6057, 56.7458, 35.3378
Pedestrian AP@0.50, 0.50, 0.50:
bev AP:20.1627, 17.8739, 13.9097
3d AP:16.2375, 13.6925, 10.0548
Pedestrian AP_R40@0.50, 0.50, 0.50:
bev AP:18.9590, 17.0558, 11.8507
3d AP:14.9191, 12.3232, 7.9843
Pedestrian AP@0.50, 0.25, 0.25:
bev AP:21.2510, 19.6710, 15.0994
3d AP:21.2494, 19.6458, 15.0242
Pedestrian AP_R40@0.50, 0.25, 0.25:
bev AP:20.1902, 18.8703, 13.5643
3d AP:20.1888, 18.8405, 13.4032
Pickup_Truck AP@0.70, 0.70, 0.70:
bev AP:49.6644, 38.5167, 25.2665
3d AP:44.3345, 32.4599, 22.1387
Pickup_Truck AP_R40@0.70, 0.70, 0.70:
bev AP:48.9444, 35.9102, 21.4969
3d AP:42.5151, 29.4585, 17.4198
Pickup_Truck AP@0.50, 0.50, 0.50:
bev AP:67.6431, 53.4258, 34.0099
3d AP:67.3808, 52.0846, 33.2932
Pickup_Truck AP_R40@0.50, 0.50, 0.50:
bev AP:68.5741, 51.9411, 31.3712
3d AP:67.6994, 50.6481, 30.5807
What are your thoughts? ~soumya
That seems a bit lower than what I was able to get but it looks better than before. I trained a model for 80 epochs and I also used the new config file which could be why I'm seeing better results on my own model.
INFO Car AP@0.70, 0.70, 0.70:
bev AP:73.4323, 65.7316, 61.9929
3d AP:60.0128, 52.1354, 45.2194
Car AP_R40@0.70, 0.70, 0.70:
bev AP:75.6812, 65.9998, 60.3415
3d AP:60.4139, 49.5878, 43.1697
Car AP@0.70, 0.50, 0.50:
bev AP:89.1654, 84.9597, 77.5133
3d AP:87.5146, 78.7879, 74.9445
Car AP_R40@0.70, 0.50, 0.50:
bev AP:91.5318, 85.7023, 78.1675
3d AP:89.5889, 80.6070, 74.4148
Pedestrian AP@0.50, 0.50, 0.50:
bev AP:65.1790, 63.5803, 56.3103
3d AP:54.6270, 52.1047, 46.1236
Pedestrian AP_R40@0.50, 0.50, 0.50:
bev AP:65.1016, 63.4609, 55.7512
3d AP:53.1146, 50.8713, 44.2206
Pedestrian AP@0.50, 0.25, 0.25:
bev AP:72.0968, 71.1287, 63.5304
3d AP:71.9909, 71.0744, 63.3729
Pedestrian AP_R40@0.50, 0.25, 0.25:
bev AP:72.8834, 71.6423, 63.3628
3d AP:72.8039, 71.5538, 63.2548
Pickup_Truck AP@0.70, 0.70, 0.70:
bev AP:50.3788, 42.8631, 38.7765
3d AP:35.2669, 32.7967, 30.3355
Pickup_Truck AP_R40@0.70, 0.70, 0.70:
bev AP:48.2462, 40.9679, 35.7827
3d AP:33.6950, 29.6397, 25.8266
Pickup_Truck AP@0.50, 0.50, 0.50:
bev AP:60.8149, 52.7548, 46.7238
3d AP:59.8392, 52.5672, 46.4322
Pickup_Truck AP_R40@0.50, 0.50, 0.50:
bev AP:61.2663, 52.1240, 45.7929
3d AP:60.8109, 51.7814, 45.1769
Okay it looks very good! I tried on 15 epochs. So I will try tomorrow on larger epoch. Thanks a lot :) .
Hey, I have now the results with 100 epochs and old configuration file.
INFO Car AP@0.70, 0.70, 0.70:
bev AP:63.7284, 48.6088, 33.1140
3d AP:43.2645, 29.3240, 20.9878
Car AP_R40@0.70, 0.70, 0.70:
bev AP:63.7238, 47.1576, 29.6224
3d AP:41.1146, 26.4742, 15.7660
Car AP@0.70, 0.50, 0.50:
bev AP:77.6752, 62.5597, 43.1742
3d AP:74.7947, 59.2769, 39.5868
Car AP_R40@0.70, 0.50, 0.50:
bev AP:78.9618, 62.4443, 40.4729
3d AP:75.7317, 58.3173, 36.9342
Pedestrian AP@0.50, 0.50, 0.50:
bev AP:26.3157, 28.8814, 22.3548
3d AP:24.0628, 23.7043, 17.8993
Pedestrian AP_R40@0.50, 0.50, 0.50:
bev AP:22.1788, 25.1451, 17.6847
3d AP:19.4492, 19.0994, 12.6311
Pedestrian AP@0.50, 0.25, 0.25:
bev AP:27.2807, 31.1527, 24.5435
3d AP:27.2979, 31.1400, 24.5241
Pedestrian AP_R40@0.50, 0.25, 0.25:
bev AP:23.1765, 27.6315, 20.0942
3d AP:23.1876, 27.6194, 20.0716
Pickup_Truck AP@0.70, 0.70, 0.70:
bev AP:31.8035, 34.7853, 23.9182
3d AP:7.7757, 17.0099, 13.8665
Pickup_Truck AP_R40@0.70, 0.70, 0.70:
bev AP:30.7286, 31.3477, 19.1380
3d AP:6.7104, 11.8101, 7.6878
Pickup_Truck AP@0.50, 0.50, 0.50:
bev AP:59.2373, 55.8125, 36.1916
3d AP:56.4400, 53.1637, 34.6043
Pickup_Truck AP_R40@0.50, 0.50, 0.50:
bev AP:59.2813, 55.4784, 34.0412
3d AP:55.5685, 52.0831, 32.0187
accuracies for pickup truck are very bad. May be the new configuration file is the reason for good results. I am trying that now.
Now I can confirm that everything works as expected.
Car AP@0.70, 0.70, 0.70:
bev AP:71.8193, 64.8562, 56.9591
3d AP:55.7935, 47.3126, 42.9851
Car AP_R40@0.70, 0.70, 0.70:
bev AP:72.7658, 64.7421, 57.8623
3d AP:54.0905, 45.0815, 39.1160
Car AP@0.70, 0.50, 0.50:
bev AP:88.6435, 83.9837, 77.3653
3d AP:86.9231, 78.4784, 73.9656
Car AP_R40@0.70, 0.50, 0.50:
bev AP:90.7259, 85.2631, 77.8276
3d AP:88.2412, 79.9746, 73.6169
Pedestrian AP@0.50, 0.50, 0.50:
bev AP:65.5602, 63.8452, 56.3735
3d AP:52.9174, 50.8832, 44.3638
Pedestrian AP_R40@0.50, 0.50, 0.50:
bev AP:65.5342, 63.7425, 55.8026
3d AP:51.2340, 49.0896, 42.5524
Pedestrian AP@0.50, 0.25, 0.25:
bev AP:75.5410, 73.5894, 64.9255
3d AP:75.4733, 73.3597, 64.7733
Pedestrian AP_R40@0.50, 0.25, 0.25:
bev AP:77.0027, 74.3563, 65.3722
3d AP:76.9066, 74.2176, 65.2428
Pickup_Truck AP@0.70, 0.70, 0.70:
bev AP:55.6864, 43.2352, 39.6115
3d AP:44.5032, 36.5847, 32.3596
Pickup_Truck AP_R40@0.70, 0.70, 0.70:
bev AP:55.0906, 42.1824, 37.0217
3d AP:42.5431, 33.1672, 28.4792
Pickup_Truck AP@0.50, 0.50, 0.50:
bev AP:66.6935, 53.3998, 45.8237
3d AP:66.2410, 53.2103, 45.5989
Pickup_Truck AP_R40@0.50, 0.50, 0.50:
bev AP:66.4941, 51.9621, 45.0414
3d AP:66.2318, 51.7528, 44.8418
Thanks a lot @mpitropov :)
Nice, I'll close this issue then.
Hey,
I am using the cadc_support branch for the training and testing of 3d object detection on Lidar data. Qualitatively the results look fine to me but quantitatively it gives very poor values after 50 epochs with pointpillar default model:
There is something wrong with the evaluation script. Do you have any idea regarding this?
P.s. I am using the given deafault config files
Thanks, Soumya Tripathy