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

[Feature] Full angle range #1061

Merged
merged 4 commits into from
Sep 13, 2024
Merged

[Feature] Full angle range #1061

merged 4 commits into from
Sep 13, 2024

Conversation

calcoloergosum
Copy link
Contributor

@calcoloergosum calcoloergosum commented Aug 27, 2024

NOTE: This PR alone does not make training work.

Thank you for your amazing codebase.

Motivation

Resolve #386 #565 #902 #1045 . Sometimes we want the full range of angle.

Modification

  • Added new angle_version called "full360".

Use cases (Optional)

Anything that is not rotation invariant shaped objects.
For example:

  • letters
  • animal with head/tail. Yudo
  • arrows
  • ...

Note

  • Introducing full angle range requires specific convention regarding the order of points in a bounding box.
    For code in this PR, bounding box is defined to be the clockwise - (lt, rt, br, bl) or [(-,-), (-,+), (+,+), (+, -)].
  • First time contributing. Please let me know if I am doing something off.
  • To make it work, RBBoxAssigner should be modified accordingly.

Checklist

  • Pre-commit or other linting tools are used to fix the potential lint issues.
  • The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
  • The documentation has been modified accordingly, like docstring or example tutorials.

@CLAassistant
Copy link

CLAassistant commented Aug 27, 2024

CLA assistant check
All committers have signed the CLA.

@calcoloergosum calcoloergosum marked this pull request as draft August 27, 2024 10:09
@calcoloergosum calcoloergosum changed the title full angle range (WIP) full angle range Aug 27, 2024
@calcoloergosum calcoloergosum changed the title full angle range Full angle range Aug 27, 2024
@calcoloergosum
Copy link
Contributor Author

I just realized that this repo already is working on 360 rotation detection :P

@yangxue0827
Copy link
Collaborator

I think your implementation is better and more flexible.

@zytx121
Copy link
Collaborator

zytx121 commented Sep 13, 2024

@calcoloergosum Thank you for your contribution. We will incorporate your angle representation into the main branch as one of the default angle representations.

@zytx121 zytx121 merged commit 95123b9 into open-mmlab:main Sep 13, 2024
5 of 26 checks passed
zytx121 added a commit that referenced this pull request Sep 28, 2024
zytx121 added a commit that referenced this pull request Sep 28, 2024
@@ -80,8 +80,10 @@ def bbox_flip(self, bboxes, img_shape, direction):
flipped = bboxes.copy()
if direction == 'horizontal':
flipped[:, 0] = img_shape[1] - bboxes[:, 0] - 1
flipped[:4] = flipped[[1, 0, 3, 2]].copy()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new line of code will produce incorrect image flips, especially for the original centered representation. Please check it and fix it.

elif direction == 'vertical':
flipped[:, 1] = img_shape[0] - bboxes[:, 1] - 1
flipped[:4] = flipped[[1, 0, 3, 2]].copy()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new line of code will produce incorrect image flips, especially for the original centered representation. Please check it and fix it.

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

Successfully merging this pull request may close these issues.

How to expand the angle range to [0, 360) ?
4 participants