news 2026/9/10 12:34:06

CVAT 入门完整指南:从零部署到交付第一个标注数据集

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVAT 入门完整指南:从零部署到交付第一个标注数据集

CVAT 入门完整指南:从零部署到交付第一个标注数据集

【免费下载链接】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)要解决的问题。它是一款免费开源的计算机视觉标注平台,基于 Docker 部署在你的机器上,覆盖"导入数据、定义标签、绘制标注、AI 辅助、多人校审、导出 COCO/YOLO 等 20 余种格式"的完整链路。下面按一个真实标注任务的工作流,带你把第一份数据集做出来。

三步跑起来:完成 CVAT 部署

环境要求三样东西:Docker Engine、Docker Compose 和 Git。建议内存 16GB 以上(最低 8GB),磁盘预留 50GB 放镜像和数据。

  1. 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/cvat/cvat cd cvat docker compose up -d
  1. 首次启动要拉取一批镜像,等几分钟。用docker compose ps确认所有容器进入运行状态。
  2. 创建管理员账号并登录验证:
docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'

然后在浏览器打开http://localhost:8080,用刚创建的账号登录。看到 Projects 页面即部署成功。默认用 Chrome 或 Edge 访问,Safari 不受支持。

创建第一个标注项目并导入数据

登录后按"项目 → 任务 → 作业"三层组织数据。项目是容器,任务承载一组媒体文件,作业是标注员实际领取的最小单元。

  1. 建项目:首页点击 Create new project,输入名称(如"街景车辆检测"),项目只负责聚合任务,本身不存图像。
  2. 定义标签与属性:新建任务时先填 Labels。点 Add label 逐个添加类别(car、person、bicycle……)。对需要细分的类别展开 Attribute 配置,例如给 car 加"遮挡程度"下拉属性、给所有类别加"是否截断"开关。这一步决定了后面导出结果里包含哪些字段,务必和模型需求对齐。
  3. 导入数据:在 Select files 区域选择来源——本机上传(支持图像压缩包、视频、点云文件)、远程文件服务或对象存储(S3、Azure Blob 等,先在 Cloud Storage 页面配置凭证)。提交后 CVAT 自动把媒体切分为若干作业。

标签和属性定义好后就不能再改,所以第一遍任务建议先用小批量数据(几十张)试跑一遍流程,确认标签体系没问题再批量导入。

按任务类型选标注工具

进入作业后,左侧工具栏按"你要输出什么"选择工具:

  • 矩形框(Rectangle):目标检测任务的首选。画快、信息够用,适合车辆、行人等轮廓近似矩形的目标。
  • 多边形(Polygon)/折线(Polyline):需要轮廓级精度时用多边形;道路、车道线这类开放形状用折线。
  • 骨架/关键点(Skeleton):人体姿态、面部特征。先在项目设置里定义骨骼点(如肩、肘、腕),画点时按拓扑自动连线。
  • 掩码类(Brush/Polygon Fill):实例分割任务。画笔逐像素涂抹,或用多边形填充,导出时转为掩码。

  • 3D 立方体(Cuboid):点云与多视角图像场景,对应"视频与 3D 点云"一节。

常用快捷键(默认值,可在界面设置中自定义):

操作快捷键
下一帧N
上一帧P
撤销Ctrl+Z
重做Ctrl+Shift+Z
保存标注Ctrl+S
取消当前工具/取消选中Esc

两个提效习惯:连续多帧重复选同一类别时,选中对象后复制到其他帧再微调;标注偏离边界时开自动贴边,省去手动对齐。

模型先标、人来校:AI 辅助标注流程

AI 辅助标注的正确用法是"模型出初稿,人做修订",而不是直接采用模型输出。操作分三步:

  1. 启用模型服务。社区版自动标注基于 serverless 组件,叠加启动:
docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d
  1. 部署模型函数。用nuctl部署你需要的预置模型,仓库 serverless/ 目录下按框架(ONNX、OpenVINO、PyTorch、TensorFlow)提供了检测、分割、姿态、跟踪类函数,例如 YOLO v7 检测器、SAM 分割交互器、HRNet 全身姿态估计。
  2. 在界面触发标注。任务页打开 Auto Annotation,选择模型与要标注的标签范围,对选定作业/帧区间执行,结果以草稿形式落到画布上,你只负责移动边角、删误检、补漏检。

适用边界要心里有数:预置模型在 COCO 类常见类别(人、车、常见物体)上效果可靠,换个领域(工业缺陷、医学影像)误检率会明显上升,此时建议部署自己微调的模型,而不是硬用预置模型。模型结果永远需要经过人工确认再标记为已完成。

视频标注与 3D 点云标注

