Skip to content

Average Precision and Recall is -1 for small and medium sized areas #1071

@Berayksl

Description

@Berayksl

Before Asking

  • I have read the README carefully. 我已经仔细阅读了README上的操作指引。

  • I want to train my custom dataset, and I have read the tutorials for training your custom data carefully and organize my dataset correctly; (FYI: We recommand you to apply the config files of xx_finetune.py.) 我想训练自定义数据集,我已经仔细阅读了训练自定义数据的教程,以及按照正确的目录结构存放数据集。(FYI: 我们推荐使用xx_finetune.py等配置文件训练自定义数据集。)

  • I have pulled the latest code of main branch to run again and the problem still existed. 我已经拉取了主分支上最新的代码,重新运行之后,问题仍不能解决。

Search before asking

  • I have searched the YOLOv6 issues and found no similar questions.

Question

I finetuned YOLOv6-n model using Caltech-UCSD Birds-200-2011 dataset (https://www.vision.caltech.edu/datasets/cub_200_2011/). However, when I run validation on the trained model using the command:
python tools/eval.py --weights best_ckpt.pt --data data/CUB.yaml --task val --device 0 > testing_log.txt

I get the following results:
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.332
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.387
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.368
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.332
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.876
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.886
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.886
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.886

I also checked the annotations file automatically created by YOLO and noticed the areas of the bounding boxes are very large in my dataset. For example:
{"area": 21315.98712932455, "bbox": [115.00002443790436, 84.0000612437725, 146.0000455379486, 145.99986630678177]

Is getting -1 normal for medium and small size areas since the birds cover a large portion of all images in my dataset?

thanks

Additional

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions