CVAT + Label Studio 双平台架构,配备 3 个 AI 模型,覆盖「手工标注 → 模型训练 → 自动标注 → 人工审核」完整闭环。
| 能力 | 说明 |
|---|---|
| 手工标注 | CVAT / Label Studio 中对图片画框标注,支持矩形框、多边形、关键点、分割 |
| 多人协作 | Job 自动拆分 + 角色分配 + 共识标注 + 进度追踪 |
| AI 自动标注 | YOLOv8 / YOLOv7 / SAM 一键预标注,效率提升 5-10 倍 |
| 模型训练 | DeepPCB → YOLOv8n 一键训练,mAP@0.5 = 98.5% |
| 跨平台部署 | Linux / macOS / Windows 一键部署 23 个 Docker 容器 |
| 多格式导出 | COCO JSON、YOLO TXT、Pascal VOC XML、CVAT XML |
| 组件 | 版本 | 用途 |
|---|---|---|
| CVAT | v2.61.0 | 主标注平台(18 容器) |
| Label Studio | v1.23.0 | 辅助标注平台(1 容器) |
| Nuclio | v1.13.0 | AI 模型 Serverless 部署(4 容器) |
| YOLOv8 (Ultralytics) | latest | 目标检测训练与推理 |
| YOLOv7 | ONNX | COCO 80 类通用检测 |
| SAM ViT-H (Meta) | ONNX | 交互式点击分割 |
| Docker + Compose | latest | 容器编排 |
浏览器
│
├──→ CVAT :8080 ← 主标注平台 (18 容器)
│ └──→ Nuclio :8070 ← AI 模型服务 (4 容器)
│ ├─ YOLOv7 :32768 通用检测
│ ├─ SAM ViT-H :32769 交互式分割
│ └─ PCB-YOLOv8 :32770 PCB 缺陷检测 (自训练)
│
└──→ Label Studio :8085 ← 辅助标注平台 (1 容器)
└──→ ML Backend :9090 ← YOLOv8 推理服务 (按需)
# Linux / macOS / WSL2
bash deploy/deploy.sh --all
# Windows PowerShell
.\deploy\deploy.ps1 -All部署完成后访问:
| 服务 | 地址 | 账号 |
|---|---|---|
| CVAT | http://localhost:8080 | admin / admin123 |
| Label Studio | http://localhost:8085 | admin@local.host / admin123 |
| Nuclio Dashboard | http://localhost:8070 | 无需登录 |
- 打开 CVAT → 选择已有项目(磁瓦 / PCB / 路面 / 太阳能板) → 创建任务 → 上传图片
- 进入标注界面 → 画框 + 选标签 →
Ctrl+S保存 - 导出为 COCO / YOLO 格式
标注界面 → Actions → Automatic annotation → 选择模型 → Annotate → 审核修正
uv run scripts/train_pcb_model.py# 打包
bash deploy/pack.sh # → data_annotation_platform.tar.gz (~630 MB)
# 在目标机器解压部署
tar xzf data_annotation_platform.tar.gz
bash deploy/deploy.sh --alldatasets/curated/ 下预置 4 类工业缺陷数据(共 200 张):
| 数据集 | 图片数 | 缺陷类别 |
|---|---|---|
| 磁瓦缺陷检测 (Magnetic-Tile) | 60 | blowhole, break, crack, fray, uneven, free |
| PCB 板缺陷检测 (DeepPCB) | 60 | open_circuit, short_circuit, mouse_bite, spur, copper_defect, pin_hole |
| 路面裂缝检测 (CrackForest) | 40 | crack, longitudinal, transverse, alligator |
| 太阳能板缺陷检测 (ELPV) | 40 | crack, inactive_region, dark_spot, finger_defect |
PCB 缺陷检测 YOLOv8n(models/pcb_defect/):
| 指标 | 值 |
|---|---|
| mAP@0.5 | 98.5% |
| mAP@0.5:0.95 | 66.3% |
| Precision | 96.6% |
| Recall | 95.6% |
| 推理速度 | ~38ms/张 (CPU) |
Data Annotation/
├── README.md ← 本文件
├── Documentation/ ← 技术文档 (9 篇 MD + HTML)
│ ├── 项目总览.md ← 完整项目介绍
│ ├── CVAT用户操作手册.md ← 标注操作指南
│ ├── CVAT部署与使用指南.md ← CVAT 运维
│ ├── 数据标注平台部署文档.md ← 双平台部署
│ ├── 本机部署架构说明.md ← 23 容器架构
│ ├── 自动标注技术方案.md ← 4 种自动标注方案
│ ├── 从数据到模型:训练与验证全流程详解.md
│ ├── 系统集成方案.md ← 自动化闭环
│ └── 迁移部署指南.md ← 跨机器迁移
├── LabelStudio/ ← Label Studio 专区
│ ├── README.md
│ └── 01_PCB缺陷检测/
│ ├── PCB缺陷检测完整指南.md
│ ├── ml-backend/ ← ML Backend 推理服务
│ └── scripts/ ← LS 自动标注脚本
├── Market analysis/ ← 市场调研报告
├── datasets/ ← 数据集
│ ├── curated/ ← 原始图片 (4 类 / 200 张)
│ └── exported/ ← 已导出的标注数据 (COCO)
├── models/ ← 训练产物
│ └── pcb_defect/ ← YOLOv8n 权重 + 指标 + 可视化
├── scripts/ ← Python 脚本
│ ├── train_pcb_model.py ← 模型训练
│ ├── auto_annotate_pcb.py ← CVAT 自动标注
│ └── record_*.py ← 演示视频录制
├── deploy/ ← 部署工具
│ ├── deploy.sh ← Linux/macOS 一键部署
│ ├── deploy.ps1 ← Windows 一键部署
│ └── pack.sh ← 迁移打包
├── Demos_mp4/ ← 演示视频 (12 个 MP4 + 脚本)
└── runs/ ← YOLOv8 验证输出
| 目标 | 推荐阅读顺序 |
|---|---|
| 新用户入门 | 项目总览 → CVAT 操作手册 |
| 运维部署 | 架构说明 → 部署文档 → 迁移指南 |
| 模型训练 | 训练全流程 → 自动标注方案 |
| 系统集成 | 集成方案 |
| Label Studio | LS README → PCB 完整指南 |
| 市场调研 | 调研报告 |
Demos_mp4/ 目录下包含 12 个演示视频,覆盖 CVAT 和 Label Studio 两个平台的全部场景:
CVAT 演示:
- 场景一 — 手工标注全流程
- 场景二 — 多人协作标注
- 场景三 — AI 自动标注
- 自动标注演示(含配音)
Label Studio 演示:
- 场景一 — 手工标注全流程
- 场景二 — YOLOv8 自动标注
- 场景三A — 多人共识标注(同图多人)
- 场景三B — 多人分工标注(不同图分配)
| 项目 | 最低要求 |
|---|---|
| Docker | 20.10+ |
| Docker Compose | v2+ |
| 内存 | 8 GB+ |
| 磁盘 | 30 GB+ |
| Python (可选,用于训练) | 3.10+(通过 uv 管理) |
CVAT v2.61.0 / Label Studio v1.23.0 / Nuclio v1.13.0 / YOLOv8n