常见的标注错误(www.nb-ai.com)
数据是模型的基础。根据我们的实际经验,模型准确度低,90%原因是标注有问题。
如下列出了常见的标注问题,希望读者能结合自己的项目数据情况,改进标注方式。
错误1:不同视觉样式的缺陷,统一标为一个“缺陷”标签
不关心缺陷的种类,只要识别出缺陷就行。这样为了人工方便,将各种不同样子的缺陷,都标为一个标签“缺陷”。这种方式可以成功地让模型“困惑”,从而达到无法识别缺陷的目的。
正确做法:
无论是否关心缺陷的种类,也需要根据视觉上的差异化,将缺陷进行分类,比如分为划痕、坑洞等打上不同的标签。
以下图检测纸箱缺陷为例,针对不同视觉样式的缺陷,给了不同的标签分类。不同视觉样式给不同标签分类可以明显提升模型识别效果。
错误2:一张图中缺陷比较多,只标注一部分缺陷,其他的懒得标了
一张中标注的部分和未标注的“背景”部分,都会输入到模型进行训练。由于一部分本来是缺陷的,但是没有标注,所以相当于告诉模型“这不是缺陷”,从而又让模型“犯迷糊”了:长得差不多为什么有的是缺陷,有的就不是呢?
正确做法:
一张图中的缺陷,应标尽标。如果实在太多,懒得标,那么使用平台的标注页面的“屏蔽区域”功能,将不想标注的覆盖起来。 总体说来,如果目标样式比较一致,累计标注目标应该大几十个可以尝试看看。
下图是对钢管进行标记,要遵循“应标尽标”原则。
错误3:“这些算不算是缺陷呢?有些点模棱两可,不管了,让模型去判断吧”
人工对于一个缺陷标注不明确,标注的时候就会“尺度”不一,从而模型在训练的时候,也会成功的被搞晕,和人工一样不明确。
正确做法:
人工一定要实现对于缺陷标准定好一个尺度,特别是多人标注同一个数据集的时候。只有按统一的尺度标注,模型才会得到一致的训练。
错误4:用一个大于目标的框把缺陷标出来
大框里面包括了缺陷目标,以及很多背景部分,这样同样会让模型在使用锚框定位缺陷的时候混淆目标和背景,从而降低模型识别准确率。
下面是一个错误的标注示例。图片标注的“穿刺破洞”和“划痕破洞”区域都明显大于实际缺陷的区域。这样标注会使模型训练不佳。
正确做法:
应该用恰好框取目标的、大小合适的矩形框(对于目标定位)或者是多边形(对于像素分割)将缺陷目标圈选标注。
正确的标注示例应该如下图所示:
根据测试结果优化标注
当在平台上完成模型测试后,有时候会在“已测试”图片中看一些目标标签没有被正确的识别。这通常是由于标注图片中样本不够丰富、在测试图中出现了新的目标样式。这正是丰富标注数据类型、提升模型适用能力的好机会!
您可以通过“测试结果转标注”功能,将测试图片转为标注图片。具体流程如下:
1.检查已测试的图片,对其中识别有问题的标签,或者漏检的标签,进行手动的重新标注。
选择标注工具,第一次点击图片尝试标注的时候会提示,点击确认。
2.重新标注后点击保存即可。