STPM 分析

本文最后更新于:2023年4月15日 晚上

本文记录探究 STPM 网络性能的实验过程、结果及分析。

概述

img

  • 工作源自于论文《Student-Teacher Feature Pyramid Matching for Unsupervised Anomaly Detection》1
  • 该方法需要预训练的教师网络,以及利用教师在下游OK数据上产生的特征蒸馏训练出学生网络;由两个网络产生的特征金字塔之间的差异作为评分函数,该得分表示数据中异常发生的概率。1
  • 无监督学习在项目中有着重要地位:区别在于监督学习识别缺陷特征的模式,无监督学习使用OK数据进行训练得到模型,检出缺陷依赖的是缺陷图像在特征空间中的异常表达,这种不同的检测原理是该方法将成为监督学习重要补充的根源
监督学习 无监督异常检测
数据源 精确标注数据 二分类标注——OK部分数据
结果表达能力 数据子类别、位置、mask 二分类 mask
内因驱动 学习如何识别缺陷数据特征 依赖OK数据训练的系统在 NG 数据上的异常表示
  • STPM 在无监督异常检测方法中对于聚芯5000 项目的数据有特殊的优势:
    1. Ai 算法,自适应数据
    2. 不需要配置过多参数
    3. 相对于传统异常检测方法省去了大量调参过程,也具有一定泛化能力
    4. 接受底板、原图的组合输入并有效找出差异
    5. 接受不断变化的底板作为输入
    6. 可以有效检出监督学习的严重漏检数据
    7. 在数据质量高时过杀很少

已经在实验展开之前在长电的数据中验证了可用性,本次实验旨在优化模型性能,对该方法的未解之处进行探究。

数据集

实验中使用的数据为 长电 缺陷检测设备输出的疑似NG图像,主要使用的有两组数据集

数据1

  • 包含 13 种底板的数据,将底板分为3个部分
Part1 All / OK / NG Part2 All / OK / NG Part3 All / OK / NG
MPS-MX3067R22-M1 88 / 5 / 83 MPS-SM3519ZR8-UBM 1653 / 461 /1192 MPS-MX3067R22-UBM 321 / 226 / 95
MPS-ST2769R19-UBM 5083 / 1483 /3600 MPS-ST3031R1-UBM 18751 / 11646 / 7105 MPS-ST9410R9-UBM 4104 / 3508 / 596
MPS-ST3099R5-UBM 4331 / 2468 / 1863 MPS-ST3405ZR5-M1 872 / 828 / 44 MPS-ST9414R12-UBM 11526 / 10685 / 841
MPS-ST3620R11-UBM 1433 / 268 / 1165 MPS-ST9410R9-M1 1673 / 330 / 1343 MPS-ST9430R18-UBM 4308 / 3621 / 687
MPS-ST9430R18-M1 68 / 1 / 67
  • 划分好数据集后,将OK、NG数据汇总,OK 数据按照 的比例分流到 train, val, test 数据,NG数据合入 test 数据中,得到三份数据,汇总得到第四份数据
OK_train OK_val OK_test / NG_test
Part1 2957 422 846 / 6788
Part2 9285 1326 2654 / 9684
Part3 12628 1804 3608 / 2219
Total 24870 3552 7108 / 18681

数据2

  • 客户近期对 TI-CD3701C0AYCUR(MHC0AECP)-M1 底板数据的自动复检需求强烈,遂整理了第二份数据
OK_train OK_val OK_test / NG_test
TI 14184 2026 4054 / 7898

数据3

  • TI 系列事实上有 9 套底板,在数据2 使用一段时间之后才整理出了新的 9 种底板的数据
img
底板名称 TI-CD3701C0AYCUR(MHC0AECP)-BALLDROP
简称 MH-Balldrop
OK_train 1402
OK_val 285
OK_test / NG_test 1638 / 107
img
底板名称 TI-CD3701C0AYCUR(MHC0AECP)-M1
简称 MH-M1
OK_train 11308
OK_val 3577
OK_test / NG_test 5381 / 995
img
底板名称 TI-CD3701C0AYCUR(MHC0AECP)-UBM
简称 MH-UBM
OK_train 639
OK_val 121
OK_test / NG_test 129 / 97
img
底板名称 TI-CD3701C0AYCUR-BALLDROP
简称 Balldrop
OK_train 649
OK_val 129
OK_test / NG_test 521 / 98
img
底板名称 TI-CD3701C0AYCUR-M1
简称 M1
OK_train 1127
OK_val 315
OK_test / NG_test 505 / 38
img
底板名称 TI-CD3701C0AYCUR-UBM
简称 UBM
OK_train 8581
OK_val 756
OK_test / NG_test 5226 / 434
img
底板名称 TI-CD3701C0AYCUR(RFC0AECP)-BALLDROP
简称 RF-Balldrop
OK_train 6176
OK_val 1342
OK_test / NG_test 3736 / 105
img
底板名称 TI-CD3701C0AYCUR(RFC0AECP)-M1
简称 RF-M1
OK_train 1093
OK_val 94
OK_test / NG_test 1526 / 30
img
底板名称 TI-CD3701C0AYCUR(RFC0AECP)-UBM
简称 RF-UBM
OK_train 2311
OK_val 460
OK_test / NG_test 813 / 89

探究目标

模型训练阶段

  • 预设探究的信息维度与结构
1
STPM训练阶段基础参数Padding 训练数据量训练轮数batch size图像尺寸截图尺寸压缩尺寸数据抗噪能力数据增强去色操作常规增强数据策略损失函数定位精度主干网络网络类型网络交叉预训练模型迁移能力剪枝训练数据微调通道注意力空间注意力降采样训练学生独断降采样异构网络

模型推理阶段

  • 推理阶段需要尝试的维度
1
STPM推理阶段特征层级转化结果策略结果先验遮罩探索新的特征组合策略统计样本分值分布特征聚类分析

实验设置

探究内容 实验选项
batch size 2, 6, 10
训练轮数 10, 20, 30, … , 100, 110
数据量 20% 40% 60% 80% 100%
截图尺寸 600×600 400×400 256×256
缩放尺寸 600×600 400×400 256×256
抗噪性能 加噪 1% 2% 4% 8%
去色预处理 性能测试、迁移能力鲁棒性测试
常规数据增强 翻转、旋转、gamma 变换
数据策略 教师-底板 学生-原图 vs 教师-原图 学生-底板
损失函数 L1, L2, Huber Loss, CosSim
定位精度 4-8 pixel 1-2 pixel
网络类型 Resnet 18 Resnet 34 Resnet 50 Resnet 101 WideResnet50 resnext50 densenet121
网络交叉 Resnet 18 × Resnet 34 Resnet 50 × WideResnet50
预训练 ImageNet , FasterRcnn coco Backbone Resnet 50, fackbook ssl, facebook swsl, ibn_a, ibn_b
数据微调 用 TI 数据对 fackbook ssl 预训练 resnet50 模型finetune ,对比模型性能
模型迁移能力 Part1 Part2 Part3 Total 数据集相互测试
剪枝训练 使用网络不同层级特征进行训练,测试性能
Padding 训练 探究训练 STPM 网络时加入 Padding 对网络性能的影像
Hcsc 预训练网络 使用 Hcsc 方法,使用所有ADC数据(300k+)预训练模型
统计样本分值分布 统计模型预测样本分值在二分类数据上的分布情况
特征聚类分析 分析不同产品数据的特征分布,探究与迁移能力是否存在相关性
通道注意力 为通道特征加入注意力机制
空间注意力
降采样训练
学生独断
降采样异构网络

实验、评估方法

  • 在实验设置、实验数据的实验组合中,控制变量进行模型训练
  • 训练出的模型在所有推理策略上进行推理,得到若干组推理结果(图像异常的概率)
  • 用人工标注的二分类 AP 值评估该训练、推理方法在该数据集上的性能

实验结果

结果说明

符号 含义
L1-L4 表示第一到第四层特征
CC Center Crop
_L, _S Large, Small
Gau 高斯核
N 不采用 mask
Mul 四层特征相乘
Sum 四层特征相加

Batch Size

实验目的
  • 探究不同 Batch Size 对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 WideResnet50
尺寸 600×600
Batch Size 2, 6, 10
Epoch 36
Init Learning Rate 0.01
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
BatchSize 2 0.866 0.882 0.881 0.895 0.829 0.907 0.924 0.924 0.931 0.860 0.902 0.909 0.904 0.910 0.856 0.892 0.895 0.896 0.899 0.865 0.911 0.922 0.890 0.915 0.862 0.910 0.918 0.913 0.921 0.859
BatchSize 6 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
BatchSize 10 0.866 0.883 0.883 0.898 0.829 0.907 0.924 0.924 0.931 0.858 0.904 0.912 0.907 0.914 0.857 0.896 0.902 0.901 0.906 0.867 0.916 0.926 0.893 0.919 0.864 0.913 0.922 0.916 0.924 0.861
相关结论
  • 在相同条件下,WideResnet50BatchSize2, 6, 10性能几乎没有变化
后期实验
  • 根据以上结论,考虑到显卡显存与实验一致性,之后的实验 Batch Size 均设置为 6

训练轮数

实验目的
  • 探究 训练轮数(epoch num) 对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 TI
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 10, 20, … , 100, 110
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
训练层级 layer4
实验结果
  • 采用在 TI 数据 测试集 上的 二分类 AP 作为评判指标:
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
10 0.962 0.973 0.975 0.978 0.929 0.920 0.944 0.950 0.967 0.903 0.840 0.867 0.864 0.896 0.805 0.807 0.819 0.800 0.845 0.673 0.916 0.940 0.900 0.945 0.787 0.864 0.893 0.898 0.930 0.696
20 0.954 0.970 0.971 0.977 0.925 0.899 0.922 0.929 0.951 0.887 0.835 0.856 0.856 0.884 0.816 0.810 0.826 0.797 0.850 0.674 0.901 0.923 0.888 0.929 0.798 0.857 0.880 0.887 0.917 0.704
30 0.957 0.972 0.973 0.978 0.930 0.907 0.930 0.936 0.956 0.895 0.841 0.862 0.862 0.890 0.819 0.816 0.831 0.800 0.856 0.673 0.910 0.931 0.897 0.937 0.803 0.865 0.888 0.894 0.923 0.705
40 0.954 0.970 0.971 0.977 0.925 0.899 0.922 0.929 0.951 0.887 0.835 0.856 0.856 0.884 0.816 0.810 0.826 0.797 0.850 0.674 0.901 0.923 0.888 0.929 0.798 0.857 0.880 0.887 0.917 0.704
50 0.953 0.969 0.971 0.976 0.925 0.898 0.921 0.928 0.950 0.886 0.835 0.855 0.856 0.882 0.818 0.812 0.825 0.797 0.849 0.675 0.900 0.922 0.889 0.928 0.802 0.857 0.879 0.887 0.915 0.706
60 0.954 0.970 0.971 0.977 0.926 0.897 0.920 0.927 0.949 0.885 0.836 0.855 0.856 0.883 0.821 0.815 0.827 0.798 0.852 0.676 0.900 0.922 0.889 0.928 0.805 0.858 0.879 0.887 0.915 0.708
70 0.953 0.969 0.971 0.977 0.926 0.896 0.919 0.925 0.948 0.884 0.834 0.853 0.854 0.881 0.820 0.814 0.827 0.798 0.851 0.676 0.899 0.920 0.888 0.927 0.805 0.856 0.878 0.885 0.914 0.709
80 0.954 0.970 0.972 0.977 0.927 0.898 0.920 0.927 0.950 0.887 0.836 0.856 0.856 0.884 0.820 0.816 0.829 0.799 0.853 0.677 0.901 0.923 0.890 0.929 0.806 0.859 0.880 0.888 0.917 0.709
90 0.953 0.969 0.971 0.977 0.925 0.895 0.918 0.925 0.948 0.884 0.835 0.854 0.855 0.882 0.818 0.815 0.830 0.797 0.854 0.676 0.899 0.921 0.888 0.927 0.804 0.857 0.878 0.886 0.915 0.707
100 0.954 0.970 0.971 0.977 0.926 0.897 0.920 0.926 0.949 0.886 0.837 0.856 0.857 0.883 0.820 0.816 0.830 0.799 0.854 0.677 0.902 0.923 0.891 0.930 0.807 0.859 0.880 0.888 0.917 0.710
110 0.952 0.969 0.970 0.976 0.924 0.894 0.917 0.924 0.947 0.883 0.835 0.853 0.855 0.881 0.821 0.814 0.827 0.798 0.851 0.676 0.898 0.919 0.888 0.926 0.807 0.857 0.877 0.885 0.914 0.711
  • 采用高斯 mask 的第二层特征作为获取结果的 map (L2_Gau_L)绘制折线图

img

相关结论
  • TI 的数据上,训练 10 轮(学习率0.01) 已经达到最优的性能了,可能略有过拟合
  • 可能 TI 数据较为单一,不需要训练过多轮数,数据更加复杂的训练任务可以适当增加轮数,至少不会严重地削弱模型性能

数据量

实验目的
  • 探究 训练数据量 对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Part1,Part2,Part3,Total
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
训练层级 layer4
训练集数据量百分比 100%,80%,60%,40%,20%
  • 训练集采用原始训练集的一部分,观察模型性能变化
数据量 OK_train OK_val OK_test / NG_test
Part1 2957 422 846 / 6788
Part2 9285 1326 2654 / 9684
Part3 12628 1804 3608 / 2219
Total 24870 3552 7108 / 18681
实验结果
  • 采用在不同大类别 测试集 上的 二分类 AP 作为评判指标

  • 由于单层特征变化趋势一致,我们此处仅收集 L2-Gau-L 特征的结果

    每行数据为 训练数据-测试数据 的AP结果

NG AP 100% 80% 60% 40% 20%
P1-P1 0.969 0.969 0.968 0.967 0.965
P1-P2 0.912 0.909 0.904 0.900 0.891
P1-P3 0.662 0.657 0.652 0.645 0.633
P1-Total 0.833 0.835 0.831 0.827 0.818
P2-P1 0.961 0.963 0.964 0.965 0.962
P2-P2 0.924 0.919 0.914 0.905 0.897
P2-P3 0.693 0.691 0.664 0.651 0.644
P2-Total 0.808 0.818 0.822 0.828 0.826
P3-P1 0.939 0.938 0.937 0.938 0.939
P3-P2 0.855 0.854 0.852 0.851 0.857
P3-P3 0.695 0.693 0.694 0.699 0.704
P3-Total 0.892 0.891 0.889 0.889 0.890
Total-Total 0.932 0.933 0.931 0.928 0.922
  • 采用高斯 mask 的第二层特征作为获取结果的 map (L2_Gau_L)绘制条形图

img

