news 2026/9/10 22:27:22

CVAT 数据标注平台:图像、视频与 3D 点云标注,20+ 格式导出加 AI 辅助自动标注

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVAT 数据标注平台:图像、视频与 3D 点云标注,20+ 格式导出加 AI 辅助自动标注

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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 22:26:55

【Springboot毕设全套源码+文档】1. 基于 SpringBoot 的工程师运维服务管理系统设计与实现 2. 基于 SpringBoot 框架的运维服务管理系(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/9/10 22:26:38

V2G微电网调度优化:改进灰狼算法与Matlab实现

1. 项目背景与核心挑战 微电网作为分布式能源系统的重要形态,正在经历从单向供电到双向互动的技术转型。传统微网调度往往将电动汽车视为单纯负荷,而V2G(Vehicle-to-Grid)技术的引入彻底改变了这一范式——电动汽车电池组成为移动…

作者头像 李华
网站建设 2026/9/10 22:21:07

Windows 11一键精简:tiny11builder 快速上手指南

Windows 11一键精简:tiny11builder 快速上手指南 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 实测下来,用 tiny11builder 构建的 Windo…

作者头像 李华