一、常用标注工具
1、图像标注工具
-
CVAT (Computer Vision Annotation Tool)
-
开源免费
-
支持目标检测、分割、关键点
-
团队协作功能
-
-
LabelImg/Labelme
-
LabelImg:矩形框标注(目标检测)
-
Labelme:多边形标注(分割)
-
轻量级,适合个人使用
-
-
Roboflow
-
在线平台
-
自动标注辅助
-
数据集版本管理
-
-
VGG Image Annotator (VIA)
-
牛津大学开发
-
纯前端工具,无需安装
-
支持多种标注类型
-
2、文本标注工具
-
Prodigy(付费)
-
由spaCy团队开发
-
主动学习功能
-
标注效率高
-
-
Label Studio
-
开源免费
-
支持多模态标注
-
高度可定制
-
-
BRAT (Brat Rapid Annotation Tool)
-
专门用于文本标注
-
支持NER、关系抽取
-
开源免费
-
3、音频标注工具
-
Audacity + Praat
-
Audacity:基础音频处理
-
Praat:专业的语音分析
-
-
Audino
-
开源在线工具
-
支持语音转写、事件标记
-
4、视频标注工具
-
VIA-Video
-
VGG开发
-
基于浏览器的视频标注
-
-
Video Annotation Tool (VAT)
-
开源工具
-
逐帧标注能力
-
5、3D点云标注
-
Supervisely
-
功能全面
-
支持2D/3D标注
-
-
Semantic Segmentation Editor(Autodesk)
- 开源3D点云标注
6、综合平台
商业化平台
-
Scale AI
-
企业级服务
-
提供标注外包和质量控制
-
-
Appen/Lionbridge
-
老牌数据服务商
-
涵盖多种数据类型
-
-
Amazon SageMaker Ground Truth
-
AWS生态集成
-
自动标注功能
-
二、常用标注工具核心对比
| 工具名称 | 边界框 | 多边形 | 点/线 | 掩码导出 | 主要格式 | 安装难度 | 团队协作 | 最佳适用场景 | 开源 |
|---|---|---|---|---|---|---|---|---|---|
| LabelImg | ⭐⭐⭐⭐⭐ | ❌ | ❌ | ❌ | VOC XML/YOLO TXT | 低 | ❌ | 纯目标检测任务 | ✅ |
| LabelMe | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ | ✅ | JSON→COCO/Pascal | 低 | ❌ | 实例分割、学术研究 | ✅ |
| CVAT | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ | ✅ | COCO/YOLO/VOC/TF | 中高 | ✅ | 工业级、团队项目 | ✅ |
| VIA | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ | ✅ | JSON/COCO | 极低 | ❌ | 快速原型、简单任务 | ✅ |
| Supervisely | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ | ✅ | 全格式 | 中 | ✅ | 企业级全流程 | ❌ |
| Roboflow | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ | ✅ | 全格式 | 低 | ✅ | 云端自动化管道 | ❌ |
| MakeSense.AI | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ | ✅ | YOLO/COCO/VOC | 极低 | ❌ | 免安装快速使用 | ✅ |
| RectLabel | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ | ✅ | COCO/YOLO | 低 | ❌ | Mac用户专属 | ❌ |
三、各工具详细功能介绍
1. LabelImg - 边界框标注专家
bash
# 基本信息
- 类型:桌面应用程序
- 核心功能:仅支持矩形边界框标注
- 平台:Windows/Linux/Mac
- 安装:pip install labelImg
# 支持的标注格式:
1. PASCAL VOC (.xml)
2. YOLO (.txt)
3. CreateML (.json) - iOS开发
# 工作流程:
打开图像 → 绘制矩形框 → 输入标签 → 保存XML/TXT
# 优点:
✓ 极其轻量快速
✓ 目标检测专用
✓ 快捷键丰富(W:创建框,D:下一张)
# 限制:
✗ 不支持多边形
✗ 不支持掩码
✗ 不支持团队协作
2. LabelMe - 多边形标注首选
python
# 核心功能:
✅ 多边形顶点标注
✅ 支持孔洞(嵌套多边形)
✅ 点和线标注
✅ 图像增强工具
# 输出格式:
原生:LabelMe JSON
可转换:COCO JSON、Pascal VOC、PNG掩码
# 安装使用:
pip install labelme
labelme # 启动
labelme --labels labels.txt # 预定义标签
# 转换掩码:
labelme_json_to_dataset input.json -o output_dir/
# 生成:label.png(索引掩码), label_viz.png(可视化)
3. CVAT - 工业级全能选手
yaml
# 核心特性:
- 部署方式: Docker容器
- 标注模式: 矩形/多边形/点/线/立方体
- 视频支持: 帧间插值、跟踪
- AI辅助: 预标注、自动分割
# 导出格式:
COCO 1.0、Pascal VOC 1.1、YOLO 1.1
Mask R-CNN、TFRecord、Datumaro
# 团队功能:
用户角色管理、任务分配
标注质量检查、审查流程
版本控制、数据备份
4. VIA - 轻量级Web工具
json
// 特性:
- 纯Web应用,无需安装
- 支持多种几何形状
- 区域属性标注
- 离线PWA支持
// 原生格式:
{
"image.jpg": {
"regions": [{
"shape_attributes": {
"name": "polygon",
"all_points_x": [x1, x2, ...],
"all_points_y": [y1, y2, ...]
},
"region_attributes": {"label": "glue"}
}]
}
}
// 转换能力:
VIA → COCO (需要脚本转换)
VIA → Pascal (需要脚本转换)
5. Supervisely - AI增强平台
python
# 企业级功能:
- AI辅助标注(智能分割)
- 自动化标注流水线
- 3D点云和医疗影像
- 完整的MLOps集成
# 支持的格式:
原生格式、COCO、Pascal VOC、YOLO
Cityscapes、KITTI、DICOM
# 工作流:
上传数据 → 预标注 → 人工修正
→ 训练模型 → 迭代改进 → 部署
6. Roboflow - 云端自动化平台
python
# 核心优势:
- 自动格式转换
- 数据增强和预处理
- 版本化数据集管理
- 预训练模型库
# 输入输出格式:
输入:LabelMe、VIA、COCO、VOC、YOLO等
输出:COCO、YOLO、TFRecord、PyTorch等
# 工作流程:
上传 → 标注/导入 → 预处理 → 增强
→ 导出 → 训练 → 部署
四、格式支持详细对比
1. 边界框格式支持
| 工具 \ 格式 | VOC XML | YOLO TXT | COCO JSON | CreateML |
|---|---|---|---|---|
| LabelImg | ✅ 默认 | ✅ 可选 | ❌ | ✅ |
| LabelMe | ✅ 转换 | ❌ | ✅ 转换 | ❌ |
| CVAT | ✅ | ✅ | ✅ | ❌ |
| VIA | ❌ | ❌ | ✅ 转换 | ❌ |
| Supervisely | ✅ | ✅ | ✅ | ✅ |
| Roboflow | ✅ | ✅ | ✅ | ✅ |
2. 多边形/掩码格式支持
| 工具 \ 格式 | COCO Seg | Pascal Poly | PNG掩码 | 二值掩码 |
|---|---|---|---|---|
| LabelImg | ❌ | ❌ | ❌ | ❌ |
| LabelMe | ✅ 原生 | ✅ 转换 | ✅ | ✅ |
| CVAT | ✅ | ✅ | ✅ | ✅ |
| VIA | ✅ 转换 | ❌ | ✅ | ✅ |
| Supervisely | ✅ | ✅ | ✅ | ✅ |
| Roboflow | ✅ | ✅ | ✅ | ✅ |
五、针对不同需求的工具选择
1. 按任务类型选择
yaml
# 纯目标检测(边界框):
推荐: LabelImg 或 CVAT
原因: LabelImg简单快速,CVAT功能全面
# 实例分割(多边形掩码):
推荐: LabelMe 或 CVAT
原因: LabelMe精度高,CVAT适合团队
# 语义分割(像素级):
推荐: CVAT 或 Supervisely
原因: 支持精细标注和AI辅助
# 视频标注:
推荐: CVAT
原因: 帧间插值和跟踪功能
# 快速原型/小项目:
推荐: VIA 或 MakeSense.AI
原因: 免安装,零配置
2. 按技术栈选择
python
# PyTorch/Torchvision用户:
推荐: COCO格式 → LabelMe或CVAT
# TensorFlow用户:
推荐: TFRecord格式 → CVAT或Roboflow
# YOLO系列用户:
推荐: YOLO格式 → LabelImg或CVAT
# 自定义框架:
推荐: JSON格式 → VIA或LabelMe