1. 引言
电子信息产业近年来在全球范围内迅猛发展,以平板电脑和智能手机为代表的市场热点电子产品得到了广泛关注。这些电子产品的不断发展对社会变革产生了深远影响,并被各主要国家视为战略性发展产业。随着工业4.0时代的到来,机器视觉在3C制造领域扮演着越来越重要的角色。在电子元器件的缺陷检测领域,人工目视检查是对工业产品进行质量控制的传统方法 [1] 。人工视觉检测因其采样率低、实时性差、检测置信度低等缺点,无法满足现代工业生产线的效率和质量要求 [2] 。目前,机器视觉是实现智能制造的关键技术之一,已成为替代人工视觉检测的有效手段 [3] [4] 。其中主要采用基于机器学习的传统图像处理算法和基于深度学习的智能图像算法。
先进的工业系统需要越来越高的产品性能,同时也越来越需要在生产过程中进行质量控制 [5] [6] 。Capizzi等 [7] 提出了一种基于空间灰度共生矩阵的检测器,采用径向基概率神经网络来检测水果上的缺陷。Li等 [8] 使用空间灰度共生矩阵进行纹理特征分析,并将其与快速离散曲波变换相结合,在铁氧体上实现了93.3%的检测率。Chen等 [9] 提出具有纹理骨架结构的模型和Bennamoun等 [10] 提出的纹理斑点的检测方法用于纺织物图像上的缺陷检测。然而,深度卷积网络的出现为解决图像特征提取中的复杂性和盲目性问题提供了新的途径。Lin等 [11] 开发了一种名为LEDNet的卷积神经网络来检测和分类LED芯片上的缺陷,实现了5.05%的误报率。Kumar等 [12] 使用深度卷积神经网络来检测和分类下水道缺陷,取得了86.2%的准确率。Wang等 [13] 开发了一种基于Fast RCNN算法的几何复杂产品的缺陷分类,取得了81%的分类准确率。
本文旨在基于双通道多模态卷积分类网络提出一种新的电子元器件缺陷分类检测。首先,为提高模型的泛化能力,本文使用Top光源和Side光源两个模态的数据。其次,为了解决样本不足的问题,本文采用PCA Jittering方法对数据集进行扩增,以增加数据集的多样性和提高模型的泛化能力。最后,为了更好地处理不同模态数据,本文设计一种基于双通道多模态卷积网络有效融合多种模态数据的特征,以提高电子元器件缺陷的分类准确性和稳定性。
本文目标是为电子信息产业的发展提供技术支持和应用前景。通过提高电子元器件缺陷检测的准确性和效率,可以为电子制造行业的质量控制和生产效率提升做出重要贡献,并通过实验证明其有效性和可行性。
2. 提出方法
2.1. 卷积神经网络
卷积神经网络(Convolutional Neural Networks, CNN)是一种深度学习模型,广泛应用于计算机视觉领域,特别适用于图像和视频数据的处理与分析 [14] 。它的设计灵感源自于生物学中视觉皮层的神经结构。
卷积神经网络通过多个卷积层、池化层和全连接层构成,其中每个层都由一系列可学习的过滤器(也称为卷积核)组成。这些过滤器在输入数据上进行局部感知和特征提取,通过卷积操作捕捉输入数据的局部关联性。卷积层的输出被传递到池化层,池化层通过降采样操作减少特征图的空间尺寸,从而减少网络参数数量并增强特征的不变性。最后,通过全连接层将提取到的特征映射到最终的输出类别或预测结果。
卷积神经网络具有几个重要的特点:卷积神经网络能够自动学习和提取图像中的特征,无需手动设计特征提取器;卷积操作和共享权重的机制使得网络在处理图像等大型数据时具有高效性和参数共享的能力;卷积神经网络还通过层级结构逐渐提取出越来越抽象和高级的特征表示,从而更好地理解和解释图像的语义信息。
2.2. ResNet
残差网络(Residual Network, ResNet) [15] 是一种深度卷积神经网络架构,由微软亚洲研究院的研究团队于2015年提出。ResNet的设计目标是解决深层网络训练中的梯度消失和梯度爆炸问题,以及改善网络随着深度增加而出现的性能退化现象。
传统的卷积神经网络在网络深度增加时,容易出现梯度信号的衰减或爆炸,导致模型难以训练。为了解决这个问题,ResNet引入了“残差学习”的思想。其核心思想是通过引入跨层连接(shortcut connection)来构建残差模块(residual block),允许网络学习恒等映射(identity mapping)和残差映射(residual mapping)之间的差异。
在ResNet中,残差模块的输入和输出之间通过跨层连接进行直接相加操作。该设计允许网络通过跳过几个层直接传递信息,避免了信息在网络层之间的不必要的变换和损失,有助于保持梯度的流动。此外,ResNet还引入了批量归一化(batch normalization)和修正线性单元(ReLU)等常用的激活函数和正则化技术,进一步增强网络的表达能力和训练稳定性。
通过残差学习的机制,ResNet可以构建非常深的网络,如ResNet-50、ResNet-101和ResNet-152等。这些网络在各种计算机视觉任务中表现出色,包括图像分类、目标检测和语义分割等。此外,ResNet的设计思想也对其他网络架构的发展产生了深远的影响,成为了后续深度学习网络设计的重要基石。
总之,ResNet通过引入残差学习的思想和跨层连接的结构,在解决深层网络训练问题上取得了重大突破,极大地促进了深度神经网络的发展和应用。
2.3. 多模态数据
本文实验使用Top光源和Side光源的两个模态的数据,即同轴光源和侧面光源,如图1所示。前者指光线从顶部或者正上方入射相机的情况。当光线从上方照射被拍摄物体时,可以提供均匀的照明效果,减少阴影和反射,适用于一些需要无阴影和高对比度的应用场景。后者指光线从侧面或者侧方入射相机的情况。当光线从侧面照射被拍摄物体时,可以凸显物体表面的纹理和细节,形成明暗对比,适用于一些需要强调表面细节和纹理的应用场景。
对于Top光源和Side光源两个模态数据的使用,可以提高深度学习模型的性能和表现。不同的模态数据可能包含不同的特征和信息,通过融合这些特征,模型可以获得更全面和准确的特征表示。这有助于提高模型的泛化能力、分类准确率和预测能力。
同时,不同模态的数据在特征上具有互补性。通过结合不同模态的数据,可以获得更多样化的特征表示,从而增强模型的表达能力。
(a)
(b)
Figure 1. (a) Side view image of the component; (b) Top view image of the component
图1. (a) 元件Side光图像;(b) 元件Top光图像
2.4. PCA Jittering数据扩增
主成分分析(Principal Component Analysis, PCA) Jittering是一种数据扩增方法,通过对原始数据集进行PCA和随机扰动,生成新的样本以增加数据集的多样性。以下是PCA Jittering的具体步骤:
① PCA:对原始数据集进行主成分分析,目的是找到数据集中的主要变化方向。这可以通过计算数据集的协方差矩阵、提取特征向量和特征值来实现。
② 特征向量选择:根据特征值的大小排序,选择最大的k个特征向量作为主要变化方向。这些特征向量对应于数据集中的主要模式和变化。
③ 随机扰动:对于每个原始样本,通过随机生成一个扰动量来引入随机性。扰动量的每个元素都是从一个正态分布中随机采样得到的。扰动量的计算公式为:
(1)
其中,
为正态分布中采样的随机数,
为特征值的平方根,
为特征向量。
④ 数据重构:将原始样本与扰动向量相加,得到新的样本。这些新样本包含了原始样本的主要变化方向以及随机扰动引入的变化。
⑤ 重复步骤③和步骤④:对于原始数据集中的每个样本,重复步骤③和步骤④,生成多个扩增样本。
通过PCA Jittering方法,本文可以生成一系列与原始数据集具有相似特征但具有一定随机性的新样本,原始图像和PCA Jittering处理后图像如图2所示。这有助于扩大数据集的规模和多样性,提高模型的泛化能力,并减轻过拟合问题。同时,这种方法还能够保留数据集中的主要模式和变化,确保扩增样本与原始样本之间的一致性。
(a)
(b)
Figure 2. (a) Original image of the component; (b) image of the component after PCA Jittering processing
图2. (a) 原始元件图像;(b) PCA Jittering处理后元件图像
本文网络结构
本文使用的双通道网络如下:
如图3所示,本文双通道网络是基于ResNet50架构的深度卷积神经网络,旨在处理多模态数据并实现特征融合。该网络的设计思想是通过同时处理两个通道的输入数据,并在最后的全连接层中将两个通道的特征进行融合,从而提高模型的性能和泛化能力。
网络的基础部分是ResNet50,它由多个残差块组成,用于提取输入数据的深层特征。每个残差块包含多个卷积层和恒等映射连接,以有效地传递和学习输入数据的信息。
在双通道网络中,本文将ResNet50的最后一个全连接层进行修改,以适应多模态数据的处理。具体地,本文进行了通道逐元素相乘,将来自不同通道的特征进行逐元素相乘操作,从而融合不同通道的信息。逐元素相乘可以提供通道间的相互作用和交互,从而提升特征的表达能力。在特征融合阶段,本文将两个通道的全连接层的输出进行融合。这样可以将两个通道的特征信息有效地结合起来,提供更全面和丰富的特征表示。最后,本文将融合后的特征传递给一个具有softmax激活函数的全连接层,用于进行分类任务。该全连接层的输出为各个类别的概率分布,通过对概率进行归一化,可以得到输入数据所属类别的预测结果。
本文双通道网络的设计能够充分利用多模态数据的信息,并通过特征融合提高模型的性能。它在处理多模态任务、融合不同数据源的特征等方面具有广泛的应用潜力。
3. 实验部分
3.1. 数据集
本实验数据均使用工业相机采集自真实生产流水线中的工业元器件图像样本。原始数据样本共18,835张,其中Pass类别样本9864张,Fail类别样本8972张。经PCA Jittering方法数据扩增后,本文随机选取15,000张Pass类别数据,15,000张Fail类别数据,并使用8:1:1的比例将数据分为训练集、验证集和测试集,数据量分别为24,000张、3000张和3000张。
3.2. 实验环境
本实验在Windows10系统Tensorflow深度学习框架下进行,使用Intel(R) Core(TM) i9-10920X CPU @ 3.50GHz 3.50 GHz处理器,64GB DDR4内存,并使用NVIDIA GeForce RTX 3090显卡。
3.3. 评价标准
为了计算本文所提出分类框架的性能,采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)来评价结果的质量。公式如下:
, (2)
, (3)
, (4)
其中,TP,TN,FN和FP分别代表真阳性、真阴性、假阴性和假阳性。
3.4. 实验结果与分析
本文实验所使用的网络基础参数如下:学习率为0.001,并采用学习率退火算法,具体使用了Step Decay的方式,即在每训练5个epoch后,将学习率按0.9的比例进行衰减。Batch Size的大小为64,Dropout的取值为0.6,epoch为2000轮次。
3.4.1. 多模态数据验证
为验证多模态数据的有效性,本文设置了使用原始数据Top和Side两种光源单独和组合实验进行比较。