相关结论
  • 大多数情况下,训练数据越多 → 模型性能越好,相反的情况极少,可以认为在训练中使用的数据多多益善
  • Part3 作为训练数据时,减少数据量几乎没有造成性能下降,可能的原因是 Part3 训练数据量充足(12628组),即便20%的训练数据(2526组)已经足够训练 STPM 网络
  • Part1,2 作为训练数据时,数据量变小最多影响性能3%,没有对模型性能有绝对的影响
  • Part1 作为训练数据时,最小的训练数据量为 592 组数据,即 600 组左右的数据就可以训练出基本可用的模型

截图尺寸

实验目的
  • 探究 输入数据截图尺寸对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 WideResnet50
截图尺寸 600×600,400×400, 256×256
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
256×256 0.905 0.914 0.919 0.926 0.886 0.933 0.939 0.941 0.950 0.921 0.930 0.934 0.935 0.941 0.916 0.929 0.924 0.929 0.925 0.913 0.942 0.945 0.939 0.948 0.925 0.940 0.939 0.943 0.948 0.920
400×400 0.891 0.908 0.906 0.916 0.869 0.927 0.931 0.933 0.940 0.900 0.922 0.925 0.924 0.930 0.895 0.911 0.913 0.916 0.914 0.897 0.933 0.936 0.924 0.936 0.904 0.929 0.931 0.932 0.937 0.899
600×600 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制折线图

img

相关结论
  • 实验结果表明center crop 可以提升模型在当前数据集上的性能;
  • 同时说明当前数据具有缺陷集中在中间的先验知识,不能作为 STPM 模型的相关结论。

缩放尺寸

实验目的
  • 探究 resize 尺寸对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 Resnet18, Resnet34, Resnet50, WideResnet50
缩放尺寸 256×256, 400×400, 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Resnet18_256 0.853 0.855 0.855 0.859 0.828 0.887 0.885 0.887 0.885 0.870 0.883 0.886 0.883 0.886 0.869 0.906 0.910 0.909 0.910 0.904 0.905 0.909 0.898 0.906 0.886 0.909 0.915 0.914 0.918 0.898
Resnet18_400 0.853 0.854 0.855 0.859 0.819 0.891 0.894 0.893 0.893 0.861 0.887 0.892 0.886 0.890 0.863 0.892 0.899 0.897 0.903 0.883 0.902 0.908 0.891 0.901 0.874 0.900 0.908 0.905 0.910 0.882
Resnet18_600 0.845 0.864 0.864 0.874 0.809 0.896 0.906 0.904 0.908 0.854 0.894 0.899 0.893 0.899 0.853 0.899 0.904 0.905 0.907 0.885 0.907 0.915 0.892 0.910 0.868 0.905 0.912 0.910 0.915 0.881
Resnet34_256 0.857 0.861 0.860 0.862 0.829 0.883 0.884 0.882 0.885 0.860 0.890 0.892 0.891 0.893 0.878 0.903 0.909 0.905 0.910 0.897 0.906 0.911 0.896 0.905 0.883 0.906 0.914 0.910 0.917 0.893
Resnet34_400 0.855 0.860 0.860 0.862 0.816 0.891 0.899 0.895 0.896 0.858 0.893 0.896 0.893 0.897 0.874 0.902 0.903 0.904 0.904 0.885 0.908 0.912 0.894 0.905 0.875 0.908 0.911 0.909 0.911 0.882
Resnet34_600 0.847 0.861 0.860 0.869 0.811 0.896 0.912 0.909 0.915 0.854 0.893 0.902 0.897 0.904 0.859 0.903 0.907 0.905 0.910 0.875 0.910 0.919 0.894 0.913 0.868 0.907 0.914 0.910 0.917 0.873
Resnet50_256 0.865 0.866 0.867 0.866 0.826 0.893 0.897 0.894 0.896 0.857 0.889 0.892 0.889 0.893 0.867 0.890 0.895 0.895 0.897 0.879 0.903 0.906 0.889 0.901 0.870 0.898 0.902 0.898 0.902 0.871
Resnet50_400 0.864 0.874 0.873 0.877 0.822 0.902 0.911 0.908 0.911 0.854 0.894 0.899 0.892 0.899 0.857 0.894 0.896 0.896 0.898 0.874 0.904 0.911 0.888 0.903 0.866 0.901 0.907 0.900 0.908 0.863
Resnet50_600 0.858 0.868 0.871 0.880 0.819 0.892 0.912 0.909 0.917 0.852 0.895 0.904 0.897 0.905 0.847 0.891 0.895 0.893 0.897 0.870 0.903 0.913 0.889 0.905 0.862 0.900 0.909 0.902 0.910 0.859
WideResnet50_256 0.870 0.881 0.878 0.884 0.833 0.888 0.890 0.889 0.892 0.852 0.889 0.892 0.887 0.890 0.865 0.908 0.909 0.910 0.907 0.897 0.906 0.911 0.888 0.903 0.869 0.907 0.911 0.906 0.909 0.875
WideResnet50_400 0.870 0.890 0.886 0.896 0.831 0.899 0.907 0.905 0.908 0.856 0.895 0.901 0.896 0.900 0.864 0.899 0.894 0.903 0.896 0.883 0.908 0.914 0.890 0.906 0.868 0.908 0.912 0.907 0.911 0.871
WideResnet50_600 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
  • 采用高斯mask的第二层特征作为获取结果的map (L2_Gau_L)绘制折线图

img

相关结论
  • 不同模型在不同尺寸上得到了相同的性能变化趋势
  • 原图为 ,resize 变小尺寸会使得 STPM 性能下降

抗噪性能

实验目的
  • 探究 噪声数据 对 STPM 模型性能的影响

  • 噪声数据为有意错误翻转的图像:

    • 正常定位匹配的图像:

    img

    • 噪声图像

    img

实验设置
实验项目 实验设置
数据集 Total
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss, Huber Loss
噪声数据比例 0%, 1%, 2%, 4%, 8%
  • 实验结果
    • 采用在 TI 数据 测试集 上的 二分类 AP 作为评判指标:
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Noise Data 1% 0.869 0.888 0.887 0.902 0.832 0.910 0.926 0.926 0.933 0.862 0.906 0.913 0.908 0.914 0.860 0.897 0.900 0.901 0.904 0.870 0.917 0.928 0.896 0.921 0.867 0.915 0.922 0.917 0.924 0.864
Noise Data 2% 0.871 0.887 0.887 0.901 0.835 0.910 0.924 0.924 0.931 0.862 0.906 0.913 0.908 0.915 0.861 0.897 0.900 0.902 0.904 0.872 0.917 0.927 0.898 0.921 0.869 0.914 0.922 0.917 0.925 0.866
Noise Data 4% 0.868 0.886 0.885 0.900 0.833 0.909 0.924 0.924 0.930 0.862 0.905 0.912 0.907 0.914 0.861 0.897 0.901 0.902 0.904 0.871 0.917 0.926 0.898 0.920 0.868 0.914 0.921 0.916 0.924 0.866
Noise Data 8% 0.856 0.873 0.873 0.888 0.821 0.903 0.919 0.918 0.924 0.853 0.902 0.910 0.905 0.911 0.856 0.895 0.900 0.900 0.903 0.870 0.912 0.923 0.892 0.916 0.862 0.910 0.918 0.913 0.920 0.862
Noise Data 8% HuberLoss 0.866 0.883 0.883 0.897 0.831 0.908 0.922 0.922 0.928 0.860 0.905 0.912 0.908 0.914 0.859 0.896 0.900 0.902 0.904 0.879 0.916 0.925 0.897 0.919 0.867 0.913 0.920 0.915 0.922 0.867
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制折线图

img

相关结论
  • STPM 训练过程中允许存在部分噪声(完全不匹配),噪声数据4%以下不会显著降低模型性能
  • 8% 左右的噪声数据已经影响了模型性能,浅层特征(1-2层)性能下降,深层特征(3-4层)性能变化不大
  • HuberLoss 应用在带噪数据上可以一定程度上抵抗噪声数据对模型带来的不良影响

去色预处理 —— 性能测试

实验由来
  • 原图为彩色图像,而底板为灰度图像,此种差异是否会影响STPM 网络模型的性能?
实验目的
  • 探究 去色预处理 对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
预处理操作 ToGray
实验结果
  • 采用在 Total 数据 测试集 上的 二分类 AP 作为评判指标:
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
BaseLine 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
ToGray 0.859 0.880 0.878 0.894 0.821 0.908 0.925 0.924 0.931 0.858 0.904 0.910 0.906 0.911 0.854 0.894 0.898 0.899 0.902 0.866 0.915 0.924 0.892 0.918 0.861 0.912 0.919 0.914 0.922 0.859
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制柱状图

img

相关结论
  • 去色操作会降低模型在相应数据测试集上的性能

去色预处理 —— 迁移能力测试

实验由来
  • 不同产品图像的颜色大相径庭,是否去除这一差异会增强模型的迁移能力?
实验目的
  • 探究 去色预处理 对 STPM 模型数据迁移能力的影响
实验设置
实验项目 实验设置
数据集 Part1, Part2, Part3, Total
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
预处理操作 ToGray
实验结果
  • 采用在 Part1, Part2, Part3, Total 数据 测试集 上的 二分类 AP 作为评判指标:
BaseLine NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Train Part1-Test Part1 0.916 0.937 0.937 0.949 0.902 0.960 0.969 0.969 0.976 0.936 0.959 0.965 0.963 0.967 0.936 0.962 0.965 0.962 0.967 0.946 0.966 0.970 0.952 0.968 0.938 0.965 0.970 0.969 0.973 0.941
Train Part1-Test Part2 0.805 0.795 0.801 0.813 0.809 0.894 0.909 0.912 0.917 0.882 0.835 0.849 0.844 0.858 0.843 0.797 0.847 0.839 0.862 0.824 0.858 0.876 0.869 0.877 0.863 0.832 0.861 0.854 0.876 0.843
Train Part1-Test Part3 0.471 0.477 0.484 0.504 0.421 0.646 0.655 0.662 0.675 0.574 0.620 0.626 0.636 0.650 0.546 0.525 0.548 0.553 0.541 0.459 0.633 0.631 0.624 0.639 0.534 0.611 0.614 0.624 0.626 0.506
Train Part1-Test Total 0.748 0.747 0.751 0.762 0.742 0.811 0.828 0.833 0.844 0.784 0.752 0.759 0.760 0.765 0.739 0.712 0.731 0.731 0.733 0.714 0.750 0.757 0.754 0.759 0.738 0.738 0.753 0.753 0.759 0.719
Train Part2-Test Part1 0.918 0.939 0.939 0.949 0.890 0.950 0.962 0.961 0.968 0.920 0.948 0.947 0.951 0.948 0.919 0.904 0.909 0.909 0.923 0.905 0.945 0.951 0.943 0.952 0.914 0.932 0.935 0.938 0.945 0.921
Train Part2-Test Part2 0.864 0.867 0.867 0.886 0.871 0.898 0.924 0.924 0.935 0.890 0.889 0.905 0.901 0.909 0.887 0.900 0.904 0.911 0.908 0.908 0.906 0.920 0.917 0.918 0.905 0.901 0.914 0.913 0.923 0.901
Train Part2-Test Part3 0.578 0.620 0.634 0.661 0.449 0.672 0.686 0.693 0.686 0.617 0.579 0.597 0.604 0.615 0.532 0.400 0.406 0.415 0.432 0.383 0.605 0.624 0.614 0.635 0.509 0.531 0.547 0.558 0.574 0.453
Train Part2-Test Total 0.780 0.799 0.805 0.821 0.765 0.775 0.803 0.808 0.828 0.754 0.727 0.741 0.743 0.752 0.716 0.679 0.675 0.681 0.682 0.675 0.722 0.734 0.731 0.739 0.709 0.702 0.708 0.713 0.719 0.689
Train Part3-Test Part1 0.902 0.917 0.921 0.925 0.897 0.937 0.936 0.939 0.942 0.934 0.932 0.927 0.932 0.933 0.929 0.876 0.876 0.879 0.883 0.880 0.924 0.925 0.928 0.931 0.921 0.911 0.911 0.916 0.921 0.910
Train Part3-Test Part2 0.822 0.833 0.842 0.850 0.824 0.834 0.851 0.855 0.863 0.823 0.812 0.814 0.817 0.820 0.818 0.779 0.787 0.781 0.783 0.780 0.809 0.822 0.821 0.827 0.814 0.785 0.803 0.803 0.811 0.800
Train Part3-Test Part3 0.685 0.745 0.743 0.772 0.528 0.695 0.714 0.707 0.719 0.612 0.723 0.737 0.717 0.736 0.606 0.774 0.780 0.759 0.781 0.573 0.762 0.773 0.685 0.749 0.602 0.769 0.769 0.752 0.766 0.593
Train Part3-Test Total 0.853 0.866 0.873 0.880 0.826 0.882 0.890 0.892 0.897 0.863 0.864 0.863 0.867 0.869 0.856 0.816 0.817 0.815 0.818 0.814 0.857 0.863 0.863 0.868 0.850 0.836 0.845 0.848 0.855 0.836
Gray NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Train Part1-Test Part1 0.920 0.937 0.938 0.949 0.907 0.959 0.969 0.969 0.975 0.939 0.957 0.964 0.962 0.967 0.935 0.962 0.965 0.962 0.968 0.946 0.966 0.970 0.954 0.969 0.939 0.964 0.970 0.968 0.973 0.941
Train Part1-Test Part2 0.784 0.781 0.785 0.796 0.787 0.894 0.910 0.911 0.918 0.879 0.840 0.855 0.849 0.862 0.848 0.802 0.851 0.845 0.868 0.826 0.862 0.880 0.873 0.879 0.864 0.832 0.865 0.857 0.881 0.844
Train Part1-Test Part3 0.454 0.457 0.465 0.484 0.414 0.638 0.648 0.657 0.669 0.565 0.601 0.614 0.622 0.637 0.535 0.515 0.529 0.532 0.522 0.442 0.606 0.614 0.598 0.621 0.516 0.584 0.591 0.597 0.604 0.490
Train Part1-Test Total 0.736 0.736 0.740 0.750 0.730 0.826 0.844 0.849 0.859 0.794 0.758 0.766 0.767 0.772 0.745 0.716 0.729 0.731 0.732 0.718 0.754 0.761 0.758 0.762 0.740 0.740 0.754 0.754 0.761 0.722
Train Part2-Test Part1 0.928 0.943 0.944 0.952 0.904 0.948 0.962 0.961 0.970 0.916 0.944 0.947 0.948 0.950 0.915 0.907 0.914 0.912 0.927 0.906 0.944 0.954 0.942 0.953 0.911 0.932 0.938 0.938 0.948 0.918
Train Part2-Test Part2 0.829 0.830 0.827 0.844 0.829 0.885 0.909 0.908 0.919 0.879 0.884 0.898 0.895 0.902 0.884 0.898 0.902 0.909 0.906 0.907 0.899 0.911 0.912 0.909 0.903 0.896 0.907 0.906 0.915 0.899
Train Part2-Test Part3 0.474 0.485 0.497 0.526 0.419 0.589 0.615 0.624 0.640 0.530 0.549 0.568 0.572 0.593 0.496 0.380 0.392 0.397 0.414 0.368 0.537 0.561 0.548 0.572 0.457 0.496 0.517 0.527 0.552 0.423
Train Part2-Test Total 0.747 0.754 0.757 0.770 0.736 0.768 0.798 0.804 0.826 0.744 0.726 0.739 0.740 0.749 0.712 0.682 0.679 0.684 0.684 0.676 0.710 0.725 0.720 0.730 0.697 0.699 0.706 0.710 0.718 0.684
Train Part3-Test Part1 0.898 0.903 0.907 0.914 0.901 0.929 0.926 0.929 0.930 0.923 0.926 0.923 0.927 0.928 0.920 0.876 0.876 0.878 0.880 0.877 0.916 0.919 0.919 0.922 0.908 0.904 0.908 0.912 0.916 0.896
Train Part3-Test Part2 0.787 0.790 0.793 0.795 0.787 0.811 0.811 0.812 0.812 0.797 0.767 0.767 0.768 0.771 0.767 0.745 0.756 0.745 0.749 0.760 0.771 0.772 0.774 0.774 0.775 0.749 0.758 0.756 0.763 0.762
Train Part3-Test Part3 0.647 0.716 0.713 0.740 0.504 0.690 0.708 0.700 0.705 0.604 0.716 0.725 0.709 0.721 0.593 0.768 0.780 0.756 0.781 0.553 0.754 0.761 0.678 0.738 0.589 0.765 0.760 0.744 0.752 0.576
Train Part3-Test Total 0.830 0.838 0.842 0.848 0.801 0.867 0.866 0.868 0.868 0.844 0.838 0.839 0.841 0.844 0.826 0.797 0.801 0.796 0.800 0.801 0.834 0.836 0.834 0.838 0.824 0.816 0.823 0.824 0.830 0.813
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制条形图

    • Layer1: L1_Gau_L

      img

    • Layer2: L2_Gau_L

      img

    • Layer3: L3_Gau_L

      img

    • Layer4: L4_Gau_L

      img

相关结论
  • 去色操作几乎在所有对比实验中的性能都有下降,因此去色会降低模型的数据迁移能力
  • Total数据集上,彩色不是影响模型迁移性能的关键因素

常规数据增强

实验目的
  • 探究 常规数据增强对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
数据增强 Random Flip Rotate,gamma 变换
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Base 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
Random Flip Rotate 0.860 0.878 0.877 0.890 0.825 0.906 0.922 0.923 0.929 0.855 0.900 0.904 0.901 0.904 0.850 0.892 0.899 0.898 0.902 0.858 0.911 0.922 0.889 0.916 0.856 0.910 0.917 0.913 0.918 0.853
Random Flip Rotate gamma 0.863 0.879 0.879 0.892 0.826 0.907 0.924 0.924 0.929 0.856 0.901 0.906 0.902 0.905 0.850 0.892 0.899 0.898 0.904 0.859 0.913 0.923 0.891 0.917 0.856 0.910 0.918 0.914 0.919 0.853
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制折线图

img

相关结论
  • 数据增强没有在同源的测试集上看到性能收益
  • 可能由于数据成像稳定,原图与测试图像同源程度高,增强反而降低了模型性能,潜在的泛化性可能得到了提升

网络类型 测试一

实验目的
  • 探究不同网络类型对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 Resnet18, Resnet34, Resnet50, WideResnet50, resnext_50, densenet121, Swin
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标

常规卷积模型采用 尺寸

NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Resnet18 0.845 0.864 0.864 0.874 0.809 0.896 0.906 0.904 0.908 0.854 0.894 0.899 0.893 0.899 0.853 0.899 0.904 0.905 0.907 0.885 0.907 0.915 0.892 0.910 0.868 0.905 0.912 0.910 0.915 0.881
Resnet34 0.847 0.861 0.860 0.869 0.811 0.896 0.912 0.909 0.915 0.854 0.893 0.902 0.897 0.904 0.859 0.903 0.907 0.905 0.910 0.875 0.910 0.919 0.894 0.913 0.868 0.907 0.914 0.910 0.917 0.873
Resnet50 0.858 0.868 0.871 0.880 0.819 0.892 0.912 0.909 0.917 0.852 0.895 0.904 0.897 0.905 0.847 0.891 0.895 0.893 0.897 0.870 0.903 0.913 0.889 0.905 0.862 0.900 0.909 0.902 0.910 0.859
WideResnet50 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
resnext_50 0.852 0.879 0.878 0.891 0.809 0.900 0.915 0.914 0.918 0.851 0.899 0.902 0.899 0.902 0.854 0.901 0.903 0.903 0.904 0.881 0.913 0.919 0.896 0.915 0.868 0.908 0.913 0.910 0.913 0.877
densenet121 0.781 0.763 0.770 0.766 0.790 0.898 0.916 0.911 0.918 0.845 0.897 0.902 0.899 0.902 0.863 0.902 0.904 0.907 0.908 0.890 0.908 0.915 0.890 0.907 0.866 0.906 0.911 0.910 0.914 0.887

Swin Backbone 预训练时 ,对比 Resnet 50 的模型:

NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
swin_base_384 0.813524 0.807814 0.814646 0.812689 0.809406 0.87153 0.883874 0.880479 0.887091 0.838493 0.875963 0.879824 0.874542 0.878654 0.855604 0.823823 0.818704 0.821138 0.818358 0.828502 0.895297 0.901938 0.891311 0.900453 0.87737 0.840747 0.841286 0.840095 0.844756 0.839377
Resnet50_400 0.863514 0.873812 0.872901 0.877489 0.821922 0.902308 0.911151 0.908467 0.911027 0.853546 0.8937 0.898684 0.892007 0.899019 0.857087 0.894162 0.895793 0.896131 0.897575 0.87415 0.90424 0.911145 0.887676 0.903215 0.865576 0.900666 0.906703 0.900253 0.9078 0.863266
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制折线图

img

相关结论
  • 在相同条件下,WideResnet50 在各个层次特征中表现最佳
  • Swin 表现不如 Resnet50
后期实验
  • 根据以上结论,之后的实验大多数情况下在 WideResnet50 下进行

网络类型 测试二

实验目的
  • 使用 数据3 作为训练、测试数据,再次测试不同网络类型的性能
实验设置
实验项目 实验设置
数据集 数据3 —— 9套TI底板数据
模型 Wide-Resnet50, Resnet50, Resnet18
Batch Size 6
Epoch 28
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
实验结果
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 作为评判指标:
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
Wide Resnet50 0.919 0.735 0.859 0.454 0.904 0.898 0.969 0.969 0.908
Resnet50 0.913 0.769 0.913 0.400 0.972 0.940 0.953 0.976 0.954
Resnet18 0.850 0.679 0.899 0.368 0.931 0.898 0.922 0.938 0.910
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的AP拐点NG得分作为阈值指标:
score MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
Wide Resnet50 1.916318 1.55782 1.562743 1.743724 1.882993 1.787696 1.576425 1.929622 1.506365
Resnet50 2.015119 1.773723 1.749128 2.012612 1.869097 1.881239 2.011937 2.061737 1.550954
Resnet18 2.479775 2.103164 2.165806 2.697112 2.411225 2.367473 2.44851 2.420266 2.013886
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 绘制折线图:

img

相关结论
  • 数据3 上 Resnet50 的性能更佳
  • 可能数据种类较多的情况下需要更大的模型,数据多样性小的话小一些的模型更适用
  • 在不同数据上需要不同的 backbone 网络,可以多实验几个模型

预训练模型

实验目的
  • 探究 不同数据预训练 Resnet50 对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 Resnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet,Coco,YFCC100M, ibn-a, ibn-b, ImageNet1K …
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
base 0.866 0.879 0.882 0.893 0.825 0.897 0.916 0.913 0.922 0.855 0.899 0.909 0.902 0.911 0.844 0.890 0.899 0.871 0.902 0.790 0.906 0.920 0.887 0.909 0.859 0.902 0.915 0.906 0.917 0.837
ibn-a 0.867 0.885 0.885 0.901 0.832 0.903 0.919 0.919 0.925 0.857 0.894 0.904 0.899 0.908 0.858 0.865 0.883 0.841 0.880 0.802 0.910 0.920 0.885 0.911 0.861 0.881 0.900 0.866 0.904 0.820
ibn-b 0.868 0.890 0.888 0.900 0.837 0.894 0.912 0.913 0.922 0.861 0.893 0.905 0.897 0.909 0.842 0.894 0.895 0.861 0.897 0.816 0.907 0.917 0.887 0.910 0.862 0.902 0.909 0.882 0.913 0.822
ssl 0.860 0.883 0.883 0.896 0.827 0.897 0.916 0.914 0.923 0.856 0.897 0.905 0.900 0.909 0.857 0.903 0.905 0.893 0.909 0.835 0.907 0.918 0.890 0.910 0.865 0.904 0.912 0.907 0.915 0.852
swsl 0.859 0.883 0.884 0.896 0.816 0.891 0.908 0.907 0.915 0.845 0.898 0.904 0.902 0.909 0.857 0.912 0.908 0.844 0.913 0.816 0.915 0.923 0.892 0.917 0.863 0.915 0.912 0.866 0.917 0.834
coco fpn 0.885 0.892 0.889 0.893 0.867 0.902 0.898 0.904 0.901 0.895 0.901 0.894 0.902 0.899 0.901 0.900 0.894 0.900 0.898 0.900 0.908 0.905 0.906 0.910 0.903 0.904 0.898 0.904 0.902 0.904
coco 0.776 0.777 0.779 0.787 0.764 0.878 0.896 0.895 0.899 0.846 0.896 0.901 0.898 0.901 0.874 0.906 0.907 0.906 0.908 0.885 0.909 0.916 0.900 0.912 0.881 0.907 0.911 0.908 0.911 0.883
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制折线图

img

相关结论
  • 不同数据和训练方法在同样的网络结构(Resnet50)上应用到 STPM 有不同的表现,其中 SSL 方法训练的模型综合来看效果较好;
  • ImageNet 训练的网络(base) 也是可用的;
  • coco 两组实验是从 faster rcnn 网络中抠出来的 backbone,网络带 fpn,供与参考。

网络交叉

实验目的
  • 探究 教师与学生采用不同网络结构 对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 Resnet50 - WideResnet50, WideResnet50 - Resnet50, Resnet18 - Resnet34, Resnet34 - Resnet18
尺寸 256×256
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Resnet18-Resnet34 0.858 0.859 0.861 0.861 0.839 0.871 0.867 0.868 0.867 0.861 0.865 0.862 0.864 0.862 0.863 0.900 0.901 0.900 0.901 0.897 0.892 0.896 0.889 0.894 0.883 0.897 0.901 0.901 0.905 0.893
Resnet18-Resnet18 0.853 0.855 0.855 0.859 0.828 0.887 0.885 0.887 0.885 0.870 0.883 0.886 0.883 0.886 0.869 0.906 0.910 0.909 0.910 0.904 0.905 0.909 0.898 0.906 0.886 0.909 0.915 0.914 0.918 0.898
Resnet34-Resnet18 0.826 0.832 0.830 0.833 0.814 0.847 0.841 0.842 0.840 0.838 0.860 0.862 0.864 0.863 0.857 0.892 0.898 0.896 0.898 0.886 0.882 0.885 0.878 0.882 0.872 0.887 0.893 0.892 0.896 0.881
Resnet34-Resnet34 0.857 0.861 0.860 0.862 0.829 0.883 0.884 0.882 0.885 0.860 0.890 0.892 0.891 0.893 0.878 0.903 0.909 0.905 0.910 0.897 0.906 0.911 0.896 0.905 0.883 0.906 0.914 0.910 0.917 0.893
Resnet50-Resnet50Wide 0.862 0.861 0.861 0.859 0.822 0.880 0.880 0.878 0.878 0.855 0.883 0.877 0.884 0.878 0.875 0.881 0.886 0.885 0.886 0.869 0.892 0.893 0.885 0.890 0.870 0.890 0.889 0.892 0.890 0.875
Resnet50-Resnet50 0.865 0.866 0.867 0.866 0.826 0.893 0.897 0.894 0.896 0.857 0.889 0.892 0.889 0.893 0.867 0.890 0.895 0.895 0.897 0.879 0.903 0.906 0.889 0.901 0.870 0.898 0.902 0.898 0.902 0.871
Resnet50Wide-Resnet50 0.859 0.867 0.865 0.868 0.824 0.863 0.858 0.859 0.856 0.850 0.856 0.859 0.859 0.860 0.852 0.884 0.883 0.886 0.882 0.869 0.880 0.883 0.874 0.881 0.859 0.879 0.881 0.881 0.882 0.863
WideResnet50-WideResnet50 0.870 0.881 0.878 0.884 0.833 0.888 0.890 0.889 0.892 0.852 0.889 0.892 0.887 0.890 0.865 0.908 0.909 0.910 0.907 0.897 0.906 0.911 0.888 0.903 0.869 0.907 0.911 0.906 0.909 0.875
  • 采用高斯mask的第二层特征作为获取结果的map (L2_Gau_L)绘制条形图

    T-S model 名称表示左侧为教师网络结构,右侧为学生网络结构,均采用相同的预训练模型

    Same Network 为学生网络采用和教师相同的网络结构

img

相关结论
  • 教师学生网络采用相同结构时性能更好。

数据输入策略

实验目的
  • 探究 **教师-学生网络分别输入原图-底板 / 底板- 原图**对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
输入策略 原图-底板 / 底板- 原图
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Tea-image-Stu-temp 0.695 0.698 0.700 0.708 0.692 0.766 0.771 0.779 0.794 0.754 0.745 0.749 0.753 0.764 0.735 0.806 0.806 0.806 0.808 0.808 0.780 0.784 0.783 0.789 0.771 0.797 0.800 0.804 0.813 0.787
Tea-temp-Stu-image 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制条形图

img

相关结论
  • 教师网络输入底板,学生网络输入原图的策略性能更优。

损失函数

实验目的
  • 探究 不同损失函数对 STPM 模型性能的影响
实验设置
实验项目 实验设置
数据集 Total
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss, cos similarity, Huber Loss, L1
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
L2 Loss 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
cos similarity 0.871 0.887 0.886 0.901 0.834 0.910 0.926 0.926 0.932 0.863 0.906 0.913 0.908 0.914 0.862 0.897 0.901 0.902 0.905 0.871 0.917 0.927 0.897 0.920 0.869 0.914 0.922 0.917 0.925 0.866
Huber Loss 0.869 0.885 0.885 0.900 0.833 0.909 0.925 0.925 0.932 0.861 0.904 0.912 0.907 0.914 0.859 0.895 0.898 0.900 0.902 0.869 0.916 0.926 0.895 0.919 0.866 0.913 0.921 0.916 0.924 0.863
L1 Loss 0.883 0.904 0.903 0.919 0.844 0.910 0.914 0.918 0.920 0.883 0.899 0.906 0.903 0.911 0.878 0.859 0.849 0.873 0.855 0.878 0.918 0.919 0.908 0.918 0.888 0.912 0.916 0.913 0.921 0.882
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制折线图

img

相关结论
  • L2, Huber, Cos Similarity 损失函数得到的模型性能接近
  • L1 损失会 提升第一层特征 的性能,高层特征性能下降

定位精度

实验目的
  • 探究 底板与图像定位精度 对 STPM 模型性能的影响

  • 对比数据为精确定位的数据(1-2像素误差)和定位较为粗糙的数据(4-8像素误差):

    • 精确定位图像:

    img

    • 粗糙定位图像

    img

实验设置
实验项目 实验设置
数据集 Total
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
定位精度 1-2 pixel, 4-8 pixel
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Fine 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
Coarse 0.720 0.720 0.720 0.721 0.720 0.723 0.723 0.723 0.723 0.723 0.722 0.722 0.722 0.722 0.724 0.720 0.720 0.722 0.721 0.726 0.721 0.721 0.722 0.721 0.724 0.721 0.722 0.722 0.722 0.725
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制柱状图

img

相关结论
  • STPM 通过底板进行异常检测的过程依赖较为精确的定位,如果所有数据匹配均存在超过 4 像素偏差则会严重影响算法性能

剪枝训练

实验目的
  • 探究 仅训练前若干层网络 对 STPM 模型性能的影响
  • 仅训练浅层网络是否会影响该部分浅层网络性能
  • 以此作为网络剪枝训练、部署的依据
实验设置
实验项目 实验设置
数据集 Total
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
训练层级 layer1,layer2,layer3,layer4(BaseLine)
  • 训练层级按照网络 Stage 定义,以 Resnet 50 为例

img

  • 定义层级后,仅该层级以及之前层级的参数可训练,其余参数冻结。
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Level 1 0.873 0.892 0.889 0.904 0.834 0.806 0.810 0.822 0.827 0.747 0.646 0.646 0.656 0.670 0.651 0.717 0.730 0.749 0.753 0.758 0.875 0.889 0.887 0.902 0.826 0.751 0.738 0.752 0.768 0.740
Level 2 0.871 0.889 0.888 0.903 0.833 0.907 0.921 0.921 0.927 0.857 0.646 0.645 0.655 0.676 0.646 0.719 0.720 0.749 0.752 0.731 0.900 0.917 0.904 0.920 0.854 0.827 0.828 0.848 0.860 0.805
Level 3 0.874 0.890 0.890 0.905 0.835 0.912 0.926 0.926 0.933 0.864 0.907 0.914 0.910 0.917 0.863 0.724 0.712 0.761 0.767 0.748 0.915 0.926 0.902 0.925 0.864 0.903 0.911 0.916 0.923 0.857
Level 4 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制条形图

img

相关结论
  • 深层训练在浅层网络上的表现与浅层训练的网络一致
  • 可以在深层网络上训练,采用浅层网络结果用于模型部署
  • 可以仅在浅层网络上训练,完成后直接部署

数据微调

实验由来
  • STPM 模型基础教师网络为与项目数据不相关的 ImageNet 等数据集预训练而来,如果教师网络适应项目数据是否会提升模型性能?
实验目的
  • 探究 使用项目数据微调教师模型 对 STPM 模型数据迁移能力的影响
实验设置
实验项目 实验设置
数据集 TI
模型 Resnet50
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 SSL
损失函数 L2 Loss
教师网络预训练 TI 数据有监督分类任务
冻结参数 Layer1
  • 使用人工标注的二分类数据预训练教师网络,二分类 AP 由 0.6+ 提升到了0.9,之后保存模型用于STPM模型训练
  • 随后实验发现微调过的模型浅层特征提取能力会下降,因此冻结了浅层特征又做了一组对比实验
实验结果
  • 采用在 Part1, Part2, Part3, Total 数据 测试集 上的 二分类 AP 作为评判指标:
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
baseline 0.933 0.950 0.954 0.958 0.889 0.853 0.890 0.897 0.929 0.814 0.730 0.758 0.763 0.805 0.693 0.730 0.745 0.707 0.786 0.596 0.849 0.877 0.819 0.888 0.750 0.745 0.765 0.730 0.822 0.627
finetune 0.873 0.897 0.899 0.910 0.845 0.881 0.899 0.899 0.912 0.871 0.811 0.832 0.833 0.847 0.799 0.750 0.777 0.763 0.799 0.652 0.869 0.886 0.871 0.889 0.841 0.770 0.791 0.782 0.819 0.730
finetune freeze_L1 0.940 0.950 0.953 0.956 0.842 0.855 0.890 0.903 0.931 0.816 0.772 0.789 0.796 0.825 0.759 0.738 0.766 0.764 0.805 0.712 0.875 0.891 0.872 0.905 0.809 0.753 0.776 0.782 0.828 0.734
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制条形图

img

相关结论
  • 直接使用项目数据微调模型,可以显著提升深层网络(layer3, 4)特征性能,但会损失浅层特征的性能(layer1
  • 为了解决浅层特征性能下降的问题冻结浅层(layer1)后深层特征相比 baseline 均有性能提升,但 layer3 层性能不如直接微调的收益高

特征组合策略

实验由来
  • 数据3 中发现在跨底板迁移时使用直接四层特征相加时阈值不稳定,而且精度有限,尝试使用其他的阈值判定策略。
实验目的
  • 探究 特征组合策略 对 STPM 模型数据迁移能力的影响
实验设置
实验项目 实验设置
数据集 数据3 —— 9套TI底板数据
模型 Wide-Resnet50
Batch Size 6
Epoch 28
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
实验结果
  • 采用在 数据3 测试集 上的 二分类 AP 作为评判指标:
NG AP center_weight_sum_1_3.json gauss_mul_1_3.json gauss_sum_1_3.json gauss_weight_sum_1_3.json L1_Gau_L L2_Gau_L L3_Gau_L L4_Gau_L lev_mul_1_3.json lev_sum_1_3.json Mul_CC_L Mul_G_L Mul_N sigma_num_mul.json sigma_num_sum.json Sum_CC_L Sum_G_L Sum_N weight_sum_1_3
MH-BALLDROP 0.851 0.891 0.912 0.919 0.766 0.903 0.731 0.318 0.774 0.824 0.641 0.680 0.360 0.469 0.727 0.545 0.660 0.141 0.827
MH-M1 0.638 0.709 0.747 0.735 0.692 0.730 0.526 0.308 0.597 0.626 0.556 0.546 0.298 0.672 0.722 0.448 0.505 0.207 0.612
MH-UBM 0.872 0.821 0.886 0.859 0.930 0.880 0.732 0.771 0.843 0.878 0.819 0.810 0.751 0.553 0.772 0.790 0.761 0.678 0.872
RF-BALLDROP 0.408 0.420 0.462 0.454 0.215 0.469 0.406 0.080 0.284 0.370 0.304 0.300 0.071 0.442 0.556 0.225 0.318 0.041 0.366
RF-M1 0.825 0.716 0.890 0.904 0.228 0.894 0.746 0.416 0.578 0.773 0.587 0.608 0.268 0.094 0.788 0.596 0.728 0.027 0.765
RF-UBM 0.832 0.895 0.907 0.898 0.815 0.887 0.801 0.266 0.846 0.842 0.774 0.776 0.408 0.648 0.882 0.661 0.727 0.134 0.820
BALLDROP 0.949 0.973 0.964 0.969 0.897 0.963 0.980 0.901 0.918 0.905 0.977 0.960 0.818 0.615 0.755 0.973 0.981 0.553 0.922
M1 0.871 0.961 0.972 0.969 0.908 0.969 0.856 0.408 0.796 0.780 0.825 0.765 0.244 0.605 0.894 0.741 0.829 0.099 0.800
UBM 0.911 0.929 0.915 0.908 0.914 0.889 0.819 0.833 0.808 0.908 0.934 0.894 0.729 0.322 0.502 0.893 0.893 0.578 0.889
  • 采用多种特征组合策略绘制条形图

img

相关结论
  • 经过多种特征组合实验,发现第一层特征辅助,第二层特征为主,结合第三层特征,放弃第四层特征的策略比较有效,无论在 AP 上还是召回率上

Padding 训练

实验目的
  • 探究训练模型时对原始数据添加 Padding 预处理操作对 STPM 性能的影像
实验设置
实验项目 实验设置
数据集 数据3 —— 9套TI底板数据
模型 Wide-Resnet50, Resnet50, Resnet18
Batch Size 6
Epoch 28
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
实验结果
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 作为评判指标:
Wide-Resnet 50
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM Mean
no padding 0.919 0.735 0.859 0.454 0.904 0.898 0.969 0.969 0.908 0.846
ref padding 0.922 0.767 0.875 0.480 0.920 0.919 0.971 0.970 0.928 0.861
const 0 padding 0.920 0.763 0.874 0.455 0.909 0.908 0.970 0.974 0.913 0.854
const 128 padding 0.912 0.726 0.859 0.466 0.900 0.905 0.969 0.971 0.921 0.848
const 255 padding 0.913 0.766 0.870 0.476 0.929 0.909 0.970 0.974 0.916 0.858
Resnet 50
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM Mean
no padding 0.911 0.758 0.907 0.398 0.969 0.937 0.952 0.975 0.950 0.862
ref padding 0.919 0.784 0.918 0.414 0.969 0.941 0.958 0.979 0.956 0.871
const 0 padding 0.914 0.754 0.921 0.387 0.976 0.939 0.957 0.978 0.943 0.863
const 128 padding 0.914 0.768 0.914 0.392 0.979 0.941 0.953 0.975 0.961 0.866
const 255 padding 0.918 0.771 0.920 0.398 0.975 0.942 0.958 0.975 0.960 0.869
Resnet 18
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM Mean
no padding 0.850 0.679 0.899 0.368 0.931 0.898 0.922 0.938 0.910 0.822
ref padding 0.865 0.718 0.911 0.377 0.949 0.905 0.932 0.942 0.921 0.836
const 0 padding 0.864 0.677 0.915 0.366 0.967 0.902 0.926 0.938 0.875 0.826
const 128 padding 0.857 0.690 0.912 0.354 0.952 0.893 0.922 0.939 0.910 0.826
const 255 padding 0.865 0.697 0.915 0.353 0.951 0.896 0.924 0.939 0.916 0.828
结果汇总
  • 将三种网络结构在不同 Padding 策略下的九种数据集 NG AP 的均值绘制成折线图:

img

相关结论
  • 在训练阶段加入 Padding 操作可以提升 STPM 网络性能
  • 反射 Padding 相比于 Constant Padding 提示性能幅度更加明显
  • Constant Padding 中,相比于 0 和 128, 值采用 255 更能提升模型性能
  • 当前一个经验结论是反射 Padding 可以一定程度上抑制 STPM 模型在黑暗区域的异常响应

模型迁移能力 测试一

实验目的
  • 探究 Domain 迁移 对 STPM 模型性能的影响

  • 测试一采用数据一作为实验用数据

    OK_train OK_val OK_test / NG_test
    Part1 2957 422 846 / 6788
    Part2 9285 1326 2654 / 9684
    Part3 12628 1804 3608 / 2219
    Total 24870 3552 7108 / 18681
  • 共四个数据集(TotalPart1-Part3 的并集)

实验设置
实验项目 实验设置
数据集 Total, Part1, Part2, Part3
模型 WideResnet50
尺寸 600×600
Batch Size 6
Epoch 36
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
训练层级 layer4
  • 分别用四种数据集作训练集、测试集训练模型,评估结果
实验结果
  • 采用在不同大类别 测试集 上的 二分类 AP 作为评判指标
NG AP L1_CC_L L1_CC_S L1_Gau_L L1_Gau_S L1_N L2_CC_L L2_CC_S L2_Gau_L L2_Gau_S L2_N L3_CC_L L3_CC_S L3_Gau_L L3_Gau_S L3_N L4_CC_L L4_CC_S L4_Gau_L L4_Gau_S L4_N Mul_CC_L Mul_CC_S Mul_Gau_L Mul_Gau_S Mul_N Sum_CC_L Sum_CC_S Sum_Gau_L Sum_Gau_S Sum_N
Train Part1-Test Total 0.748 0.747 0.751 0.762 0.742 0.811 0.828 0.833 0.844 0.784 0.752 0.759 0.760 0.765 0.739 0.712 0.731 0.731 0.733 0.714 0.750 0.757 0.754 0.759 0.738 0.738 0.753 0.753 0.759 0.719
Train Part2-Test Total 0.780 0.799 0.805 0.821 0.765 0.775 0.803 0.808 0.828 0.754 0.727 0.741 0.743 0.752 0.716 0.679 0.675 0.681 0.682 0.675 0.722 0.734 0.731 0.739 0.709 0.702 0.708 0.713 0.719 0.689
Train Part3-Test Total 0.853 0.866 0.873 0.880 0.826 0.882 0.890 0.892 0.897 0.863 0.864 0.863 0.867 0.869 0.856 0.816 0.817 0.815 0.818 0.814 0.857 0.863 0.863 0.868 0.850 0.836 0.845 0.848 0.855 0.836
Train Total-Test Total 0.870 0.888 0.888 0.902 0.833 0.910 0.926 0.926 0.932 0.862 0.906 0.913 0.908 0.915 0.861 0.896 0.900 0.900 0.903 0.870 0.917 0.927 0.896 0.921 0.868 0.915 0.922 0.917 0.925 0.865
Train Part1-Test Part2 0.805 0.795 0.801 0.813 0.809 0.894 0.909 0.912 0.917 0.882 0.835 0.849 0.844 0.858 0.843 0.797 0.847 0.839 0.862 0.824 0.858 0.876 0.869 0.877 0.863 0.832 0.861 0.854 0.876 0.843
Train Part2-Test Part2 0.864 0.867 0.867 0.886 0.871 0.898 0.924 0.924 0.935 0.890 0.889 0.905 0.901 0.909 0.887 0.900 0.904 0.911 0.908 0.908 0.906 0.920 0.917 0.918 0.905 0.901 0.914 0.913 0.923 0.901
Train Part3-Test Part2 0.822 0.833 0.842 0.850 0.824 0.834 0.851 0.855 0.863 0.823 0.812 0.814 0.817 0.820 0.818 0.779 0.787 0.781 0.783 0.780 0.809 0.822 0.821 0.827 0.814 0.785 0.803 0.803 0.811 0.800
Train Total-Test Part2 0.881 0.879 0.882 0.900 0.887 0.907 0.931 0.931 0.939 0.896 0.891 0.906 0.901 0.909 0.888 0.902 0.904 0.912 0.909 0.900 0.906 0.921 0.917 0.920 0.906 0.901 0.915 0.914 0.923 0.900
Train Part1-Test Part1 0.916 0.937 0.937 0.949 0.902 0.960 0.969 0.969 0.976 0.936 0.959 0.965 0.963 0.967 0.936 0.962 0.965 0.962 0.967 0.946 0.966 0.970 0.952 0.968 0.938 0.965 0.970 0.969 0.973 0.941
Train Part2-Test Part1 0.918 0.939 0.939 0.949 0.890 0.950 0.962 0.961 0.968 0.920 0.948 0.947 0.951 0.948 0.919 0.904 0.909 0.909 0.923 0.905 0.945 0.951 0.943 0.952 0.914 0.932 0.935 0.938 0.945 0.921
Train Part3-Test Part1 0.902 0.917 0.921 0.925 0.897 0.937 0.936 0.939 0.942 0.934 0.932 0.927 0.932 0.933 0.929 0.876 0.876 0.879 0.883 0.880 0.924 0.925 0.928 0.931 0.921 0.911 0.911 0.916 0.921 0.910
Train Total-Test Part1 0.923 0.938 0.937 0.945 0.901 0.959 0.966 0.966 0.971 0.935 0.957 0.960 0.960 0.962 0.934 0.956 0.957 0.957 0.959 0.943 0.961 0.965 0.951 0.963 0.936 0.962 0.965 0.965 0.966 0.940
Train Part1-Test Part3 0.471 0.477 0.484 0.504 0.421 0.646 0.655 0.662 0.675 0.574 0.620 0.626 0.636 0.650 0.546 0.525 0.548 0.553 0.541 0.459 0.633 0.631 0.624 0.639 0.534 0.611 0.614 0.624 0.626 0.506
Train Part2-Test Part3 0.578 0.620 0.634 0.661 0.449 0.672 0.686 0.693 0.686 0.617 0.579 0.597 0.604 0.615 0.532 0.400 0.406 0.415 0.432 0.383 0.605 0.624 0.614 0.635 0.509 0.531 0.547 0.558 0.574 0.453
Train Part3-Test Part3 0.685 0.745 0.743 0.772 0.528 0.695 0.714 0.707 0.719 0.612 0.723 0.737 0.717 0.736 0.606 0.774 0.780 0.759 0.781 0.573 0.762 0.773 0.685 0.749 0.602 0.769 0.769 0.752 0.766 0.593
Train Total-Test Part3 0.681 0.739 0.734 0.763 0.524 0.699 0.719 0.711 0.718 0.614 0.729 0.740 0.722 0.736 0.606 0.772 0.779 0.764 0.779 0.570 0.764 0.775 0.693 0.751 0.606 0.774 0.774 0.757 0.766 0.594
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)绘制表格

    每行为同一组训练数据模型的结果;

    每列为相同数据作为测试集的结果

    标记出了每列(相同测试集)的最高 AP

    • Layer 1 : L1_Gau_L

      Train - NG AP- Test Part1 Part2 Part3 Total
      Part1 0.937 0.801 0.484 0.751
      Part2 0.939 0.867 0.634 0.805
      Part3 0.921 0.842 0.743 0.873
      Total 0.937 0.882 0.734 0.888
    • Layer 2 : L2_Gau_L

      Train - NG AP- Test Part1 Part2 Part3 Total
      Part1 0.969 0.912 0.662 0.833
      Part2 0.961 0.924 0.693 0.808
      Part3 0.939 0.855 0.707 0.892
      Total 0.966 0.931 0.711 0.926
    • Layer 3 : L3_Gau_L

      Train - NG AP- Test Part1 Part2 Part3 Total
      Part1 0.963 0.844 0.636 0.760
      Part2 0.951 0.901 0.604 0.743
      Part3 0.932 0.817 0.717 0.867
      Total 0.960 0.901 0.722 0.908
    • Layer 4 : L4_Gau_L

      Train - NG AP- Test Part1 Part2 Part3 Total
      Part1 0.962 0.839 0.553 0.731
      Part2 0.909 0.911 0.415 0.681
      Part3 0.879 0.781 0.759 0.815
      Total 0.957 0.912 0.764 0.900
相关结论
  • Part1-Part3 相互作为训练、测试集的结果可以看出:
    • 3×3的格子内对角线元素分值最高,表明使用和训练集不同源的数据进行测试确实会降低模型性能
    • 其中 Part1, Part2 的交叉性能偏差不大,Part3 中的数据集 MissMatch 对结果的影响更大一些,而事实上 Part1, Part2 的底板形成模式确实更加接近(1PxM),Part3 为不同的 2PxM,表明跨底板时越是接近的底板越容易迁移
  • 根据 Total 作为训练集时的结果可以看出:
    • 在多组数据中 Total 训练的模型都有着最佳的表现,表明如果有多种底板来源的数据,可以训练大一统模型用于异常检测,而不会带来性能损失,甚至会有些收益
  • 根据四层特征结果表格的结果可以看出:
    • Layer 1Layer 4 的特征受数据 MissMatch 的影响更大
    • Layer 2Layer 3 的特征结果在 MissMatch 数据上的表现较好(尤其是 Layer 2),没有严重的降点
    • 跨底板迁移时应以 Layer 2,3 为主要应用的特征层
    • 四层特征在变化趋势上基本一致

模型迁移能力 测试二

实验目的
  • 数据3上探究 STPM 模型数据迁移能力
  • 分别用每种数据训练,所有(9种)数据测试得到实验结果
实验设置
实验项目 实验设置
数据集 数据3 —— 9套TI底板数据
模型 Wide-Resnet50
Batch Size 6
Epoch 28
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
实验结果
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 作为评判指标:
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BallDrop 0.918 0.485 0.829 0.458 0.765 0.876 0.936 0.824 0.938
MH-M1 0.880 0.656 0.661 0.357 0.889 0.850 0.903 0.717 0.412
MH-UBM 0.630 0.204 0.874 0.123 0.477 0.838 0.746 0.687 0.713
RF-BALLDROP 0.904 0.672 0.845 0.489 0.728 0.884 0.875 0.953 0.956
RF-M1 0.857 0.607 0.773 0.333 0.941 0.902 0.849 0.888 0.779
RF-UBM 0.813 0.515 0.787 0.270 0.848 0.892 0.905 0.896 0.566
BALLDROP 0.865 0.599 0.918 0.361 0.926 0.900 0.969 0.902 0.707
M1 0.853 0.595 0.720 0.338 0.913 0.891 0.817 0.973 0.877
UBM 0.928 0.464 0.901 0.477 0.960 0.934 0.910 0.954 0.972
All-Data 0.919 0.735 0.859 0.454 0.904 0.898 0.969 0.969 0.908
  • 上述结果的归一化(以对角线值为1)表:
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM Mean Value
MH-BallDrop 1.000 0.739 0.949 0.937 0.813 0.982 0.966 0.847 0.965 0.911
MH-M1 0.959 1.000 0.756 0.730 0.945 0.953 0.932 0.737 0.424 0.826
MH-UBM 0.686 0.311 1.000 0.252 0.507 0.939 0.770 0.706 0.734 0.656
RF-BALLDROP 0.985 1.024 0.967 1.000 0.774 0.991 0.903 0.979 0.984 0.956
RF-M1 0.934 0.925 0.884 0.681 1.000 1.011 0.876 0.913 0.801 0.892
RF-UBM 0.886 0.785 0.900 0.552 0.901 1.000 0.934 0.921 0.582 0.829
BALLDROP 0.942 0.913 1.050 0.738 0.984 1.009 1.000 0.927 0.727 0.921
M1 0.929 0.907 0.824 0.691 0.970 0.999 0.843 1.000 0.902 0.896
UBM 1.011 0.707 1.031 0.975 1.020 1.047 0.939 0.980 1.000 0.968
All-Data 1.001 1.120 0.983 0.928 0.961 1.007 1.000 0.996 0.934 0.992
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的AP拐点NG得分作为阈值指标:
→Test ↓ Train MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 2.010614 2.144005 1.810394 1.881123 2.287157 1.99912 1.946828 2.185724 1.673338
MH-M1 2.162106 1.411933 2.029175 2.097367 2.099392 2.046499 1.971851 2.231965 2.051707
MH-UBM 2.370459 2.009487 1.848498 2.45808 2.605074 2.402819 2.497695 2.587343 2.171575
RF-BALLDROP 2.040084 2.002772 1.863159 1.726423 2.231972 1.849009 1.852682 2.098804 1.648024
RF-M1 2.156496 2.002666 2.025805 2.104126 1.974905 2.162568 2.19801 2.198959 1.833202
RF-UBM 2.101938 1.988546 1.768906 2.226227 2.068382 1.750765 1.977585 2.075967 1.974408
BALLDROP 2.192295 2.182644 2.003255 2.271597 2.172575 2.19438 1.775792 2.312731 2.139986
M1 2.101975 2.054031 2.060857 2.124095 2.059971 2.198254 2.293466 1.881917 1.875218
UBM 2.17613 2.395239 1.93896 2.217171 2.373836 2.325385 2.155779 2.258681 1.422584
相关结论
  • 视觉相似的底板事实上是可以迁移测试使用的,但相差较大的底板迁移性能下降较为严重,即 STPM 具有一定的迁移能力,但模型没有完全的迁移测试能力
  • 在不同数据集上训练的模型迁移能力相差较大,但以 UBM / RF-BALLDROP 数据训练的模型迁移能力很强,归一化 AP 均值超过了 0.95
  • 使用所有数据训练的模型为表中 All-Data 行,归一化 AP 均值为 0.992,基本与单数据集训练的模型性能相当,因此使用多种数据混合训练STPM模型可以作为一种贪心策略
  • NG score 在所使用的特征选取策略上表现较为稳定

模型迁移能力 测试三

实验目的
  • 数据3上采用交叉验证的方式探究 STPM 模型数据迁移能力与训练数据量、数据集的关系
实验设置
实验项目 实验设置
数据集 数据3 —— 9套TI底板数据,分为三组
数据分组 A - [RF-Balldrop, RF-M1, Balldrop], B - [UBM, MH-UBM, M1], C - [MH-M1, RF-UBM, MH-Balldrop]
模型 Wide-Resnet50
Batch Size 6
Epoch 28
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
训练数据量 1000, 2000, 4000 (多则裁剪,少则重复)
  • 三组数据分别轮流作为 Train1,Train2,test 数据,共三组实验
实验结果
A,B 训练集,C 测试集
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 作为评判指标:
ng ap A-RF-BALLDROP A-RF-M1 A-BALLDROP A-Mean B-MH-UBM B-M1 B-UBM B-Mean C-MH-BALLDROP C-MH-M1 C-RF-UBM C-Mean
A 1000 B 1000 0.476 0.933 0.980 0.796 0.913 0.978 0.940 0.944 0.910 0.688 0.914 0.837
A 2000 B 2000 0.498 0.909 0.984 0.797 0.915 0.979 0.954 0.949 0.919 0.649 0.910 0.826
A 4000 B 4000 0.500 0.935 0.984 0.806 0.915 0.981 0.964 0.953 0.903 0.595 0.891 0.797
A 1000 B 2000 0.470 0.930 0.980 0.793 0.926 0.980 0.959 0.955 0.911 0.686 0.910 0.836
A 1000 B 4000 0.479 0.912 0.980 0.790 0.920 0.980 0.965 0.955 0.917 0.622 0.917 0.819
A 2000 B 1000 0.497 0.929 0.982 0.803 0.903 0.983 0.944 0.943 0.916 0.663 0.906 0.828
A 4000 B 1000 0.489 0.938 0.981 0.803 0.903 0.984 0.938 0.942 0.914 0.627 0.900 0.814
Mean 0.487 0.927 0.982 0.798 0.914 0.981 0.952 0.949 0.913 0.647 0.907 0.822
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 的拐点作为阈值参考值:
score A-RF-BALLDROP A-RF-M1 A-BALLDROP A-Mean B-MH-UBM B-M1 B-UBM B-Mean C-MH-BALLDROP C-MH-M1 C-RF-UBM C-Mean
A 1000 B 1000 1.885 1.879 1.603 1.789 1.666 1.948 1.498 1.704 1.968 1.860 1.964 1.931
A 2000 B 2000 1.837 1.917 1.605 1.786 1.546 2.024 1.367 1.645 1.960 1.930 1.893 1.928
A 4000 B 4000 1.886 1.805 1.589 1.760 1.232 1.885 1.257 1.458 1.972 1.924 2.040 1.979
A 1000 B 2000 1.727 1.917 1.622 1.756 1.475 1.817 1.379 1.557 1.953 1.861 1.862 1.892
A 1000 B 4000 1.903 1.878 1.656 1.812 1.315 1.945 1.265 1.508 2.024 2.007 1.891 1.974
A 2000 B 1000 1.730 1.897 1.501 1.709 1.583 2.005 1.482 1.690 1.940 1.901 1.857 1.899
A 4000 B 1000 1.871 1.875 1.448 1.731 1.541 1.916 1.486 1.648 1.930 1.925 1.887 1.914
Mean 1.834 1.881 1.575 1.763 1.480 1.934 1.391 1.602 1.964 1.916 1.913 1.931
A,C 训练集,B 测试集
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 作为评判指标:
ng ap A-RF-BALLDROP A-RF-M1 A-BALLDROP A-Mean B-MH-UBM B-M1 B-UBM B-Mean C-MH-BALLDROP C-MH-M1 C-RF-UBM C-Mean
A 1000 C 1000 0.456 0.897 0.965 0.773 0.774 0.931 0.831 0.845 0.917 0.727 0.889 0.845
A 2000 C 2000 0.467 0.893 0.968 0.776 0.747 0.931 0.786 0.821 0.917 0.737 0.879 0.845
A 4000 C 4000 0.499 0.927 0.979 0.802 0.726 0.884 0.712 0.774 0.907 0.606 0.869 0.794
A 1000 C 2000 0.458 0.871 0.965 0.765 0.734 0.904 0.768 0.802 0.917 0.712 0.880 0.836
A 1000 C 4000 0.462 0.840 0.973 0.758 0.678 0.854 0.597 0.710 0.920 0.645 0.858 0.808
A 2000 C 1000 0.460 0.887 0.971 0.773 0.784 0.939 0.799 0.840 0.910 0.727 0.886 0.841
A 4000 C 1000 0.486 0.920 0.976 0.794 0.777 0.933 0.873 0.861 0.907 0.735 0.892 0.845
Mean 0.470 0.891 0.971 0.777 0.746 0.911 0.767 0.808 0.914 0.699 0.879 0.831
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 的拐点作为阈值参考值:
score A-RF-BALLDROP A-RF-M1 A-BALLDROP A-Mean B-MH-UBM B-M1 B-UBM B-Mean C-MH-BALLDROP C-MH-M1 C-RF-UBM C-Mean
A 1000 C 1000 1.730 1.850 1.608 1.729 1.733 1.962 1.662 1.786 1.889 1.518 1.682 1.696
A 2000 C 2000 1.794 1.890 1.540 1.742 1.714 1.886 1.716 1.772 1.878 1.444 1.655 1.659
A 4000 C 4000 1.667 1.850 1.485 1.667 1.723 1.833 1.705 1.753 1.861 1.447 1.590 1.633
A 1000 C 2000 1.837 1.972 1.708 1.839 1.708 1.963 1.719 1.797 1.873 1.438 1.680 1.663
A 1000 C 4000 1.741 1.941 1.667 1.783 1.582 1.877 1.819 1.759 1.870 1.464 1.696 1.677
A 2000 C 1000 1.797 1.906 1.535 1.746 1.662 1.915 1.734 1.770 1.931 1.481 1.707 1.706
A 4000 C 1000 1.663 1.909 1.535 1.702 1.685 1.992 1.635 1.771 1.938 1.470 1.737 1.715
Mean 1.747 1.903 1.583 1.744 1.687 1.918 1.713 1.773 1.891 1.466 1.678 1.678
B,C 训练集,A 测试集
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 作为评判指标:
ng ap A-RF-BALLDROP A-RF-M1 A-BALLDROP A-Mean B-MH-UBM B-M1 B-UBM B-Mean C-MH-BALLDROP C-MH-M1 C-RF-UBM C-Mean
B 1000 C 1000 0.443 0.896 0.946 0.762 0.857 0.983 0.910 0.917 0.923 0.722 0.901 0.849
B 2000 C 2000 0.455 0.885 0.950 0.763 0.854 0.955 0.925 0.911 0.929 0.684 0.887 0.833
B 4000 C 4000 0.459 0.926 0.935 0.773 0.873 0.944 0.942 0.920 0.922 0.626 0.888 0.812
B 1000 C 2000 0.448 0.884 0.944 0.759 0.826 0.959 0.901 0.895 0.920 0.706 0.890 0.839
B 1000 C 4000 0.441 0.875 0.945 0.753 0.832 0.933 0.885 0.883 0.922 0.637 0.870 0.810
B 2000 C 1000 0.439 0.893 0.946 0.759 0.879 0.975 0.928 0.928 0.918 0.733 0.906 0.852
B 4000 C 1000 0.441 0.939 0.942 0.774 0.899 0.985 0.950 0.944 0.925 0.687 0.917 0.843
Mean 0.447 0.900 0.944 0.763 0.860 0.962 0.920 0.914 0.923 0.685 0.894 0.834
  • 采用 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 的拐点作为阈值参考值:
score A-RF-BALLDROP A-RF-M1 A-BALLDROP A-Mean B-MH-UBM B-M1 B-UBM B-Mean C-MH-BALLDROP C-MH-M1 C-RF-UBM C-Mean
B 1000 C 1000 1.690 1.902 1.846 1.813 1.499 1.786 1.480 1.588 1.903 1.533 1.806 1.747
B 2000 C 2000 1.691 1.892 1.750 1.778 1.318 1.716 1.376 1.470 1.865 1.451 1.689 1.668
B 4000 C 4000 1.908 1.988 1.900 1.932 1.150 1.755 1.113 1.340 1.898 1.473 1.714 1.695
B 1000 C 2000 1.860 1.998 1.834 1.898 1.530 1.764 1.454 1.583 1.917 1.500 1.654 1.690
B 1000 C 4000 1.816 1.870 1.803 1.830 1.469 1.767 1.425 1.554 1.852 1.476 1.600 1.642
B 2000 C 1000 1.851 2.050 1.850 1.917 1.347 1.723 1.413 1.494 1.934 1.523 1.731 1.729
B 4000 C 1000 1.821 1.898 2.006 1.908 1.242 1.752 1.223 1.406 1.924 1.513 1.908 1.782
Mean 1.805 1.942 1.856 1.868 1.365 1.752 1.355 1.491 1.899 1.496 1.729 1.708
综合结果
  • 取三组实验结果的NG AP平均值:

    行为 两种训练集训练,列为测试集

NG AP A B C
AB 0.798 0.949 0.822
AC 0.777 0.808 0.831
BC 0.763 0.914 0.834
  • 绘制折线图:

img

相关结论
  • STPM 训练数据量超过 1000 后增加数据量不一定会有性能收益
  • 数据 A,C 迁移测试时表现相对稳定,B 测试迁移能力时 AP 下降较为严重,可能需要设计数据的距离度量来预测数据迁移能力
  • AP 拐点并不稳定,和数据量没有看到明显相关性

模型迁移能力 测试四

实验目的
  • 数据3上探究 STPM 模型数据迁移能力
  • 数据3选择出制程和产品的数据作为测试集(共6种方案),数据3其余数据作为训练集,结合 数据1作为训练集时训练集为 Universe,不结合 数据1 时训练集称为 All,训练出模型在对应测试集测试得到实验结果
实验设置
实验项目 实验设置
数据集 数据1,数据3 —— 9套TI底板数据
模型 Wide-Resnet50
Batch Size 6
Epoch 28
Init Learning Rate 0.01
预训练数据 ImageNet
损失函数 L2 Loss
实验结果
  • 采用挑选 数据3 测试集Gaussian-Weighted-1-3_sum 特征提取策略下的 二分类 AP 作为评判指标:
Universe -
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
BALLDROP(制程) 0.912 0.404 0.939
M1(制程) 0.524 0.932 0.900
UBM(制程) 0.838 0.888 0.880
MH(产品) 0.921 0.490 0.820
RF(产品) 0.468 0.965 0.916
TI(产品) 0.949 0.818 0.826
All -
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
BALLDROP(制程) 0.900 0.419 0.925
M1(制程) 0.607 0.914 0.939
UBM(制程) 0.769 0.864 0.547
MH(产品) 0.926 0.565 0.844
RF(产品) 0.487 0.936 0.910
TI(产品) 0.934 0.742 0.290
All
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
All 0.919 0.735 0.859 0.454 0.904 0.898 0.969 0.969 0.908
Single
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BallDrop 0.918 0.485 0.829 0.458 0.765 0.876 0.936 0.824 0.938
MH-M1 0.880 0.656 0.661 0.357 0.889 0.850 0.903 0.717 0.412
MH-UBM 0.630 0.204 0.874 0.123 0.477 0.838 0.746 0.687 0.713
RF-BALLDROP 0.904 0.672 0.845 0.489 0.728 0.884 0.875 0.953 0.956
RF-M1 0.857 0.607 0.773 0.333 0.941 0.902 0.849 0.888 0.779
RF-UBM 0.813 0.515 0.787 0.270 0.848 0.892 0.905 0.896 0.566
BALLDROP 0.865 0.599 0.918 0.361 0.926 0.900 0.969 0.902 0.707
M1 0.853 0.595 0.720 0.338 0.913 0.891 0.817 0.973 0.877
UBM 0.928 0.464 0.901 0.477 0.960 0.934 0.910 0.954 0.972
汇总结果
  • 将各组模型在九种产品上的测试集表现汇总:
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
All 0.919 0.735 0.859 0.454 0.904 0.898 0.969 0.969 0.908
MH-BallDrop 0.918 0.485 0.829 0.458 0.765 0.876 0.936 0.824 0.938
MH-M1 0.880 0.656 0.661 0.357 0.889 0.850 0.903 0.717 0.412
MH-UBM 0.630 0.204 0.874 0.123 0.477 0.838 0.746 0.687 0.713
RF-BALLDROP 0.904 0.672 0.845 0.489 0.728 0.884 0.875 0.953 0.956
RF-M1 0.857 0.607 0.773 0.333 0.941 0.902 0.849 0.888 0.779
RF-UBM 0.813 0.515 0.787 0.270 0.848 0.892 0.905 0.896 0.566
BALLDROP 0.865 0.599 0.918 0.361 0.926 0.900 0.969 0.902 0.707
M1 0.853 0.595 0.720 0.338 0.913 0.891 0.817 0.973 0.877
UBM 0.928 0.464 0.901 0.477 0.960 0.934 0.910 0.954 0.972
All-Product 0.926 0.565 0.844 0.487 0.936 0.910 0.934 0.742 0.290
All-Process 0.900 0.607 0.769 0.419 0.914 0.864 0.925 0.939 0.547
Uni-Product 0.921 0.490 0.820 0.468 0.965 0.916 0.949 0.818 0.826
Uni-Process 0.912 0.524 0.838 0.404 0.932 0.888 0.939 0.900 0.880
  • 将各组模型在九种产品上的测试集表现进行归一化(与测试集相同源训练集模型的表现为1)结果:
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM Mean
MH-BallDrop 1.000 0.739 0.949 0.937 0.813 0.982 0.966 0.847 0.965 0.911
MH-M1 0.959 1.000 0.756 0.730 0.945 0.953 0.932 0.737 0.424 0.826
MH-UBM 0.686 0.311 1.000 0.252 0.507 0.939 0.770 0.706 0.734 0.656
RF-BALLDROP 0.985 1.024 0.967 1.000 0.774 0.991 0.903 0.979 0.984 0.956
RF-M1 0.934 0.925 0.884 0.681 1.000 1.011 0.876 0.913 0.801 0.892
RF-UBM 0.886 0.785 0.900 0.552 0.901 1.000 0.934 0.921 0.582 0.829
BALLDROP 0.942 0.913 1.050 0.738 0.984 1.009 1.000 0.927 0.727 0.921
M1 0.929 0.907 0.824 0.691 0.970 0.999 0.843 1.000 0.902 0.896
UBM 1.011 0.707 1.031 0.975 1.020 1.047 0.939 0.980 1.000 0.968
All 1.001 1.120 0.982 0.929 0.960 1.007 1.000 0.996 0.934 0.992
All-Product 1.008 0.861 0.966 0.996 0.995 1.021 0.964 0.763 0.298 0.875
All-Process 0.981 0.925 0.880 0.857 0.971 0.968 0.955 0.965 0.562 0.896
Uni-Product 1.003 0.746 0.938 0.957 1.025 1.027 0.979 0.840 0.849 0.929
Uni-Process 0.993 0.799 0.958 0.825 0.991 0.995 0.969 0.925 0.906 0.929
  • 将各组组合模型在九种产品上的测试集表现汇总成性能折线图:

img

相关结论
  • 联合训练集有能力在测试集上展现出不差的表现,相较于使用与测试集匹配的训练集训练出的模型有比较稳定的差距;
  • 多使用不同的数据训练 STPM 模型,确实可以一定程度上解决跨底板迁移困难的问题;

Hcsc 预训练网络 测试一

实验目的
  • 测试 Hcsc 模型使用所有数据预训练得到的模型在 STPM 上的性能
实验设置
  • Hcsc 网络预训练了 19 轮,没有达到论文相关要求,此处作为初步尝试的模型进行测试
  • Hcsc 模型分为两种,由随机权重初始化的 hcsc_rand 和加载 ImageNet 预训练网络权重的 hcsc_pretrained
实验项目 实验设置
数据集 数据1 Total
模型 Wide-Resnet50
Batch Size 6
Epoch 28
Init Learning Rate 0.01
Hcsc预训练数据 ImageNet,ADC dataset
损失函数 L2 Loss
网络预训练加载方式 教师加载 Base / Hcsc 学生加载 Base / Hcsc
实验结果
  • 采用在测试集上的二分类 AP 作为评判指标:
  • T 表示教师网络类型,S 表示学生网络类型
NG AP weight_sum_1_3 G_mul_1_3 G_sum_1_3 G_weight_sum_1_3 L1_CC_L L1_CC_S L1_G_L L1_G_S L1_N L2_CC_L L2_CC_S L2_G_L L2_G_S L2_N L3_CC_L L3_CC_S L3_G_L L3_G_S L3_N L4_CC_L L4_CC_S L4_G_L L4_G_S L4_N lev_mul_1_3 lev_sum_1_3 Mul_CC_L Mul_CC_S Mul_G_L Mul_G_S Mul_N sigma_num_mul sigma_num_sum Sum_CC_L Sum_CC_S Sum_G_L Sum_G_S Sum_N weight_sum_1_3
T: hcsc_rand_19 S:imagenet 0.897 0.893 0.915 0.916 0.873 0.895 0.889 0.902 0.847 0.904 0.916 0.913 0.916 0.873 0.868 0.872 0.870 0.873 0.857 0.887 0.883 0.873 0.885 0.853 0.866 0.871 0.909 0.915 0.901 0.913 0.882 0.782 0.772 0.899 0.899 0.901 0.902 0.875 0.872
T: imagenet S: hcsc_rand_19 0.860 0.856 0.867 0.868 0.829 0.839 0.843 0.849 0.795 0.860 0.868 0.866 0.867 0.834 0.859 0.855 0.857 0.853 0.840 0.857 0.854 0.849 0.854 0.840 0.832 0.832 0.868 0.869 0.861 0.868 0.843 0.701 0.744 0.867 0.862 0.863 0.863 0.849 0.835
T: hcsc_rand_19 S: hcsc_rand_19 0.895 0.891 0.914 0.914 0.868 0.893 0.886 0.900 0.840 0.903 0.916 0.913 0.919 0.870 0.899 0.907 0.899 0.910 0.861 0.888 0.890 0.820 0.893 0.738 0.865 0.867 0.915 0.923 0.887 0.914 0.864 0.782 0.771 0.911 0.919 0.890 0.923 0.780 0.868
T: imagenet S: hcsc_pretrained_19 0.887 0.890 0.912 0.913 0.869 0.879 0.881 0.890 0.824 0.897 0.913 0.910 0.917 0.857 0.894 0.901 0.895 0.903 0.854 0.859 0.871 0.842 0.869 0.782 0.854 0.857 0.906 0.913 0.890 0.907 0.866 0.808 0.799 0.902 0.906 0.901 0.907 0.864 0.859
T: hcsc_pretrained_19 S: hcsc_pretrained_19 0.877 0.883 0.906 0.906 0.876 0.898 0.896 0.904 0.838 0.887 0.907 0.906 0.911 0.853 0.891 0.904 0.893 0.906 0.849 0.884 0.881 0.889 0.886 0.740 0.856 0.853 0.906 0.918 0.888 0.909 0.868 0.784 0.770 0.903 0.915 0.906 0.918 0.801 0.854
T: hcsc_pretrained_19 S: imagenet 0.878 0.885 0.907 0.908 0.876 0.898 0.897 0.904 0.837 0.889 0.908 0.907 0.911 0.853 0.887 0.893 0.888 0.896 0.830 0.848 0.861 0.846 0.864 0.813 0.855 0.854 0.903 0.911 0.884 0.907 0.858 0.796 0.775 0.878 0.895 0.878 0.900 0.824 0.856
T: imagenet S:imagenet 0.885 0.889 0.914 0.916 0.866 0.879 0.880 0.893 0.825 0.897 0.916 0.912 0.922 0.855 0.899 0.909 0.899 0.911 0.844 0.890 0.899 0.867 0.902 0.790 0.851 0.855 0.906 0.920 0.885 0.909 0.859 0.808 0.809 0.902 0.915 0.903 0.917 0.837 0.857
T: hcsc_rand_200 S: hcsc_rand_200 0.900 0.905 0.922 0.923 0.876 0.904 0.901 0.911 0.840 0.912 0.920 0.922 0.926 0.874 0.906 0.913 0.907 0.917 0.877 0.835 0.836 0.770 0.845 0.723 0.875 0.872 0.906 0.915 0.890 0.910 0.868 0.811 0.795 0.897 0.908 0.893 0.914 0.828 0.874
  • 采用高斯mask的第一~第四层特征作为获取结果的 map (L*_Gau_L)和 G_weight_sum_1_3 特征绘制折线图

img

H:Hcsc,R:rand,Pre:pretrained,Imgnet:Imagenet

相关结论
  • 随机训练的 hcsc 作为教师时可以媲美 ImageNet 预训练模型的性能
  • hcsc 以 ImageNet 权重为起点训练没有收益,甚至有性能下降
  • 完全随机的模型训练后最深层特征性能较低
  • 教师、学生网络预训练模型相同时整体性能较为稳定

当前结论以初步训练的 Hcsc 模型为基础,有可能完备训练的 Hcsc 模型性能更佳

Hcsc 预训练网络 测试二

实验目的
  • 测试 Hcsc 模型使用数据3预训练得到的模型在 STPM 上的性能
实验设置
  • Hcsc 网络预训练了 19 轮,没有达到论文相关要求,此处作为初步尝试的模型进行测试
  • Hcsc 模型分为两种,由随机权重初始化的 hcsc_rand 和加载 ImageNet 预训练网络权重的 hcsc_pretrained
实验项目 实验设置
数据集 数据3
模型 Wide-Resnet50
Batch Size 6
Epoch 28
Init Learning Rate 0.01
Hcsc预训练数据 ImageNet,ADC dataset
损失函数 L2 Loss
网络预训练加载方式 教师、学生加载相同的网络权重
实验结果
hcsc 加载 ImageNet 网络
  • 采用在数据3 9组测试集上的二分类 AP 作为评判指标:

    行为训练集,列为测试集

NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM Mean
MH-BallDrop 0.885 0.324 0.901 0.359 0.515 0.855 0.732 0.822 0.925 0.702
MH-M1 0.807 0.657 0.718 0.223 0.309 0.855 0.834 0.667 0.792 0.651
MH-UBM 0.676 0.416 0.871 0.192 0.549 0.868 0.860 0.853 0.692 0.664
RF-BALLDROP 0.889 0.363 0.914 0.424 0.469 0.826 0.716 0.798 0.934 0.704
RF-M1 0.773 0.466 0.921 0.209 0.842 0.861 0.776 0.964 0.885 0.744
RF-UBM 0.594 0.482 0.761 0.151 0.510 0.897 0.863 0.796 0.542 0.622
BALLDROP 0.794 0.594 0.961 0.272 0.475 0.844 0.953 0.927 0.962 0.754
M1 0.867 0.507 0.913 0.281 0.773 0.893 0.849 0.987 0.919 0.777
UBM 0.890 0.461 0.927 0.395 0.771 0.898 0.883 0.915 0.976 0.791
All-Data 0.900 0.687 0.941 0.357 0.855 0.867 0.880 0.982 0.956 0.825
  • 采用在数据3 9组测试集上的二分类 AP 的拐点分值作为阈值:
score MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 2.406 1.647 2.301 2.437 3.031 2.779 2.438 2.855 2.266
MH-M1 2.599 2.079 2.362 2.669 3.226 2.820 2.713 3.072 2.550
MH-UBM 2.870 2.750 2.393 2.952 2.972 2.981 2.896 3.073 2.842
RF-BALLDROP 2.289 1.778 2.206 2.203 2.957 2.807 2.450 2.860 2.322
RF-M1 2.577 2.711 2.305 2.814 2.529 2.892 2.618 2.608 2.529
RF-UBM 2.854 2.586 2.118 2.911 2.962 2.466 2.663 2.742 2.754
BALLDROP 2.707 2.687 2.164 2.773 3.078 2.968 2.635 2.879 2.326
M1 2.581 2.838 2.245 2.715 2.925 3.027 2.638 2.627 2.404
UBM 2.682 2.995 2.039 2.770 2.940 2.987 3.008 2.930 1.821
All-Data 2.261 2.032 1.882 2.309 2.338 2.516 2.294 2.272 1.969
hcsc 随机初始化网络 19 轮
  • 采用在数据3 9组测试集上的二分类 AP 作为评判指标:

    行为训练集,列为测试集

NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM Mean
MH-BallDrop 0.905 0.258 0.911 0.348 0.739 0.870 0.888 0.715 0.904 0.727
MH-M1 0.812 0.704 0.706 0.352 0.630 0.859 0.919 0.729 0.708 0.713
MH-UBM 0.641 0.350 0.612 0.191 0.726 0.779 0.860 0.716 0.370 0.583
RF-BALLDROP 0.915 0.306 0.913 0.404 0.667 0.839 0.873 0.719 0.865 0.722
RF-M1 0.642 0.264 0.693 0.176 0.906 0.859 0.855 0.769 0.374 0.615
RF-UBM 0.670 0.497 0.665 0.226 0.617 0.879 0.861 0.700 0.446 0.618
BALLDROP 0.663 0.546 0.862 0.259 0.700 0.717 0.968 0.715 0.813 0.694
M1 0.785 0.413 0.795 0.282 0.902 0.883 0.882 0.851 0.537 0.703
UBM 0.808 0.291 0.892 0.312 0.785 0.829 0.873 0.787 0.919 0.722
All-Data 0.865 0.654 0.921 0.359 0.902 0.900 0.938 0.908 0.940 0.821
  • 采用在数据3 9组测试集上的二分类 AP 的拐点分值作为阈值:
score MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 2.320 2.004 1.801 2.613 2.911 2.696 2.814 2.968 2.060
MH-M1 2.438 2.037 1.825 2.565 2.935 2.507 2.576 2.836 2.125
MH-UBM 2.761 2.340 1.527 2.698 2.891 2.742 2.734 2.947 1.837
RF-BALLDROP 2.073 1.955 1.800 2.197 2.795 2.650 2.741 2.807 1.940
RF-M1 2.803 1.454 1.725 2.767 2.658 2.603 2.795 2.745 1.709
RF-UBM 2.709 2.586 1.575 2.714 2.976 2.330 2.705 2.802 1.567
BALLDROP 2.882 2.704 2.087 2.727 2.991 2.963 2.481 3.050 2.344
M1 2.697 2.987 2.067 2.734 2.859 2.611 2.932 2.785 2.695
UBM 2.486 1.985 1.590 2.608 2.785 2.536 2.790 2.731 1.895
All-Data 2.293 2.250 1.385 2.295 2.199 2.224 2.472 2.025 1.474
hcsc 随机初始化网络 200 轮
  • 采用在数据3 9组测试集上的二分类 AP 作为评判指标:

行为训练集,列为测试集

NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM Mean
MH-BallDrop 0.897 0.383 0.852 0.391 0.710 0.895 0.852 0.906 0.825 0.746
MH-M1 0.682 0.667 0.483 0.129 0.439 0.778 0.835 0.672 0.666 0.595
MH-UBM 0.765 0.493 0.950 0.214 0.841 0.898 0.864 0.902 0.700 0.736
RF-BALLDROP 0.876 0.323 0.831 0.454 0.606 0.857 0.783 0.737 0.856 0.702
RF-M1 0.726 0.467 0.869 0.149 0.980 0.850 0.761 0.967 0.632 0.711
RF-UBM 0.655 0.474 0.787 0.137 0.635 0.922 0.786 0.857 0.310 0.618
BALLDROP 0.801 0.407 0.933 0.315 0.686 0.861 0.957 0.931 0.923 0.757
M1 0.685 0.517 0.804 0.138 0.862 0.836 0.693 0.987 0.657 0.686
UBM 0.859 0.135 0.741 0.358 0.765 0.887 0.869 0.778 0.976 0.708
All-Data 0.884 0.662 0.931 0.412 0.936 0.898 0.943 0.969 0.942 0.842
ImageNet 预训练网络
  • 采用在数据3 9组测试集上的二分类 AP 作为评判指标:

行为训练集,列为测试集

NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM Mean
MH-BallDrop 0.917 0.436 0.927 0.417 0.712 0.927 0.923 0.873 0.958 0.788
MH-M1 0.883 0.827 0.625 0.367 0.858 0.906 0.924 0.871 0.593 0.762
MH-UBM 0.457 0.204 0.849 0.108 0.500 0.902 0.709 0.666 0.656 0.561
RF-BALLDROP 0.902 0.453 0.868 0.430 0.774 0.916 0.879 0.943 0.963 0.792
RF-M1 0.659 0.591 0.885 0.222 0.979 0.916 0.874 0.883 0.796 0.756
RF-UBM 0.710 0.445 0.810 0.193 0.686 0.932 0.905 0.853 0.608 0.683
BALLDROP 0.864 0.647 0.950 0.345 0.887 0.943 0.966 0.956 0.847 0.823
M1 0.852 0.580 0.887 0.271 0.914 0.929 0.857 0.977 0.912 0.798
UBM 0.916 0.441 0.919 0.429 0.924 0.946 0.935 0.961 0.971 0.827
All-Data 0.911 0.758 0.907 0.398 0.969 0.937 0.952 0.975 0.950 0.862
  • 采用在数据3 9组测试集上的二分类 AP 的拐点分值作为阈值:
score MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 2.095 2.384 2.018 2.079 2.507 2.197 2.273 2.377 1.848
MH-M1 2.265 1.511 2.175 2.369 2.339 2.187 2.159 2.239 2.282
MH-UBM 2.720 2.060 2.024 2.818 2.814 2.626 2.649 2.781 2.428
RF-BALLDROP 1.948 2.306 1.969 1.652 2.307 2.067 2.192 2.221 1.836
RF-M1 2.365 2.209 2.046 2.292 1.960 2.243 2.334 2.308 2.193
RF-UBM 2.370 2.211 1.884 2.370 2.284 1.979 2.089 2.221 2.240
BALLDROP 2.423 2.301 2.164 2.324 2.384 2.297 1.977 2.446 2.149
M1 2.288 2.285 2.089 2.367 2.114 2.281 2.431 2.031 1.989
UBM 2.416 2.607 1.982 2.381 2.510 2.646 2.433 2.454 1.600
All-Data 1.972 1.646 1.742 1.874 1.874 1.864 2.011 2.056 1.548
汇总结果
  • 使用不同预训练模型,在各个训练集训练出STPM 模型,将STPM模型在所有测试集上AP的均值绘制成表格

img

相关结论
  • Hcsc 初步训练的模型用在 STPM 上,如果是随机初始化的模型开始训练,性能会比 ImageNet 预训练模型性能低百分之十以上
  • 随机初始化训练 200 轮的 Hcsc 模型相比训练19轮的性能有了较大提升,和imagenet 预训练模型比低3-5个百分点,可以作为一种预训练模型的手段
  • Hcsc 在 ImageNet 预训练权重基础上训练,总体来看可以提升模型性能
  • 从阈值拐点结果中没有发现明显的具有结论性的规律

统计样本分值分布

实验目的
  • 统计 STPM 模型在 数据3 上的二分类分值分布
  • 寻找一种合适的阈值选取策略
实验设置
实验项目 实验设置
数据集 数据3
模型 Resnet50
Batch Size 6
Epoch 28
Init Learning Rate 0.01
损失函数 L2 Loss
实验结果

使用 9 组数据分别训练模型和综合所有训练数据训练模型,在 9 组测试集上统计分值分布情况

UBM
img
M1
img
BallDrop
img
RF_UBM
img
RF_M1
img
RF_BallDrop
img
MH_UBM
img
MH_M1
img
MH_BallDrop
img
Total
img
相关结论
  • 针对某一测试集性能较差的模型在 OK、NG 上的分值分布难以区分
  • 选择阈值时可以统计所有测试数据,设置绝大部分OK 数据没有过杀的情况下的分值为阈值
  • “大一统” 模型的阈值较为稳定 (实际项目中用的 1.7)

特征聚类分布

实验目的
  • 探究特征维度上当前 BackBone 是否可以区分不同产品
  • 跨底板迁移难度是否和特征分布相关
实验设置
实验项目 实验设置
数据集 数据3
模型 Resnet50
预训练模型 ImageNet
特征层级 Layer1-4
  • 考虑数据集 ,数据量分别为 ,定义 到 的距离 的方法:

    其中 为 到 中所有数据的欧氏距离。

实验结果

以 Resnet50 在 ImageNet 上的预训练模型为例。

Layer1
  • 在 9类数据上的聚类: img
  • 在 9 类测试数据上的 NG AP 表现:
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 0.673 0.302 0.860 0.173 0.222 0.782 0.747 0.793 0.838
MH-M1 0.702 0.851 0.484 0.150 0.138 0.831 0.573 0.729 0.764
MH-UBM 0.220 0.114 0.784 0.029 0.111 0.579 0.332 0.643 0.728
RF-BALLDROP 0.678 0.127 0.843 0.250 0.157 0.792 0.723 0.769 0.843
RF-M1 0.314 0.220 0.864 0.067 0.203 0.490 0.445 0.735 0.777
RF-UBM 0.525 0.352 0.860 0.147 0.212 0.823 0.637 0.841 0.838
BALLDROP 0.568 0.407 0.872 0.183 0.153 0.757 0.679 0.790 0.799
M1 0.506 0.290 0.874 0.116 0.220 0.645 0.491 0.818 0.811
UBM 0.725 0.251 0.909 0.190 0.264 0.818 0.745 0.873 0.980
trace 0.673 0.851 0.784 0.250 0.203 0.823 0.679 0.818 0.980
  • 归一化(测试集、训练集匹配为1)后的 NG AP:
Norm_NG_AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 1.000 0.355 1.098 0.691 1.091 0.950 1.099 0.969 0.855
MH-M1 1.043 1.000 0.617 0.600 0.678 1.011 0.844 0.890 0.780
MH-UBM 0.327 0.134 1.000 0.117 0.545 0.704 0.489 0.786 0.743
RF-BALLDROP 1.007 0.149 1.075 1.000 0.773 0.962 1.064 0.940 0.860
RF-M1 0.466 0.258 1.102 0.268 1.000 0.596 0.655 0.898 0.793
RF-UBM 0.780 0.413 1.097 0.588 1.044 1.000 0.937 1.028 0.856
BALLDROP 0.844 0.478 1.113 0.732 0.752 0.920 1.000 0.966 0.816
M1 0.752 0.341 1.115 0.464 1.080 0.784 0.723 1.000 0.828
UBM 1.078 0.295 1.159 0.762 1.297 0.994 1.096 1.067 1.000
  • 数据集类别之间的距离
distance MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 0.0 64.2 68.0 11.0 20.4 25.5 18.0 39.3 41.5
MH-M1 27.8 0.0 22.2 36.8 38.3 60.6 21.5 42.2 37.9
MH-UBM 78.9 85.3 0.0 103.8 141.9 162.1 116.4 152.6 92.2
RF-BALLDROP 12.8 57.5 77.3 0.0 19.7 26.8 14.3 38.5 43.3
RF-M1 45.3 82.9 125.7 30.8 0.0 18.3 25.7 18.9 55.9
RF-UBM 43.4 92.7 125.8 27.5 10.8 0.0 31.5 20.0 57.7
BALLDROP 52.8 42.5 107.5 23.7 24.8 38.4 0.0 37.1 64.0
M1 54.1 78.8 134.1 35.7 8.6 27.2 26.3 0.0 62.6
UBM 27.3 44.1 22.0 36.7 26.5 29.7 26.3 19.2 0.0
  • 各组训练集到每组训练集的距离与 1- Norm_NG_AP 之间的相关系数:
distance MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
corr 0.79 0.77 -0.41 0.86 0.67 0.30 0.70 0.81 0.84
  • 各组训练集到每组训练集的距离与 1- Norm_NG_AP 条形图:
img img
MH-BALLDROP MH-M1
img img
MH-UBM RF-BALLDROP
img img
RF-M1 RF-UBM
img img
BALLDROP M1
img
UBM
Layer2

img

  • 在 9 类测试数据上的 NG AP 表现:
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 0.912 0.419 0.935 0.387 0.701 0.927 0.926 0.858 0.952
MH-M1 0.840 0.823 0.551 0.326 0.823 0.907 0.910 0.879 0.559
MH-UBM 0.406 0.240 0.859 0.093 0.489 0.898 0.707 0.608 0.620
RF-BALLDROP 0.898 0.425 0.878 0.397 0.768 0.923 0.911 0.929 0.956
RF-M1 0.623 0.592 0.899 0.211 0.966 0.913 0.869 0.882 0.772
RF-UBM 0.670 0.425 0.833 0.175 0.604 0.934 0.903 0.852 0.559
BALLDROP 0.833 0.648 0.943 0.294 0.826 0.941 0.957 0.934 0.833
M1 0.811 0.584 0.901 0.236 0.914 0.925 0.841 0.969 0.891
UBM 0.899 0.426 0.926 0.414 0.877 0.947 0.929 0.944 0.970
  • 归一化(测试集、训练集匹配为1)后的 NG AP:
Norm NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 1.000 0.510 1.089 0.975 0.726 0.992 0.967 0.885 0.981
MH-M1 0.921 1.000 0.641 0.820 0.852 0.971 0.951 0.907 0.576
MH-UBM 0.445 0.292 1.000 0.233 0.506 0.962 0.738 0.628 0.639
RF-BALLDROP 0.985 0.516 1.022 1.000 0.795 0.988 0.951 0.959 0.985
RF-M1 0.682 0.719 1.046 0.531 1.000 0.978 0.908 0.910 0.795
RF-UBM 0.735 0.516 0.970 0.442 0.625 1.000 0.943 0.879 0.577
BALLDROP 0.913 0.787 1.098 0.739 0.855 1.007 1.000 0.964 0.859
M1 0.889 0.709 1.049 0.595 0.946 0.991 0.878 1.000 0.918
UBM 0.986 0.518 1.078 1.041 0.908 1.014 0.970 0.974 1.000
  • 数据集类别之间的距离
distance MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 0.0 49.5 115.2 6.8 21.2 20.7 19.9 27.3 75.0
MH-M1 28.9 0.0 27.1 28.7 52.2 59.8 18.1 42.6 20.9
MH-UBM 95.6 64.6 0.0 101.5 145.7 140.9 77.6 134.7 63.5
RF-BALLDROP 4.6 43.2 102.9 0.0 17.1 18.1 16.7 22.0 63.9
RF-M1 52.2 80.6 137.3 43.0 0.0 16.0 85.4 46.6 92.0
RF-UBM 30.3 72.7 135.2 24.3 8.9 0.0 60.7 27.6 90.6
BALLDROP 27.9 53.3 118.8 29.0 23.5 37.8 0.0 43.4 74.1
M1 36.8 74.7 145.4 37.2 12.4 25.6 41.4 0.0 95.4
UBM 71.2 39.9 21.1 63.4 42.9 60.6 63.0 85.5 0.0
  • 各组训练集到每组训练集的距离与 1- Norm_NG_AP 之间的相关系数:
distance MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
corr 0.70 0.46 -0.41 0.58 0.64 0.50 0.60 0.76 0.06
Layer3

img

  • 在 9 类测试数据上的 NG AP 表现:
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 0.804 0.347 0.764 0.334 0.706 0.823 0.813 0.561 0.792
MH-M1 0.655 0.540 0.721 0.281 0.730 0.692 0.842 0.442 0.472
MH-UBM 0.576 0.158 0.690 0.164 0.578 0.761 0.773 0.406 0.354
RF-BALLDROP 0.611 0.377 0.735 0.429 0.787 0.817 0.696 0.726 0.677
RF-M1 0.611 0.411 0.751 0.204 0.878 0.835 0.715 0.627 0.643
RF-UBM 0.605 0.393 0.601 0.150 0.681 0.789 0.755 0.542 0.281
BALLDROP 0.682 0.442 0.805 0.360 0.779 0.841 0.954 0.771 0.644
M1 0.620 0.408 0.691 0.269 0.800 0.861 0.763 0.873 0.655
UBM 0.766 0.343 0.720 0.362 0.780 0.858 0.864 0.709 0.926
  • 归一化(测试集、训练集匹配为1)后的 NG AP:
Norm NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 1.000 0.643 1.106 0.779 0.804 1.042 0.852 0.643 0.856
MH-M1 0.815 1.000 1.045 0.656 0.831 0.876 0.882 0.506 0.509
MH-UBM 0.717 0.293 1.000 0.382 0.658 0.963 0.810 0.466 0.382
RF-BALLDROP 0.760 0.699 1.065 1.000 0.896 1.034 0.729 0.831 0.730
RF-M1 0.760 0.762 1.089 0.477 1.000 1.057 0.749 0.718 0.694
RF-UBM 0.753 0.729 0.871 0.349 0.776 1.000 0.791 0.620 0.303
BALLDROP 0.848 0.820 1.166 0.839 0.888 1.066 1.000 0.883 0.695
M1 0.772 0.757 1.001 0.629 0.911 1.091 0.799 1.000 0.707
UBM 0.953 0.635 1.043 0.845 0.888 1.087 0.906 0.812 1.000
  • 数据集类别之间的距离
distance MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 0.0 43.7 60.0 4.6 10.7 17.9 29.9 24.4 53.0
MH-M1 23.1 0.0 26.3 21.1 23.5 22.9 19.4 20.5 18.1
MH-UBM 99.1 105.2 0.0 101.3 57.2 61.1 40.4 33.8 93.3
RF-BALLDROP 2.1 39.0 59.3 0.0 10.0 18.0 25.1 23.3 48.4
RF-M1 27.5 49.7 51.2 29.0 0.0 6.7 24.8 19.9 53.2
RF-UBM 25.5 45.9 51.3 27.2 3.7 0.0 23.7 19.1 46.7
BALLDROP 66.6 73.4 35.2 66.1 31.3 44.7 0.0 12.5 76.7
M1 53.3 62.0 25.5 54.1 13.3 26.8 10.6 0.0 61.7
UBM 50.4 31.2 28.7 45.0 37.4 30.0 16.2 30.9 0.0
  • 各组训练集到每组训练集的距离与 1- Norm_NG_AP 之间的相关系数:
distance MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
corr 0.31 0.74 -0.15 0.41 0.58 0.08 0.60 0.66 0.42
Layer4

img

  • 在 9 类测试数据上的 NG AP 表现:
NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 0.646 0.245 0.796 0.054 0.101 0.325 0.440 0.128 0.280
MH-M1 0.144 0.302 0.658 0.064 0.272 0.140 0.488 0.214 0.301
MH-UBM 0.107 0.134 0.281 0.030 0.077 0.176 0.287 0.060 0.190
RF-BALLDROP 0.118 0.222 0.738 0.147 0.236 0.434 0.522 0.370 0.136
RF-M1 0.105 0.269 0.700 0.057 0.645 0.278 0.568 0.256 0.619
RF-UBM 0.251 0.252 0.367 0.060 0.102 0.367 0.647 0.125 0.078
BALLDROP 0.116 0.330 0.746 0.085 0.222 0.269 0.849 0.190 0.321
M1 0.099 0.207 0.590 0.053 0.440 0.190 0.447 0.563 0.148
UBM 0.148 0.176 0.620 0.070 0.130 0.226 0.533 0.136 0.127
  • 归一化(测试集、训练集匹配为1)后的 NG AP:
Norm NG AP MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 1.000 0.812 2.832 0.369 0.156 0.887 0.518 0.227 2.199
MH-M1 0.223 1.000 2.341 0.438 0.422 0.381 0.574 0.381 2.365
MH-UBM 0.166 0.443 1.000 0.201 0.120 0.481 0.338 0.106 1.496
RF-BALLDROP 0.182 0.736 2.625 1.000 0.366 1.183 0.615 0.657 1.068
RF-M1 0.163 0.892 2.489 0.391 1.000 0.759 0.669 0.455 4.861
RF-UBM 0.388 0.833 1.305 0.411 0.158 1.000 0.762 0.223 0.612
BALLDROP 0.180 1.094 2.654 0.582 0.345 0.734 1.000 0.337 2.519
M1 0.154 0.686 2.101 0.359 0.682 0.517 0.526 1.000 1.166
UBM 0.229 0.584 2.205 0.478 0.201 0.616 0.627 0.241 1.000
  • 数据集类别之间的距离
distance MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
MH-BALLDROP 0.0 63.6 20.2 4.6 38.3 48.1 14.6 25.7 45.3
MH-M1 34.4 0.0 15.0 32.6 13.7 21.9 24.6 26.6 16.2
MH-UBM 44.9 64.5 0.0 49.1 15.3 31.8 47.6 31.6 56.4
RF-BALLDROP 2.4 56.2 12.8 0.0 27.8 39.2 14.5 23.5 41.2
RF-M1 40.5 40.2 10.8 44.7 0.0 15.6 41.9 20.7 38.9
RF-UBM 38.0 50.1 10.7 42.5 9.3 0.0 42.0 20.6 34.7
BALLDROP 40.3 93.5 42.6 41.5 52.6 45.9 0.0 14.6 83.5
M1 38.2 58.4 11.3 42.4 20.9 24.9 17.3 0.0 46.9
UBM 35.2 36.1 31.2 40.1 39.7 28.1 70.4 56.6 0.0
  • 各组训练集到每组训练集的距离与 1- Norm_NG_AP 之间的相关系数:
distance MH-BALLDROP MH-M1 MH-UBM RF-BALLDROP RF-M1 RF-UBM BALLDROP M1 UBM
corr 0.64 0.03 -0.57 0.64 0.45 -0.07 0.34 0.64 -0.18
相关结论
  • 大部分数据集的距离和 NG AP 呈现出较明显的正相关,说明数据特征距离是影响跨底板迁移的一种反映手段
  • 浅层特征的 AP 与 距离的相关性更高
  • 但在实验中也出现了违法正相关结论的数据集 (M1),原因还不清楚,可能与降维方法与测试数据集选取有关

通道注意力

实验目的
  • 探究通道注意力对STPM 性能影响
实验设置
实验项目 实验设置
数据集 数据3
模型 Resnet50
预训练模型 ImageNet
特征层级 Layer1-4
  • 在 教师、学生网络输出端加入共享参数的通道注意力

img

  • 此处输入特征为通道归一化后的特征
实验结果

以 Resnet50 在 ImageNet 上的预训练模型为例。

MH-BALLDROP MH-BALLDROP MH-M1 MH-M1 MH-UBM MH-UBM RF-BALLDROP RF-BALLDROP RF-M1 RF-M1 RF-UBM RF-UBM BALLDROP BALLDROP M1 M1 UBM UBM
base(bad train date)1 0.918 0.951 0.785 0.852 0.931 0.958 0.398 0.775 0.945 0.953 0.948 0.978 0.951 0.959 0.979 0.997 0.960 0.977
base(bad train date)2 0.918 0.951 0.786 0.849 0.917 0.945 0.421 0.804 0.977 0.987 0.940 0.968 0.958 0.966 0.978 0.997 0.956 0.975
base (clean train data) 0.915 0.949 0.779 0.843 0.921 0.947 0.415 0.801 0.971 0.980 0.939 0.968 0.958 0.966 0.979 0.996 0.958 0.978
cha-att 0.839 0.866 0.740 0.797 0.924 0.951 0.360 0.692 0.937 0.942 0.951 0.973 0.951 0.960 0.974 0.987 0.929 0.946
cha-att-lr0.1 0.926 0.959 0.806 0.854 0.926 0.946 0.474 0.852 0.972 0.986 0.929 0.961 0.973 0.981 0.976 0.999 0.959 0.981
cha-att-lr0.1-remove top10% 0.936 0.824 0.940 0.813 0.956 0.941 0.971 0.993 0.970
base(bad data lr0.1) 0.919 0.955 0.748 0.784 0.905 0.921 0.459 0.836 0.969 0.979 0.923 0.953 0.974 0.982 0.959 0.978 0.960 0.977
base(clean data lr0.1) 0.922 0.958 0.771 0.814 0.909 0.929 0.458 0.830 0.974 0.980 0.925 0.952 0.974 0.981 0.954 0.971 0.956 0.975
freeze cha att lr0.1 0.929 0.962 0.797 0.842 0.925 0.947 0.474 0.857 0.968 0.983 0.930 0.959 0.973 0.982 0.976 0.999 0.958 0.979
freeze cha att 0.928 0.961 0.794 0.840 0.921 0.941 0.473 0.853 0.966 0.980 0.931 0.960 0.972 0.981 0.977 0.999 0.958 0.979
相关结论
  • 在非跨底板迁移的情况下,大学习率的共享通道注意力具有更好的性能
  • 注意力选择的前 10% 特征区分缺陷的能力较差
  • 但剔除这部分特征后模型性能反倒下降

参考文献

[1] [Wang G , Han S , Ding E , et al. Student-Teacher Feature Pyramid Matching for Unsupervised Anomaly DetectionJ]. 2021.



文章链接:
https://www.zywvvd.com/notes/study/deep-learning/anomaly-detection/stpm-report/stpm-report/


STPM 分析
https://www.zywvvd.com/notes/study/deep-learning/anomaly-detection/stpm-report/stpm-report/
作者
Yiwei Zhang
发布于
2022年5月12日
许可协议