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

Clarification about threshold in keypoint HOTA #11

Open
krishnakanthnakka opened this issue Oct 24, 2022 · 2 comments
Open

Clarification about threshold in keypoint HOTA #11

krishnakanthnakka opened this issue Oct 24, 2022 · 2 comments
Labels
bug Something isn't working

Comments

@krishnakanthnakka
Copy link

krishnakanthnakka commented Oct 24, 2022

In the distance to similarity computation at

sim = np.maximum(m * distance_mtx + 1, 0)

I'm unable to comprehend the reason to clip the similarity to zero if the (head normalized) distance is greater than 0.5.
This has consequences in (incorrectly) tagging each detection as TP/TN/FP/FN for each alpha ranging from 0.05 to 0.45 at

actually_matched_mask = similarity[match_rows, match_cols, j] >= alpha - np.finfo('float').eps

In MOTA calculation, the threshold alpha is fixed at 0.5 i.e., [email protected]. Please refer to
https://github.com/leonid-pishchulin/poseval/blob/4258a1575b9f2ddd0bdb85f74557235ab5df0f52/poseval/evaluatePCKh.py#L56.

However, when we try to estimate HOTA at different confidences (0.05 to 0.99), the clipping of similarity has effect of completely neglecting all the [email protected], @[email protected], @0.2, @0.25 @0.3 @0.35 @0.4 aand 0.45.

Futher it additionally calculates [email protected], @0575, @0.625, @0.675 @0.725, @0.775 @0.825 @0.875 @0.925 @0.975 to the original [email protected], @055, @0.6, @0.65 @0.7, @0.75 @0.8 @0.85 @0.9 @0.95

To connect the things into perspective, pascal VOC computes [email protected] whereas COCO computes the [email protected]:0.99:0.05. MOTA calculates [email protected] and hota calculates at all levels @0.05:0.99:0.05.

In short, the distance function may needs to be revisited. I think sim = np.maximum(-1 * distance_mtx + 1, 0) makes it consistent with HOTA metrics based on IoU, MOTA at [email protected].

Please let me know your thoughts and did i missed something?

@anDoer anDoer added the bug Something isn't working label Oct 26, 2022
@anDoer
Copy link
Owner

anDoer commented Oct 26, 2022

Thanks for your feedback. I will have a closer look at this problem and I agree that sticking to [email protected]:0.99:0.05 would have been more consistent with existing evaluation metrics.

@krishnakanthnakka
Copy link
Author

Hello @anDoer,

A gentle reminder to please check this issue and the next one as well.

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants