尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

CVAT 从零部署到导出 COCO 数据集:一条街的标注实操路线

CVAT 从零部署到导出 COCO 数据集:一条街的标注实操路线 CVAT 从零部署到导出 COCO 数据集一条街的标注实操路线【免费下载链接】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/cvatCVATComputer Vision Annotation Tool是一个开源的计算机视觉标注平台你把一批图片或视频丢进去用矩形框、多边形、掩码、关键点把它们标出来再导出成 COCO、YOLO 这类模型能直接吃的格式。它适合两类人想训练自己的检测/分割模型却没有现成数据的开发者以及需要管理多人标注进度的小团队。本文走一条具体的路线手上有一堆街景图片目标是给每张图里的车、人、公交车画上框最后导出 COCO 格式的 JSON 交给训练脚本。全文每一步都能照着复现。先用 10 分钟把 CVAT 跑起来标注开始前先解决在哪标的问题。CVAT 用 Docker Compose 编排整套服务后端、前端、Redis、数据库、任务队列不需要手动装 Python 环境和依赖。要求机器上有 Docker 和 Docker Compose内存至少 8GB推荐 16GB磁盘预留 50GB 以上——数据集和标注文件都存在容器挂载的卷里。浏览器建议用 Chrome 或 Edge 这类 Chromium 内核的Safari 不支持。三条命令git clone https://gitcode.com/GitHub_Trending/cvat/cvat cd cvat docker compose up -d首次启动要拉镜像几分钟后打开http://localhost:8080用下面这条命令建一个管理员账号docker exec -it cvat_server bash -ic python3 ~/manage.py createsuperuser创建完用户名、邮箱、密码后登录。首屏顶部一排导航Projects、Tasks、Jobs、Cloud Storages、Models。别急着点先把第一个任务建出来。创建任务上传街景图片并定义 person、bus、car 三个标签在 Tasks 页面点 New task给任务起个名字然后在 Select files 区域把图片拖进去——支持直接传文件夹里的多张图也支持压缩包zip 里的图片会自动展开仓库的测试素材里有现成的示例图可以参考 tests/mounted_file_share/images/。上传这一步还会问你把数据存到本地的哪类文件卷默认选第一项即可。定义标签是这一步的重点。CVAT 的标签体系叫 label attributes每个 label 对应模型里的一个类别attributes 是附加属性比如是否被遮挡置信度。我们的数据集只需要三个 labelperson、bus、car形状类型默认 Rectangle shape。如果之后要做姿态估计还可以用 Setup skeleton 给某个 label 配一套骨骼关键点。任务创建后页面下方会出现 Jobs 区块。CVAT 把每个任务自动切成若干 Job默认按帧数拆分每个 Job 有独立的 Assignee负责人、Stageannotation/validation和 State。单人干活时不用管它后面讲团队时会回来用。画出第一批框矩形框工具与快捷键点进任意一个 Job就进入了标注界面。左侧工具栏从上到下依次是选择、平移、矩形框、椭圆、多边形、掩码画刷、关键点、折线等工具顶部是帧播放控制条。标注一辆车的操作选矩形工具快捷键R在车上拖出一个框松开后右侧 Objects 列表会多出一行把它的 label 从默认改成 car。给行人画框同理label 选 person。几个日常快捷键N/P下一帧 / 上一帧视频任务里就是逐帧跳CtrlZ/CtrlY撤销 / 重做CtrlS保存——CVAT 会自动保存但手动保存一次更安心1~9选中当前第 N 个对象配合Delete移除画错了不要怕框选中后可以直接拖角点调整也可以拖动整体平移。标完一帧按N进下一帧。100 张左右的静态图任务纯手动画框大约每人半小时到一小时取决于每张图里目标的数量。让模型先画人只修正接入 YOLO 做自动标注手工画几百张图会很累CVAT 的设计是让模型先出一版草稿人只做审核。仓库的 serverless/ 目录里带了一批现成模型函数YOLO v7、Faster RCNN、RetinaNet、SAM、人体姿态估计等通过 Nuclio 的 Serverless 框架部署。启用方式是在启动时多加一份 compose 文件docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d再用nuctl把需要的模型函数部署上去比如 YOLO 检测器。之后在标注界面左侧找到 AI Tools 面板选 Detectors模型下拉里选 YOLO v3在 Setup mapping 里把模型输出的类别映射到 CVAT 的 label例如模型的person→ CVAT 的person设好阈值默认 0.95 附近目标偏多可以调低点 Annotate。几秒后画面里会铺满模型画的框右侧对象列表同步更新。你只需要逐框检查框偏了拉一下角点误检的删掉漏检的自己补一个。通常修正量只有模型输出量的两三成这比纯手工快得多。导出 COCO 格式把标注变成能喂给训练脚本的文件标注完成、Job 状态置为完成后回到任务详情页的 Actions 菜单选 Export annotation格式下拉里选 COCO [json]CVAT 总共支持 COCO、YOLO、PASCAL VOC、KITTI、MOT 等 20 多种格式格式定义在 cvat/apps/dataset_manager/formats/。浏览器会开始下载一个 zip解压后得到annotations/instance_annotations.json加上对应的图片目录instance_annotations.json里的 images、annotations、categories 三段就是标准 COCO 结构可以直接被 MMDetection、Detectron2、Ultralytics 这类训练框架读取。如果下游要的是 YOLO 的labels/*.txt换一下导出格式就行要训练分割模型则建议在任务里就把形状类型设成 Polygon 或直接用掩码画刷导出时选 COCO 分割对应的格式。这一步做完图片 → 数据集的闭环就通了。场景分叉视频、3D 点云和多人团队上面的路线是按静态图片 单人走的。换一种数据形态工作流会有明显区别。视频任务创建任务时上传 mp4 而不是图片CVAT 会抽帧。视频标注的关键不是逐帧画而是在关键帧上画框把同一目标设为 Track然后让插值Interpolation自动补出中间帧再用跟踪器如 TransT把目标跨帧粘起来。N/P键在视频里就是逐帧移动配合播放键可以边看边修正。3D 点云仓库支持 KITTI/LiDAR 点云创建 3D 任务后界面变成多视角投影主视图是点云下方同步 Top、Side、Front 三个正交视角用 cuboid三维立方体框而不是二维矩形来标目标适合自动驾驶场景。多人协作前面提到的 Job 列表在这里派上用场。把同一个任务拆出的多个 Job 分别 Assignee 给不同标注员Stage 设成 annotation再复制一份 Job 给审核人、Stage 设 validation形成标完 → 审的两段流水线。组织层面可以建 Organization、邀请成员、分配角色还能用 Comments 和 Issue Tracker 在具体的框上留讨论。质量要求更高时可以开 Consensus同一份数据多人独立标、按策略合并或用 Ground Truth / Honeypot 校验集检查标注员的一致性。当它没起来、画不对、导出为空浏览器打开 localhost:8080 一直转圈。先用docker compose ps看各容器是否都 UpUI 起来之前后端还在初始化是正常现象首次冷启动可能要几分钟确认 8080 端口没被本机其他服务占用冲突时在 docker-compose.yml 里改端口映射。模型下拉里看不到 YOLO 等选项。说明 Serverless 组件没启或模型函数没部署。按上一节加-f components/serverless/docker-compose.serverless.yml重启并用nuctl部署对应函数只跑docker compose up -d默认是不含模型的。导出的 COCO JSON 里 annotations 是空的。三个常见原因Job 还没完成或状态不对导出前没保存标注回标注页按一次CtrlSlabel 映射时把模型类别映射到了空值。逐个排除一遍基本都能定位。标注保存后刷新页面框不见了。先确认右侧对象列表是否还有数据再看是不是被 Filter 过滤掉了顶部 Info/Filter 里可以按 label、shape 类型筛选显示。下一步到这里你已经走完了部署 CVAT → 建任务 → 人工加自动标注 → 导出 COCO的完整链路手里有了一个能直接训练的数据集。建议的下一步把pip install cvat-sdk装上用 Python 脚本批量建任务、拉取导出的数据集参考 cvat-sdk/examples/ 里的现成脚本把整条标注流水线接进你的训练流程。【免费下载链接】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),仅供参考
返回列表