郑州大学学报(理学版)  2025, Vol. 57 Issue (3): 1-11  DOI: 10.13705/j.issn.1671-6841.2023239

引用本文  

陈丽, 殷湘婷, 靳启帆, 等. 基于少样本学习的表面缺陷检测方法综述[J]. 郑州大学学报(理学版), 2025, 57(3): 1-11.
CHEN Li, YIN Xiangting, JIN Qifan, et al. Review of Surface Defect Detection Methods Based on Few-shot Learning[J]. Journal of Zhengzhou University(Natural Science Edition), 2025, 57(3): 1-11.

基金项目

国家自然科学基金项目(62202433, U21B2037, 62272422, 62172371, U22B2051);国家重点研发计划项目(YFB3301504);河南省博士后基金项目(202103111);河南省自然科学基金项目(22100002)

通信作者

徐明亮(1981—),男,教授,主要从事大数据与人工智能、群体行为计算与仿真研究,E-mail:iexumingliang@zzu.edu.cn

作者简介

陈丽(1982—),女,副教授,主要从事机器学习、最优化方法研究,E-mail: cli@zzu.edu.cn

文章历史

收稿日期:2023-10-24
基于少样本学习的表面缺陷检测方法综述
陈丽1,2,3, 殷湘婷1,2, 靳启帆1,2, 姜晓恒1,2, 酒明远1,2, 徐明亮1,2    
1. 郑州大学 计算机与人工智能学院 河南 郑州 450001;
2. 国家超级计算郑州中心 河南 郑州 450001;
3. 郑州大学 体育学院(校本部) 河南 郑州 450001
摘要:工业场景中,缺陷样本少且标注缺陷耗时耗力,这限制了机器视觉方法应用于表面缺陷检测。首先对基于少样本学习的工业品缺陷检测方法进行梳理,从图像采集、图像处理、缺陷检测三个方面介绍了基于机器视觉的工业品缺陷检测技术。将缺陷检测方法分为传统表面缺陷检测方法和基于少样本深度学习的缺陷检测方法。传统表面缺陷检测方法基于人工提取的特征识别缺陷,分为缺陷分割、人工特征提取、缺陷识别三部分。基于少样本深度学习的工业品缺陷检测方法包括数据增强、迁移学习、模型微调、半监督学习、弱监督学习、无监督学习方法等。其次,介绍了常用的缺陷检测数据集和检测结果评价标准。最后,讨论了基于少样本学习的表面缺陷检测存在的问题和未来研究方向。
关键词缺陷检测    少样本学习    机器视觉    深度学习    
Review of Surface Defect Detection Methods Based on Few-shot Learning
CHEN Li1,2,3, YIN Xiangting1,2, JIN Qifan1,2, JIANG Xiaoheng1,2, JIU Mingyuan1,2, XU Mingliang1,2    
1. School of Computer and Artificial Intelligence, Zhengzhou University, Zhengzhou 450001, China;
2. National Supercomputing Zhengzhou Center, Zhengzhou 450001, China;
3. School of Physical Education (Main Campus), Zhengzhou University, Zhengzhou 450001, China
Abstract: In some industrial scenarios, insufficient defect samples and labeling time-consuming and labor-intensive defects, limit the application of machine vision methods in surface defect detection. Technologies of industrial defect detection based on few-shot learning were introduced from three aspects: image acquisition, image processing, and defect detection. Firstly, defect detection methods were divided into traditional surface defect detection methods and few-shot deep learning based defect detection methods. The traditional surface defect detection method was based on the manually extracted features to identify defects, which could be divided into three parts: defect segmentation, artificial feature extraction and defect recognition. Few-shot deep learning based industrial defect detection methods include data enhancement, transfer learning, model fine-tuning, semi-supervised learning, weakly supervised learning, unsupervised learning methods, etc. Secondly, some commonly used defect detection datasets and evaluation criteria of detection results were introduced. Finally, the existing problems and future research directions of few-shot learning based surface defect detection were discussed.
Key words: defect detection    few-shot learning    machine vision    deep learning    
0 引言

在工业生产中,缺陷检测对于保证产品质量起着重要作用。工业品表面缺陷指工业制品与正常样本相比存在的缺失、瑕疵等,属于制品质量问题。常见的表面缺陷包括斑点、裂纹、凸起、划痕、砂眼等。这些缺陷不但影响制品外观,而且严重影响制品性能,降低制品使用寿命,甚至危及生命安全。表面缺陷检测是指对工业制品表面的划痕、异物屏蔽、颜色污染、孔洞等缺陷的检测,以获得制品表面缺陷的类别、轮廓、位置、尺寸等信息。目前常用的缺陷检测方法主要为人工检测,该方法虽具有灵活度高、技术门槛低、短期成本低等优势,但存在如下弊端:效率低,易受检测者主观因素和工作经验影响;当缺陷较小时,人眼难以识别,易发生漏检;有些检测环境对人体有害,不适于人工检测。基于视觉感知的工业品表面缺陷检测综合利用了数据处理、计算机视觉、机器学习等技术自动检测工件表面缺陷,具有效率高、性能稳定、不易受人眼物理条件和人类主观因素的影响等优势,可在复杂的生产环境中长时间工作。近年来,基于视觉感知的智能化缺陷检测已逐渐代替人工检测,成为工业品表面缺陷检测中的重要方法,广泛应用于瓷砖[1]、织物[2]、钢板[3-4]、印制电路板[5-6]等领域。

基于视觉感知的工业品缺陷检测可分为传统的基于图像处理的工业品缺陷检测和基于深度学习的工业品缺陷检测两种。前者需人工设计特征,避免了使用大量数据来学习,但对环境适应性较差,检测精度难以满足实际生产要求。基于深度学习的工业品缺陷检测对环境适应性强,但需从大量已标注数据中自动提取特征。然而,在现实工业场景中搜集和标注缺陷样本较困难,这是由于缺陷样本出现概率低,且对大量缺陷精确标注的人工花费成本较高,因此研究基于少样本的工业品缺陷检测显得尤为重要。

缺陷检测作为工业质检的主要方法,已有许多优秀的综述发表。Luo等[7]将扁钢表面缺陷的自动化视觉检测方法分为基于统计的、基于光谱的、基于模型的和基于机器学习的四类,对这四类方法进行了详细阐述。Ming等[8]总结了3C玻璃元件的缺陷检测方法,对玻璃元件的缺陷进行了分类并分析缺陷产生的原因。Czimmermann等[9]总结了适用于金属、陶瓷和纺织品等多种材料的基于视觉的自动化缺陷检测方法。并将缺陷分为可见缺陷与可触摸缺陷两类:可见缺陷包括划痕、形状误差等;可触摸缺陷包括裂纹、鼓包等。还描述了纹理缺陷检测方法,包括基于统计、基于结构、无监督学习、深度学习等。罗东亮等[10]总结了工业缺陷检测的定义、重点、难点和主流方法,并从缺陷模式已知、缺陷模式未知和少量缺陷标注三个角度出发,对各种方法进行详细分析。陶显等[11]从表征学习、度量学习、正常样本学习、弱监督与半监督学习等方面阐述了基于深度学习的表面缺陷检测方法。然而,文献[7-8]分别总结了扁钢表面和3C玻璃元件的自动视觉缺陷检测方法,但并未考虑表面缺陷样本数量不足的情况。文献[9]详细介绍了表面缺陷检测涉及的各种方法,并指出了采用人工神经网络方法进行缺陷检测的缺点是需要大量的样本,但没有提出解决方案。文献[10-11]对基于深度学习的工业缺陷检测进行了全面总结和分析,但并未提及图像采集、图像处理和传统机器视觉等方法。

1 图像采集

图像作为缺陷信息的载体,是缺陷检测的核心要素之一。图像采集是指通过技术手段获取光学图像信息并将其转换成电子或数字信号的过程。获取高质量的图像是缺陷检测能否成功的重要因素。选择合适的光源、照明模式以及图像采集设备来获取图像,能够提高图像的质量。

在计算机视觉中,依据光源、被测物体和图像采集设备之间的位置关系,可将照明模式分为前向照明和后向照明。根据光源的性能特点,可将光源分为结构光照明和频闪光照明。前向照明主要作用是照射物体的表面缺陷、表面划痕和重要的细节特征。后向照明以实现从后方照亮目标的效果。结构光照明通过将光栅或线光源投射到被测物体上,根据它们产生的畸变,解调出被测物体的三维信息。Cao等[12]提出了线结构光的钢轨表面缺陷检测方法。频闪光照明是指将高频率的光脉冲照射到物体上,要求摄像机拍摄与光源同步。

图像采集设备包括相机、光学镜头和图像采集卡。相机可将物体的图像转换成数字信号,以供后续处理。光学镜头主要用于控制成像距离和视场,以获得清晰的图像。根据图像特征选择合适的镜头,并对镜头进行调整,可提高图像的清晰度。图像采集卡又称图像捕捉卡,可以将相机捕捉到的图像信息转化为数字信号,并将其以数据文件的形式存储在硬盘中。

2 图像处理

图像采集过程中,由于现场环境、CCD图像光电转换、传输电路、电子元件等客观因素影响,会使图像受噪声干扰,降低图像质量。低质量图像会导致图像分析产生偏差。为使机器更好地理解图像并检测工业制品缺陷,需要对图像进行处理,其中去噪是图像处理的主要步骤之一。常见的图像去噪方法有中值滤波器、小波变换、Otsu分割、同态滤波、神经网络等。

中值滤波器通过使用像素邻域的中值来消除噪声,简单高效,但对离散点不敏感。因此,不适用于含有较多点、线、尖角的图像。Noor等[13]结合中值滤波器与去噪卷积神经网络处理高斯噪声和脉冲噪声。该方法首先通过中值滤波器来抑制噪声并检测脉冲噪声,然后通过残差学习去噪卷积神经网络来去除高斯噪声。

小波变换可对噪声和信号进行分离和处理,对纹理不敏感,对于复杂情况的处理效率较高,常用于边界处理、时频分析、信噪分离与提取弱信号等场景。Yang等[14]提出一种集成小波变换和非局部均值滤波的缺陷检测方法定位缺陷区域,并用实验表明该方法具有良好的缺陷检测性能。

Otsu分割最早由日本学者Otsu提出,该方法的本质是最大化类间方差,主要通过阈值分割前后背景,无须人工设定阈值,且对光照较敏感。Yuan等[15]提出了一种改进的Otsu方法,称为加权对象方差,用于检测产品表面缺陷。并用实验表明该方法可用于检测污秽、木节、钢轨表面裂纹等。

同态滤波将信号经过非线性映射转换到可以使用线性滤波器的不同域,做运算后再映射回原始域。同态滤波能够处理多重噪声,增强图像对比度。Liao等[16]提出基于改进同态滤波器-高斯滤波器耦合算法的陶瓷轴承球表面缺陷检测算法。使用高斯滤波算法去除图像中的高斯噪声,采用同态滤波算法增强高频成分,压缩低频成分,滤除卷积噪声和混杂信号。实验表明使用该算法可有效增强缺陷部分的对比度。

神经网络方法也可用于图像去噪。神经网络去噪方法具有较强的适应性,可以针对不同的图像、不同的噪声进行训练并去噪。Shou等[17]提出一种基于Swin Transformer的深度学习模型用于去噪,并用实验表明该方法优于卷积神经网络方法。

3 传统基于图像处理的工业制品缺陷检测

传统基于图像处理的工业品缺陷检测需要根据图像来设计特征提取方法,这类方法只需少量标注数据来训练模型。一般分为缺陷图像分割、人工特征提取和缺陷识别三个模块。框架如图 1所示。

图 1 传统基于图像处理的工业品缺陷检测框架图 Fig. 1 Traditional frame diagram of industrial defect detection based on image processing
3.1 缺陷图像分割

缺陷图像分割是指将图像中包含缺陷的区域与其他部分分割开来,主要方法有阈值分割、边缘检测、区域生长等。

3.1.1 阈值分割

