Bumps [pillow](https://github.com/python-pillow/Pillow) from 9.0.1 to 9.3.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/python-pillow/Pillow/releases">pillow's releases</a>.</em></p> <blockquote> <h2>9.3.0</h2> <p><a href="https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html">https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html</a></p> <h2>Changes</h2> <ul> <li>Initialize libtiff buffer when saving <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6699">#6699</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Limit SAMPLESPERPIXEL to avoid runtime DOS <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6700">#6700</a> [<a href="https://github.com/wiredfool"><code>@wiredfool</code></a>]</li> <li>Inline fname2char to fix memory leak <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6329">#6329</a> [<a href="https://github.com/nulano"><code>@nulano</code></a>]</li> <li>Fix memory leaks related to text features <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6330">#6330</a> [<a href="https://github.com/nulano"><code>@nulano</code></a>]</li> <li>Use double quotes for version check on old CPython on Windows <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6695">#6695</a> [<a href="https://github.com/hugovk"><code>@hugovk</code></a>]</li> <li>GHA: replace deprecated set-output command with GITHUB_OUTPUT file <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6697">#6697</a> [<a href="https://github.com/nulano"><code>@nulano</code></a>]</li> <li>Remove backup implementation of Round for Windows platforms <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6693">#6693</a> [<a href="https://github.com/cgohlke"><code>@cgohlke</code></a>]</li> <li>Upload fribidi.dll to GitHub Actions <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6532">#6532</a> [<a href="https://github.com/nulano"><code>@nulano</code></a>]</li> <li>Fixed set_variation_by_name offset <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6445">#6445</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Windows build improvements <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6562">#6562</a> [<a href="https://github.com/nulano"><code>@nulano</code></a>]</li> <li>Fix malloc in _imagingft.c:font_setvaraxes <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6690">#6690</a> [<a href="https://github.com/cgohlke"><code>@cgohlke</code></a>]</li> <li>Only use ASCII characters in C source file <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6691">#6691</a> [<a href="https://github.com/cgohlke"><code>@cgohlke</code></a>]</li> <li>Release Python GIL when converting images using matrix operations <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6418">#6418</a> [<a href="https://github.com/hmaarrfk"><code>@hmaarrfk</code></a>]</li> <li>Added ExifTags enums <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6630">#6630</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Do not modify previous frame when calculating delta in PNG <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6683">#6683</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Added support for reading BMP images with RLE4 compression <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6674">#6674</a> [<a href="https://github.com/npjg"><code>@npjg</code></a>]</li> <li>Decode JPEG compressed BLP1 data in original mode <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6678">#6678</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>pylint warnings <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6659">#6659</a> [<a href="https://github.com/marksmayo"><code>@marksmayo</code></a>]</li> <li>Added GPS TIFF tag info <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6661">#6661</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Added conversion between RGB/RGBA/RGBX and LAB <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6647">#6647</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Do not attempt normalization if mode is already normal <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6644">#6644</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Fixed seeking to an L frame in a GIF <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6576">#6576</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Consider all frames when selecting mode for PNG save_all <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6610">#6610</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Don't reassign crc on ChunkStream close <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6627">#6627</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Raise a warning if NumPy failed to raise an error during conversion <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6594">#6594</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Only read a maximum of 100 bytes at a time in IMT header <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6623">#6623</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Show all frames in ImageShow <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6611">#6611</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Allow FLI palette chunk to not be first <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6626">#6626</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>If first GIF frame has transparency for RGB_ALWAYS loading strategy, use RGBA mode <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6592">#6592</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Round box position to integer when pasting embedded color <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6517">#6517</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Removed EXIF prefix when saving WebP <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6582">#6582</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Pad IM palette to 768 bytes when saving <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6579">#6579</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Added DDS BC6H reading <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6449">#6449</a> [<a href="https://github.com/ShadelessFox"><code>@ShadelessFox</code></a>]</li> <li>Added support for opening WhiteIsZero 16-bit integer TIFF images <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6642">#6642</a> [<a href="https://github.com/JayWiz"><code>@JayWiz</code></a>]</li> <li>Raise an error when allocating translucent color to RGB palette <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6654">#6654</a> [<a href="https://github.com/jsbueno"><code>@jsbueno</code></a>]</li> <li>Moved mode check outside of loops <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6650">#6650</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Added reading of TIFF child images <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6569">#6569</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Improved ImageOps palette handling <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6596">#6596</a> [<a href="https://github.com/PososikTeam"><code>@PososikTeam</code></a>]</li> <li>Defer parsing of palette into colors <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6567">#6567</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Apply transparency to P images in ImageTk.PhotoImage <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6559">#6559</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Use rounding in ImageOps contain() and pad() <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6522">#6522</a> [<a href="https://github.com/bibinhashley"><code>@bibinhashley</code></a>]</li> <li>Fixed GIF remapping to palette with duplicate entries <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6548">#6548</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Allow remap_palette() to return an image with less than 256 palette entries <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6543">#6543</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> <li>Corrected BMP and TGA palette size when saving <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6500">#6500</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst">pillow's changelog</a>.</em></p> <blockquote> <h2>9.3.0 (2022-10-29)</h2> <ul> <li> <p>Limit SAMPLESPERPIXEL to avoid runtime DOS <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6700">#6700</a> [wiredfool]</p> </li> <li> <p>Initialize libtiff buffer when saving <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6699">#6699</a> [radarhere]</p> </li> <li> <p>Inline fname2char to fix memory leak <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6329">#6329</a> [nulano]</p> </li> <li> <p>Fix memory leaks related to text features <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6330">#6330</a> [nulano]</p> </li> <li> <p>Use double quotes for version check on old CPython on Windows <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6695">#6695</a> [hugovk]</p> </li> <li> <p>Remove backup implementation of Round for Windows platforms <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6693">#6693</a> [cgohlke]</p> </li> <li> <p>Fixed set_variation_by_name offset <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6445">#6445</a> [radarhere]</p> </li> <li> <p>Fix malloc in _imagingft.c:font_setvaraxes <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6690">#6690</a> [cgohlke]</p> </li> <li> <p>Release Python GIL when converting images using matrix operations <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6418">#6418</a> [hmaarrfk]</p> </li> <li> <p>Added ExifTags enums <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6630">#6630</a> [radarhere]</p> </li> <li> <p>Do not modify previous frame when calculating delta in PNG <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6683">#6683</a> [radarhere]</p> </li> <li> <p>Added support for reading BMP images with RLE4 compression <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6674">#6674</a> [npjg, radarhere]</p> </li> <li> <p>Decode JPEG compressed BLP1 data in original mode <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6678">#6678</a> [radarhere]</p> </li> <li> <p>Added GPS TIFF tag info <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6661">#6661</a> [radarhere]</p> </li> <li> <p>Added conversion between RGB/RGBA/RGBX and LAB <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6647">#6647</a> [radarhere]</p> </li> <li> <p>Do not attempt normalization if mode is already normal <a href="https://github-redirect.dependabot.com/python-pillow/Pillow/issues/6644">#6644</a> [radarhere]</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
3 years ago | |
|---|---|---|
| .github | 3 years ago | |
| .vscode | 3 years ago | |
| components | 3 years ago | |
| cvat | 3 years ago | |
| cvat-canvas | 3 years ago | |
| cvat-canvas3d | 4 years ago | |
| cvat-cli | 3 years ago | |
| cvat-core | 3 years ago | |
| cvat-data | 3 years ago | |
| cvat-sdk | 3 years ago | |
| cvat-ui | 3 years ago | |
| helm-chart | 3 years ago | |
| serverless | 3 years ago | |
| site | 3 years ago | |
| ssh | 4 years ago | |
| supervisord | 3 years ago | |
| tests | 3 years ago | |
| utils | 3 years ago | |
| .bandit | 4 years ago | |
| .codacy.yml | 5 years ago | |
| .coveragerc | 4 years ago | |
| .dockerignore | 3 years ago | |
| .editorconfig | 6 years ago | |
| .eslintignore | 5 years ago | |
| .eslintrc.js | 3 years ago | |
| .gitattributes | 6 years ago | |
| .gitignore | 4 years ago | |
| .gitmodules | 5 years ago | |
| .nycrc | 5 years ago | |
| .prettierignore | 5 years ago | |
| .prettierrc | 5 years ago | |
| .pylintrc | 4 years ago | |
| .remarkignore | 4 years ago | |
| .remarkrc.js | 5 years ago | |
| .stylelintrc.json | 5 years ago | |
| CHANGELOG.md | 3 years ago | |
| CITATION.cff | 3 years ago | |
| Dockerfile | 3 years ago | |
| Dockerfile.ci | 4 years ago | |
| Dockerfile.ui | 3 years ago | |
| LICENSE | 4 years ago | |
| README.md | 3 years ago | |
| SECURITY.md | 4 years ago | |
| docker-compose.ci.yml | 4 years ago | |
| docker-compose.dev.yml | 3 years ago | |
| docker-compose.https.yml | 4 years ago | |
| docker-compose.yml | 3 years ago | |
| lint-staged.config.js | 4 years ago | |
| manage.py | 4 years ago | |
| mod_wsgi.conf | 3 years ago | |
| package.json | 3 years ago | |
| wait-for-it.sh | 8 years ago | |
| yarn.lock | 3 years ago | |
README.md
Computer Vision Annotation Tool (CVAT)
CVAT is an interactive video and image annotation tool for computer vision. It is used by tens of thousands of users and companies around the world. CVAT is free and open-source.
A new repo: CVAT core team moved the active development of the tool to this new repository. Our mission is to help developers, companies and organizations around the world to solve real problems using the Data-centric AI approach.
Start using CVAT online for free: cvat.ai. Or set it up as a self-hosted solution: read here.
Quick start ⚡
- Installation guide
- Manual
- Contributing
- Datumaro dataset framework
- Server API
- Python SDK
- Command line tool
- XML annotation format
- AWS Deployment Guide
- Frequently asked questions
- Where to ask questions
Partners ❤️
CVAT is used by teams all over the world. In the list you can find key companies which help us support the product or an essensial part of our ecosystem. If you use us, please drop us a line at contact@cvat.ai.
- Human Protocol uses CVAT as a way of adding annotation service to the Human Protocol.
- FiftyOne is an open-source dataset curation and model analysis tool for visualizing, exploring, and improving computer vision datasets and models that is tightly integrated with CVAT for annotation and label refinement.
Public datasets
- ATLANTIS, an open-source dataset for semantic segmentation of waterbody images, depeloped by iWERS group in the Department of Civil and Environmental Engineering at University of South Carolina, is using CVAT. For developing a semantic segmentation dataset using CVAT, please check ATLANTIS published article, ATLANTIS Development Kit and annotation tutorial videos.
CVAT online: cvat.ai
This is an online version of CVAT. It's free, efficient, and easy to use.
cvat.ai runs the latest version of the tool. You can create up to 10 tasks there and upload up to 500Mb of data to annotate. It will only be visible to you or people you assign to it.
For now, it does not have analytics features like management and monitoring the data annotation team.
We plan to enhance cvat.ai with new powerful features. Stay tuned!
Prebuilt Docker images 🐳
Prebuilt docker images are the easiest way to start using CVAT locally. They are available on Docker Hub:
The images have been downloaded more than 1M times so far.
Screencasts 🎦
Here are some screencasts showing how to use CVAT.
- Introduction
- Annotation mode
- Interpolation of bounding boxes
- Interpolation of polygons
- Tag annotation video
- Attribute mode
- Segmentation mode
- Tutorial for polygons
- Semi-automatic segmentation
API
SDK
- Install with
pip install cvat-sdk - PyPI package homepage
- Documentation
CLI
- Install with
pip install cvat-cli - PyPI package homepage
- Documentation
Supported annotation formats
CVAT supports multiple annotation formats. You can select the format after clicking the "Upload annotation" and "Dump annotation" buttons. Datumaro dataset framework allows additional dataset transformations via its command line tool and Python library.
For more information about the supported formats, look at the documentation.
| Annotation format | Import | Export |
|---|---|---|
| CVAT for images | ✔️ | ✔️ |
| CVAT for a video | ✔️ | ✔️ |
| Datumaro | ✔️ | ✔️ |
| PASCAL VOC | ✔️ | ✔️ |
| Segmentation masks from PASCAL VOC | ✔️ | ✔️ |
| YOLO | ✔️ | ✔️ |
| MS COCO Object Detection | ✔️ | ✔️ |
| MS COCO Keypoints Detection | ✔️ | ✔️ |
| TFrecord | ✔️ | ✔️ |
| MOT | ✔️ | ✔️ |
| MOTS PNG | ✔️ | ✔️ |
| LabelMe 3.0 | ✔️ | ✔️ |
| ImageNet | ✔️ | ✔️ |
| CamVid | ✔️ | ✔️ |
| WIDER Face | ✔️ | ✔️ |
| VGGFace2 | ✔️ | ✔️ |
| Market-1501 | ✔️ | ✔️ |
| ICDAR13/15 | ✔️ | ✔️ |
| Open Images V6 | ✔️ | ✔️ |
| Cityscapes | ✔️ | ✔️ |
| KITTI | ✔️ | ✔️ |
| Kitti Raw Format | ✔️ | ✔️ |
| LFW | ✔️ | ✔️ |
| Supervisely Point Cloud Format | ✔️ | ✔️ |
Deep learning serverless functions for automatic labeling
CVAT supports automatic labelling. It can speed up the annotation process up to 10x. Here is a list of the algorithms we support, and the platforms they can be ran on:
| Name | Type | Framework | CPU | GPU |
|---|---|---|---|---|
| Deep Extreme Cut | interactor | OpenVINO | ✔️ | |
| Faster RCNN | detector | OpenVINO | ✔️ | |
| Mask RCNN | detector | OpenVINO | ✔️ | |
| YOLO v3 | detector | OpenVINO | ✔️ | |
| Object reidentification | reid | OpenVINO | ✔️ | |
| Semantic segmentation for ADAS | detector | OpenVINO | ✔️ | |
| Text detection v4 | detector | OpenVINO | ✔️ | |
| YOLO v5 | detector | PyTorch | ✔️ | |
| SiamMask | tracker | PyTorch | ✔️ | ✔️ |
| TransT | tracker | PyTorch | ✔️ | ✔️ |
| f-BRS | interactor | PyTorch | ✔️ | |
| HRNet | interactor | PyTorch | ✔️ | |
| Inside-Outside Guidance | interactor | PyTorch | ✔️ | |
| Faster RCNN | detector | TensorFlow | ✔️ | ✔️ |
| Mask RCNN | detector | TensorFlow | ✔️ | ✔️ |
| RetinaNet | detector | PyTorch | ✔️ | ✔️ |
| Face Detection | detector | OpenVINO | ✔️ |
License
The code is released under the MIT License.
This software uses LGPL licensed libraries from the FFmpeg project. The exact steps on how FFmpeg was configured and compiled can be found in the Dockerfile.
FFmpeg is an open source framework licensed under LGPL and GPL. See https://www.ffmpeg.org/legal.html. You are solely responsible for determining if your use of FFmpeg requires any additional licenses. CVAT.ai Corporation is not responsible for obtaining any such licenses, nor liable for any licensing fees due in connection with your use of FFmpeg.
Where to ask questions
Gitter chat: you can post CVAT usage related questions there. Typically they get answered fast by the core team or community. There you can also browse other common questions.
Discord is the place to also ask questions or discuss any other stuff related to CVAT.
GitHub issues: please post them for feature requests or bug reports. If it's a bug, please add the steps to reproduce it.
#cvat tag on StackOverflow is one more way to ask questions and get our support.
contact@cvat.ai: reach out to us with feedback, comments, or inquiries.

