面向智能手机玻璃盖板缺陷检测的YOLOv3改进和应用

2021-12-16 08:15:40伍济钢阳德强
液晶与显示 2021年12期
关键词:剪枝盖板智能手机

伍济钢, 成 远, 邵 俊, 阳德强

(湖南科技大学 机械设备健康维护湖南省重点实验室,湖南 湘潭 411201)

1 引 言

智能手机玻璃盖板位于手机屏幕最外层,是屏幕的坚实外壳和触摸媒介。随着人工智能的快速发展和5G时代的到来,智能手机已成为必备工具[1],人们对智能手机的品质要求也越来越高。智能手机玻璃盖板在生产过程中不可避免地会产生各类缺陷,如崩边、划痕、脏污、坑点等。为了满足用户对智能手机高品质的要求,生产企业必须对智能手机玻璃盖板进行100%的高标准质检。现阶段的大批量生产中主要还是依靠质检工人借助强光灯、放大镜等工具进行目视检测,受人的身体素质和经验等的影响,存在检测效率低、成本高、误检率高、劳动强度大等问题。因此,研究可替代人工的手机玻璃盖板缺陷检测方法具有重要意义。

智能手机玻璃盖板缺陷检测对自动检测方法提出了以下要求:(1) 检测方法柔性好,能够适应各种类型各种形态的缺陷;(2) 检测方法泛化能力强,能适应缺陷特征不明显、多尺度等特点;(3) 检测方法实时性好,能适应大批量生产的节拍;(4) 良率高,可完全替代人工检测。目前,传统方法大多采用机器视觉的差影法[2-3]、背景消除法[4]和阈值分割法[5-7]等进行智能手机玻璃盖板缺陷检测。传统方法一般只能针对某一类缺陷或有周期性纹理的缺陷进行检测,无法满足柔性检测要求。同时,这些方法受噪声影响较大,导致检测精度不高。近年来,基于深度学习的目标检测算法[8-11]通过搭建各种不同的网络结构,搭配使用强大的训练算法自适应地学习图像高级语义信息的表示[12],在检测精度和效率方面相对于传统方法有了较大的提升。目前也开始将深度学习的方法应用至手机玻璃盖板缺陷检测[13-14],这些方法可以实现对手机玻璃盖板的柔性检测,但存在模型参数量大、检测时间与精度无法均衡等问题。随着卷积神经网络的发展,YOLOv3[15]算法在缺陷检测方面表现出较好的检测精度和检测速度。巫明秀等利用改进YOLOv3实现对棉花异性纤维进行检测[16]。李维刚[17]等利用YOLOv3算法对带钢表面的压入氧化铁皮、斑块、裂纹等缺陷进行了检测。陈宏彩等人[18]将YOLOv3算法用于医药玻璃瓶缺陷检测上,能有效检测玻璃瓶上的管端残损、气线、气泡、划伤、污渍和结石等缺陷。尽管YOLOv3算法能对表面缺陷进行柔性检测,但要求缺陷特征明显且尺度跨度不大,在检测实时性方面有待进一步提高。

本文首次将YOLOv3引入到智能手机玻璃盖板缺陷检测。针对缺陷检测的实际特点和具体要求,对YOLOv3算法进行了改进,在特征提取网络方面增加了通道注意力机制SENet[19]以解决缺陷特征不明显的问题,在特征检测网络方面增加了104×104维度大小的特征图以解决缺陷多尺度的问题,将卷积网络批量归一化(Batch Normalization,BN)层的缩放因子系数作为重要性因子进行模型剪枝以提高缺陷检测速度。将改进的YOLOv3算法应用于智能手机玻璃盖板缺陷检测。从智能手机玻璃盖板制造企业获得了涵盖崩边、坑点、脏污和划痕等4类缺陷的生产现场图片15 914张,14 321张经标注后作为训练集,1 593张作为测试集,对本文提出的方法和FasterR-CNN、YOLOv3、YOLOv4等算法进行对比实验和分析。

2 YOLOv3算法介绍

2.1 YOLOv3检测原理

