CVAT 标注工具实战指南:从本地部署到数据集交付的 6 个步骤
【免费下载链接】cvatComputer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enterprise products, as well as labeling services, for image, video, and 3D annotation with AI-assisted labeling, quality assurance, team collaboration, analytics, and developer APIs.项目地址: https://gitcode.com/GitHub_Trending/cvat/cvat
CVAT 标注工具(Computer Vision Annotation Tool)是用于构建高质量视觉数据集的开源数据标注平台,支持图像、视频和 3D 点云标注、20 余种导入导出格式、模型自动标注与多用户协作。本文按真实任务流走一遍:把服务拉起来 → 完成第一次标注 → 接入模型自动标注 → 拉人分工 → 导出交付数据集,并在最后给出 3 个高频故障的处理方法。
把本地服务跑起来
确认前置条件
- Docker 与 Compose(
docker composev2 插件)已安装,Git 可用 - 内存建议 8GB 以上(16GB 更好),磁盘预留 20GB 以上用于拉取镜像和存放数据
- 浏览器用 Chrome 或 Edge 等 Chromium 系;Firefox 可能有小问题,Safari 不支持
- Windows 环境建议装在 WSL2 + Docker Desktop 里
🚀 一条命令部署
先克隆仓库并启动整个服务栈。首次运行会拉取 cvat/server、cvat/ui、Postgres、Redis 等镜像,需要几分钟到十几分钟,期间可以用docker compose logs -f观察进度。
git clone https://gitcode.com/GitHub_Trending/cvat/cvat cd cvat docker compose up -d这一条命令会拉起 18 个容器:API 服务器、8 个专职 worker(导入、导出、标注、webhooks、质量报告等)、前端、Postgres、两级 Redis、OPA 鉴权、ClickHouse 与 Grafana 分析组件,以及负责路由的 Traefik。对外只暴露 8080 端口。
再创建管理员账户。自己注册的账号默认没有任何权限,必须通过命令行建一个 superuser:
docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'按提示填用户名和密码后,浏览器打开http://localhost:8080登录即可。如果要用 IP 或域名访问,启动前执行export CVAT_HOST=<你的IP或域名>。
验证服务是否健康
登录前可先确认后端各组件状态,预期看到 Cache、Database、Disk、Memory、Migrations、OPA 全部 working:
docker exec -t cvat_server python manage.py health_check完成第一次标注
创建任务:上传数据、定义标签
在 Tasks 页面新建任务。先定义标签(如 person、car,需要细分可加属性),再选择数据来源——本地上传、共享目录、远程地址或云存储。图像支持 JPEG、PNG、TIFF 等 Pillow 覆盖的格式,视频支持 MP4、AVI、MOV,点云支持 .pcd 和 .bin。
选对形状工具
形状工具按任务类型选择:
- 矩形:常规目标检测
- 多边形 / 折线:不规则轮廓、道路等线性物体
- 椭圆 / 画笔:圆形物体与像素级分割
- 骨架:人体姿态关键点
- Tag:整帧/整段分类
绘制时注意两个行为区别:Shape 只标当前帧,Track 会把它作为同一对象跨帧跟踪。编辑器还提供 5 种模式(Standard、属性标注、单形状、Tag 标注、Review),Review 模式专门用于检查已有标注。
需要 3D 时用 cuboid
上传 .pcd/.bin 点云后进入 3D 标注,用 cuboid 标注三维目标,Top、Side、Front 三个视图同步编辑,适合自动驾驶、机器人场景。
接入模型做自动标注
部署 serverless 组件
默认部署不包含自动标注能力。它跑在 Nuclio serverless 框架上,把额外的 compose 文件叠加进来即可:
docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d仓库内已预置一批模型,覆盖检测(YOLO v7、RetinaNet、Faster RCNN)、分割交互(SAM、IOG)、姿态(HRNet32)和跟踪(TransT)。安装nuctl命令行后,按需把模型函数部署上去,模型列表见 serverless 模型目录。
跑第一次自动标注
进入任务 Actions 菜单的 Automatic Annotation:选择模型、把模型输出类别映射到你任务里的标签、设置置信度阈值,还可以限定 Region of interest 只处理局部区域,点 Annotate 后模型结果直接落到画布上,你再逐帧修正。
拉团队协作与分工
建组织、配角色
CVAT 有两级角色。全局角色三个:Administrator(自托管环境的全权管理员)、User(注册默认角色)、Worker(只能做标注和验证,不能建任务)。组织内还有更细的 Organization 角色,控制成员对任务、项目的可见范围。自建实例里角色策略以.rego文件维护,需要改权限可以调整后再重启,详见 用户角色文档。
任务拆 job、分配 assignee
任务按 segment size 切分成多个 job,分给不同标注员。每个 job 有 annotation → validation → completed 三个阶段,任务列表可按 assignee、状态过滤,随时看到谁做到哪。沟通用评论和 issue 定位具体帧,多人交叉标注可以启用 consensus 模式对比合并结果。
导出与交付数据集
选对导出格式
任务 Actions 里的 Export task dataset 支持 20+ 种行业标准格式,常见的有:
- CVAT XML(保真度最高)
- COCO JSON、Pascal VOC XML
- YOLO / Ultralytics YOLO TXT
- KITTI、MOT(自动驾驶与多目标跟踪)
可以选只导出标注,或标注连同图像一起打包,并指定 subset(train/test/validation)。格式实现代码在 cvat/apps/dataset_manager/formats/,每行对应一种格式。
用 SDK 和 CLI 自动化
REST API 覆盖全部功能;Python SDK 适合写进数据流水线,装完就能用:
pip install cvat-sdk典型用法:批量创建任务、上传数据、轮询标注进度、完成后自动导出,仓库的 cvat-sdk/examples 下有任务创建、导入导出、webhook 注册等可直接参考的脚本。
3 个高频故障
页面打不开或 502
现象:localhost:8080转圈或 502。原因:首次拉镜像和容器启动还没完成,或 8080 端口被占用。解决:docker compose logs -f等 cvat_server 就绪;端口冲突则改docker-compose.yml里 traefik 的ports为<新端口>:8080。
启动时提示磁盘空间不足
现象:health check 报 "disk usage exceeds 90%"。原因:CVAT 默认要求保留 10% 空闲磁盘。解决:清理空间,或用环境变量export CVAT_HEALTH_DISK_USAGE_MAX=90调整阈值。
CVAT_HOST 不生效
现象:配了CVAT_HOST但外网仍访问不到。原因:用sudo跑 compose 时用户环境变量被丢弃。解决:改成sudo -E docker compose up -d。
下一步行动项
- 把第一个任务用 COCO 格式导出一次,确认"上传 → 标注 → 导出"全链路通了
- 部署 YOLO v7 检测模型,对一个任务跑一遍自动标注,体会人工修正的工作量变化
- 有队友时建一个组织,给对方 Worker 角色,把任务拆成 2 个 job 分配出去,体验阶段流转
【免费下载链接】cvatComputer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enterprise products, as well as labeling services, for image, video, and 3D annotation with AI-assisted labeling, quality assurance, team collaboration, analytics, and developer APIs.项目地址: https://gitcode.com/GitHub_Trending/cvat/cvat
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考