阈值分割方法要选择合适的阈值,通过对比图像中的像素值与阈值,将像素区分为缺陷和非缺陷两个类别,从而将缺陷从图像中分割出来。该方法易理解且使用较广。Cao等[18]采取阈值分割法对路面图像进行分割,通过判断图像中每个像素点的特征属性是否满足阈值要求,从而确定该像素点属于目标区域还是背景。Liang等[19]提出了基于掩模梯度响应的阈值分割方法,用于铣削铝锭表面缺陷检测,通过迭代阈值分割,从掩膜梯度相应图中有效提取各种缺陷。

阈值分割通俗易懂,计算速度快,在很多基本的图像分割任务中都能够轻松应用。但阈值分割也存在一定的局限性,阈值分割的结果易受阈值的影响,并且对于某些较为复杂的图像,阈值分割无法很好地完成分割任务,从而影响缺陷检测结果。

3.1.2 边缘检测

边缘检测通过检测图像中像素值出现较大变化的地方得到缺陷的轮廓信息。边缘检测可分为基于一阶导数和基于二阶导数两类。基于一阶导数的边缘检测有Sobel算子、Roberts算子等,基于二阶导数的边缘检测有Log算子、Canny算子等。

Sobel算子是一种简单高效的算子。Sobel算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。在精度要求不高的情况下可以采用该算子。Yang等[20]提出一种基于平稳小波变换的磁瓦图像缺陷检测方法,该方法采用Sobel算法去除不均匀的背景,将原始灰度图像转化为梯度图像后再进行后续操作,并用实验表明该方法可以成功检测磁瓦表面不稳定光照下的各种缺陷,且具有较好的稳健性和准确性。

Roberts算子利用图像中对角线方向相邻像素差值、近似梯度幅值来检测目标边缘。Jiang等[21]提出了一种Roberts交叉算子结合数学形态学算法进行织物疵点检测的方法。该算法旨在解决缺陷检测算法误报率过高的问题。

Log算子先使用高斯平滑滤波器对图像进行平滑处理,再求其拉普拉斯二阶导数,然后通过检测滤波结果的零交叉,得到图像边缘,其中,零交叉像素是指该像素点的左右、上下、两个对角处的某一处的差值的绝对值超过设定阈值的像素点。Log算子具有简单高效、易于实现等优点,是经典的边缘检测算子之一。

Canny算子通过多个步骤来检测图像中的缺陷边缘,包括噪声抑制、梯度计算、非最大值抑制、双阈值检测和边缘连接。Canny算子具有较高的准确性,能有效抑制图像中的噪声,且可以对不同的图像选择最合适的阈值。Zhang等[22]基于Prewitt和Canny算子进行硅板图像缺陷检测,并消除网格对检测的影响。该方法可以高效直观地检测出微裂纹缺陷及具体位置,且提高了缺陷轮廓的纯度和完整性。

3.1.3 区域生长

区域生长是一种以像素为单位的图像分割方法。区域生长的原理是将具有相似性质的像素集合起来构成区域。该方法首先给每个需要分割的区域找一个种子像素,然后以种子像素为中心,将其邻域像素中满足生长准则的像素合并到种子像素所在区域中。将这些新像素当做新的种子像素重复上面的步骤,直至图像中每个点都有归属。Zhou等[23]针对玻璃瓶底缺陷检测中存在的问题提出了一种表面缺陷检测框架,该框架使用区域生长算法获取每个片段的紧凑分割结果。

3.1.4 阈值分割、边缘检测、区域生长对比

阈值分割具有计算简单、运行效率高、性能稳定等优点,是图像分割中最基本、应用最广泛的分割技术。但是由于阈值分割只考虑像素点灰度值本身的特征,不考虑空间特征,因此对噪声较敏感,鲁棒性不高。

边缘检测可以使物体边界更为明晰,有助于后续的目标识别和图像切割等步骤。图像经过边缘检测处理后,只保留与物体边缘相关的信息,因此可减少计算量和存储空间,提高了图像处理效率,但是边缘检测算法对图像中的噪声非常敏感,噪声会影响检测结果,因此采用边缘检测时还须对图像进行去噪处理。边缘检测还容易产生多余的边缘或者边缘断裂的情况。此外,边缘检测易受图像的亮度和对比度的影响,当图像的亮度和对比度较低时,容易导致边缘检测结果不准确。

区域生长方法简单,不会将同一个位置作为种子重复生长,因此优化了时间空间复杂度。区域生长方法用来分割比较复杂的图像时能取得较好的效果。但是由于区域生长方法是一种迭代方法,空间和时间开销较大。

阈值分割、边缘检测和区域生长三种方法对比如表 1所示。

表 1 缺陷图像分割算法对比表 Tab. 1 Comparison of defect image segmentation algorithms
3.2 人工特征提取

特征提取方法是从图像像素中提取描述目标特征的信息,将不同目标之间的差异映射到低维特征空间,以帮助压缩数据量并提高识别效率。特征提取是缺陷检测过程中的一个重要环节。常见的特征包括纹理特征、颜色特征、形状特征等。

3.2.1 纹理特征

纹理特征能够详细描述图像中的纹理特性,它不依赖于颜色或亮度来反映图像的同质现象,可用于裂纹、划痕、斑点等检测。纹理特征在包含多个像素点的区域中进行统计计算,纹理特征提取方法包括统计法、频谱法、模型法等。

1) 统计法。统计法根据像素点及其邻域的灰度属性来分析图像的纹理特性并识别缺陷。统计法基本不受光照、噪声的影响,有较强的稳定性。典型的方法有灰度统计法、模式统计法和梯度统计法。

灰度统计法通过统计图像像素的灰度值来获得图像的纹理特征。Nand等[24]提出一种新的基于熵的缺陷检测算法。该方法计算待检测图像与背景图的局部熵的差,根据熵差的直方图特征来识别缺陷。

模式统计法采用区域统计的方式分析纹理特征,基于图像的灰度空间分布来描述详细的纹理信息。常用的模式统计法有灰度共生矩阵(gray-level co-occurrence matrices, GLCM)和局部二值模式(local binary patterns, LBP)。GLCM对图像上具有某种位置关系的一对像素成对出现的概率进行统计,得到GLCM,然后从GLCM中提取统计特征对纹理进行描述。Wang等[25]提出一种实体稀疏追踪(entity sparsity pursuit,ESP)方法来识别表面缺陷。为工业灰度图像设计了一种直观的受LBP启发的特征提取器,提取出来的特征可同时分析水平、竖直与两个对角线方向上的领域像素灰度分布,以增加辨识度。

梯度统计法通过统计局部图像中梯度方向信息来描述图像特征。梯度表征了图像中像素灰度的变化,梯度幅值较大的位置为边缘。单位区域内的边缘数量是描述图像纹理的一个重要特征。Shi等[26]提出了一种基于梯度信息低秩分解和结构化图算法的织物疵点检测方法,并用实验表明该方法在断端、孔洞、网状多发、粗杆、细杆和结节检测上表现优越。

2) 频谱法。频谱法的基本思想是将纹理图像从空间域变换到频率域,提取不同频率上的特征,以获得在空间域不易获得的纹理特征,根据正常纹理和缺陷纹理的不同响应实现缺陷的准确检测。该类方法包括傅里叶变换(Fourier transform, FT)、Gabor滤波器、小波变换等。

傅里叶变换将图像的灰度变化分布函数变换为图像的频率分布函数,得到图像的频谱信息,用频率高低来表征图像中灰度变化剧烈程度。Zori Ac'1等[27]基于二维傅里叶功率谱提出了一种新的傅里叶谱环特征提取方法检测饼干砖上的缺陷。

Gabor滤波器结合了时域(空间域)和频域(频率域)的特性,可提取图像在各个尺度和方向上的纹理和边缘信息,同时在一定程度上降低了图像中光照变化和噪声的影响,对图像边缘敏感,但对光照不敏感。Zhao等[28]提出了一种热电冷却器元件缺陷检测方法,该方法使用Gabor滤波器提取热电冷却器分量图像中的纹理信息,并将其作为分类特征。

小波变换是一种有效的时频分析方法,其克服了傅里叶变换不具备局部化分析能力和短时傅里叶变换时频分辨率固定不变的缺点,具有低熵性、多分辨率特性、去相关性等优点,对分析突变信号和奇异信号非常有效。Sulochan等[29]提出了一种基于多尺度小波特征和模糊聚类方法的织纹检测方法,该方法使用模糊C均值聚类算法从多尺度小波特征中检测编织图案中的两个交叉区域状态。

3) 模型法。基于模型的纹理分析方法试图捕捉生成纹理的过程,其通过确定预定义模型中的参数对纹理进行建模。模型法既考虑了纹理局部的随机性,又考虑了纹理整体的规律性,但模型的参数估计有一定的难度,而且计算量较大。

3.2.2 颜色特征

颜色特征可以提供关于缺陷区域和非缺陷区域的颜色差别、色彩分布和颜色变化等信息,常用颜色直方图、颜色矩、颜色聚合向量等表示颜色特征。颜色特征可以与纹理特征和形状特征组合使用,以提高缺陷检测的效率。

1) 颜色直方图。颜色直方图常用于描述缺陷图像中像素颜色的数值分布情况,即不同色彩在整幅图像中所占比例,可以反映缺陷图像颜色的分布以及基本色调。Li等[30]提出基于视觉显著性的缺陷检测算法,该算法利用显著性直方图中提取的特征来检测织物缺陷。

2) 颜色矩。颜色矩是一种简单高效的颜色特征提取与匹配方法。在该方法中,图像中的颜色分布用矩表示。颜色的一阶中心矩表示图像的平均颜色,二阶中心矩表示图像的标准方差,三阶中心矩表示图像的三次根非对称性。Bong等[31]提出了一种用于皮革表面缺陷检测和分类的视觉检测系统。该系统首先计算RGB图像三个颜色通道的颜色矩,同时将RGB图像转换成灰度图像得到灰度矩,然后将每个颜色通道的颜色矩和灰度矩组合在一起得到图像的颜色矩。实验结果表明运用该系统进行皮革缺陷检测和分类时,可准确获得缺陷在皮革织物表面的大小、形状和位置。

3) 颜色聚合向量。颜色聚合向量将直方图中每一个颜色簇划分为聚合和非聚合两部分。如果该簇内某些像素所占据的连续区域面积大于给定的阈值,则认定该区域内的像素为聚合像素,反之则为非聚合像素。

3.2.3 形状特征

形状特征用于突出和展示缺陷的尺寸、形状、轮廓等方面信息,形状特征常包括面积、周长、圆度和长宽比等。形状特征不需要经过复杂的分析和计算,同时也不受外界光照和图像颜色等的限制和影响,可直观感受缺陷的具体特性。常用的形状特征提取算法有边界特征法、傅里叶形状描述符法、几何参数法、形状不变矩法等。边界特征法是利用对边界特征的描述来获取图像的形状参数。傅里叶形状描述符法是以物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性将二维问题转换为一维问题。几何参数法是指采用矩、面积、周长等形状参数定量测量缺陷。几何参数的提取以图像分割为前提,对分割效果很差的图像,几何参数甚至无法提取。形状不变矩法是指利用目标所占区域的矩作为形状描述参数。Zhai等[32]提出基于几何特征的输电线路防震锤缺陷智能检测方法,该方法基于形状特征检测航空图像中的防震锤缺陷。

3.3 缺陷识别

特征被提取后,须利用机器学习算法对提取的特征进行分类,从而识别缺陷的类型。本节介绍缺陷检测中常用的机器学习算法,如支持向量机(support vector machine, SVM)、K近邻(K-near neighbour, KNN)、聚类等。

支持向量机是一种基于最大间隔原理的机器学习方法,适合处理小样本、高维数据,具有较好的鲁棒性、泛化性和可解释性。文献[33]使用支持向量机和人工神经网络(artificial neural network,ANN)搭建枣子高光谱图像的在线表面缺陷系统,并对枣子表面缺陷进行分类。

K近邻算法的基本思想是给定一个训练集,对于新输入的样本,在训练集中找到与该样本最邻近的K个样本,若这K个样本中大多数都属于某一类别,则认为该样本也属于这个类别。K近邻算法易于实现,并且能够根据训练样本数量的变化自行调整。Hoffmann等[34]提出了一种使用光度立体技术和KNN分类器检测固体推进剂和隔热材料之间的黏合剂层上的缺陷。

