-
Notifications
You must be signed in to change notification settings - Fork 3.1k
GSoC 2025
Boris Sekachev edited this page Jan 28, 2025
·
28 revisions
The page contains aggregated information related to participating CVAT.ai Corporation in Google Summer of Code 2025.
Note: The projects list is still under discussion and may be updated until February 11 18:00 UTC
Full timeline may be found on corresponding GSoC page
Date | Description |
---|---|
February 11 18:00 UTC | Mentoring organization application deadline |
February 27 18:00 UTC | List of accepted mentoring organizations published |
March 24 18:00 UTC - April 8 18:00 UTC | GSoC contributor application period |
April 29 18:00 UTC | GSoC contributor proposal rankings deadline |
May 8 18:00 UTC | Accepted GSoC contributor projects announced |
May 8 - June 1 | Community Bonding Period |
June 2 | Coding begins |
July 14 18:00 UTC - July 18 18:00 UTC | Midterm evaluation period |
September 1 - 8 18:00 UTC | Final evaluation period |
- API keys and token-based auth for SDK and CLI
- Timeline for tracked objects
- Trackable masks and tags
- Embedded notifications
- Multiple objects selection and bulk actions
- Account deletion and optimized resources erasing
All projects requires Python and TypeScript programming skills unless other noted.
-
- Description: Currently, the only official way to be authentificated in SDK/CLI is by providing your username and password in the requests. This approach works, however it has security issues. The idea is to provide an option for a user to generate and manage API access keys. Such a key could be used as a replacement for the login/password pair.
-
Expected Outcomes:
- Users can generate API access tokens in the account settings in UI
- Users may see a list of generated tokens and last time they were used
- Users can revoke existing API access tokens in the account settings
- Users can call API endpoints providing API access tokens
- A token can be used for authentification in SDK/CLI
- Resources:
- Skills Required: Python (Django, DRF), Typescript (React)
- Possible Mentors: Maxim Zhiltsov, Roman Donchenko
- Difficulty: Medium
- Duration: 175 hours
-
- Description: TODO
-
Expected Outcomes:
- TODO
- Resources:
- Skills Required: Typescript (React)
- Possible Mentors: Kirill Lakhov
- Difficulty: Medium
- Duration: 175 hours
-
- Description: CVAT supports both images and video annotation. It has two kinds of objects: shapes and tracks. Shapes are single frame objects. Tracks may live during the whole video, showing that shapes on different frames relate to the same object on a video. Tracks have additional features, like their shapes, attributes, and properties may be interpolated automatically between different keyframes. Currently that is true for all types of objects, except for masks and tags. The purpose of this task is to unify tracking functionality for all the objects.
-
Expected Outcomes:
- Masks and tags may be tracked during a video.
- Tags only interpolate their attributes and properties, as they do not have any position.
- Masks additionally interpolate their position in the simplest way (position just copied between keyframes without linear interpolation, as interpolation of their position is not trivial task).
- Existing annotation formats are updated accordingly.
-
Resources:
- N/A
- Skills Required: Python (Django, DRF), Typescript (React)
- Possible Mentors: Maxim Zhiltsov, Roman Donchenko
- Difficulty: Hard
- Duration: 350 hours
-
- Description: TODO
-
Expected Outcomes:
- TODO
- Resources:
- Skills Required: Python (Django, DRF), Typescript (React)
- Possible Mentors: Boris Sekachev
- Difficulty: Hard
- Duration: 350 hours
-
- Description: TODO
-
Expected Outcomes:
- TODO
- Resources:
- Skills Required: Python (Django, DRF), Typescript (React)
- Possible Mentors: Boris Sekachev
- Difficulty: Typescript (React)
- Duration: 350 hours
-
- Description: Often users want to remove their accounts and to follow personal data laws in different countries CVAT must provide such functionality. However now the process is manual and making it automatic would be a great contribution. One more related issue is that now resources are removed in main server processes and it may cause timeout issues on client when these resources require significant time to delete.
-
Expected Outcomes:
- Users may request deleting their accounts and all associated data from GUI
- It requires password authentification and email confirmation is email backend has configured
- Deleting postponed for configured period of time (e.g. 24 or 48 hours) and performed in a worker
- During this cooldown period user may abort the request
- Deleting may not be possible in some cases (e.g. if a user is an owner of an organization)
- Resources (tasks, projects) must be removed in workers
-
Resources:
- N/A
- Skills Required: Python (Django, DRF), Typescript (React)
- Possible Mentors: Maria Khrustaleva
- Difficulty: Medium
- Duration: 175 hours
1. ## _IDEA:_ <Descriptive Title>
* ***Description:*** 3-7 sentences describing the task
* ***Expected Outcomes:***
* < Short bullet list describing what is to be accomplished >
* <i.e. create a new module called "bla bla">
* < Has method to accomplish X >
* <...>
* ***Resources:***
* [For example a paper citation](https://arxiv.org/pdf/1802.08091.pdf)
* [For example an existing feature request](https://github.com/opencv/cvat/pull/5608)
* [Possibly an existing related module](https://github.com/opencv/cvat/tree/develop/cvat/apps/opencv) that includes OpenCV JavaScript library.
* ***Skills Required:*** < for example mastery plus experience coding in Python, college course work in vision that covers AI topics, python. Best if you have also worked with deep neural networks. >
* ***Possible Mentors:*** < your name goes here >
* ***Difficulty:*** <Easy, Medium, Hard>
* ***Duration:*** <90, 175 or 350 hours>