论文部分内容阅读
手机表面缺陷检测是手机制造过程中的重要环节。目前,依靠人工检测的手段已不能满足大规模生产要求,而传统机器视觉检测算法只能提取到图像的浅层特征,致使检测精度有限。由于深度学习具有特征自学习的能力,可以提取到待检目标的深层特征,有效提高目标检测准确性。鉴于此,为了在工业自动化生产线上保证手机表面的外观质量,本文研究基于深度学习的手机表面缺陷检测算法。主要研究内容包括以下方面:(1)针对手机表面缺陷检测任务的高速度和高精度需求,设计一种基于深度学习的缺陷检测算法。通过对主流深度学习检测算法的对比分析,选择适用于本文工业检测任务的YOLOv3检测框架,并进行以下改进:a)针对手机表面缺陷图像的对比度低和背景单一特点,本文对YOLOv3的主干网络进行浅层设计,能更好的保留缺陷的特征信息,并且提升检测速度;b)为增强YOLOv3对缺陷形状的学习能力,提升检测效果,本文采用GIOU标准对YOLOv3损失函数进行改进,以及通过K-means算法对缺陷形状进行聚类统计来重新设计锚框尺寸;c)为实现对手机表面各部位进行不同尺寸的图像检测,本文在训练过程中采用了预训练和微调训练相结合的两阶段训练机制,即:在预训练阶段将所有缺陷样本以统一尺寸送入网络进行训练,而后以预训练的权重作为初始权重,再将各部位的缺陷样本分别以各自尺寸送入网络进行微调训练;d)最后,针对工业缺陷样本数量有限易导致网络过拟合问题,本文设计基于DCGAN、对比度降低和比例缩小等的数据生成算法,通过利用生成数据强化训练,有效增强了设计网络的泛化能力。相比YOLOv3和YOLOv3-tiny检测网络,本文网络在检测速度和准确率之间达到更有效的平衡。(2)针对工业自动化生产线上手机表面缺陷的实时检测需求,对本文算法进行优化设计。a)在单一的工业检测场景下,针对本文检测网络中可能存在部分冗余卷积通道的问题,本文基于Network Slimming模型压缩算法以实现对冗余通道的鉴别和自动裁剪。该方法能够在保持检测准确率基本不变的前提下,降低网络参数和计算量,实现更加轻量化的网络设计和检测速度的提升。b)高分辨率工业图像的滑动窗口检测流程,存在着重叠区域的重复检测和数据间隔读取耗时较高的问题。为此,基于本文检测网络的全卷积结构,在原小尺寸样本训练的模型上进行更大尺寸的滑动窗口检测。这种划分更大窗口的滑动检测流程,能大幅度地降低高分辨率图像的整体检测时间,并保证原模型的检测精度。实验结果表明,本文算法对于高分辨率的工业图像处理速度为68.59M/s,检测正确率达到98.2%,能够满足工业自动化生产线上的在线实时表面缺陷检测需求。