Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Differences in COCO and VOC evaluation protocol #1

Open
vadimadr opened this issue Jun 3, 2020 · 1 comment
Open

Differences in COCO and VOC evaluation protocol #1

vadimadr opened this issue Jun 3, 2020 · 1 comment

Comments

@vadimadr
Copy link

vadimadr commented Jun 3, 2020

COCO and VOC use different protocols for assigning tp / fp labels for predicted boxes.

VOC uses "greedy" strategy, i.e. finds best match (using IoU criteria) for current pred box and if it is already matched it marks the current pred box as false: https://github.com/weiliu89/VOCdevkit/blob/master/VOCcode/VOCevaldet.m#L94

While in COCO the search continues if the current best match already matched: https://github.com/cocodataset/cocoapi/blob/master/PythonAPI/pycocotools/cocoeval.py#L280
Also, there are other categories for gt boxes: "crowd" (which look like VOC's "difficult") and "ignore". There might be other differences as well.

Your code implements only VOC-style evaluation, while README suggests to use it for both flavors.

@bes-dev
Copy link
Owner

bes-dev commented Jun 27, 2020

There is implemented COCO evaluation protocol in actual release version.
https://github.com/bes-dev/mean_average_precision/releases/tag/0.0.2.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants