一、数据标注基础:什么是数据标注、标注类型(分类/检测/分割)、标注工具概览
说实话,很多人一听到「数据标注」四个字,第一反应就是「哦,就是给图片打标签嘛」。嗯,这话对了一半。我刚开始接触这个领域时,也以为标注就是点鼠标的体力活。直到有一次,我负责的项目因为标注质量不过关,模型训练出来直接翻车——识别率连50%都不到。那才明白,数据标注其实是AI的「地基工程」。
说白了,数据标注就是把原始数据(图片、文本、语音等)变成机器能理解的「标准答案」。你想想看,模型学习就像教小孩认字——你得先告诉他「这是苹果」,他才能记住。标注就是干这个的。
1.1 标注类型:分类、检测、分割
我习惯把标注类型分成三大类,每一类解决不同的问题。咱们一个一个说。
分类(Classification)
最简单的标注形式。给一张图,问「这是什么?」。比如猫狗分类,你只需要告诉模型「这张图是猫」或「这张图是狗」。我在做电商图片审核时,就经常用分类标注来识别违规商品——嗯,一张图一个标签,干净利落。
检测(Detection)
比分类多了一步。不仅要认出「有什么」,还要知道「在哪里」。用矩形框把目标框出来。我记得有一次做自动驾驶项目,需要标注路上的行人、车辆、交通标志。一个画面里可能有几十个框,密密麻麻的。检测标注的难点在于——目标重叠怎么办?小目标怎么标?
分割(Segmentation)
这是最精细的标注方式。分为语义分割和实例分割两种。
- 语义分割: 把图中每个像素都归类。比如天空归一类、道路归一类、行人归一类。像素级标注,精度要求极高。
- 实例分割: 在语义分割的基础上,区分不同个体。比如路上有三个人,每个人单独一个掩码。
分割标注我做得不多,但有一次做医学影像项目,需要标注CT图像中的肿瘤区域。那真是像素级的工作,一个像素标错,模型就可能漏掉病灶。说实话,做分割标注真的很考验耐心。
1.2 标注工具概览
工具选得好,效率翻倍。我这些年用过不下十款标注工具,挑几个有代表性的说说。
| 工具名称 | 支持类型 | 适用场景 | 我的评价 |
|---|---|---|---|
| LabelImg | 检测(矩形框) | 小团队、快速标注 | 轻量好用,但功能单一 |
| Labelme | 分割(多边形) | 语义/实例分割 | 开源免费,多边形标注顺手 |
| CVAT | 分类/检测/分割 | 中大型项目 | 功能全面,支持多人协作 |
| Supervisely | 全类型 | 企业级项目 | 自动化辅助标注,效率高 |
我个人习惯是:小项目用LabelImg,快速出活;大项目用CVAT,方便管理团队。有一次我接了个10万张图的检测项目,用LabelImg标了三天就放弃了——太慢了。换成CVAT后,配合自动标注功能,效率提升了至少3倍。
1.3 知识体系总览
下面这张图,是我自己梳理的数据标注知识体系。你可以把它当作整个章节的「地图」。
你看,数据标注不是孤立的工作。类型决定了你怎么标,工具决定了效率,质量决定了模型效果。我曾经见过一个团队,工具选得特别好,但标注规范没定好,结果数据一致性差得一塌糊涂——模型训练出来,连验证集都过不了。所以这三块,哪块都不能偏废。
好了,这一章就聊到这儿。下一章咱们会深入聊聊标注数据的格式——JSON、XML、COCO、YOLO这些格式到底怎么用,什么时候该选哪个。嗯,到时候见。