CVAT 数据标注平台:图像、视频与 3D 点云标注,20+ 格式导出加 AI 辅助自动标注
【免费下载链接】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 是一个可以自托管的开源数据标注平台,图像、视频、3D 点云标注、AI 辅助自动标注、团队协作和 20 余种格式导出都包含在内,MIT 许可证,数据完全留在自己的服务器上。
一个具体场景:给 5000 帧视频逐帧画框
假设团队要训练一个交通场景检测模型,素材是一段 5000 帧的路口视频。传统做法是逐帧手动画矩形框,标注人员各自用不同的工具和习惯,坐标从 0 开始还是从 1 开始、框是中心点加宽高还是左上角加右下角,全靠口头约定。
标完再交给训练同学,对方用的是 YOLO,要的却是 YOLO TXT 格式,还得写脚本二次转换,转完还要抽查坐标有没有越界。标注人越多、数据量越大,这种“人肉管道”的成本越高。
项目定位:一个能自托管的视觉数据集生产线
CVAT(Computer Vision Annotation Tool)一句话定义:用于构建高质量视觉数据集的开源数据标注平台,社区版可完全跑在自己的基础设施里。
核心能力:
- 手动标注:矩形框、多边形、掩码、关键点、3D 长方体、标签等标注类型覆盖图像、视频和点云,效果是一套工具通吃三类数据
- AI 辅助自动标注:通过 serverless 组件接入检测、分割、姿态、跟踪模型,先由模型出底稿,人工只做修正
- 团队协作:项目-任务-作业(job)三层拆分,支持角色分配、评审流程和 consensus 多人标注比对
- 20+ 格式导出:COCO、YOLO、Pascal VOC、KITTI 等格式直接下载即用,省去二次转换
- 开发者接口:REST API、Python SDK(cvat-sdk/)和命令行工具(cvat-cli/),标注流程可以脚本化
它适合数据不能出内网、需要多人协作、又要把标注接进训练流水线的团队;不适合只想在浏览器里体验 10 分钟、不想碰任何部署的人——这类情况可以直接用官方在线版试水。
Docker 三步部署:从 clone 到登录
前置条件只需 Docker Engine、Docker Compose 和 Git 三个组件。
git clone https://gitcode.com/GitHub_Trending/cvat/cvat cd cvat拉取代码并进入项目目录。
docker compose up -d启动默认服务栈,包含 PostgreSQL、Redis、后端、前端和 ClickHouse 等容器,首次启动会拉取镜像,耐心等待。
docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'创建一个管理员账号,社区版没有内置默认管理员,这一步必须手动执行。
export CVAT_HOST=your-ip-or-domain可选:在up之前设置访问的 IP 或域名,默认直接访问http://localhost:8080。
登录页面创建项目和任务、上传数据、定义标签,就能开始标注。
核心功能精讲
自动标注:让模型先画底稿,人只做修正
它解决的问题是纯手工标注慢。仓库内置了 9 个可直接部署的模型函数(serverless/目录下),覆盖检测、分割、姿态估计和跟踪,例如 SAM、RetinaNet R101、YOLOv7、HRNet32 姿态、TransT 跟踪。
操作流程分两步:
docker compose -f docker-compose.yml \ -f components/serverless/docker-compose.serverless.yml up -d追加启动 serverless 组件(Nuclio 函数运行时),基础部署是不含它的。
cd serverless/pytorch/facebookresearch/detectron2/retinanet_r101/nuclio/ && ./deploy_gpu.sh用目录内的脚本(依赖nuctl)部署指定模型函数,部署完成后模型就会出现在标注界面的模型列表中。
在标注界面选中模型后,它对画布区域(ROI)生成预测框,你只做调整而不是从零画起。适合有 GPU 机器、数据量大到人工标不动的场景;模型函数本身是 MIT 代码,但第三方模型资产可能有独立许可证,商用前先看对应目录的说明。
格式导出:一次导出,训练框架直接读
它解决的问题是标注结果和训练框架之间的格式鸿沟——标注格式之于训练框架,就像文件编码格式之于文本编辑器,编码不对内容全乱。
格式实现集中在 cvat/apps/dataset_manager/formats/,registry.py里注册了 COCO(JSON)、YOLO 和 Ultralytics YOLO(TXT)、Pascal VOC(XML)、KITTI(TXT)、MOT、mask(RLE)、点云等 26 个格式模块。
操作上在任务页面发起导出、选目标格式、下载压缩包即可;同一份标注可以按不同框架分别导出。适合标注完成后对接多种训练流水线、或需要把历史标注迁移到 CVAT 的场景(导入走同样的格式通道)。
团队协作与质量监控:作业拆分加 Grafana 看板
它解决的问题是多人标注时进度不透明、质量没法比对。CVAT 把工作拆成三层:Project 管标签体系,Task 管一段数据,Job 管标注员实际领取的片段,分配和领取都走界面操作,多人可以并行标同一个 Task 的不同 Job。
质量侧提供 consensus(多份独立标注的比对合并)、问题标记和事件审计;统计侧通过 ClickHouse 落事件,再用仓库自带的 Grafana 仪表盘(components/analytics/grafana/)看标注进度、作业耗时和用户活动。
适合 3 人以上、需要审核流程和进度报表的标注项目;单人单机场景用不到这套机制。
选型与配置建议
| 你的情况 | 建议 |
|---|---|
| 个人学习、几百张图 | 先用官方在线版,或单机docker compose up -d,无需任何额外配置 |
| 数据不能出内网 | 自托管社区版(MIT 许可),部署脚本见backend_entrypoint.sh |
| 已有 K8s 集群 | 用 helm-chart/ 部署,cvat.values.yaml是完整参数示例 |
| 需要自动标注 | 追加 serverless 组件并nuctl部署模型函数;GPU 机器优先选分割和跟踪类模型 |
| 长视频/大量静态帧卡顿 | 开启静态缓存环境变量CVAT_ALLOW_STATIC_CACHE=yes再启动,减少重复解码开销 |
| 训练侧用 Ultralytics | 直接导出 YOLO TXT/YAML 格式;通用场景选 COCO JSON |
团队规模上,单人到小团队用单机 Compose 足够;人数上来后再考虑 K8s 和外部 PostgreSQL(仓库提供docker-compose.external_db.yml参考外部数据库接法)。
踩坑记录
部署完找不到登录账号→ 社区版不设默认管理员,README 的标准流程是先执行createsuperuser→ 跑上面那条docker exec命令创建超管再登录。
标注界面模型列表是空的→ serverless 是独立的可选组件,且启动后还要用nuctl部署具体函数,两者缺一模型就不会出现 → 确认 compose 追加了components/serverless/docker-compose.serverless.yml,且目标模型函数已执行部署脚本。
Safari 里功能缺失或渲染异常→ README 明确说明主要在 Chromium 系浏览器上测试,Safari/WebKit 不受支持 → 换 Chrome 或 Edge 使用,Firefox 可能有小问题。
商用项目里不确定模型能不能用→/serverless目录代码是 MIT,但其中的第三方模型资产可能附带独立许可证(含非商用限制) → 商用部署前逐个查看所部署模型目录的许可文件。
端口 8080 被占用或想换域名→ 直接改 Nginx 配置容易踩坑 → 启动前export CVAT_HOST=你的IP或域名,让整套服务按这个地址生成配置。
结尾
CVAT 的价值在于把“上传数据—标注—质检—按框架格式导出—接训练”这条链路收敛到一个自托管平台上,社区版功能完整且免费。下一步可以深入 cvat-sdk/ 用 Python 脚本化任务创建与导出,或按serverless/下的示例部署自己的模型函数,把标注流程进一步自动化。
【免费下载链接】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),仅供参考