聚类是一种无监督学习方法,其根据样本之间的相似度,把一组数据划分成不同的类或簇,在划分过程中力求同一簇内的数据尽可能相似,不同簇中数据的差异尽可能大。对于数值型数据,相似度度量可以使用Euclidean距离、Manhattan距离、Chebyshev距离、Minkowski距离等。Jing等[35]为了提高织物疵点的检出率和织物产品质量,提出了一种基于改进的YOLOv3模型的织物疵点检测方法。该方法采用k-means算法对数据进行聚类,聚类产生的聚类中心作为织物疵点检验的先验框架。实验结果表明该方法能够有效降低网络的错误率。

4 基于少样本深度学习的工业制品缺陷检测

基于深度学习的表面缺陷检测需要大量的数据来学习特征,而在现实的工业环境中,缺陷数据不易获取,且标注数据需要消耗大量的人力和物力。因此,本节介绍基于少样本深度学习的表面缺陷检测方法。

4.1 度量学习

度量学习的目标为计算两个图片之间的相似度,使同一类别的图片相似度较大,不同类别的图片相似度较小,也称为相似度学习。深度学习中最常用的度量学习方法是孪生网络,该网络由两个子网络组成,每个子网络接收一个输入样本,并输出对应的特征。通过计算两个特征的距离来比较两个输入的相似度。孪生网络采取抽取对图的方式,可解决缺陷类型未知和缺陷样本不足问题。Ling等[36]设计了一种深度孪生语义分割网络,该网络将孪生网络的相似性度量与用于PCB焊接缺陷检测的编码器-解码器语义分割网络相结合,可对PCB焊接小缺陷语义分割,该方法可缓解缺陷样本不足而导致的过拟合问题。

4.2 数据增强

数据增强通过对图像的平移、旋转、缩放、裁剪,或者将其他被测对象的表面缺陷移植到当前被测对象上等方法来扩充原始样本,以弥补数据量不充足的问题。在标注数据有限的情况下,数据增强可提高样本的多样性,让有限数据产生等效于更多数据的价值。

4.2.1 基于数据合成的方法

早期的数据合成方法是通过对现有数据进行变形、缩放、颜色空间变换、裁剪等来生成新数据。目前,已有很多更有效的数据合成方法,例如生成对抗网络(generative adversarial networks, GAN)、人工生成缺陷数据等。Li等[37]提出了基于随机游走和形态学膨胀的缺陷合成算法。该方法模拟四种典型的屏幕缺陷,并利用深度学习训练初始模型,然后利用真实缺陷样本进行微调再训练。

4.2.2 基于特征增强的方法

基于少样本的表面缺陷检测的关键是得到一个泛化性较好的特征提取器。特征增强是指在原样本空间中增强便于分类的特征,削弱无效特征,以此来提高样本特征的多样性。Xie等[38]提出了一种基于特征增强YOLO(FE-YOLO)的表面缺陷检测算法。

4.3 迁移学习

迁移学习是从相关领域中迁移数据或者知识结构,完成或改进目标领域的学习效果的方法。该方法首先在大量基准数据集上训练得到预训练模型,然后将预训练模型迁移到相似任务中以解决目标任务的问题。Gong等[39]针对航天器复合结构X射线图像中的缺陷尺寸非常小和训练样本数量较少的问题,提出了一种基于域自适应Faster R-CNN的迁移学习缺陷检测模型,可有效检测夹杂物和空隙这两种难以检测的缺陷,且适应性强。Liu等[40]提出了一种知识重用策略来训练CNN模型,以提高缺陷检测的准确性和鲁棒性。通过引入迁移学习和数据增强将来自其他视觉任务的知识转移到工业缺陷检测任务中,从而在有限的训练样本下实现缺陷检测的高精度。

4.4 模型微调

模型微调是指先在大规模源数据集上进行预训练,再用少量标注的目标数据集对神经网络模型的全连接层或者顶端几层进行参数微调,从而得到微调后的模型。当少量标注的目标数据集与源数据集分布较类似时,模型微调的效果较好。Liu等[41]提出基于生成对抗网络的织物缺陷检测系统,该系统在已有的织物疵点样本上训练检测模型。首先基于纹理条件来训练GAN,以此来搜索给定缺陷的条件分布,其次基于生成对抗网络的融合网络将生成的缺陷融合到特定位置,最后通过已经进行过训练的GAN来不断更新现有的织物缺陷数据集。通过对各种代表性织物样本进行实验,验证了该方法具有很好的检测性能。

4.5 半监督学习

半监督学习是监督学习与无监督学习相结合的方法,其利用少量标注样本和大量未标注样本进行训练和分类。半监督学习基本思想是利用数据分布上的模型假设建立学习器,并对未标注样本进行标注。常用的基本假设有平滑假设、聚类假设和流形假设。代表性方法有生成式对抗网络、自编码器(autencoder, AE)等。GAN和AE本身属于无监督学习,经过调整后可以作为半监督模型使用。Zhang等[42]提出具有两个子网络的半监督生成对抗网络用于钢材表面像素级缺陷分割和检测。该方法中一个子网络用于从标记和未标记图像中分割缺陷,另一个子网络是全卷积鉴别器网络,以半监督学习的方式生成未标记图像的信任密度图。该方法可利用未标记图像来增强分割性能并减轻数据标记任务。

4.6 弱监督学习

弱监督学习是使用有限的、含有噪声的或者标注不准确的数据来训练表面缺陷检测模型。弱监督学习涵盖的范围广泛,标注信息不完全、不确切或者不精确的标记学习都可视为弱监督学习。弱监督学习通常分为不完全监督、不确切监督和不准确监督三种类型。不完全监督是指训练数据只有部分是带有标签的,大量的数据没有被标注。不确切监督是指训练样本只有粗粒度的标签。不准确监督是指给定的标签并不总是真值。产生这种情况的原因包括标注人员自身水平有限、标注过程粗心、标注难度较大等。Zhang等[43]提出类别感知对象检测网络弱监督学习方法。通过类别感知卷积池来探索弱图像标注实现弱监督学习,可避免传统弱监督学习中的迭代训练和复杂计算,可同时实现图像分类和缺陷定位。该方法在保持轻量级的同时还兼顾准确性和高实时性。He等[44]提出基于弱监督深度学习的纹理表面缺陷分割和定位方法。该方法设计了一个用于提取特征的编码器和两个用于相关任务的解码器,两个解码器共享唯一的编码器,主要任务是恢复纹理表面上的缺陷,通过比较原始图像和恢复图像来获得残差图,通过残差图和ROI的融合得到更准确的识别结果。

4.7 无监督学习

无监督学习只使用无缺陷的正常数据或未标注数据训练模型,无须人工干预来发现数据中隐藏的模式或对数据分组。深度学习中常见的无监督学习有生成对抗网络(GAN)、自组织映射(SOM)和适应性共振理论(ART)。Dong等[45]提出基于图像分割的无监督局部深度特征学习方法。该方法使用分割CNN提取的特征进行聚类来获得伪标签,使用伪标签来训练CNN以提取特征,聚类和分割步骤交替进行。实验结果表明所提出的无监督方法的性能几乎与以监督方式训练的具有相同架构的CNN一样好。He等[46]提出基于级联GAN和边缘修复特征融合的无监督缺陷检测算法。该方法将不同形状、大小和位置的伪缺陷引入无缺陷图像中,然后训练缺陷修复网络,通过对比缺陷图像与修复图像之间的差别来获取缺陷检测结果。实验结果表明该算法具有较好的缺陷检测性能,特别是对复杂背景下形式丰富、位置多样的缺陷。

5 缺陷数据集与性能评价指标 5.1 数据集

在生产过程中缺陷发生概率低、特征微弱,且不同缺陷出现的概率不同,导致缺陷数据集较难构建。一组合格的数据集需要囊括各种类型和不同程度的缺陷,还要考虑样本的多样性、代表性、数据量等因素。本文搜集了一些公开的缺陷检测数据集,如表 2所示。

表 2 缺陷检测数据集 Tab. 2 Defect detection data sets
5.2 分类性能评价指标

分类性能评价指标包括精确率(Precision)、召回率(Recall)、准确率(Accuracy)、真阳率(true positive rate, TPR)、假阳率(false positive rate, FPR)、ROC曲线、P-R曲线等,这些评价指标均基于混淆矩阵。混淆矩阵中TP(true positive)表示样本真实值和模型预测值均为正类的样本数量,TN(true negative)表示样本真实值和模型预测值均为负类的样本数量,FP(false positive)表示样本真实值为负类,模型预测值为正类的样本数量,FN(false negative)表示样本真实值为正类,模型预测值为负类的样本数量。

5.2.1 精确率、召回率、准确率、真阳率和假阳率

Precision是指被预测正确的样本在所有被测样本中所占比率。Recall是被预测为正样本且实际也是正样本的样本在所有正样本中的比率。Accuracy是预测正确的样本占所有样本中的比率。TPR是预测正确的正类样本在实际正类样本中的占比。FPR是预测正确的样本中负样本的占比。所用公式为

$ Precision=(T P+T N) /(T P+F P+F N+T N), $ (1)
$ Recall=(T P) /(T P+F P), $ (2)
$ Accuracy=(T P+T N) /(T P+F P+F N+T N), $ (3)
$ T P R=(T P) /(T P+F P), $ (4)
$ F P R=(T N) /(T P+T N) \text { 。} $ (5)
5.2.2 ROC曲线

ROC曲线,即受试者工作特征(receiver operating characteristic)曲线。ROC曲线以真阳率(TPR)为Y轴,以假阳率(FPR)为X轴,通过绘制不同阈值下真阳率和假阳率之间的关系,体现分类器在不同阈值下的性能。通过不断调整测试过程中检测网络的分类阈值,得到一一对应的真阳率和假阳率值并绘制ROC曲线,ROC曲线示意图如图 2所示。在FPR值相等的情况下,TPR值越高,分类器效果越好。

图 2 ROC曲线示意图 Fig. 2 ROC curve diagram
5.2.3 P-R曲线

P-R曲线,即精确率-召回率(P-R)曲线,以PrecisionY轴,RecallX轴,曲线上的每一个点都对应着不同阈值下的精确率和召回率。通常情况下,P-R曲线下的面积越大,则认为算法性能越好。但是,若两个算法的P-R曲线有交叉,则无法直接判断哪一个算法性能更好,因此需要通过比较平衡点(break-event point, BEP)来进一步判断。算法的P-R曲线与P=R这一条直线的交点称为该算法的平衡点,当多个算法的P-R曲线有交叉时,通常认为平衡点值大的算法性能更好。P-R曲线如图 3所示。

图 3 P-R曲线示意图 Fig. 3 P-R curve diagram
5.3 分割性能评价指标

缺陷分割的性能评价方法主要有像素准确率和交并比两种。

像素准确率表示预测结果中预测正确的像素数量在总像素数量中的占比,由预测结果中被正确分类的像素和总像素数量决定,其值为二者的比值。但像素准确率仅仅衡量了预测结果的整体像素级别的准确性,不考虑目标的准确形状和位置信息。所用公式为

$ P A=(T P+T N) /(T P+F P+T N) 。$ (6)

交并比是用于评估分割任务(包括语义分割和缺陷分割)性能的一种常用指标,能够直观简明地展现出预测结果和真实结果交集与并集的比值。交并比的值越大,说明预测结果与真实结果之间的重叠度越高,即算法在目标定位和分割准确性方面的性能越高,所用公式为

$ I o U=(T P) /(T P+F P+F N) \text { 。} $ (7)
6 主要问题及研究方向

目前基于少样本深度学习的缺陷检测已经取得了很大进展,但在实际生产应用中,仍面临诸多挑战,存在许多亟待解决的问题。

6.1 微小缺陷检测问题

微小缺陷检测中存在两个挑战。一个挑战是相机如何捕捉到微小缺陷并在图像中清晰呈现。微小缺陷特征十分微弱,常规图像采集系统难以拍摄出缺陷,且拍摄过程中容易受灰尘或脏污影响,因此如何利用多角度、多波段光源与多相机协同配合捕捉到缺陷,并去除噪声的影响,将缺陷清晰呈现出来是微小缺陷检测面临的一个挑战。另一个挑战是如何利用机器视觉检测出特征十分微弱的小缺陷。弱小缺陷的信息只有几个像素,与背景混淆的概率较大,一般的学习模型很难提取到这些目标的特征。虽然基于特征金字塔网络的深度学习缓解了这一问题,但是不同尺度的特征耦合仍然会影响微小缺陷识别的性能。因此,微小缺陷精确检测仍是现有缺陷检测面临的一个重要挑战。

