jbwang1997 / OBBDetection

OBBDetection is an oriented object detection library, which is based on MMdetection.
Apache License 2.0
520 stars 111 forks source link

question about mAP for DOTA dataset #111

Closed teeinn closed 2 years ago

teeinn commented 2 years ago

I re-implemented your work for training Dota dataset but I got much lower mAP for dota test dataset.

* training & validation---------------------------------------------------------------------------------------------------------------

* test-------------------------------------------------------------------------------------------------------------------------------------

According to your report, it should be 80.52 (backbone resnet101). What have I done wrong? What should I change? Waiting for your quick response! Thank you!

jbwang1997 commented 2 years ago

Could you provide the number of trainval images and test images. The test set of the DOTA dataset consists of two zip files. I consider if you forget to unzip one of zip files.

teeinn commented 2 years ago

I think you are right. I thought I unzipped both of zip files (part1, part2). However, after cropping images, test images were 30087, which is smaller number than number of cropped validation images.

Before crop images ----> After img_split.py ----> After I fix train : 1411 ----> 52057 val : 458 ----> 35462 test : 937 ----> 30087 ----> 71888

now, it is 71888. Is this correct number of data images?

jbwang1997 commented 2 years ago

Yes, the 71888 is the correct number of test set.

teeinn commented 2 years ago

Thank you! I will try one more time with this test set.

colorfully-ybf commented 2 years ago

Yes, the 71888 is the correct number of test set.

why is 71888? I have the same train val and test.After siplit,my picture is 10833 test and 12800 trainval.The parameter of gap is 200 and the pixel is 1024*1024.

jbwang1997 commented 2 years ago

71888 images are generated by multiple-scale mode. 10833 images are generated by single-scale mode.

colorfully-ybf commented 2 years ago

Tanks

fhaji75 commented 1 year ago

@teeinn When I'm running test.py on DOTA dataset I got mAP=0 with this comment : Result is Only for reference, final result is subject to DOTA_devkit

+--------------------+-----+--------+--------+--------+ | class | gts | dets | recall | ap | +--------------------+-----+--------+--------+--------+ | large-vehicle | 0 | 102855 | 0.0000 | 0.0000 | | swimming-pool | 0 | 12696 | 0.0000 | 0.0000 | | helicopter | 0 | 11973 | 0.0000 | 0.0000 | | bridge | 0 | 33974 | 0.0000 | 0.0000 | | plane | 0 | 19639 | 0.0000 | 0.0000 | | ship | 0 | 66079 | 0.0000 | 0.0000 | | soccer-ball-field | 0 | 6102 | 0.0000 | 0.0000 | | basketball-court | 0 | 4562 | 0.0000 | 0.0000 | | ground-track-field | 0 | 7147 | 0.0000 | 0.0000 | | small-vehicle | 0 | 126984 | 0.0000 | 0.0000 | | baseball-diamond | 0 | 7429 | 0.0000 | 0.0000 | | tennis-court | 0 | 9675 | 0.0000 | 0.0000 | | roundabout | 0 | 10242 | 0.0000 | 0.0000 | | storage-tank | 0 | 41839 | 0.0000 | 0.0000 | | harbor | 0 | 25446 | 0.0000 | 0.0000 | +--------------------+-----+--------+--------+--------+ | mAP | | | | 0.0000 | +--------------------+-----+--------+--------+--------+ I use the ss_test.json file for split test data, Is that correct? Do you know why this happened?