Table 1. Effect analysis of different modal experiments
表1. 不同模态实验效果分析
实验结果如表1所示,在Top光源下,模型在精确率上取得了较好的表现。这表明Top光源可以提供均匀的照明效果,减少阴影和反射的干扰,有利于模型对Fail类别图像进行准确分类。另一方面,在Side光源下,模型在召回率上表现出色。这表明Side光源可以凸显物体表面细节,有利于模型对Pass类别图像进行有效识别。因此,单独使用Top光源和Side光源都可以提供一定的优势,但在不同的评估指标上表现不同。
同时,本文对Top光源和Side光源的组合进行了实验。实验结果显示,在组合光源的情况下,模型在多个评估指标上都取得了显著的改进,模型的性能大幅提升。这表明通过结合Top光源和Side光源,可以获得更全面和丰富的信息表达,从而增强模型的表现能力。组合光源的使用允许模型同时受益于Top光源提供的均匀照明和Side光源提供的纹理和细节强调,使得模型能够更好地理解和解决复杂的问题。
综合而言,实验结果验证了多模态数据的有效性。通过利用Top光源和Side光源的组合,模型在不同的评估指标上取得了优秀的性能。这证明了多模态数据的优势,即通过融合不同模态的数据可以获得更全面、准确的特征表示,从而提高模型的性能和泛化能力。这对于解决实际应用中的复杂问题具有重要意义。
3.4.2. PCA Jittering方法验证
为验证PCA Jittering方法的有效性,在使用多模态数据的基础上,本文设置了原始数据和使用PCA Jittering数据扩增方法实验进行比较。

