摘 要 表面缺陷是工业产品生产中不可避免的问题,如果不及时发现并处理,将会影响产品的表观质量及性能,导致企业生产效益下降。 基于机器视觉的表面缺陷检测方法在一定程度上克服了传统人工检测方法的检测效率低、误检及漏检率高的问题,在现代化的工业生产中得到了广泛的应用。 归纳总结近年来机器视觉表面缺陷检测领域的研究成果,分析中外缺陷检测技术的研究现状,阐述机器视觉缺陷检测系统的组成及工作原理,综述视觉缺陷检测所涉及到的相关理论和应用方法, 比较主流机器视觉检测方法的优缺点,并指出现有机器视觉缺陷检测技术存在的问题,对以后的发展趋势进行了展望。
关键词 机器视觉; 缺陷检测; 深度学习; 图像处理
随着中国制造业的快速发展,工业产品的数量和种类与日俱增,消费者和生产企业对产品的质量提出了更高的要求,除了需要满足正常的使用性能外,还要有良好的表面质量。 产品的表面质量已成为市场的重要竞争指标之一,对产品表面的质量控制在工业生产中的作用日趋显著[1] 。 但在实际的生产过程中,由于工艺流程、生产设备和现场环境等因素的影响,造成产品表面出现各种缺陷,如磁瓦表面的气孔、断裂、磨损等缺陷,印刷品表面的斑点、划伤、漏印等缺陷[2] 。 表面缺陷不仅直接影响产品本身的外观质量,更影响产品的使用性能和商业价值。 因此,在产品生产加工时必须对其表面进行质量检测,以便及时发现缺陷并加以控制,从而减少缺陷产品的产生,提高企业的经济效益。
表面缺陷检测已成为工业生产过程中不可或缺的组成部分。 目前,工业生产中对产品表面的缺陷检测一般采用传统人工视觉检测的方法[3] ,该方法不仅检测效率低、误检率及漏检率高、劳动强度大,而且人工检测成本高,易受工人经验和主观因素的影响。 同时,在缺陷尺寸小于 0. 5 mm 且无较大光学形变时,人眼检测不到缺陷信息,不适用于大规模工业生产的要求[4] 。
随着图像处理技术的发展,机器视觉的缺陷检测方法已经逐渐取代了人工检测方法,在工业生产检测环节得到了实践[5] 。 机器视觉检测技术是一种非接触式的自动检测技术,具有安全可靠、检测精度高、可在复杂的生产环境中长时间运行等优点,是实现工厂生产自动化和智能化的一种有效方法,有着广泛的应用,涉及磁瓦、钢轨、纺织品、纸张、带钢、手机屏幕等众多行业。
现以机器视觉表面缺陷检测为论述中心,首先对机器视觉缺陷检测技术的中外研究现状进行分析;然后将检测技术分为基于机器视觉的缺陷检测和基于深度学习的两类,对几种典型的缺陷检测技术进行了阐述和比较;最后对基于机器视觉的缺陷检测技术进行了展望和总结。
1 中外研究现状
1. 1 国外研究现状
国外在物体表面缺陷检测上的研究相较中国起步早,加上国外对缺陷检测技术投资大,研发力度高,设备检测精确,早在 20 世纪 70 年代,表面缺陷检测技术已经应用于工业生产过程中。 例如,德国百事泰公司针对冷轧带钢表面的缺陷检测,研发了一种基于人工神经网络的缺陷检测系统,该系统可以在线检测待测物体的表面缺陷,并可实时对物体缺陷数量以及缺陷类型进行统计和保存,同时,该系统可自动判定被测物体的质量等级,对被检测物体进行等级分类[6] 。 美国 Cognex 公司提出了一种应用于金属表面缺陷检测的 Smart View 系统,该系统采用了先进的照明系统保证在进行图像采集时成像的质量,并使用了较为优异的图像处理算法对所得 图 像 进 行 缺 陷 检 测, 取 得 了 较 高 的 识 别率[7] ;Westinghous 公司利用不同照明光路与电荷耦合元件( charge coupled device,CCD) 线阵相机相结合,为钢板表面的缺陷检测提供了一种新的检测方案[8] 。 20 世纪 90 年代早期,荷兰 Philips 公司利用图像处理技术结合不同的滤波算法以及滤波模板,研发出一套自动射线检测装置,该装置可通过无缺陷的 X 射线模板图像自动对待测物体进行缺陷检测[9] 。 Kaftandjian 等[10] 研究设计了不同形态学的 Top-Hat 算子,该算子通过对不同类型的缺陷区域进行提取,求得缺陷特征参数建立缺陷模板,并对不同的缺陷进行分类。 Baygin 等[11] 针对印刷电路板孔洞缺失问题,提出了一种基于机器视觉的检测方法,该方法首先从系统中获得参考图像,然后使用 Otsu 阈值化和 Hough 变换方法对参考图像进行特征提取,最后将需要检测的图像输入到匹配模型中与参考图像进行匹配,检测电路板上的缺失孔。 Çelik 等[12]开发了一套基于机器视觉的织物缺陷自动检测和分类系统,对织物常见的 5 种缺陷类型进行了检测分类,该系统的缺陷检测算法运用小波变换,双阈值二值化和形态学运算等图像处理方法对织物图像进行检测,缺陷分类算法主要基于灰度共生矩阵和卷积神经网络对缺陷图像进行特征提取和训练分类。 Lien 等[13] 将卷积神经网络与支持向量机相结合,提出了一种表面缺陷检测方法,该方法使用 Alexnet 卷积神经网络模型对图像数据集进行训练,提取图像中的缺陷信息,并使用支持向量机对缺陷做出最终判定。
1. 2 中国研究现状
随着中国经济和科技的飞速发展,中国在表面缺陷检测技术方面也取得了一定的成就。 例如,大恒图像研发出一种应用于金属表面缺陷检测及尺寸测量系统,该系统安装在金属产品生产线上,并对生产线上的每个表面缺陷及外形进行实时在线检测,该系统使用了独特的照明光源,并采用了智能化的算法设计及分析算法,可以对划伤,结石等表面缺陷进行检测和分类[14] 。 刘泽等[15] 针对钢轨表面的缺陷检测研究设计了一种动态的阈值分割算法和缺陷区域提取算法,该算法可对钢轨表面掉块、表面裂痕两类典型缺陷图像进行处理,可以准确提取缺陷位置区域,标定缺陷所在位置,并统计缺陷的特征。 胡秀珍等[16] 提出基于机器视觉的铁芯表面缺陷检测方法,实现了对工业生产线上的铁芯实现了实时在线智能检测,该方法首先采用高斯滤波对图像进行预处理,然后利用 Sobel 算子对图像进行分割,最后结合形态学和区域填充技术填充感兴趣区域,初步定为缺陷区域,利用连通区域面积分析法去除伪缺陷。 周奇[17] 设计了一套太阳能电池缺陷判别算法,该算法利用形态学凸性分析,轮廓分析以及模板匹配等技术,实现了对太阳能电池边缘类缺陷的检测。 李自明[18] 为了解决涂布生产的缺陷问题,将卷积神经网络引入到涂布的缺陷检测系统中,利用 caffe 框架构建了深度学习模型,并采用逐一分析法确定训练网络参数,将涂布样本输入到模型中进行训练,自动完成缺陷的特征提取。 顾寄男等[19] 针对网片缺陷设计了一种缺陷实时检测系统,可有效实现对网片缺陷的检测及分类。 该系统首先利用 CCD 工业相机对网片图像进行采集,并对图像进行去噪处理,然后通过提取缺陷的特征点对网片各缺陷类型进行预测,最后根据缺陷区域的灰度共生矩阵获得缺陷特征参数,并利用 BP 神经网络进行分类。 刘英等[20]提出了一种基于卷积神经网络的木材缺陷检测系统,该系统首先对采集到的木材图像利用飞下采样剪切波变换进行预处理,然后,使用卷积神经网络对图像实现深层的算法设计,提取木材的缺陷轮廓,最后通过优化卷积神经网络的收敛速度,完善对木材缺陷的提取,该方法具有较高的精度和良好的鲁棒性。 吕明珠[21]针对印刷品表面漏印、划痕、斑点等缺陷问题,设计了一套基于机器视觉的缺陷检测系统,利用图像处理理论和算法,开展了基于形状的缺陷检测研究,使用尺度不变特征变换( scale-invariant feature transform, SIFT)角点匹配和 CART(classification and regression tree)决策树相结合的方法,对印刷品表面的缺陷进行分类。 左宗祥等[22] 针对刹车片的缺陷检测,提出了一种基于机器视觉的缺陷检测系统,该系统利用刹车片的灰度值和形态学特征,运用边缘提取和局部阈值分割算法,从而定位出被测刹车片的外边缘,并标记出缺陷位置。 Yang 等[23] 为了实现瓶口缺陷的检测,提出了一种基于机器视觉的缺陷检测方案,利用滤波技术对图像中的噪声进行处理,并采用阈值分割法对检测目标区域和背景区域分离,最后通过边缘检测提取瓶口的边缘特征,进行缺陷识别。
2 机器视觉缺陷检测
2. 1 典型机器视觉缺陷检测系统的组成
机器视觉缺陷检测系统通常由硬件系统和软件系统两个部分组成[24] ,硬件系统主要通过图像采集装置完成图像的采集,软件系统主要完成对图像的处理和分析,提取图像的特征信息,并根据特征信息对产品表面进行缺陷识别、分类。 典型机器视觉检测系统的组成如图 1 所示。图 1 典型机器视觉检测系统的组成 Fig. 1 Composition of typical machine vision detection system
图像采集装置一般包括计算机、工业相机、工业镜头和光源。 工业相机是缺陷检测系统中不可或缺的一部分,其功能是通过成像传感器将透镜产生的光学图像转换成相应的模拟或数字信号,并通过工业相机与计算机的接口将信息传送到上位机进行处理,工业相机的成像质量决定着后续图像处理的难易程度及处理结果的准确性,因此工业相机的选择对缺陷检测系统至关重要[25] 。 工业镜头的选型是整个缺陷检测系统中非常关键的环节,其选型的优劣决定图像质量,甚至可能影响缺陷检测系统的最终结果,工业镜头选型时应考虑工作距离、景深、焦距等问题[26] 。 光源作为缺陷检测系统的首要辅助装置,用来获得对比度较高的图像,一个合适的光源对系统的检测至关重要,直接影响到图像输入的质量,选择光源时应充分考虑光源的均匀性、光谱 特 性、 对 比 度、 照 射 角 度 及 照 明 方 式 等因素[27] 。
图像处理和分析主要包括图像去噪、阈值分割、形态学处理等。 在图像的采集、传输或处理过程中,受检测对象表面的清洁度、工业镜头的清洁度、敏感元件内部噪声以及照明变化等因素的影响会使图像质量下降并产生各种噪声。 图像噪声对后续的图像处理影响很大,它影响图像处理的各个环节以及输出结果,因此,在对图像处理前,需要对待检测图像进行去噪处理。 图像阈值分割可以压缩数据量,简化图像分析和处理步骤,是进行图像分析、特征提取与模式识别之前的必不可少的图像预处理过程。 图像形态学处理可以分析图像的结构和形状特性,以便于后续缺陷检测过程的处理。
2. 2 基于机器视觉的缺陷检测方法
目前,基于机器视觉的表面缺陷方法主要分为基于图像处理的缺陷检测方法和基于机器学习的缺陷检测方法。 两种方法具体介绍如下。
2. 2. 1 基于图像处理的缺陷检测
基于图像处理的缺陷检测主要分为图像预处理和缺陷检测两个部分,图像预处理包括图像去噪和图像分割等算法,是缺陷检测的前期工作,缺陷检测部分主要利用图像特征提取或模板匹配算法完成对缺陷的检测。
图像特征提取的目的是研究在图像的众多特征中提取有用特征,其基本思想是使特征目标在图像的子空间中在同一类内具有较小的类内聚散度,在不同类内具有较大的类间聚散度,它可以理解为图像从高维空间信息到低维特征空间的映射。 特征提取是表面缺陷检测的关键环节,特征提取的精度对后续特征点匹配精度、模板匹配精度、计算的复杂度等方面均有影响。 目前常用特征提取的方法主要有基于纹理的特征提取、基于颜色的特征和基于形状的特征提取等。
模板匹配( template matching) 的任务就是研究某一特定对象物体的图案或轮廓位于图像的什么地方,进而识别对象物体,匹配的精度是决定缺陷检测精度的重要因素之一。 基于元素的匹配方法、基于灰度信息的匹配方法和基于形状的匹配方法是图像模板匹配中常用的 3 种方法,一般在表面缺陷检测中常用基于形状的匹配方法对表面缺陷进行检测,具体过程为:首先确定所检测的目标区域,将目标区域与背景区域分离,然后定义目标区域一个标准图像,创建参考模板,最后将需要测试的图像放入模型与标准模板进行匹配,通过参考模板与测试模板的匹配结果对缺陷进行识别分类。
基于图像处理缺陷检测的方法已经在工业检测环节得到了应用实践,例如,文献[28] 中利用多模板匹配的方法对印刷品表面检测,检测精度可达0. 1 mm,检测速度小于 1 s;文献[29]使用形状模板匹配对冲压件进行检测,单张图像的匹配时间为36. 57 ms, 单 个 工 件 的 平 均 缺 陷 检 测 时 间 为165. 26 ms,具有较好的鲁棒性;文献[30]对图像处理算法进行了改进,有效解决了带钢表面的缺陷检测问题。
2. 2. 2 基于机器学习的缺陷检测
在基于机器学习的缺陷检测中通常使用支持向量机(support vector machine, SVM)或决策树(decision tree) 对样本缺陷进行分类,SVM 是 1995 年Vapnik [31] 根据统计学习理论提出的一种二分类模型,其模型定义为在特征空间上间隔最大的线性分类器,基本思想是在正确划分训练数据集的同时分离出间隔最大的超平面。 SVM 采用的是结构风险最小化原理,通过将数据样本上特征点所在的低维输入空间映射到高维的特征空间,达到线性或线性近似分类的目的。 SVM 是机器学习中广泛应用的一种算法,在解决小样本、模式识别等问题中表现出独特的优势,具有良好的有效性和鲁棒性,目前已在表面缺陷检测上有成功的应用。 朱勇建等[32] 利用 SVM 对太阳能网版缺陷进行检测分类,经实验验证,该方法缺陷检测的准确率可达 95% ,单幅图像的检测时间为 4. 14 s;刘磊等[33]针对太阳能电池片常见的几种缺陷,设计了 SVM 分类器对缺陷进行检测,缺陷识别率达 90% 以上。
决策树是机器学习中一种常用的分类算法,它可以从有特征和标签的数据中总结出决策规则,并以树形结构的形式来呈现这些规则。 一棵决策树由分支节点和叶节点两部分组成,分支节点为树的结构,叶节点为树的输出,在训练时,决策树会根据某个指标将训练集分割成若干个子集,并在不断产生的子集中进行递归分割,当训练子集里所有指标相同时递归结束。 目前,决策树由于其速度优势,已经成为工业领域解决实际问题的重要工具之一。郭朝伟等[34]利用决策树分类器对柱状二极管表面缺陷进行检测,取得了较好的缺陷识别和分类效果;徐凤云[35]使用决策树算法对钢材表面常见缺陷进行了检测,缺陷平均检测率可达 96. 6% 。
2. 3 基于深度学习分类的缺陷检测方法
近年来,深度学习在机器视觉主流领域迅速发展,已在目标检测、无人驾驶等方面取得了较大的进展。 深度学习的概念来源于人工神经网络,是一种深度神经网络结构,它可以对输入的数据特征进行自动学习和提取,解决了传统机器视觉中手动特征提取的复杂性与不确定性问题。 基于深度学习强大的自动学习能力,许多科研工作者将深度学习应用于产品的表面缺陷检测中,以提高缺陷检测的效率与精度。 目前常用深度学习的缺陷检测方法如下。
2. 3. 1 基于卷积神经网络的缺陷检测
卷积神经网络 ( convolutional neural networks, CNN)是近年发展起来的一种高效识别方法,它是由动物视觉电生理启发而提出,模拟了生物大脑皮层的局部敏感特性和方向选择特性。 CNN 模型具有多层网络结构,可以将上一层学习得到的特征作为下一层的输入,自动学习各层的数据特征。 CNN主要功能是对图像进行分类,它是图像分类的“深度学习者”,在用于缺陷检测时,CNN 的主要作用是通过预先定义的缺陷类型将数据集样本输入到模型中进行训练并提取缺陷特征,实现缺陷的分类与识别。 在缺陷分类的问题上,CNN 已经得到了成功的应用,文献[36] 研究了基于 CNN 的铁路表面缺陷检测,将轨道图像放入经过微调的 CNN 模型中,并提取部分特征对缺陷进行分类和定位。 文献 [37]对经典的 Lenet-5 卷积神经网络模型进行了改性,使用 AdamOptimizer 算法优化了网络模型,有效实现了对工业生产中点胶的缺陷检测。
2. 3. 2 基于深度置信网络的缺陷检测
深度置信网络(deep belief networks, DBN)本质上是一种具有生成能力的图形表示的网络,它是概率统计学与机器学习和神经网络的融合,由若干层神经元组成,这些神经元有显性神经元和隐性神经元之分,显性神经元用于接受图像的输入,隐性神经元用于图像特征的提取。 DBN 既可以用于非监督学习,也可以用于监督学习,是一种实用的机器学习算法,它应用范围广泛,扩展性强,不仅可以使用 DBN 用来特征识别、数据分类,还可以用于数据生成。 DBN 的组成元件由受限玻尔兹曼机组成,训练是逐层进行的,在每一层中用上一层的数据向量来推断隐层,再把该隐层作为下一层的数据向量输入,在训练过程中,需要充分训练上一层的受限玻尔兹曼机(restricted Boltzmann machine, RBM)后才能训练当前层的 RBM,直至训练到最后一层。 目前,中外许多学者将 DBN 应用于产品表面的缺陷检测中,例如,杨亚茹[38]针对锚杆缺陷检测的问题,将差分( DS) 算法引入到 DBN 网络中, 建立了 DSDBN-SVM 的缺陷检测模型,利用 DS-DBN 模型进行数据特征提取用于检测锚杆的缺陷类型。 王宪保等[39]利用 DBN 对太阳能电池片表面进行缺陷检测,可准确、快速地检测出电池片的表面缺陷。
2. 3. 3 基于全卷积网络的缺陷检测
全卷积网络(fully convolutional networks, FCN) 是 CNN 的发展和延伸,通过将 CNN 中的全连接层转化为卷积层来解决 CNN 中只能对缺陷分类的问题。 FCN 是一种端到端连接方式的网络,它可以接收任意像素大小的图像,直接将原始图像作为整个模型的输入,不需要将输入转换特征进行训练,简化了像素级别分类的运算量,同时保留了原始图像的信息。 FCN 的主要功能是将像素按照输入图像中表达含义的不同进行分组或者分割,直接进行像素级别端到端的训练。 在基于 FCN 的缺陷检测中,应提前对数据集中的缺陷样本进行标注,FCN 的任务是将标注好的数据集输入到模型中训练,通过对缺陷特征的学习对缺陷进行识别并定位出图像样本缺陷位置。 于志洋[40] 利用 FCN 在开源数据集上进行了验证,该方法可精确地实现对缺陷区域的分割,分割像素精度达到 99% ;陈晴[41] 提出了一种基于 FCN 的工件表面缺陷检测方法,可有效实现对工件各类缺陷的检测,识别精度可达 98% 。
2. 3. 4 基于自编码器( auto encoders, AE) 的缺陷检测
1986 年,Rumelhart [42] 首次提出了自编码器的概念,用于复杂高维数据的处理。 自编码网络属于无监督学习模型,是一种以重构输入信息为目标的神经网络,具有较好的非线性拟合能力,是最有效的深度学习算法之一。 自编码网络包括编码过程和解码过程,在编码过程中,将样本数据的输入信号转换成编码信号,对数据样本中的特征信息自动进行提取;在解码过程中,将编码过程所提取到的特征信息转换成重构信号,再将其植入网络权值,以实现缺陷检测。 随着中外研究者对自编码器的研究,衍生出不同的自编码器类型,例如稀疏自编码器、去噪自编码器、降噪自编码器等,并将其应用于表面缺陷检测,取得了良好的效果。 王宇鑫[43] 基于自编码神经网络对桥梁结构损伤的检测进行了研究,取得了较好的检测效果。 钱彬等[44] 针对路面裂缝提出了基于稀疏自编码的裂缝检测方法,该方法能有效检测出裂缝区域,并且抗干扰能力更强。
上述基于机器视觉缺陷检测方法的比较如表 1所示,包括各种方法的主流分类(检测) 模型、优缺点对比。
2. 4 机器视觉缺陷检测技术的研究应用
在产品缺陷检测环节,通过比较不同的缺陷检测技术在不同领域的应用研究情况,分析缺陷检测算法在产品检测中的实验结果,发现检测算法在实验过程中存在的问题,以提高缺陷检测技术在产品生产中检测和分类的能力。 基于此,表 2 [45-86] 从检测方法、被检对象和实验结果等 3 方面对近 5 年来的典型研究应用进行了总结。 通过表 2 可以看出,中外学者利用机器视觉检测技术对印刷品、金属材料、食品、外包装、纺织品等制造业产品进行了缺陷检测,在上述的检测方法中,基于图像处理的缺陷检测方法因具有使用样本较少,对某一特定缺陷识别度较高的特点,广泛应用于印刷电路板、金属材料等缺陷单一固定的产品检测中。 文献[45] 采用了图像分割和遗传算法结合的方法,对印刷电路板表面缺陷检测效果较好,文献[50-52]则采用了模版匹配的方法主要对工业产品的表面缺陷进行检测。进一步研究文献[45-52]实验结果可知,基于图像处理的方法对产品表面平均检测精度在 95% 以上,但是,该方法同时具有一定的局限性,只适用于轮廓清晰、缺陷单一的产品,并不适用于背景复杂的产品。 基于机器学习的缺陷检测方法多采用支持向量机和决策树算法,分类能力较强,在印刷品、食品等缺陷检测中经常应用,文献[53-54,62]利用支持向量机算法对印刷品表面缺陷进行了检测,检测准确率均在 95% 以上。 文献[57-60,63] 则是利用机器学习技术对金属材料表面缺陷进行检测,取得了较高的检测精度。 但该方法只适用于缺陷的二分类,对于多种缺陷并不能发挥其性能。 基于深度学习的检测方法因具有检测效率高、学习能力强、自动化程度高等特点,广泛应用于生产过程中多种产品缺陷检测。 文献[64-86] 给出了多种产品在不同深度学习模型下的检测结果,满足检测准确率的同时保证了检测的实时性。 目前基于深度学习的缺陷检测多是采用公开的缺陷数据集,在应用于实际产品生产时,缺陷样本的数量往往达不到训练要求,因此,许多学者将迁移学习应用到深度学习的训练中,进一步提升了检测系统的性能。 上述的研究不仅可以为以后的产品生产中缺陷检测环节提供理论依据,更能为实践环节提供技术指导。——论文作者:张 涛1 , 刘玉婷1 , 杨亚宁2∗ , 王 鑫1 , 金映谷1
相关期刊推荐:《科学技术与工程》杂志是中国科协主管、中国技术经济研究会主办,本刊及时报道我国自然科学各学科基础理论和应用研究创新性结果,主要登载自然科学基金资助课题及国家、省部的重大科研项目的研究论文、研究简报、短讯以及自然科学各专业、各学科国内外动态和发展前景的综述和评论。可供自然科学界科技工作者、工程技术专家、高等院校师生、自然科学与工程技术管理部门的领导和工作人员参阅。
* 稍后学术顾问联系您