数据标注怎么做才高效:预设类别、多人协同与质检
同样的算法、同样的数据量,标注质量不同,模型精度可以差出十几个百分点。标注是模型的上限所在——算法只能逼近标注所定义的"正确",无法超越它。本文总结我们把标注从作坊变成流水线的六个实践。
一、标注最常踩的三个坑
第一是类名自由填写:"戴口罩""有口罩""mask""1"混着来,训练前还得人工归并,几千张图归并一遍就是一两天。第二是多人分工无约束:同一批图两人都标了,或一批图谁以为谁标了,最后漏标一堆。第三是没有质检环节:错标混进训练集,模型怎么调都上不去,回头排查才发现是标注问题——这属于最贵的错误,因为它消耗的是整轮训练。
二、预设类别:从源头防错
最有效的防错手段是让错误根本写不进去。做法是管理员创建数据集时预设类别清单(并给每个类附中文说明,比如"without_mask = 未戴口罩"),标注员在工作台只能从预设类别中点选,自由填写类名的入口直接关闭。接口层同样拦截越界类名——就算有人绕过界面直接调 API,也会被 400 拒绝。批量导入压缩包时按首层子目录名自动打标,这个自动打标同样受预设约束:目录名不在预设内的图片不会被错误打标,而是进待标注池等人处理。
预设类别还有一个隐性收益:顺序即类索引。很多消费方对输出顺序有硬性契约(例如"未戴"类必须在输出末位),在数据集层面把顺序定死,训练与交付自然对齐,避免"模型训完了才发现类别排反了"的重训事故。
三、标注规范:把标准写下来
预设类别解决"叫什么",标注规范解决"怎么判"。两页纸就够,但必须写清楚边界情况:
- 口罩拉到下巴算戴还是不戴?(算不戴)
- 侧脸看不见口罩怎么办?(按看不见口罩的类别标,不要跳过)
- 画面模糊到人眼都判不了的图怎么办?(进"待定池"由 second opinion 决定,或直接删除)
- 一张图里多个人、部分戴部分不戴怎么处理?(按裁剪策略:要么裁出单人区域,要么按画面主体人物标注,二选一并全组统一)
这些边界情况在第一批标注时就会涌现,把它们写进规范并同步给所有标注员,返工率会断崖式下降。
四、多人协同与质检
多人按数据集分配任务,各自只看到自己的队列,互不覆盖。管理员的抓手有三个:
- 抽检:随机抽取已标注图片复核,不合格打回重标;抽检结果按标注员统计;
- KPI 看板:每人的标注量、打标数、删除数、抽检合格率一目了然,效率与质量同时被看见;
- 批量清洗:明显不符合要求的图(无人脸、无关素材)在图库勾选批量删除,不让垃圾图进训练集。
经验值:抽检比例 5%~10% 即可覆盖大部分质量问题;新标注员上岗第一周提高到 20%,规范内化后再降回来。
五、让 AI 帮忙标注
第二轮迭代起,标注速度可以翻倍——让已训练的模型对未标注图片预填结果,人工只做确认与修正。检测任务预填画框、分类任务预填类别,确认后计入人工标注。数据飞轮就此转动:模型越好,标注越快;标注越多,模型越好。第一轮没有模型可用,老老实实人标,这也是为什么第一轮建议选一个相对简单的场景先把流程跑通。
六、数据清洗与去重
上传环节做文件哈希去重,相同图片不会重复入库;训练前的最后一步是人工浏览一遍图库,把无关素材(测试截图、误传的生活照)批量删掉。别小看这一步:混进训练集的无关图,每一张都在稀释模型的注意力。数据是模型的地基,地基里没有垃圾,楼才盖得高。
延伸阅读:训练一个识别模型需要多少张图?、从 badcase 到新版本。
想在自己的数据上训练这样的模型?训练平台私有化部署 + 成品模型货架,总有一款适合你。
联系我们获取方案 →