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

"Switch outside" property does not work with the Datumaro format while tracking instances #7571

Closed
2 tasks done
Krupal09 opened this issue Mar 8, 2024 · 5 comments
Closed
2 tasks done
Assignees
Labels
bug Something isn't working good first issue Good for newcomers need info Need more information to investigate the issue

Comments

@Krupal09
Copy link

Krupal09 commented Mar 8, 2024

Actions before raising this issue

  • I searched the existing issues and did not find anything similar.
  • I read/searched the docs

Steps to Reproduce

  1. Upload a series of images to the CVAT tool
  2. Utilize polygon tracking feature to annotate objects over a set of consecutive images
  3. At certain point (for example, at image number 10), opt for "switch outside" property to stop tracking one of the objects
  4. Save the annotations in Datumaro format (Menu -> Export job dataset -> Datumaro format)
  5. Create a fresh job and upload the same set of images as mentioned in the step 1
  6. Upload the annotations generated in step 4
  7. Go to the image where the "switch outside" property was opted for (, which was carried out in step 3)
  8. The object's annotation polygon still shows up and keeps on penetrating to the further frames

Expected Behavior

  1. Upload a series of images to the CVAT tool
  2. Utilize polygon tracking feature to annotate objects over a set of consecutive images
  3. At certain point (for example, at image number 10), opt for "switch outside" property to stop tracking one of the objects
  4. Save the annotations in Datumaro format (Menu -> Export job dataset -> Datumaro format)
  5. Create a fresh job and upload the same set of images as mentioned in the step 1
  6. Upload the annotations generated in step 4
  7. Go to the image where the "switch outside" property was opted for (, which was carried out in step 3)
    ---->> 8. The object's annotation polygon should not show up after uploading the saved Datumaro annotation <<---------

Possible Solution

No response

Context

I am tracking objects over multiple frames and want to remove their annotations from further images when objects are not present on the current frame. The problem with the current state is that all labels from the previous frames are being accumulated to the current frame !

Environment

Operating system : Linux 22.04
OS type : 64-bit
Using google chrome's latest version
Using CVAT docker on local system

@Krupal09 Krupal09 added the bug Something isn't working label Mar 8, 2024
@bsekachev
Copy link
Member

Please, fill the environment.

@bsekachev bsekachev added the need info Need more information to investigate the issue label Mar 8, 2024
@Krupal09
Copy link
Author

Krupal09 commented Mar 8, 2024

As it is clearly visible in attached image, annotations from previous images are being accumulated in the current images which is not expected. Any help in this regard would be really appreciated.

Screenshot from 2024-03-08 10-52-57

@Krupal09
Copy link
Author

Krupal09 commented Mar 8, 2024

Please, fill the environment.

@bsekachev Thank you for your quick response ! I have updated the environment field. Kindly let me know if further details are required.

@zhiltsov-max zhiltsov-max added the good first issue Good for newcomers label Mar 19, 2024
@Yeek020407
Copy link
Contributor

Hi, I am interested in this issue, could you please assign it to me?

zhiltsov-max added a commit that referenced this issue Apr 19, 2024
…ts (#7669)

<!-- 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
<!-- Why is this change required? What problem does it solve? If it
fixes an open
issue, please link to the issue here. Describe your changes in detail,
add
screenshots. -->

Main Issue: #7571 
Related Issue: #2339 

I've reproduced the issue mentioned in #7571 when exporting and
importing annotations using both the Datumaro and Coco 1.0 formats.
Specifically, the "Switch outside" attribute isn't being applied as
expected. After some investigation, I pinpointed the root cause to be
the absence of the "outside" attribute in the exported annotations.

To address this, I've made adjustments to the binding.py file to bypass
the track_id during annotation import. This modification appears to
solve the issue regarding the "Switch outside" attribute. However, it
introduces a new concern: the potential loss of information, including
keyframes and track_id.

While this workaround offers a temporary fix, I'm contemplating a more
holistic approach that entails properly handling the "outside" attribute
during both the export and import processes of annotations. This method
could preserve the integrity of the annotations while ensuring the
functionality of the "Switch outside" attribute.

I'm reaching out for feedback or suggestions on my proposed solution. Is
there a preference for one of these approaches, or might there be
another avenue I haven't considered?

Looking forward to your insights.

### 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 created a changelog fragment <!-- see top comment in
CHANGELOG.md -->
- [ ] 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))
- [ ] 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.

---------

Co-authored-by: Maxim Zhiltsov <zhiltsov.max35@gmail.com>
@Eldies
Copy link
Contributor

Eldies commented Jul 17, 2024

Can not reproduce the problem. It seems to be fixed.

@Eldies Eldies closed this as completed Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers need info Need more information to investigate the issue
Projects
None yet
Development

No branches or pull requests

5 participants