2021 “华为云-东吴杯”数字化转型创新应用大赛 汽车零部件:轴承/摇把/火花塞


基于工业相机成像的汽车零部件缺陷检测

团队名称:乘风破浪的炼丹师
答辩人: 沈飞


赛题背景

汽车工业支持我国实体经济发展的关键产业,汽车零部件的质量是整车质量的基础。然而目前人工检测的方式不仅存在效率低下,还可能由于
人工疲劳造成缺陷零部件流入行业下游,造成潜在的安全风险。因此,为了提高生产效率发挥人工智能的优势,我们需要研发一种高精度的汽车零部件缺
检测算法

如图为本次比赛提供的3种常见汽车零部件:轴承、摇把和火花塞
img_1.png
每种零部件都分别定义了几类缺陷:

  1. 轴承: 连接处缺陷、直角边缺陷、空洞缺陷、毛刺;
  2. 摇把: 颜色缺陷、划痕缺陷、磨损缺陷;
  3. 火花塞: 垂直度问题、拔丝异常、间距缺陷。

评价指标

Mean AveragePrecision(mAP)和MacroAccuracy(ACC)
总得分:$score=\alphamAP+\betaACC$
$ACC=\frac{\sum_{i=1}^{N} TP_{i}}{N}$
$TP=\begin{cases} 1,& \sum_{d=1}^{D}(pred_{label,d}==gt_{label,d}&&IOU(pred_{bbox,d},gt_{bbbox,d})\geq\sigma==D) \ 0, & \text{else} \end{cases}$

  • 其中,mAP只要计算mAP@50,ACC是指每张图片完全预测正确的准确率。
  • 模型限制大小600M,在ModelArts CPU推理端时长不能超过3小时

数据分析

3种汽车零部件数据各有特点:

轴承:

  1. 轴承图像只存在左右翻转,占据图像面积较大
  2. 轴承头朝向左边的尺度范围在(1200-1300,800-900)
    轴承头朝向右边的尺度范围在(1900-2200,1500-1800)
  3. 有明显的光照变化
  4. 有明显的角度旋转变化(-30度~30度左右)
    img_2.png

摇把:

  1. 图像存在左右翻转、90度旋转、垂直翻转
  2. 尺度范围较大,普遍在(4000, 3000)以上
  3. 瑕疵存在小目标现象(集中在颜色和磨损)
  4. -45度~45度旋转图像较多
    img_3.png

火花塞:

  1. 图像角度多变
  2. 尺度范围较大,普遍在(4000, 3000)以上
  3. 由于接线螺母和侧电极唯一,导致间距和垂直度缺陷也唯一
  4. 火花塞多集中在图像中心区域
    img_4.png

数据统计 – 3类零部件10种特定缺陷

img_5.png

  • GT框:整体上 类别不平衡_,_单类的瑕疵_上轴承和火花塞类别_也不平衡
    img_6.png

数据预处理:离线增强和在线增强

  • 离线增强: 水平翻转、垂直翻转(不包括轴承)、随机旋转90度(不包括轴承)、随机旋转 {轴承(±30度), 摇把(±45)}、随机对比度(只针对轴承)、随机光照(只针对轴承), 随机周围裁剪(仅针对火花塞)
    • 尺度大小:分别在数据统计_范围内_进行_缩放_
    • 3大类1张图像_随机策略,变成3张多尺度的图像_
      img_7.png
  • 在线增强包括:Bbox-Jitter、 grid mask、mix up
    img_8.png

模型设计

img_9.png

  • 自注意力限制为不重叠的局部窗口,同时允许跨窗口连接,移位的窗口方案带来了更高的效率。相对于图像大小具有线性计算复杂性。
    img_10.png
  • 级联3个RCNN,不断提高IoU阈值,对产生的proposal更好地进行回归。
    img_11.png
  • Double-Head: 分别从空间和通道上进行压缩处理,减少空间上信息的损失提高分类的得分

技巧

  1. Anchor ratio 选择 0.2, 0.5, 1.0, 2.0, 4.0, 6.0;

  2. Warm up 热启动,SGD优化器;

  3. Label smooth 平滑交叉熵;

  4. 5折交叉验证对火花塞标注错误重新标注;

  5. Swa 随机权重平均;

    • 正常训练后,再训练一定的epoch,然后对这些epoch进行融合;
    • 此外,对3次随机离线生成的图像得到的模型再进行二次进行融合。

    在复赛阶段,由于接线螺母和侧电极唯一,导致间距和垂直度缺陷也唯一,因此只保留最高置信度得分的垂直度和间距缺陷。

线上成绩

img_12.png

  • 尝试不同的策略,性能有显著的增加,尤其针对特定大类做旋转,效果明显。

img_13.png

  • 采用相同的策略,更换骨干网,初赛线上成绩达到0.6329,排名初赛第一

img_14.png
复赛成绩最终排名线上第二
本实验模型不Work的方法

  • Anchor scale 增加尺度
  • Cascade IOU 阈值调整
  • Global context block ,全局上下文信息
  • FPN 替换ACFPN
  • Loss 替换

总结与展望

总结:

  1. 通过对3种大类图像分析,结合类别特点,进行指定的数据增强,有效的提高了数据的丰富性;
  2. 通过对类别内的不同缺陷分析,5折交叉验证来预测修正一些错误标签。对火花塞类别进行二次筛选只保留最高置信度垂直度和间距缺陷;
  3. 通过分析发现轴承的毛刺和直角边缺陷很难分类准确,提出Double Head 保留空间信息来提高轴承的分类准确率。

展望:

  1. 本次实验都是基于训练数据和测试数据的同源一致性,对于业务上采集图像背景环境没有过多的考虑;
  2. 速度上欠缺过多的考虑,二阶段的检测器不清楚是否能满足实际场景需求。后期可能还要做TensorRT,模型压缩和量化
  3. 希望可以在本次大赛中,多与专家和选手们进行交流。

  目录