AI数据的保存和标注平台
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Saurabh Yadav 59f0b3bb47
Fixed temp_file flush issue for cloud storage in cache.py (#4118)
Issue Summary: File downloaded from cloud storage is not flushed. In case of lot of files, for some files, changes don't reflect in the actual physical file. Actual file is later accessed by filename, which leads to read error.

Issue Error logs:

```
2022-01-05 09:54:14,992 DEBG 'runserver' stderr output:
[Wed Jan 05 09:54:14.992125 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868] [2022-01-05 09:54:14,991] ERROR cvat.server.task_12: cannot get requested data type: chunk, number: 0, quality: Quality.COMPRESSED
[Wed Jan 05 09:54:14.992147 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868] Traceback (most recent call last):
[Wed Jan 05 09:54:14.992152 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]   File "/home/django/cvat/apps/engine/cache.py", line 96, in prepare_chunk_buff
[Wed Jan 05 09:54:14.992156 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]     if checksum and not md5_hash(source_path) == checksum:
[Wed Jan 05 09:54:14.992159 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]   File "/home/django/cvat/apps/engine/utils.py", line 100, in md5_hash
[Wed Jan 05 09:54:14.992163 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]     frame = Image.open(frame, 'r')
[Wed Jan 05 09:54:14.992166 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]   File "/opt/venv/lib/python3.8/site-packages/PIL/Image.py", line 3023, in open
[Wed Jan 05 09:54:14.992186 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]     raise UnidentifiedImageError(
[Wed Jan 05 09:54:14.992189 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868] PIL.UnidentifiedImageError: cannot identify image file '/tmp/cvat_041w7vsimages#0089c635-ae5f-49d7-baa5-a4d75f0412ca.png'
[Wed Jan 05 09:54:14.992192 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]
[Wed Jan 05 09:54:14.992196 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868] During handling of the above exception, another exception occurred:
[Wed Jan 05 09:54:14.992199 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]

2022-01-05 09:54:14,992 DEBG 'runserver' stderr output:
[Wed Jan 05 09:54:14.992202 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868] Traceback (most recent call last):
[Wed Jan 05 09:54:14.992205 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]   File "/home/django/cvat/apps/engine/views.py", line 689, in data
[Wed Jan 05 09:54:14.992208 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]     buff, mime_type = frame_provider.get_chunk(data_id, data_quality)
[Wed Jan 05 09:54:14.992211 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]   File "/home/django/cvat/apps/engine/frame_provider.py", line 167, in get_chunk
[Wed Jan 05 09:54:14.992215 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]     return self._loaders[quality].get_chunk_path(chunk_number, quality, self._db_data)
[Wed Jan 05 09:54:14.992218 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]   File "/home/django/cvat/apps/engine/cache.py", line 32, in get_buff_mime
[Wed Jan 05 09:54:14.992221 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]     chunk, tag = self.prepare_chunk_buff(db_data, quality, chunk_number)
[Wed Jan 05 09:54:14.992224 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]   File "/home/django/cvat/apps/engine/cache.py", line 113, in prepare_chunk_buff
[Wed Jan 05 09:54:14.992227 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868]     raise Exception(msg)
[Wed Jan 05 09:54:14.992231 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868] Exception: cannot identify image file '/tmp/cvat_041w7vsimages#0089c635-ae5f-49d7-baa5-a4d75f0412ca.png'
[Wed Jan 05 09:54:14.992414 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868] ERROR - 2022-01-05 09:54:14,991 - views - cannot get requested data type: chunk, number: 0, quality: Quality.COMPRESSED
[Wed Jan 05 09:54:14.992425 2022] [wsgi:error] [pid 330:tid 139683931096832] [remote 172.20.0.2:56868] Traceback (most recent call last):
```
4 years ago
.github Cypress. Update test case_4. (#4089) 4 years ago
.vscode IAM: Open Policy Agent integration (#3788) 4 years ago
components IAM: Open Policy Agent integration (#3788) 4 years ago
cvat Fixed temp_file flush issue for cloud storage in cache.py (#4118) 4 years ago
cvat-canvas Fixed copy/paste for rotated shapes (#4061) 4 years ago
cvat-canvas3d Interaction handler keyboard handlers fix (#3881) 4 years ago
cvat-core Fix task data upload progress bar (#4134) 4 years ago
cvat-data Working on linter configurations (#3839) 4 years ago
cvat-ui Fixed statistics modal when the job is assigned to someone (#4144) 4 years ago
helm-chart Keramblock develop (#3880) 4 years ago
serverless fix dextr deployment. See https://github.com/openvinotoolkit/cvat/issues/3819 4 years ago
site Update documentation (Development Environment section) (#4082) 4 years ago
ssh Fix all remark warnings (#3261) 5 years ago
tests Added aditional check dropdown menu visibility (#4100) 4 years ago
utils Support any name for a manifest (#4041) 4 years ago
.bandit Skip 28 bandit warnings (lxml, subprocess, ...). (#259) 7 years ago
.codacy.yml Reformatted (#2349) 5 years ago
.coveragerc Manifest (#2763) 5 years ago
.dockerignore React UI: Player in annotation view & settings page (#1018) 6 years ago
.editorconfig Add editorconfig (#1142) 6 years ago
.eslintignore Webpack dev server proxy (#3368) 5 years ago
.eslintrc.js Working on linter configurations (#3839) 4 years ago
.gitattributes DL models as serverless functions (#1767) 6 years ago
.gitignore IAM: Open Policy Agent integration (#3788) 4 years ago
.gitmodules Website with documentation (#3039) 5 years ago
.nycrc Cypress. Exclude some files from instrumentation. (#3349) 5 years ago
.prettierignore fixed templates 5 years ago
.prettierrc Reformatted (#2349) 5 years ago
.pylintrc DL models as serverless functions (#1767) 6 years ago
.remarkrc.js Fix all remark warnings (#3261) 5 years ago
.stylelintrc.json Reformatted (#2349) 5 years ago
CHANGELOG.md Fixed statistics modal when the job is assigned to someone (#4144) 4 years ago
Dockerfile IAM: Open Policy Agent integration (#3788) 4 years ago
Dockerfile.ci Migrate to node 16, npm 7. (#3773) 4 years ago
Dockerfile.ui Working on linter configurations (#3839) 4 years ago
LICENSE Added CI workflow to publish CVAT images (#2766) 5 years ago
README.md Improved documentation site. Adding a copy button for code blocks (#4024) 4 years ago
docker-compose.ci.yml CI. Using the Docker layer cache. Parallelizing test runs. (#3100) 5 years ago
docker-compose.dev.yml CI. Using the Docker layer cache. Parallelizing test runs. (#3100) 5 years ago
docker-compose.https.yml Replace Nginx proxy with Traefik (#3409) 5 years ago
docker-compose.yml IAM: Open Policy Agent integration (#3788) 4 years ago
lint-staged.config.js Working on linter configurations (#3839) 4 years ago
manage.py Moved development on public github. 8 years ago
mod_wsgi.conf Intelligent scissors with OpenCV javascript (#2689) 5 years ago
package-lock.json Working on linter configurations (#3839) 4 years ago
package.json Working on linter configurations (#3839) 4 years ago
supervisord.conf OpenH264 encoder (#2562) 5 years ago
wait-for-it.sh Release 0.1.0 8 years ago

README.md

Computer Vision Annotation Tool (CVAT)

CI Gitter chat Coverage Status server pulls ui pulls DOI

CVAT is free, online, interactive video and image annotation tool for computer vision. It is being used by our team to annotate million of objects with different properties. Many UI and UX decisions are based on feedbacks from professional data annotation team. Try it online cvat.org.

CVAT screenshot

Documentation

Screencasts

Supported annotation formats

Format selection is possible after clicking on 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 supported formats look at the documentation.

Annotation format Import Export
CVAT for images X X
CVAT for a video X X
Datumaro X
PASCAL VOC X X
Segmentation masks from PASCAL VOC X X
YOLO X X
MS COCO Object Detection X X
TFrecord X X
MOT X X
LabelMe 3.0 X X
ImageNet X X
CamVid X X
WIDER Face X X
VGGFace2 X X
Market-1501 X X
ICDAR13/15 X X
Open Images V6 X X
Cityscapes X X
KITTI X X
LFW X X

Deep learning serverless functions for automatic labeling

Name Type Framework CPU GPU
Deep Extreme Cut interactor OpenVINO X
Faster RCNN detector OpenVINO X
Mask RCNN detector OpenVINO X
YOLO v3 detector OpenVINO X
Object reidentification reid OpenVINO X
Semantic segmentation for ADAS detector OpenVINO X
Text detection v4 detector OpenVINO X
SiamMask tracker PyTorch X X
f-BRS interactor PyTorch X
HRNet interactor PyTorch X
Inside-Outside Guidance interactor PyTorch X
Faster RCNN detector TensorFlow X X
Mask RCNN detector TensorFlow X X
RetinaNet detector PyTorch X X

Online demo: cvat.org

This is an online demo with the latest version of the annotation tool. Try it online without local installation. Only own or assigned tasks are visible to users.

Disabled features:

Limitations:

  • No more than 10 tasks per user
  • Uploaded data is limited to 500Mb

Prebuilt Docker images

Prebuilt docker images for CVAT releases are available on Docker Hub:

LICENSE

Code 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. Intel is not responsible for obtaining any such licenses, nor liable for any licensing fees due in connection with your use of FFmpeg.

Partners

  • Onepanel is an open source vision AI platform that fully integrates CVAT with scalable data processing and parallelized training pipelines.
  • DataIsKey uses CVAT as their prime data labeling tool to offer annotation services for projects of any size.
  • Human Protocol uses CVAT as a way of adding annotation service to the human protocol.
  • Cogito Tech LLC, a Human-in-the-Loop Workforce Solutions Provider, used CVAT in annotation of about 5,000 images for a brand operating in the fashion segment.
  • 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.

Questions

CVAT usage related questions or unclear concepts can be posted in our Gitter chat for quick replies from contributors and other users.

However, if you have a feature request or a bug report that can reproduced, feel free to open an issue (with steps to reproduce the bug if it's a bug report) on GitHub* issues.

If you are not sure or just want to browse other users common questions, Gitter chat is the way to go.

Other ways to ask questions and get our support: