-
Notifications
You must be signed in to change notification settings - Fork 3k
GSoC 2024
Nikita Manovich edited this page Feb 5, 2024
·
25 revisions
Date | Description | Comment |
---|---|---|
February 6, 2024 | Mentoring organization application deadline | 👍 |
- GSoC Home Page
- CVAT project ideas list
- CVAT.ai home site
- CVAT Wiki
- Source Code can be found at GitHub/CVAT
- CVAT YouTube
- CVAT Documentation
- CVAT.ai LinkedIn
Mailing list to discuss: cvat-gsoc-2024 mailing list
- Load and visualize 16-bit medical images
- Keyboard shortcuts customization
- Quality control: consensus
- Quality control: honeypot
- Internationalization and localization
All work is in Python and TypeScript unless otherwise noted.
-
- Description: All digital projection X-ray in DICOM is more than 8 bits and hence encoded in two bytes, even if not all 16 bits are used. Right now CVAT converts 16-bit images into 8-bit. For medical images it leads to losing important information and it isn't possible to annotate such data efficiently. A doctor should adjust the contract of some regions manually to annotate such visual data.
-
Expected Outcomes:
- Upload digital projection X-ray in DICOM and convert it to 16-bit PNG.
- Visualize 16-bit PNG image in the browser using WebGL.
- Implement brightness, inverting, contract, saturation using WebGL.
- Import/Export datasets in CVAT format.
- Add functional tests and documentation
- Resources:
- Skills Required: Python, TypeScript, WebGL
- Possible Mentors: Boris Sekachev
- Difficulty: Hard
-
- Description: In many case to have good data annotation speed users need to use mouse, keyboard, and other input devices effectively. One way is to customize keyboard shortcuts and adapt them for a specific use case. For example, if you have several labels in your task, it can be important to assign a shortcut for each label and use them to switch quickly between them and annotate faster. Other users want to lock/unlock an object quickly.
-
Expected Outcomes:
- It should be possible to configure shortcuts in settings and save them per user.
- Add functional tests and documentation
- Resources:
- Skills Required: TypeScript, React
- Possible Mentors: Maria Khrustaleva
- Difficulty: Medium
-
- Description: If you use crowd to annotate an image, the easiest way to get high quality annotations for a task is to annotate the same image multiple times. After that you can compare labels from multiple annotators to produce high-quality results. Let's say you try to estimate age of people. The task is very subjective. An averaged answer from multiple annotators can help you predict more precise age for a person.
-
Expected Outcomes:
- It should be possible to create multiple jobs for the same segment of images (https://github.com/opencv/cvat/issues/125)
- Support a number of built-in algorithms to merge annotations for a segment: voting, averaging, raw (put all annotations as is)
- Add functional tests and documentation
- Resources:
- Skills Required: Python, Django
- Possible Mentors: Maxim Zhiltsov
- Difficulty: Medium
-
- Description: Data quality is the crucial property of any dataset. It is important to understand how well your data is annotated. One way is to have some pre-labeled data and compare provided annotations with known annotations. You can have 1% of annotated data only (ground truth) and use statistics to predict how well all images in your dataset are annotated.
-
Expected Outcomes:
- It should be possible to create hidden jobs in your tasks and upload ground truth annotations into the job.
- Support a number of built-in algorithms to score the provided annotations.
- Add functional tests and documentation
- Resources:
- Skills Required: Python, Django
- Possible Mentors: Maxim Zhiltsov
- Difficulty: Medium
-
- Description: Typical users of CVAT are data annotators from different countries without good knowledge of English. It is very difficult for them to work with a tool which cannot show them messages, hints on their native language. The goal of internationalization and localization is to allow a single web application to offer its content in languages and formats tailored to the audience.
-
Expected Outcomes:
- CVAT supports one more language. It should be easy to add a new language for a non-technical person.
- It should be possible to choose a language in UI (e.g., en/fr).
- Add functional tests and documentation
- Resources:
- Skills Required: Python, TypeScript
- Possible Mentors: Andrey Zhavoronkov
- Difficulty: Hard
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>
Nikita Manovich
Boris Sekachev
Maxim Zhiltsov
Roman Donchenko
Andrey Zhavoronkov
Nikita Manovich
Boris Sekachev