视频标注不需要逐帧画。做法是:

  • 关键帧标注:只在目标进入、消失或形态变化显著的帧上画标注,中间帧交给插值——CVAT 按关键帧自动生成轨迹,你对自动生成的框做小幅修正即可。
  • 目标跟踪:给目标建立 Track 后,配合跟踪类模型(如 TransT)可自动外推目标在后续帧的位置,你再校正漂移。
  • 长视频自动切成多段作业,多人可并行处理不同时间段。

3D 点云标注面向自动驾驶等场景。导入 Velodyne 点云及对应多视角图像后,画布同时呈现 Top、Side、Front 三个正交视图:在任一视图绘制 3D 边界框(Cuboid),其他视图同步联动,可单独调节尺寸、朝向和外观(按标签/实例着色、透明度、边框高亮)。

多人协作与标注质量控制

团队使用时建议这样组织:

  • 组织与角色:创建 Organization 并把成员拉入,用 Viewer、Editor、Admin 等角色控制权限;管理员负责项目与任务,标注员只领作业。
  • 任务分配:把作业指派给具体标注员(或开放自选领取),进度在任务页实时可见,谁做了多少、卡在哪个作业一目了然。
  • 一致性标准:在项目里统一标签定义与属性规则,用带注释的示例帧作为"标注样例";标注员对模糊案例可用评论和 Issue 功能提出疑问,而不是各自猜测。
  • 校审:用 Viewer 角色或评审流程复查已完成作业;对关键类别可启用 Consensus(多人对同批数据独立标注后比对合并),差异大的样本回到标注员处重标。服务端还提供 Ground Truth 与 Honeypot 校验(通过 API 混入已知标准答案的测试题),量化标注员准确率。

导出交付:COCO、YOLO、VOC 怎么选

标注完成、状态标记为 Done 后,在任务或作业上触发数据集导出。CVAT 支持 20 余种格式,实现见 cvat/apps/dataset_manager/formats/。按下游框架选型:

  • COCO(JSON):检测和实例分割的通用格式,字段最全(含类别、属性、多目标实例),大多数深度学习框架都能读,拿不准时选它。
  • YOLO / Ultralytics YOLO(TXT):每目标一行的轻量文本格式,适合实时检测模型的训练流程。
  • PASCAL VOC(XML):经典检测格式,老项目兼容性好。
  • KITTI、MOTS、CAMVID、Cityscapes、Open Images等:对应自动驾驶、多目标跟踪、特定数据集的约定格式,按你的 benchmark 要求选择。

导出时注意两个选项:是否包含原始媒体文件(只导标注还是打包整套数据集),以及掩码的编码方式(掩码类任务可选 PNG 或 RLE)。建议第一次导出用一个小任务验证文件结构与字段名,再执行全量导出。

踩坑速查:部署与使用常见问题

问题解法
8080 端口被占用修改 docker-compose.yml 中8080:8080的宿主机端口为空闲端口
内存不足、容器反复重启升到 16GB 以上内存;用docker compose ps定位挂掉的容器
拉镜像慢或失败为 Docker 配置镜像加速源后重新docker compose up -d
首次启动长时间无响应属正常现象,首次需拉取并初始化整套服务,耐心等待几分钟
界面操作异常换用 Chrome 或 Edge,Safari 不受支持
登录后无法操作确认使用的是createsuperuser创建的管理员账号,且cvat_server容器状态正常

下一步

先按本文流程把一个小数据集完整跑一遍:部署 → 建项目 → 标注 → 导出 COCO,熟悉每步的入口。之后再把数据量放大、把 serverless 模型接进来提效,团队协作时补上角色分配与校审环节。遇到具体报错,优先看容器日志和 components/analytics/ 下的监控面板,大多数部署问题都能在那里定位到。

【免费下载链接】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 12:33:00

Tabby v0.0.1 首个稳定版发布:API 规格正式稳定与升级实践指南

Tabby v0.0.1 首个稳定版发布:API 规格正式稳定与升级实践指南 【免费下载链接】tabby Self-hosted AI coding assistant 项目地址: https://gitcode.com/GitHub_Trending/tab/tabby 本篇文章围绕 Tabby 项目(Self-hosted AI coding assistant&am…

作者头像 李华
网站建设 2026/9/10 12:31:14

OPC UA客户端开发实战:从ReferenceClient到节点浏览与订阅

简介:这是一份基于C#语言实现的OPC UA客户端示例工程,面向工业自动化、智慧工厂及设备联网等场景,适合希望深入学习OPC UA协议开发的初中级C#开发者,也可作为快速构建自定义客户端的起点。压缩包共收录197个文件,整体约…

作者头像 李华