6.2 传统方法与深度学习方法结合

深度学习由于具有强大的特征提取能力和良好的性能,已成为产品表面缺陷检测的主流方法。然而,由于深度学习是包含大量参数的“黑箱”模型,因此参数调优需要较高的硬件配置和较长的时间消耗。传统机器视觉时间消耗少,更具可解释性,容易找出模型存在的问题和需要改进的地方。然而,传统方法中手工设计特征通常难以适应背景、光照等环境的变化,因此难以满足现实工业场景应用需求。将传统机器视觉技术和深度学习结合,融合深度学习强大的特征提取能力和传统方法基于规则的编程技术两方面优势,提高模型在工业场景的适用性,也是未来要研究的课题。

7 结论

在工业品缺陷检测中,缺陷数据不易获取且数据标注消耗大量人力和物力,因此,基于少样本学习的工业制品缺陷检测就显得尤为重要。本文从图像采集、图像处理、缺陷检测三方面介绍了基于机器视觉的缺陷检测方法,给出了常用的缺陷数据集和缺陷评价标准,并对当前基于少样本的缺陷检测方法存在的问题和未来的研究方向进行了讨论和展望。

参考文献
[1]
WAN G, FANG H B, WANG D Z, et al. Ceramic tile surface defect detection based on deep learning[J]. Ceramics international, 2022, 48(8): 11085-11093. DOI:10.1016/j.ceramint.2021.12.328 (0)
[2]
WU J, LE J, XIAO Z T, et al. Automatic fabric defect detection using a wide-and-light network[J]. Applied intelligence, 2021, 51(7): 4945-4961. DOI:10.1007/s10489-020-02084-6 (0)
[3]
HAO Z Q, WANG Z G, BAI D X, et al. Towards the steel plate defect detection: Multidimensional feature information extraction and fusion[J]. Concurrency and computation: practice and experience, 2021, 33(21): e6384. DOI:10.1002/cpe.6384 (0)
[4]
TANG B, CHEN L, SUN W, et al. Review of surface defect detection of steel products based on machine vision[J]. IET image processing, 2023, 17(2): 303-322. DOI:10.1049/ipr2.12647 (0)
[5]
CHEN I C, HWANG R C, HUANG H C. PCB defect detection based on deep learning algorithm[J]. Processes, 2023, 11(3): 775. DOI:10.3390/pr11030775 (0)
[6]
LING Q, ISA N A M. Printed circuit board defect detection methods based on image processing, machine learning and deep learning: a survey[J]. IEEE access, 2023, 11: 15921-15944. DOI:10.1109/ACCESS.2023.3245093 (0)
[7]
LUO Q W, FANG X X, LIU L, et al. Automated visual defect detection for flat steel surface: a survey[J]. IEEE transactions on instrumentation and measurement, 2020, 69(3): 626-644. DOI:10.1109/TIM.2019.2963555 (0)
[8]
MING W Y, SHEN F, LI X K, et al. A comprehensive review of defect detection in 3C glass components[J]. Measurement, 2020, 158: 107722. DOI:10.1016/j.measurement.2020.107722 (0)
[9]
CZIMMERMANN T, CIUTI G, MILAZZO M, et al. Visual-based defect detection and classification approaches for industrial applications-a survey[J]. Sensors, 2020, 20(5): 1459. DOI:10.3390/s20051459 (0)
[10]
罗东亮, 蔡雨萱, 杨子豪, 等. 工业缺陷检测深度学习方法综述[J]. 中国科学: 信息科学, 2022, 52(6): 1002-1039.
LUO D L, CAI Y X, YANG Z H, et al. Survey on industrial defect detection with deep learning[J]. Scientia sinica (informationis), 2022, 52(6): 1002-1039. (0)
[11]
陶显, 侯伟, 徐德. 基于深度学习的表面缺陷检测方法综述[J]. 自动化学报, 2021, 47(5): 1017-1034.
TAO X, HOU W, XU D. A survey of surface defect detection methods based on deep learning[J]. Acta automatica sinica, 2021, 47(5): 1017-1034. (0)
[12]
CAO X H, XIE W, AHMED S M, et al. Defect detection method for rail surface based on line-structured light[J]. Measurement, 2020, 159: 107771. DOI:10.1016/j.measurement.2020.107771 (0)
[13]
NOOR A, ZHAO Y Q, KHAN R, et al. Median filters combined with denoising convolutional neural network for Gaussian and impulse noises[J]. Multimedia tools and applications, 2020, 79(25): 18553-18568. (0)
[14]
YANG R F, CHEN X L, GUO C X. Automated defect detection and classification for fiber-optic coil based on wavelet transform and self-adaptive GA-SVM[J]. Applied optics, 2021, 60(32): 10140-10150. DOI:10.1364/AO.437625 (0)
[15]
YUAN X C, WU L S, PENG Q J. An improved Otsu method using the weighted object variance for defect detection[J]. Applied surface science, 2015, 349: 472-484. DOI:10.1016/j.apsusc.2015.05.033 (0)
[16]
LIAO D H, CUI Z H, LI J, et al. Surface defect detection of Si3N4 ceramic bearing ball based on improved homomorphic filter-Gaussian filter coupling algorithm[J]. AIP advances, 2022, 12(2): 025325. DOI:10.1063/5.0082702 (0)
[17]
SHOU Q Y, ZHAO C Y, SHAO X F, et al. Transformer based deep learning denoising of single and multi-delay 3D Arterial Spin Labeling[J]. Magnetic resonance in medicine, 2024, 91(2): 803-818. DOI:10.1002/mrm.29887 (0)
[18]
CAO W M, LIU Q F, HE Z Q. Review of pavement defect detection methods[J]. IEEE access, 2020, 8: 14531-14544. DOI:10.1109/ACCESS.2020.2966881 (0)
[19]
LIANG Y, XU K, ZHOU P. Mask gradient response-based threshold segmentation for surface defect detection of milled aluminum ingot[J]. Sensors, 2020, 20(16): 4519. DOI:10.3390/s20164519 (0)
[20]
YANG C L, LIU P Y, YIN G F, et al. Defect detection in magnetic tile images based on stationary wavelet transform[J]. NDT & E international, 2016, 83: 78-87. (0)
[21]
JIANG J L, CUI C, WANG B H, et al. A Roberts cross operator combined with mathematical morphology algorithm for fabric defect detection[C]//2022 IEEE International Conference on Dependable, Autonomic and Secure Computing, International Conference on Pervasive Intelligence and Computing, International Conference on Cloud and Big Data Computing, International Conference on Cyber Science and Technology Congress. Piscataway: IEEE Press, 2022: 1-8. (0)
[22]
ZHANG Y F, WANG Z W, WANG Y H, et al. Research on image defect detection of silicon panel based on prewitt and canny operator[J]. Frontiers in physics, 2021, 9: 414. (0)
[23]
ZHOU X N, WANG Y N, ZHU Q, et al. A surface defect detection framework for glass bottle bottom using visual attention model and wavelet transform[J]. IEEE transactions on industrial informatics, 2020, 16(4): 2189-2201. (0)
[24]
NAND G K, NOOPUR, NEOGI N. Defect detection of steel surface using entropy segmentation[C]//2014 Annual IEEE India Conference. Piscataway: IEEE Press, 2014: 1-6. (0)
[25]
WANG J Z, LI Q Y, GAN J R, et al. Surface defect detection via entity sparsity pursuit with intrinsic priors[J]. IEEE transactions on industrial informatics, 2020, 16(1): 141-150. (0)
[26]
SHI B S, LIANG J Z, DI L, et al. Fabric defect detection via low-rank decomposition with gradient information and structured graph algorithm[J]. Information sciences, 2021, 546: 608-626. (0)
[27]
ZORIĆ B, MATIĆ T, HOCENSKI Ž. Classification of biscuit tiles for defect detection using Fourier transform features[J]. ISA transactions, 2022, 125: 400-414. (0)
[28]
ZHAO M, QIU W Y, WEN T X, et al. Feature extraction based on Gabor filter and Support Vector Machine classifier in defect analysis of Thermoelectric Cooler Component[J]. Computers & electrical engineering, 2021, 92: 107188. (0)
[29]
SULOCHAN H C. Fabric weave pattern detection based on fuzzy clustering and texture orientation features in wavelet domain[J]. Journal of textile science & engineering, 2018, 8(6): 1000383. (0)
[30]
LI M, WAN S H, DENG Z M, et al. Fabric defect detection based on saliency histogram features[J]. Computational intelligence, 2019, 35(3): 517-534. (0)
[31]
BONG H Q, TRUONG Q B, NGUYEN H C, et al. Vision-based inspection system for leather surface defect detection and classification[C]//2018 5th NAFOSTED Conference on Information and Computer Science. Piscataway: IEEE Press, 2018: 300-304. (0)
[32]
ZHAI Y J, YANG K, ZHAO Z Y, et al. Geometric characteristic learning R-CNN for shockproof hammer defect detection[J]. Engineering applications of artificial intelligence, 2022, 116: 105429. (0)
[33]
THIEN PHAM Q, LIOU N S. The development of on-line surface defect detection system for jujubes based on hyperspectral images[J]. Computers and electronics in agriculture, 2022, 194: 106743. (0)
[34]
HOFFMANN L F S, BIZARRIA F C P, BIZARRIA J W P. Applied algorithm in the liner inspection of solid rocket motors[J]. Optics and lasers in engineering, 2018, 102: 143-153. (0)
[35]
JING J F, ZHUO D, ZHANG H H, et al. Fabric defect detection using the improved YOLOv3 model[J]. Journal of engineered fibers and fabrics, 2020, 15: 155892502090826. (0)
[36]
LING Z G, ZHANG A R, MA D X, et al. Deep Siamese semantic segmentation network for PCB welding defect detection[J]. IEEE transactions on instrumentation and measurement, 2022, 71: 5006511. (0)
[37]
LI C S, HUANG Y J, LI H, et al. A weak supervision machine vision detection method based on artificial defect simulation[J]. Knowledge-based systems, 2020, 208: 106466. (0)
[38]
XIE Y F, HU W T, XIE S W, et al. Surface defect detection algorithm based on feature-enhanced YOLO[J]. Cognitive computation, 2023, 15(2): 565-579. (0)
[39]
GONG Y F, LUO J, SHAO H L, et al. A transfer learning object detection model for defects detection in X-ray images of spacecraft composite structures[J]. Composite structures, 2022, 284: 115136. (0)
[40]
LIU J H, GUO F, GAO H, et al. Defect detection of injection molding products on small datasets using transfer learning[J]. Journal of manufacturing processes, 2021, 70: 400-413. (0)
[41]
LIU J H, WANG C Y, SU H, et al. Multistage GAN for fabric defect detection[J]. IEEE transactions on image processing, 2019, 29: 3388-3400. (0)
[42]
ZHANG G W, PAN Y, ZHANG L M. Semi-supervised learning with GAN for automatic defect detection from images[J]. Automation in construction, 2021, 128: 103764. (0)
[43]
ZHANG J B, SU H, ZOU W, et al. CADN: a weakly supervised learning-based category-aware object detection network for surface defect detection[J]. Pattern recognition, 2021, 109: 107571. (0)
[44]
HE K K, LIU X T, LIU J, et al. A multitask learning-based neural network for defect detection on textured surfaces under weak supervision[J]. IEEE transactions on instrumentation and measurement, 2021, 70: 5016914. (0)
[45]
DONG X H, TAYLOR C J, COOTES T F. Automatic aerospace weld inspection using unsupervised local deep feature learning[J]. Knowledge-based systems, 2021, 221: 106892. (0)
[46]
HE L J, SHI N, MALIK K, et al. Unsupervised defect inspection algorithm based on cascaded GAN with edge repair feature fusion[J]. Applied intelligence, 2022, 52(2): 2051-2069. (0)