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

Hide a bounding box around a skeleton if it isn't selected #5332

Closed
ArMaxik opened this issue Nov 21, 2022 · 5 comments · Fixed by #5911
Closed

Hide a bounding box around a skeleton if it isn't selected #5332

ArMaxik opened this issue Nov 21, 2022 · 5 comments · Fixed by #5911
Assignees
Labels
bug Something isn't working ui/ux

Comments

@ArMaxik
Copy link

ArMaxik commented Nov 21, 2022

Expected Behaviour

Thank you for skeleton annotation feature!
During skeleton annotation bounding box is stiched to the points. It is impossible to place both of them accurate.

Current Behaviour

For example, I placed a skeleton. The bounding box is slightly big:
Skeleton1

If i try to scale the boundging box, the skeleton will move proportionally:
Skeleton2

Possible Solution

I think it will be very helpful to add an button on bounding box object, that turning on\off connection to the points. Or even turn it off automatically when you are reshaping the box.

Context

With current behavior the use of skeleton annotation feature is inconvenient.

@bsekachev
Copy link
Member

bsekachev commented Nov 22, 2022

@ArMaxik The only reason why this bounding box exists is to be able resize the whole skeleton proportionally :)
So, if it is inconvenient for you, maybe do you want not to see the bounding box at all?
Bounding box size depends on points coordinates plus a fixed margin in pixels.

@ArMaxik
Copy link
Author

ArMaxik commented Nov 22, 2022

@bsekachev The annotation with both bounding boxes and skeletons is crutual for some computer vision algorithms. It's easier to have them in one task rather than in two different. For example, for top down methods I will train object detection model on accurate bboxes and after I will train keypoints detection model on object crops. Some methods, like YOLO-pose, are using bbox and skeletons simultaniously while trainnig.

Also well known COCO dataset has both types of annotations, but i can't import it into cvat without loosing bounding boxes.

So, that's why i think CVAT should be able to handle both types of annotations under one task. Bbox should't be dependet on keypoints coordinates.

@bsekachev
Copy link
Member

@ArMaxik

Skeletons don't support bounding boxes now.
Bounding boxes you see are not part of annotations, you will not see them in an exported dataset. They are only for visualization and resizing purposes.

I agree, that it is useful for some kind of scenarios, but for now it is not implemented :)

@bsekachev bsekachev added the enhancement New feature or request label Nov 22, 2022
@bsekachev bsekachev added this to the Backlog milestone Nov 22, 2022
@bsekachev bsekachev changed the title Inconvenient skeleton annotation Support bounding boxes for skeleton type Nov 22, 2022
@nmanovic nmanovic removed this from the Backlog milestone Dec 10, 2022
@nmanovic
Copy link
Contributor

nmanovic commented Jan 3, 2023

@ArMaxik , @bsekachev , bounding box around a skeleton should be used only for manipulation with a skeleton. We should not show it by default. As I can see, it can confuse people.

Let's just hide the bounding box around a skeleton if it isn't selected.

@nmanovic nmanovic changed the title Support bounding boxes for skeleton type Hide a bounding box around a skeleton if it isn't selected Jan 3, 2023
@nmanovic nmanovic added bug Something isn't working ui/ux and removed enhancement New feature or request labels Jan 3, 2023
@ArMaxik
Copy link
Author

ArMaxik commented Jan 4, 2023

Let's just hide the bounding box around a skeleton if it isn't selected.

@nmanovic It will be great!

But there is still a confusing part of the skeleton annotation. When exporting to a format that allows instances with points and bboxes (like COCO keypoints), bbox is automatically created around the skeleton and doesn't represent the whole object.

I sugest considering groups formed by the group instrument. If there is one skeleton and one bbox in one group, they will represent one instance during export.

@bsekachev bsekachev assigned bsekachev and unassigned klakhov Mar 22, 2023
bsekachev added a commit that referenced this issue Mar 24, 2023
<!-- Raise an issue to propose your change
(https://github.com/opencv/cvat/issues).
It helps to avoid duplication of efforts from multiple independent
contributors.
Discuss your ideas with maintainers to be sure that changes will be
approved and merged.
Read the [Contribution
guide](https://opencv.github.io/cvat/docs/contributing/). -->

<!-- Provide a general summary of your changes in the Title above -->

### Motivation and context
Resolved #5332 
Related #5904 

### How has this been tested?
<!-- Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc. -->

### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply.
If an item isn't applicable for some reason, then ~~explicitly
strikethrough~~ the whole
line. If you don't do that, GitHub will show incorrect progress for the
pull request.
If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
- [x] I submit my changes into the `develop` branch
- [x] I have added a description of my changes into the
[CHANGELOG](https://github.com/opencv/cvat/blob/develop/CHANGELOG.md)
file
- [ ] I have updated the documentation accordingly
- [x] I have added tests to cover my changes
- [x] I have linked related issues (see [GitHub docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))
- [x] I have increased versions of npm packages if it is necessary

([cvat-canvas](https://github.com/opencv/cvat/tree/develop/cvat-canvas#versioning),

[cvat-core](https://github.com/opencv/cvat/tree/develop/cvat-core#versioning),

[cvat-data](https://github.com/opencv/cvat/tree/develop/cvat-data#versioning)
and

[cvat-ui](https://github.com/opencv/cvat/tree/develop/cvat-ui#versioning))

### License

- [x] I submit _my code changes_ under the same [MIT License](
https://github.com/opencv/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.
mikhail-treskin pushed a commit to retailnext/cvat that referenced this issue Jul 1, 2023
<!-- Raise an issue to propose your change
(https://github.com/opencv/cvat/issues).
It helps to avoid duplication of efforts from multiple independent
contributors.
Discuss your ideas with maintainers to be sure that changes will be
approved and merged.
Read the [Contribution
guide](https://opencv.github.io/cvat/docs/contributing/). -->

<!-- Provide a general summary of your changes in the Title above -->

### Motivation and context
Resolved cvat-ai#5332 
Related cvat-ai#5904 

### How has this been tested?
<!-- Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc. -->

### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply.
If an item isn't applicable for some reason, then ~~explicitly
strikethrough~~ the whole
line. If you don't do that, GitHub will show incorrect progress for the
pull request.
If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
- [x] I submit my changes into the `develop` branch
- [x] I have added a description of my changes into the
[CHANGELOG](https://github.com/opencv/cvat/blob/develop/CHANGELOG.md)
file
- [ ] I have updated the documentation accordingly
- [x] I have added tests to cover my changes
- [x] I have linked related issues (see [GitHub docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))
- [x] I have increased versions of npm packages if it is necessary

([cvat-canvas](https://github.com/opencv/cvat/tree/develop/cvat-canvas#versioning),

[cvat-core](https://github.com/opencv/cvat/tree/develop/cvat-core#versioning),

[cvat-data](https://github.com/opencv/cvat/tree/develop/cvat-data#versioning)
and

[cvat-ui](https://github.com/opencv/cvat/tree/develop/cvat-ui#versioning))

### License

- [x] I submit _my code changes_ under the same [MIT License](
https://github.com/opencv/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working ui/ux
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants