1、 10.16638/ki.1671-7988.2023.018.027 10.16638/ki.1671-7988.2023.018.027 Passat 车顶铆钉拉铆数量机器视觉检测系统 邵奇栋,尤 勇,周 万(上汽大众汽车有限公司南京分公司,江苏 南京 211100)摘要:在 Passat 车顶拉铆生产过程中,目前采用人工目视的方法检查是否存在铆钉遗漏问题,该方法检查效率较低且存在错检漏检等问题。文章将深度学习卷积神经网络引入到车顶拉铆检测中,提出了一种基于 ReLU 激活函数的卷积神经网络算法,并通过实验表明该算法具有精度高、鲁棒性强等特点,为深度学习应用于车身视觉检测提供了一种新的思路
2、。实验检测成功率可以达到 99.87%,满足生产过程中的质量认定要求,对工程应用推广具有指导意义。关键词:汽车制造;视觉识别;深度学习;神经网络 中图分类号:U463 文献标识码:A 文章编号:1671-7988(2023)18-140-04 The Visual Inspection System for Quantity of Passat Roof Rivet SHAO Qidong,YOU Yong,ZHOU Wan(SAIC Volkswagen Nanjing Branch Company,Nanjing 211100,China)Abstract:In the current r
3、iveting production process of Passat roof,manual visual inspection is used to check whether there is rivet omission,which is inefficient,and there are problems such as wrong inspection and missing inspection.In this paper,the deep learning convolution neural network is introduced into the roof rivet
4、ing detection,and a convolution neural network algorithm based on ReLU activation function is proposed.Experiments show that the algorithm has high accuracy and strong robustness,which provides a new idea for the application of deep learning to vehicle body visual detection,The success rate of exper
5、imental detection reaches 99.87%,meet the quality assurance requirements in the production process,which has guiding significance for the engineering application and promotion.Keywords:Automobile manufacturing;Visual recognition;Deep learning;Neural network 在车身制造过程中,车顶总成生产通常会运用到拉铆工艺,而在日常生产中手工拉铆工艺可能存
6、在铆钉遗漏的情况,从而引起不必要的生产返工1。当前针对铆钉遗漏问题,常采用人工目视检测手段,该手段存在耗费人工且可靠性不足等缺点。为避免铆钉遗漏问题需增加机械拉铆设备,同时开启自动拉铆检测功能,该办法涉及设备改造与一定规模的经济投资,工厂车身车间在车顶总成工位增加工业相机与工控机,运用 Python 自主开发视觉检测系统,实现判断铆钉遗漏的自动识别功能。Passat 车顶加强板需要进行工序拉铆,共 16作者简介:邵奇栋(1984),男,硕士,工程师,研究方向为汽车制造,E-mail:。第 18 期 邵奇栋,等:Passat 车顶铆钉拉铆数量机器视觉检测系统 141 颗拉铆螺母。手工拉铆孔位附近
7、有多余工艺孔,如工人在操作过程中因误判或疲劳从而导致个别车顶存在遗漏铆钉,缺陷车顶总成流出车间后,对总装安装天窗总成生产造成影响,天窗总成安装无法在线一次完成,最终造成缺陷车离线返工,单车返工时间约 150 分钟2。为解决人工拉铆遗漏问题,车间增加了铆钉数量检查工艺,工人对铆钉进行手写标数,实际操作结果表明,该工艺工作量大、效率低、对于人工检查的结果无相关记录可追溯分析。由于人工检测并未实现 100%杜绝缺陷流出,本文提出一 种基于深度学习的视觉检测方法,最终有效地解决了铆钉遗漏的问题。1 卷积神经网络原理 基于深度学习的视觉检测方法,具体过程原理参考图 1 典型卷积神经网络构成。深度学习是一
8、种以人工神经网络为架构,对数据表征特点进行学习的算法。本文的卷积神经网络主要包括八个权重层,即五个卷积层和三个全连接层。本章主要介绍卷积神经网络中的卷积层、全连接层的原理与结构3。图 1 典型卷积神经网络构成 1.1 卷积层原理 卷积层的处理流程为:卷积激活函数池化归一化,最后得到卷积层的输出结果。卷积操作是使用 n*n 的卷积核(n*n 的矩阵)对输入图像进行逐行扫描,得到卷积运算后的特征映射图像4。如图 2 所示,图像在补 0 操作下(为保证图像大小一致,在图像最外圈添加一层像素值为 0的像素点)使用 3*3 的卷积核进行运算得到卷积后的输出结果。(a)卷积扫描过程 (b)卷积核计算过程
9、图 2 卷积网络原理 1.2 激活函数原理 感知机模型也叫单层神经网络,即判断是否能触发神经元特征的判断器。在最初的感知模型中,输入输出之间的关系如图 3 所示。图 3 感知基础模型 由图 3 可知,最基础的感知模型只是单纯的线性关系,这样的网络有很大的局限性,无法满足较复杂的触发环境。因此,在特殊情况下需要对输出进行非线性转换,如式(1)所示,加权求和结果输入到一个非线性的函数中(激活函数),多层网络层的叠加不再是单纯的线性变换,而是具有更强的表现能力5。iiiyxb=+(1)在网络层数较少时,Sigmoid 函数被广泛使用,该函数将实数归一化至 01,这种计算特性可以很好地模拟神经元在受刺
10、激后是否得到激活并继续向下传输结果(0 表示几乎不被激活,1 表示完全激活)6。因此,使用 Sigmoid 函数可以较好地满足激活函数的作用。Sigmoid 函数特征曲线如图 4 所示。142 汽 车 实 用 技 术 2023 年 图 4 Sigmoid 函数曲线 当 Sigmoid 函数输入较为极端时,其函数值趋近不变导数较小,在神经网络反向传播的时候导致很多很小的 Sigmoid 导数累加以至于结果趋近于 0,权重值更新较慢,增加大量的运算量7。为了解决 Sigmoid 训练收敛速度慢的问题,引入了 ReLU 激活函数,如图 5 所示。图 5 ReLU 函数特征曲线 对比 Sigmoid
11、函数,ReLU 函数输入小于或等于 0 时输出为 0,而输入大于 0 时恒等输出,具有计算开销小、网络稀疏性高等优点。故本文选用ReLU 函数作为激活函数。1.3 池化层原理 本文选用常规池化对图像集进行操作,在保留原图像特征的前提下大幅减少像素数量,可有效避免过拟合的情况,使学习效果更加理想。池化操作一般是对图像逐行取池化卷积核大小的像素值,取最值或者平均值进行运算保留特征像素 图 6 池化原理 值8。该操作可以在保留图像原有特征的前提下大幅度减少计算量,池化操作原理如图 6 所示。最后对池化后的数据集进行归一化,当某通道与附近通道像素绝对值都比较大时可以利用局部响应归一化将数值变小,使得更
12、加方便准确。局部响应归一化计算方式如式(2)所示:()2min1,2,max 0,2/Niniijx yx yx yjinbaka+=+(2)式中,N 为卷积核个数;k、n 为超参数;输入,ix ya为神经元激活;输出,ix yb为归一化激活;上标 为当前值所在通道;(x,y)为像素坐标。2 实验验证 首先对图像源进行采集,包括有/无铆钉的图像。本文一共采集了 1 000 张不同位置的铆钉图像,分别包括 500 张有铆钉的图像以及 500 张遗漏拉铆的图像作为数据集。通过图像处理对 16 个铆钉位置进行校验,对图像进行分割截取,定位铆钉位置如图 7 所示。保留只存在铆钉的区域进行训练,训练集如
13、图 8 所示。图 7 铆钉图像源 图 8 铆钉训练集 第 18 期 邵奇栋,等:Passat 车顶铆钉拉铆数量机器视觉检测系统 143 然后经过卷积激活函数池化归一化全连接等操作得到输出图像,各层处理输入与输出结果如表 1 所示。表 1 卷积神经网络结构 Neural network Input Activation Shape Step Padding Image 227*227 Conv 1 227*227 11*11*96 4 0 Pool 1 55*55*96 3*3 2 0 Conv 2 27*27*48*2 5*5*48*128*2 2 2 Pool 2 27*27*128*2 3
14、*3 2 0 Conv 3 13*13*128*2 3*3*256*192*2 1 1 Conv 4 13*13*192*2 3*3*192*192*2 1 1 Conv 5 13*13*192*2 3*3*192*128*2 1 1 Pool 3 13*13*128*2 3*3 2 0 Fc 1 6*6*128*2 6*6*256*4 096 Fc 2 4096 计算完成后输出 4 096 个数据,将这些数据与最后一层的两个神经元进行全连接,经过训练后输出两个浮点型数值,这些数值就是模型预测结果,分别代表识别判断是否存在遗漏铆钉,判断结果如图 9 所示。图 9 算法判断结果 该深度学习算法可
15、以显著提高对有无铆钉按断的检测成功率,该算法在基于 Thensorflow 框架下训练前后准确率对比如图 10 所示。图 10 训练准确率 由图 10 可知,对比算法前后对于铆钉的识别率由 51.13%提高到 99.87%,得到了显著的提升。3 结语 本文针对实际生产过程中车顶拉铆是否存在铆钉遗漏的问题,引入了深度学习卷积神经网络帮助自动识别铆钉,自主开发了一套视觉识别系统。自制了基于 1 000 张图像的训练集,该平台方法存在以下优势:1)与人工检查相比,测速快、单次检测耗时控制在 10 s 内;同时机器视觉检测工作稳定、出错率低,后期可加入拍照存档功能。2)检查准确率高达 99.87%,基
16、本避免了因人为失误导致的漏检、错检。3)未来尝试将该识别技术用于其他生产过程质量检测中,如胶水检测、螺柱检测等。参考文献 1 SUTTON R,BARTO A.Reinforcement Learning:An IntroductionM.Cambridge:MIT Press,1998.2 周志华.机器学习M.北京:清华大学出版社,2016.3 张慧,王坤峰,王飞跃.深度学习在目标视觉检测中的应用进展与展望J.自动化学报,2017,43(8):1289-1305.4 郭宪,方纯勇.深入浅出强化学习:原理入门M.北京:电子工业出版社,2018.5 邱锡鹏.神经网络与深度学习M.北京:机械工业出
17、版社,2020.6 DAI W,LI D,TANG D,et al.Deep Learning Assisted Vision Inspection of Resistance Spot WeldsJ.Journal of Manufacturing Processes,2021,62(8):262-274.7 冯超.强化学习精要:核心算法与 TensorFlow 实现M.北京:电子工业出版社,2018.8 ANDREWS D,PATRICIA P D,FITZGERALD C.Acc-elerating Learning of Competence and Increasing Long-term Learning RetentionJ.The arXiv,2022,27(8):698-701.