日期
01/31
2024
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

工业缺陷检测中数据标注需要注意的几个事项
收藏
2024-01-31 13:59:18来源: 中国机器视觉网

在工业场景中,网络结构决定了下限,数据决定着上限,要想模型有好的表现,数据是至关重要的。下面就这个项目来说一说,工业缺陷检测在标注数据时需要注意的几个事项:

1、离得比较近的缺陷就合并在一个框里

微信截图_20240201140132.jpg

微信图片_20240201140151.jpg

以上两个图里的缺陷都是可以合并的,一是为了保持缺陷的完整性,同一个缺陷被标注成好多个,会给神经网络造成误解,同时也避免出现多个小目标。

2、尽量不要有太细长的目标

神经网络的卷积基本上都是3*3的,而且先验框anchor在设计宽高比时一般也是在1左右,回归非常细长的目标,需要比较大的感受野和宽高比,不一定能做得很好。如图左边那块目标,可以合并一下,稍微标大一点,把长宽比例搞得居中一点。

微信图片_20240201140154.jpg

3、不要打太小的目标,比如低于10x10像素的

模型一般都对小目标不敏感,除非采用比较好的trick,就拿YOLOv4来说,到第三次下采样的特征图才拿去后面做检测,也就是在原图上最小都有8个像素,才能在特征图上体现为1个像素。有人会杠了,那我的目标就是小目标啊,小哥,我说了,另外还有很多trick的,不在本文讨论范围,打标签这个环节你要么打大点,要么不要打,或者把局部区域放大成大图,再打标签,不然送到模型里头,也是没用的。这跟严谨不严谨没有任何关系。

微信图片_20240201140157.jpg

YOLOv4网络结构图

4、不要标注特别不明显的特征

这一条相信都能理解,特征连人都认不出来,哪个网络都不好识别吧。像这种标注框,恐怕谁都不好认吧。

微信图片_20240201140200.jpg

5、框的位置尽量准确一点,把缺陷部分刚好框进去

像右下角那个框,完全可以打大点吧。

微信图片_20240201140202.jpg

6、需要检测的缺陷在训练集中至少要出现一次相似的

另外,需要多说一句,跟标注无关的。就是虽然都是缺陷,但实际上也分很多种的,如果训练集里都没有出现过相似的,就基本上别指望测试时能够检测出来了。比如下图中,虽然只划分了一类缺陷,但是从特征的角度来说,实际上已经是好几类了,比如划痕、凸起、裂开。还是回到开头那句话:网络结构决定了下限,数据决定上限。目前的技术,不靠大量的数据喂,是训练不出很好的模型的。

微信图片_20240201140205.jpg

(文章来源于网络,如有侵权,请联系删文)