YOLOv3由Redmon在2018年提出,算法仿照特征金字塔网络(Feature Pyramid Network,FPN)设计类别与位置预测,采用3个不同尺度特征图层来完成对不同大小的目标检测。在检测时,通过将包含检测目标的图片划分成S×S的网格,网格的宽和高记为cx、cy,当目标物体的中心落到某一个网格(Grid cell)当中时,该网格输出相对于网格左上角的相对中心点坐标(σ(tx),σ(ty)),以及相对宽tw和相对高th,通过所在网格的实际位置,宽和高得到最终的目标预测框[20],具体如图1所示。

图1 YOLOv3预测框示意图Fig.1 Schematic diagram of YOLOv3 prediction box

图1中,红色框为实际预测框,虚线框为锚框。YOLOv3在经过运算之后,得到预测框中心点坐标(bx,by)、宽bw和高bh,其中:

bx=cx+σ(tx),

(1)

by=cy+σ(ty),

(2)

bw=pwetw,

(3)

bh=pheth,

(4)

2.2 YOLOv3网络框架

YOLOv3算法采用Darknet-53网络为特征提取网络,对3种不同尺度的特征图层进行检测,YOLOv3网络结构如图2所示。

图2 YOLOv3网络结构模型Fig.2 Structure model of the YOLOv3 network

在YOLOv3进行检测过程中,会产生3种不同尺度类型的特征图,其大小分别为13×13,26×26,52×52,每个维度的特征图对应不同的感受野和锚框。其中13×13的特征图感受野较大,所对应的锚框大小也最大,适合较大尺寸物体检测。52×52的特征图感受野最小,对应锚框也最小,适合对小物体进行检测。

3 YOLOv3算法改进

3.1 添加通道注意力机制SENet

手机玻璃盖板缺陷具有特征不明显、缺陷尺度较小的特点。基于YOLOv3算法对手机玻璃盖板进行缺陷检测的特征提取过程中,没有考虑图像各个通道的重要性程度,使网络对于无关信息和重要信息以同样权重进行提取,导致小目标缺陷及特征不明显的缺陷检测精度较低。通道注意力机制SENet通过对卷积特征中通道的相互关系进行建模,对卷积神经网络特定层中的通道响应进行重新赋权,以增强网络对有用信息的提取。因此,本文结合SENet对YOLOv3特征提取网络进行改进。

SENet包含3个主要部分:压缩(Squeeze)、激励(Excitation)、权重赋值。压缩操作对经转换操作后得到的特征图进行编码,将每个通道上W×H二维特征图uc压缩为一个具有全局感受野的实数zc,这个实数即代表该通道的原始权重,采用全局平均池化公式得到,计算公式为:

(5)

激活操作采用包含多层的多层感知机对得到的通道原始权重进行归一化处理,多层感知机由全连接层和ReLU激活函数和全连接层与Sigmoid激活函数组成,最终得到各通道的权重为sc,其计算公式为:

sc=Fex(z,w)=
σ(g(z,w))=σ(w2δ(w1z)),

(6)

式(6)中:δ函数是ReLU激活函数,σ是Sigmoid激活函数。

(7)

⊗表示逐元素相乘,通过以上方式实现对通道的权重赋值。基本结构如图3所示。

图3 SENet基本结构Fig.3 Basic structure of SENet

3.2 改进特征检测网络

手机玻璃盖板的缺陷中,尺度跨度较大且小目标缺陷较多。YOLOv3算法采用3个不同尺度的特征图对图像进行检测,特征图的尺寸大小分别为原图像大小的1/8、1/16、1/32。其中适合检测小目标的特征图对应宽和高为原始图像的1/8,故YOLOv3对于像素大小在8×8范围内的目标检测效果不佳,容易出现漏检或误检现象,影响检测精确度。

因此,本文对YOLOv3算法的特征检测网络进行改进。改进的检测层在原始13×13、26×26、52×52维度的特征图基础上,继续进行4倍下采样,得到尺度大小为104×104的特征图,利用更浅层的特征信息,提升对小目标检测效果。结合通道注意力模块,得到改进后的YOLOv3网络记为YOLOv3-improve1,如图4所示。

图4 YOLOv3-improve1检测网络Fig.4 YOLOv3-improve1 detection network

图4中,Conv为5层卷积层,其由3×3和1×1的卷积交替而成,不同之处是它们有着不同的卷积核大小。蓝色实线框为YOLOv3的特征提取网络,红色虚线框为增加的检测层。改进后的YOLOv3有4个维度的特征图,分别是13×13,26×26,52×52,104×104。其中104×104的特征图是改进网络之后得到的,它融合了网络第109层所包含的深层信息,以及第11层的浅层信息,在小目标检测方面有更进一步的提升。

3.3 YOLOv3模型剪枝改进

在大批量生产中,为满足生产节拍的需求,对检测算法提出了实时性的要求。采用YOLOv3算法进行检测时,其网络参数较多,计算量大,工业现场的计算机终端运算能力有限。因此,必须在保证检测精度的情况下,减少模型运算,从而提升检测速度。本文借鉴Liu[21]提出的Network Slimming思想,对YOLOv3进行通道剪枝和层剪枝。

对于网络通道剪枝,根据卷积网络中BN层的缩放因子γ系数作为重要性因子。γ越小,说明此通道越不重要,可对其进行剪枝。算法整体的目标优化函数如下:

(8)

式(8)中:第一项为模型预测损失,第二项是关于γ的正则项,λ是权衡两项的超参数,一般赋值为1e-4或1e-5,表达式为g(*),即L1范数。整体剪枝过程如图5所示。

图5 YOLOv3模型剪枝过程图Fig.5 Diagram of the pruning process of YOLOv3 model

4 实验及结果分析

4.1 实验环境及数据

本文实验平台为超微infreesys服务器,操作系统:Ubuntu 18.04LTS;CPU:Intel W2123;内存:32 G;显卡:NVDIA Geforce RTX2080Ti×2;显存:16 GB×2;深度学习框架:Pytorch。

从某智能手机玻璃盖板制造企业获得了涵盖崩边、坑点、脏污和划痕等4类缺陷的生产现场图片15 914张,对所有采集到的照片采用labelImg软件进行标记,崩边标记为chipped edge,坑点标记为pit point,划痕标记为scratching,脏污标记为soiling,根据YOLOv3所要求的VOC数据集格式制作本研究的数据集。在所有数据集中,由于总数量较大,选取9∶1比例将数据集划分为训练数据集和测试数据集,测试数据集有1 593张,可以较好地评估模型效果。训练数据集照片有14 321张,相比于其他比例进行划分,9∶1比例得到的训练数据集可以更加适合模型的训练。4类典型的缺陷如图6所示。

本文在YOLOv3算法特征提取网络增加通道注意力机制,然后在特征检测网络中增加104×104大小的特征图得到改进的YOLOv3算法称为YOLOv3-improve1,在YOLOv3-improve1基础上进行模型剪枝得到的算法称为YOLOv3-improve2。利用Faster R-CNN、YOLOv3、YOLOv4、YOLOv3-improve1、YOLOv3-improve2算法对数据集进行训练与测试。其中每批次训练样本数量batch设置为16,subdivision为8。网络输入图像大小设为416×416×3,其中3为图像通道数,动量momentum设置为0.9。YOLOv3算法有3层检测层,每层分配3个锚框,则总共需要9个锚框,而YOLOv3-improve1、YOLOv3-improve2算法有4层检测层,每层设置3个锚框,总共需要12个锚框,且它们的锚框尺寸相等。根据K-means聚类算法聚类出相关的锚框信息如表1所示。

图6 智能手机玻璃盖板典型缺陷图Fig.6 Smartphone cover glass typical defect map

表1 各算法的锚框尺寸表Tab.1 Table of anchor box sizes for each algorithm

4.2 实验结果与分析

实验对3个算法进行训练,训练epochs为500,参数优化方式采用Adam方式。3个算法训练的损失值由边界框损失值、坐标损失值、分类损失值、置信度损失值组成,其3个算法总的损失值对比曲线如图7所示。

图7中YOLOv3-improve2算法的损失值是进行微调训练时得到的损失值,故其初始损失值相对于其他两个算法低,但训练过程中趋势与另两个算法类似。由图7可知,改进的YOLOv3-improve1算法和YOLOv3-improve2算法的损失值接近,且下降过程平缓,而YOLOv3算法在进行训练过程中出现震荡情况,震荡波动较大。在训练中,YOLOv3-improve1和YOLOv3-improve2算法整体比YOLOv3算法的损失值低。由以上分析可得,改进的算法比YOLOv3效果更佳。

为了对比YOLOv3、YOLOv3-improve1、YOLOv3-improve2算法性能,对比3个算法的均值平均精度值mAP,其对比曲线图如图8所示。3个算法的相关信息,以及训练的每个类别平均精度和mAP值的混淆矩阵如表2所示。

图7 训练损失值对比图Fig.7 Comparison of training loss values

图8 训练mAP值对比图Fig.8 Comparison of training mAP values

表2 平均精度实验结果对比表Tab.2 Comparison table of experimental results of AP (%)

由图8可得,在训练mAP中,YOLOv3-improve1和YOLOv3-improve2算法整体比YOLOv3算法高,且YOLOv3算法在训练中表现不稳定。

由表2可知,YOLOv3-improve1算法其mAP值相较于YOLOv3算法增加了3.3%,YOLOv3-improve2算法在YOLOv3-improve1算法上进行了模型剪枝,其mAP值比YOLOv3-improve1算法低了0.3%,同时YOLOv3-improve1和YOLOv3-improve2相较于YOLOv3算法每类别的检测精度都有所提升,尤其是对崩边和坑点等小目标缺陷提升更为明显。

对比本文算法与Faster R-CNN、YOLOv3、YOLOv4等算法的检测mAP与检测速度,结果如表3所示。

表3 不同算法检测性能对比Tab.3 Comparison of the detection performance of different algorithms

由表3可知,本文提出的YOLOv3-improve2算法检测精确度比Faster R-CNN算法提升了6.8%,检测速度提升了27.5 fps。相较于YOLOv4算法,检测精确度提升了0.8%,检测速度提升了4.9 fps。相较于YOLOv3算法,改进特征提取网络,进行了模型剪枝,检测速度提升了6.7 fps,检测精度提升了3%。相较于YOLOv3-improve1算法,由于进行了模型剪枝,在损失少部分精度的前提下,其检测速度大幅提升。由以上分析可得,本文提出的算法,在检测速度和精度上较其他算法有了不同程度的提升,较好地平衡了检测速度和检测精度。

利用训练得到的YOLOv3-improve2网络模型对1 000张智能手机玻璃盖板图像进行检测,其中包含有缺陷照片110张,无缺陷照片890张。检测结果数据显示,无缺陷照片检测出无缺陷共计804张,检测准确率92.6%。有缺陷照片准确检测出缺陷类别及位置的照片有91张,检测准确率82.3%,总检测准确率89.5%,精确率为51%,召回率为82.3%,F1值为0.63。部分缺陷检测结果图如图9所示。

由此可知,本文提出的YOLOv3-improve2算法可以实现对智能手机玻璃盖板良品和缺陷品的准确检测。

图9 智能手机玻璃盖板缺陷检测效果Fig.9 Smartphone cover glass defect detection effect

5 结 论

本文首次将改进YOLOv3算法引入智能手机玻璃盖板缺陷检测。针对缺陷特征不明显的问题,在特征提取网络中增加了通道注意力机制SENet,针对缺陷多尺度问题,在特征检测网络中增加了104×104维度大小的特征图,为提高检测速度,以卷积网络BN层的缩放因子系数作为重要性因子进行模型剪枝。从某智能手机玻璃盖板制造企业拍摄涵盖崩边、划痕、坑点、脏污缺陷的大量照片制成训练数据集和验证数据集,对本文提出的方法和Faster R-CNN、YOLOv3、YOLOv4等算法进行对比实验和分析。结果表明,本算法在各方面表现均优于其他深度学习算法,不仅实时性好,而且检测精度高,满足智能手机玻璃盖板工业生产现场缺陷高精度、高效检测的需要。

猜你喜欢
剪枝盖板智能手机
智能手机是座矿
不规则防辐射盖板施工技术在核电项目的创新应用
人到晚年宜“剪枝”
保健医苑(2022年5期)2022-06-10 07:47:22
2.5D触摸屏盖板玻璃翘曲控制技术
梳棉机用固定盖板针布发展趋势探讨
纺织器材(2021年5期)2021-11-11 06:05:18
基于YOLOv4-Tiny模型剪枝算法
智能手机脸
英语文摘(2020年5期)2020-09-21 09:26:30
假如我是一部智能手机
趣味(语文)(2018年8期)2018-11-15 08:53:00
梳棉机回转盖板运转方向与盖板选型研究
纺织器材(2017年2期)2017-04-20 02:58:33
剪枝
天津诗人(2017年2期)2017-03-16 03:09:39