CVAT 软件调研

调研时间 软件名称 软件版本 软件官网
2022年11月6日 Computer Vision Annotation Tool (CVAT) V 2.2.0 CVAT官网 GitHub

不推荐将本软件交由医生使用!软件功能丰富,能满足各种标注需求,但是,其安装、维护、升级、卸载过于繁琐,故不推荐将软件交由非计算机专家使用

软件维护

软件有在线版本免费,但需要使用邮箱注册一个账号。在线版和自己手动装的版本没有区别,只是手动安装的版本账号、图像等数据全都保存在安装 CVAT 的这台电脑上而在线版本需考虑数据泄露等风险。

安装

CVAT 在 Ubuntu 中只能通过Docker安装,但操作遵循Docker 引擎文档CVAT 文档操作即可,B站上也有其他UP主的视频。注意这里安装的Docker 是 Docker EngineDocker-Compose 而不是 Docker Desktop

CVAT 在 Windows 的安装教程中,需要先安装 Ubuntu 子系统(WSL2, Windows Subsystem for Linux),再在 Ubuntu 子系统中安装 docker。Windows 下安装的是Docker Desktop

此外,在其开发环境配置文档中,似乎详细的讲述了不使用 Docker 直接安装 CVAT 的方案,需要手动安装 Node.js 和 Python,我没有验证过。如果这样装碰到了什么问题的话文档太少了会很难办的吧。

注:Docker可以理解为是一种轻量级虚拟机,其详细介绍请翻阅文档。

升级

根据 FAQ 中的信息,由于软件基于 Docker,所以升级时需要先导出所有在 CVAT 中的数据,之后再导入

可以查看备份文档升级文档

卸载

删除cvat文件夹即可。卸载Docker可以参照Docker文档。

软件功能

文件格式支持

数据格式

  • 支持.mp4 .avi等格式的视频、.png .jpg等格式的图片
  • 支持 3D 任务
  • 不支持Dicom .dcm 文件
  • 视频标注后导出会自动将视频拆成一帧一帧的图像

标注格式

此部分内容参见项目 ReadMe 文档,具体信息也可参考完整文档

Annotation format Import Export
CVAT for images 支持 支持
CVAT for a video 支持 支持
Datumaro 支持 支持
PASCAL VOC 支持 支持
Segmentation masks fromPASCAL 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 支持 支持

标注功能

软件使用手册在这里

软件特色

  • 支持使用深度学习模型自动标注,支持的模型和平台见文档。支持半自动和全自动标注(需额外安装nuctl,如有需要可继续调研,这个文档里好像也说得不是很清楚)
  • B/S 架构,便于跨平台跨终端协作与部署,缺点是传点啥东西都需要通过 HTTP 协议。
  • 支持部署至 AWS 和 k8s 集群,支持 mount AWS S3 bucket, Microsoft Azure container or Google Drive as a filesystem.
  • 甚至可以支持 Restful API (不过你一个标注软件支持这个有勾巴用?)

使用避坑

  • 若在虚拟机中使用 CVAT,请注意虚拟机每次挂起,并不保存网络端口映射信息,故需重启 Docker 使软件正常运行。分两步:

    1. 关闭 Docker:
    1
    docker-compose down
    1. 开启 Docker:
    1
    sudo docker-compose up -d
  • cvat-ui组件加载得比cvat-core快,所以 CVAT 刚开启时就算可以使用浏览器进入界面,可能仍然需要大概半分钟的时间才能登录。

  • 在对 Docker 内部的系统输入指令的格式为docker exec -it 容器名 bash -ic 命令,如:

    1
    docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'