Table 2. Effect analysis of data augmentation
表2. 数据扩增效果分析
首先,本文对原始数据集进行了实验。实验结果如表2所示,在原始数据集上训练的模型能够对图像进行一定程度的分类,但各方面指标都没有特别突出。其次,本文对应用了PCA Jittering数据扩增方法的数据集进行了实验。实验结果显示,模型在多个评估指标上都取得了显著的改进,模型的性能大幅提升。这表明通过应用PCA Jittering数据扩增方法,可以增加数据集的多样性和丰富性,提供更多样化的训练样本,从而增强模型的学习能力和泛化能力。PCA Jittering方法通过在原始图像上应用主成分分析和随机扰动的方式,生成了更多样的图像样本,丰富了数据集的特征表示。
综合而言,实验结果验证了PCA Jittering数据扩增方法的有效性。通过应用该方法,模型在各个评估指标上取得了显著的改进。这证明了PCA Jittering方法对于缺乏数据多样性的问题具有一定的解决能力,可以增加数据集的丰富性,提高模型的性能和泛化能力。
3.4.3. 双通道网络结构验证
为验证双通道网络的有效性,在使用多模态数据和PCA Jittering方法的基础上,本文设置了原始ResNet50网络和使用双通道网络实验进行比较。

Table 3. Effect Analysis of the proposed network and the original network
表3. 本文网络与原始网络实验效果分析
首先,我们对使用原始ResNet50网络进行了实验。实验结果如表3所示,模型在各个指标上取得了一定的表现。原始ResNet50网络作为一种经典的深度学习网络,在图像分类任务上具有一定的性能。然而,它可能在处理特定任务或特定数据集时存在一定的局限性。接下来,我们对使用双通道网络进行了实验。实验结果显示,相比原始ResNet50网络,双通道网络在多个评估指标上取得了显著的改进。特别是在综合评估指标下,模型的性能有了显著提升。这表明通过引入双通道结构,能够更好地捕捉和利用不同模态数据的特征信息,提高模型对多模态数据的理解和处理能力。双通道网络通过设计一种基于特征融合的结构,能够有效地融合不同模态数据的信息,提供更全面和丰富的特征表示。
综合而言,实验结果验证了双通道网络的有效性。相比原始ResNet50网络,双通道网络在多个评估指标上取得了显著的性能提升。这证明了双通道网络对于处理多模态数据具有重要意义,可以提高模型的性能和泛化能力。
4. 结语
本文针对多模态数据的处理问题,在电子元器件缺陷分类任务中进行了研究。首先,通过使用Top光源和Side光源两个模态的数据,我们展示了多模态数据在电子元器件缺陷分类任务中的重要性。实验结果表明,结合不同模态的数据可以提供更全面和准确的信息,从而显著提升了模型的性能。这进一步证实了在深度学习中利用多模态数据的好处,特别是在处理复杂任务和丰富信息的情况下。其次,为了解决训练样本不足和类间样本不平衡的问题,本文引入了PCA Jittering数据扩增方法。实验结果表明,通过对数据集进行PCA Jittering扩增,可以增加数据集的多样性和丰富性,提高模型的泛化能力。这一方法通过应用主成分分析和随机扰动的方式,生成更多样的图像样本,有效地增强了模型的学习能力。最后,本文设计了一种基于特征融合的双通道卷积神经网络,以实现对不同模态数据的有效覆盖。实验结果显示,与传统的单通道网络相比,双通道网络在电子元器件缺陷分类任务中取得了显著的性能提升。该网络通过设计一种特征融合的结构,能够更好地捕捉和利用不同模态数据的特征信息,提高了模型的准确性和鲁棒性。
综上所述,本文的研究工作证实了多模态数据的重要性和有效性,以及PCA Jittering数据扩增方法和双通道网络在电子元器件缺陷分类任务中的优势。这些研究结果为深度学习中处理多模态数据和提高模型性能的相关领域提供了有益的指导和参考。未来的研究可以进一步探索更复杂的多模态数据处理方法和网络结构,以应对更具挑战性的任务和应用场景。
5. 未来挑战与展望
本文实验仅考虑了Top光源和Side光源的组合,还有其他可能的光源组合方式可以进行进一步研究和探索。此外,对于不同的任务和数据集,可能需要调整光源组合的方式和参数设置,以获得最佳的性能。这为未来的研究提供了进一步的方向和挑战。