Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[GSoC2024] fix skeleton tracks slice between jobs (cvat-ai#7615)
Fixes cvat-ai#7498 In cvat-ai#6968, sub tracks splitting has been fixed but not entirely, if the user wants to import tracks between more than 2 jobs it can cause malformed annotation like cvat-ai#7498. In the pervious test case, https://github.com/opencv/cvat/blob/d1a300f0189744bef01d2c60135ec474c5004fbc/tests/python/rest_api/test_tasks.py#L543-L563 skeleton track is static so it did not identify any issues. <!-- 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 Pervious interpolate method will drop the last frame. That's correct for most cases, but if slices and tracks are like this: slice: -------------xxxxx--------- track: ---------xxxxxxxxxx------- We have to keep the last frame of slice in the track. If not, this track won't close. ### How has this been tested? I rewrited the testcase `test_can_split_skeleton_tracks_on_jobs` Now it test the split function with a longer input track and stricter interpolate reference. ### 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)) - [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. --------- Co-authored-by: Maxim Zhiltsov <zhiltsov.max35@gmail.com>
- Loading branch information