计算机系统应用  2023, Vol. 32 Issue (4): 361-367   PDF    
基于改进MobileNetV3的色环电阻识别
易子娟, 贾渊     
西南科技大学 计算机科学与技术学院, 绵阳 621010
摘要:针对现有色环电阻识别方法中鲁棒性差、准确率低和运行速度慢等问题, 在MobileNetV3网络的基础上提出了一种轻量级的色环电阻图像识别算法. 首先在自建的色环电阻数据集上进行数据增强以增加样本数量, 提高模型鲁棒性. 然后在瓶颈结构中使用CBAM注意力模块, 增加模型在空间和通道上对特征的细化能力以提高模型准确率. 接着优化分类层, 删掉冗余的升维操作, 在提高准确率的同时减少参数量, 提高模型运算速度. 最后分别针对特征图大小和通道数不相等时添加跳跃连接, 提高模型在深层网络中的特征提取能力, 进一步提高模型准确率. 实验结果表明, 该模型在自建数据集上的识别准确率达到了98%, 可快速准确的对色环电阻进行识别. 该模型能够为电阻自动化识别提供新的技术参考.
关键词: 图像分类    卷积神经网络    机器视觉    MobileNet    注意力模块    电阻识别    
Recognition of Color-ring Resistors Based on Improved MobileNetV3
YI Zi-Juan, JIA Yuan     
School of Computer Science and Technology, Southwest University of Science and Technology, Mianyang 621010, China
Abstract: To address the poor robustness, low accuracy, and slow operation of existing color-ring resistor recognition methods, this study proposes a lightweight image recognition algorithm for color-ring resistors based on the MobileNetV3 network. Firstly, data augmentation is conducted on a self-built data set to increase the sample size and improve the robustness of the model. Secondly, a convolutional block attention module (CBAM) attention module is utilized in the bottleneck structure, which can enhance the ability of the model to refine features in space and channels for accuracy improvement. Thirdly, the classifier is optimized by removing the redundant dimension-increasing operations, which can reduce the number of parameters while improving accuracy and thereby speed up the operation of the model. Finally, a skip connection is embedded in the network in response to unequal feature image sizes and channel numbers. This makes the model able to extract more features from deep networks and improves accuracy. The experimental results show that the model can recognize color-ring resistors quickly and accurately, with its accuracy reaching 98% on the self-built data set. The model can provide a new technical reference for the automatic recognition of resistors.
Key words: image classification     convolutional neural networks (CNN)     machine vision     MobileNet     attention module     resistor recognition    

色环电阻是一种电子元器件, 常用于电子电路中. 由于电阻很小很难直接进行阻值标注, 因此通常会在电阻表面涂上不同颜色的条带来表示该电阻的阻值. 色环电阻识别是工业生产过程中非常重要的一环, 而长时间观察条带颜色导致的视觉疲劳会造成识别错误多、效率低下. 因此对色环电阻进行自动化识别在工业生产过程中具有十分重要的意义.

近年来, 对色环电阻图像的识别取得了一定的进展. Jadon等[1]采用固定阈值分割方法对色环条带进行分割, 并通过计算每个条带各个通道像素的平均值来判断条带颜色, 进而得到该电阻类别. 刘小燕等[2]先采用最小外接矩形法获得电阻的矩形轮廓, 然后根据轮廓信息垂直校正电阻, 继而通过高斯模板匹配方法确定色环条带的位置, 最后对条带的颜色进行识别. Demir等[3]是在实时视频中进行电阻识别, 先用中值滤波降噪, 然后将RGB视频帧转化到HSV空间以降低对光照的敏感度, 最后用基于欧氏距离的聚类方法识别条带颜色. 但该方法局限在于识别时电阻必须对齐相机中心的一条水平指示线以便于条带的提取. Muminovic等[4]提出的方法是在简单背景下对多个电阻识别, 需先用阈值分割法将单个电阻从整张图像中分割出来, 然后用形态学处理方法对电阻轮廓进行细化, 再对分割的图像进行轮廓检测以便校正电阻位置, 最后用支持向量机进行分类. 本质来讲, 这些识别方法的特征提取需要人为设计, 而对不同角度、不同距离和不同光照条件下的色环电阻图像识别问题, 鲁棒性较差.

当今时代, 计算机性能的提升和大数据技术的进步促进了深度学习技术的发展. 基于深度学习的图像识别方法因其特征提取能力强, 识别精度高等优点被广泛应用[5]. 例如, 胡京徽等[6]使用改进的InceptionV3网络模型对航空紧固件实现自动分类. 黄欣等[7]分别将AlexNet、VGG16和ResNet等卷积神经网络模型应用于X线胸片的疾病分类问题中. 丁维龙等[8]将优化的空间变换网络加入到AlexNet网络结构中, 以实现对手腕骨图像成熟等级的识别. 陈智超等[9]选用MobileNetV2模型为主干网络, 嵌入注意力模块并设计多尺度的特征融合结构, 提出了一个低功耗、高精度的垃圾图像分类模型. 张家钧等[10]为了在分辨率有限的图像中提取到更具判别性的特征, 在残差网络的基础上引入注意力模块和Label smoothing用于对鞋型的识别. 侯向宁等[11]将SE视觉注意力模块引入VGG16模型, 用于对花卉图像分类.

目前, 由于缺乏公开的色环电阻图像识别数据集, 将卷积神经网络用于色环电阻图像识别任务的工作还较少. 本文采用基于改进的MobileNetV3[12]网络模型对色环电阻进行识别, 构造了色环电阻识别数据集并对其进行数据增强, 有效地解决了传统图像处理方法中鲁棒性差的问题. 并进一步探索设计低消耗、高精度的色环电阻图像识别算法. 本文针对色环电阻图像不同类别之间外观高度相似的问题, 通过引入CBAM[13]注意力模块使网络更加关注图像中的关键特征, 以增强网络对特征的细化能力, 提高模型的准确率. 其次, 针对原始模型中分类器模块不够高效的问题, 删掉了冗余的升维操作, 只需采用一层全连接, 可以在减少开销的同时提高分类准确率和运行速度. 最后, 针对色环电阻图像结构较为单一无法在深层网络中学到更多有效的特征组合, 重新设计跳跃连接结构, 提高模型性能. 实验结果表明, 经过本文改进的MobileNetV3网络模型具有鲁棒性好、准确率高、运行速度快等特点, 为实现色环电阻自动化识别提供了新的技术参考.

1 理论基础 1.1 MobileNetV3模型原理

MobileNetV3是谷歌于2019年提出的轻量化网络模型. 网络结构延续了MobileNetV2[14]中的倒残差结构, 即先用逐点卷积(pointwise convolution, PW)进行升维, 然后在一个更高维空间中使用深度卷积(depthwise convolution, DW)来提取特征, 最后再用PW卷积进行降维. 模型结构的设计采用了自动网络架构搜索技术(neural architecture search, NAS)和NetAdapt算法, 即先通过优化每个网络块来搜索全局网络结构, 然后通过NetAdapt算法来确定网络每层的卷积核数量.

1.2 注意力模块

注意力模块是一种能提高特征权重的有效手段, 通过模仿人类大脑处理学习时的一种机制, 即关注重点区域, 而忽视不重要的部分. 这样做的目的就是增加了有用特征的权重, 从而获得更多目标的细节信息, 提高分类准确率.

2017年SENet (squeeze-and-excitation networks)[15]通过引入了SE模块让网络自动学习获取每个通道的权重, 从而以较小的计算开销得到较大的性能提升. SE模块的整个过程先采用压缩(squeeze)操作将输入特征图进行全局平均池化得到压缩后的特征向量, 然后使用激发(excitation)操作得到特征图中每个通道的权重, 最后将得到的权重与对应的特征图相乘得到校准后的特征图.

在原MobileNetV3模型中, SE模块被添加到瓶颈结构的DW层之后. 同时为了降低延迟, 将SE模块中的第1个全连接层输出结点个数变为输入结点个数的1/4, 第2个全连接层输出结点个数与通道数保持一致, 提高精度的同时可以减少额外计算开销.

此外, Wang等[16]在SE模块的基础上进一步提出了一种新的轻量级通道注意力模块(efficient channel attention, ECA), 并认为降维不利于通道注意力的学习, 且对不同通道进行交互可以在保持性能的同时降低模型的复杂性. 因此, 采用全局平均池化得到和特征图通道数相同的通道注意向量, 然后通过1维卷积完成跨通道间的信息交互. Woo等[13]提出了卷积注意模块(convolutional block attention module, CBAM), 可以在通道和空间两个维度上对特征图进行注意力权重的推断, 然后将注意力权重与输入的特征图相乘以进行自适应的特征细化. 通道注意模块的构造与SE模块相似, 不同的是采用了多种类型的池化操作来聚合全局信息. Hou等提出了坐标注意力模块(coordinate attention, CA)[17], 该模块在通道注意力中加入了位置信息, 使网络能够以较小的计算代价获得更大区域的信息. Yang等[18]提出了一个简单的, 无参数的注意力模块SimAM (simple, parameter-free attention module), 该模块能够直接估计三维权重, 而不需要扩展到一维或二维.

2 改进后的MobileNetV3模型

本文改进后的MobileNetV3模型结构如图1所示.

图 1 改进后的MobileNetV3模型结构

图1中, Conv2d为标准卷积层, BN为批归一化处理层, AvgPool2d为平均池化层, Linear为全连接层. Bneck为瓶颈结构, 在所有的瓶颈结构均中添加CBAM注意力模块, 虚线框为优化后的分类器结构. Skip-connectionA是原MobileNetV3模型中为瓶颈结构设计的跳跃连接. 为了使所有瓶颈结构都能进行跳跃连接, 本文还额外设计了Skip-connectionB、Skip-connectionC和Skip-connectionD这3种不同跳跃连接方式.

2.1 引入更有效的注意力模块

由于色环电阻图像整体外观相似, 不同类别主要区别在于色环条带的颜色. 因此注意力模块的引入可以使模型有选择的关注图像中更为重要的位置区域. 本文分别将第1.2节中介绍的CA、SimAM、ECA和CBAM等注意力模块添加到网络模型中, 通过实验结果分析确定最有效的注意力模块.

2.2 分类器结构的优化

原MobileNetV3模型的分类器是针对ImageNet数据集上的1000个类别设计的, 需先采用PW卷积将特征图的维度从96升到576维, 然后进行全局平均池化得到长度为576的向量, 再通过两次全连接得到输出结果. 原模型的分类器结构如图2所示.

而自建数据集的目标类别仅为14, 与原网络相比具有较大差异, 所以仅调整神经元数量难以发挥网络的特征识别能力. 因此, 为了对提取到的特征进行更好的分类. 本文根据特征提取的维度对模型结构中的分类器进行优化. 去掉了冗余又耗时的多次升维操作, 仅通过一个全连接层, 将经过池化后的特征图直接映射到目标类别数, 改进后的分类器结构如图1中虚线框所示.

图 2 原模型的分类器结构

2.3 跳跃连接结构的改进

神经网络的每一层都会提取到不同的特征, 当网络越深, 提取到的特征信息就越多. 但色环电阻图像结构相对单一且具有相似的外观, 过深的网络可能无法学到更为复杂的特征组合, 因此在网络中添加跳跃连接, 可以保证在深层网络中仍能提取到有效特征, 达到提高模型准确率的目的. 原MobileNetV3模型仅在当输入和输出特征图大小和通道数均相同时进行Skip-connectionA跳跃连接, 即原模型跳跃连接只发生在Bneck_3、Bneck_5、Bneck_6、Bneck_8、Bneck_10和Bneck_11瓶颈结构中.

为了在更多瓶颈结构中进行跳跃连接, 本文针对输入与输出特征图大小和通道数不同的情况, 分别对跳跃连接结构进行改进. 当输入特征图大小和通道数与输出特征图大小和通道数均不相等时, 采用Skip-connectionB进行跳跃连接, 先使用平均池化调整特征图大小再使用PW卷积调整通道数量. 当输入特征图大小与输出特征图大小相同但通道数不同时, 采用Skip-connectionC进行跳跃连接, 此时只需使用PW卷积调整通道数量. 当输入通道数与输出通道数相同但特征图大小不等时, 采用Skip-connectionD进行跳跃连接, 此时只需使用平均池化调整特征图大小. 4种不同的跳跃连接结构如图3所示.

图 3 跳跃连接结构

3 实验分析 3.1 数据集的采集与扩充

由于目前尚未有公开用于色环电阻图像识别的数据集, 本文构建了一个针对该任务的数据集. 参照实际的分类场景, 在不同背景、不同角度、不同物距和不同光照条件下进行拍摄采集, 保证样本的多样性. 对采集到的电阻图像进行筛选整理并构建数据集. 以条带颜色英文简写的排列顺序对电阻类别进行命名, 类别样例图像和对应标签如图4所示. 共14个类别, 每个类别均为120张, 累计1680张图像. 在训练过程中, 按6:4划分为训练集(1008张)、验证集(672张).

训练卷积神经网络需要大量数据样本才能充分提取类别特征, 因此首先使用图像裁剪、随机水平翻转、随机垂直翻转、随机旋转等方法对训练集进行数据增强, 最终将训练集扩增到8064张. 此外, 为提高算法的鲁棒性, 在训练过程中对图片按顺序随机进行以下操作: 锐度调整, 随机选择亮度、对比度、饱和度或色调进行抖动, 添加高斯噪声和随机擦除等. 这些操作可以增加样本颜色特征的多样性, 提高模型鲁棒性和泛化能力.

图 4 自建数据集类别图像及对应标签示例图

3.2 评价指标与环境配置

实验使用准确率、混淆矩阵、参数量和计算量等指标来综合分析算法的性能.

准确率(accuracy)表示在所有类别中分类正确的样本数量占样本总数量的比例. 在多分类的图像分类任务中, 混淆矩阵可以反映各类别之间相互误分的情况. 横坐标为真实标签, 即每一列对应真实属于该类别的所有样本. 纵坐标为预测标签, 每一行对应预测认为属于该类别的所有样本. 此外, 还有针对每一个类别的精确率(precision)和召回率(recall). 精确率表示针对该类别, 在所有预测为该类别的样本中, 预测正确的比例. 召回率又称为查全率表示针对该类别, 在真实标签为该类别的所有样本中, 预测正确的比例. 此外, 为了考虑网络模型的应用部署, 使用参数量和计算量评估网络模型复杂度. 参数量(parameters, Params)是模型大小的评价指标, 与模型在磁盘中所占用的空间大小直接相关, 会影响最终部署软件包的大小. 计算量(multiply accumulates, MACs)是模型速度的评价指标, 卷积神经网络的计算主要来自前向推理过程中需要执行的乘法和加法的运算次数, 因此使用乘加累积操作数进行计量.

实验基于Ubuntu 20.0.4操作系统, 使用PyTorch 1.11和Python 3.9的深度学习环境. 硬件配置如下: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50 GHz, 显卡为GeForce RTX 3080 (10 GB显存). 在训练过程中, 采用动量参数为0.9, 权值衰减参数为1E–2的随机梯度下降法进行优化, 批大小设置为64. 损失函数采用交叉熵损失函数. 初始学习率为0.005, 并每隔25步将学习率调整为原来的0.1倍(固定步长衰减策略), 共进行150次迭代.

3.3 注意力模块引入对比实验

为了验证本算法中注意力模块的有效性, 分别使用CA、SimAM、ECA和CBAM等注意力模块进行对比实验. 将以上注意力模块分别加入到瓶颈结构的DW卷积层之后, 替换原模型中的SE注意力结构, 实验结果如表1所列.

表 1 引入注意力模块的MobileNetV3模型实验对比

表1可以看出, 由于CA注意力模块更适用于具有更多特征空间信息的前半部分, 而在实验中均将注意力模块插入在网络的所有瓶颈结构中, 使得准确率略有下降. 而SimAM和CA模块的插入使得准确率分别提高了0.74%和1.19%, 且降低了参数量. CBAM模块以96.88%的准确率优于其他模型, 虽增加了微量的开销, 但能更好地从通道和空间维度上提高对色环电阻特征的细化能力.

3.4 分类器优化方法对比实验

本文对分类器结构进行了优化, 用于减少网络参数增加模型性能. 表2为分类器结构优化前后的整体性能表现, 表3为优化前后各类别性能. 从表2中可以看出, 优化后的结构使模型的准确率从95.24%提高了97.32%, 增加了2.08个百分点, 参数量从2.54M下降到0.96M, 计算量保持不变. 这是因为对分类器结构的优化减少了全连接层结点个数, 参数量也相应下降. 从表3中也可以看出, 分类器结构的优化使得多数类别的准确率和召回率均得到有效提高, 经过优化后的网络能更好地对电阻进行预测.

表 2 分类器优化前后的性能对比

表 3 分类器优化前后各类别的性能对比 (%)

3.5 消融实验对比

本文算法的改进有: 在瓶颈结构中加入CBAM注意力模块、对分类器结构进行优化、改进跳跃连接结构. 为深入了解各项改进对模型性能提升的贡献, 分别将本文算法拆分为4组不同的实验, 结果如表4所列.

表4可以看出, 在只加入了CBAM注意力模块的MobileNetV3_A模型中准确率提高了1.64%, 但注意力模块的加入使得参数量增加了0.05 M, 计算量增加了0.03 G, 表明注意力模块在牺牲少量速度的情况下可以大幅提高模型准确率. 在加入了注意力模块和分类器优化的MobileNetV3_B模型中, 准确率进一步提高了1.19%, 且模型参数量缩减了一倍以上, 表明经过优化后的分类器结构不仅能够提高分类效果, 还能大幅减少参数量. MobileNetV3_C模型在MobileNetV3_B模型的基础上增加了改进的跳跃连接结构, 使得准确率再次提高了0.14%, 表明跳跃连接的设计能提高模型的特征提取能力. 最终改进后的MobileNetV3模型较原始模型准确率提升2.97%, 模型参数量也缩减了一倍以上. 混淆矩阵如图5所示.

表 4 消融实验对比

图 5 混淆矩阵

图5中可以直观地看出BBBG、BBGG、GBBG、RBBG、RRBG和YBRG类别中的所有样本均能分类正确, 召回率达到了100%. 而BRBG、RBRG、RRBG_和YBBG类别中仍有2个样本未正确分类, 召回率只有95.83%. 针对BBGG类别, 虽然召回率较高但是其他类别很容易误分为BBGG, 其精确率较低, 仅为90.56%.

3.6 与其他网络模型对比实验

为了进一步验证本文改进后模型的性能, 将其与AlexNet、VGG16、ResNet18、GoogLeNet、InceptionV3和EfficientNet-B0等经典模型进行对比实验, 测试结果如表5所列.

通过实验结果可以看出, GoogLeNet和IncepitonV3模型对色环电阻的识别效果较差, 而传统的经典网络如AlexNet、VGG16_BN和ResNet18等都取得了较高的准确率. 其中ResNet18准确率最高, 但是参数量和计算量都较大. 而本文模型准确率达到98.21%, 虽略低于ResNet18. 但是参数量和计算量仅为其的1/10, 综合性能更佳.

表 5 不同网络模型实验结果对比

4 结论与展望

将MobileNetV3模型应用于色环电阻图像识别任务, 解决了传统图像处理方法中鲁棒性差等问题. 并进一步在MobileNetV3模型基础上进行改进. 采用的CBAM注意力模块有效增强了模型对特征的细化能力, 提高了分类准确率. 分类器的优化不仅去除了原MobileNetV3模型中冗余结构, 降低了参数量, 还提高了模型精度. 跳跃连接结构的改进有效保证了在深层网络中仍能提取细化特征. 实验结果表明, 本文改进的模型准确率达到了98.21%, 且参数量为1.03 M, 计算量为0.09 G, 为色环电阻图像快速自动化识别提供了一种可行方案. 此外, 本算法研究的是单标签的色环电阻识别, 而对色环电阻在复杂背景下进行多类别识别将是未来工作的一个重要研究方向.

参考文献
[1]
Jadon A, Varshney A, Varshney NG, et al. Simple and efficient non-contact technique for resistor value estimation. Proceedings of the 2018 International Conference on Communication and Signal Processing (ICCSP). Chennai: IEEE, 2018. 0938–0941.
[2]
刘小燕, 李照明, 段嘉旭, 等. 基于卷积神经网络的印刷电路板色环电阻检测与定位方法. 电子与信息学报, 2020, 42(9): 2302-2311. DOI:10.11999/JEIT190608
[3]
Demir MF, Cankirli A, Karabatak B, et al. Real-time resistor color code recognition using image processing in mobile devices. Proceedings of the 2018 International Conference on Intelligent Systems (IS). Funchal: IEEE, 2018. 26–30.
[4]
Muminovic M, Sokic E. Automatic segmentation and classification of resistors in digital images. Proceedings of the 2019 XXVII International Conference on Information, Communication and Automation Technologies (ICAT). Sarajevo: IEEE, 2019. 1–6.
[5]
郑远攀, 李广阳, 李晔. 深度学习在图像识别中的应用研究综述. 计算机工程与应用, 2019, 55(12): 20-36. DOI:10.3778/j.issn.1002-8331.1903-0031
[6]
胡京徽, 许鹏. 一种基于图像分类的航空紧固件产品自动分类方法. 计算机科学, 2021, 48(S1): 63-66. DOI:10.11896/jsjkx.200900163
[7]
黄欣, 方钰, 顾梦丹. 基于卷积神经网络的X线胸片疾病分类研究. 系统仿真学报, 2020, 32(6): 1188-1194. DOI:10.16182/j.issn1004731x.joss.18-0712
[8]
丁维龙, 李涛, 丁潇, 等. 基于改进AlexNet的手腕骨图像成熟等级识别. 浙江工业大学学报, 2021, 49(6): 614-622. DOI:10.3969/j.issn.1006-4303.2021.06.004
[9]
陈智超, 焦海宁, 杨杰, 等. 基于改进MobileNet v2的垃圾图像分类算法. 浙江大学学报(工学版), 2021, 55(8): 1490-1499. DOI:10.3785/j.issn.1008-973X.2021.08.010
[10]
张家钧, 唐云祁, 杨智雄, 等. 基于注意力机制的鞋型识别算法. 激光与光电子学进展, 2022, 59(2): 0215004.
[11]
侯向宁, 刘华春, 侯宛贞. 基于改进VGG16网络模型的花卉分类. 计算机系统应用, 2022, 31(7): 172-178. DOI:10.3969/j.issn.1003-3254.2022.07.022
[12]
Howard A, Sandler M, Chen B, et al. Searching for MobileNetV3. Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision (ICCV). Seoul: IEEE, 2019. 1314–1324.
[13]
Woo S, Park J, Lee JY, et al. CBAM: Convolutional block attention module. Proceedings of the 15th European Conference on Computer Vision. Munich: Springer, 2018. 3–19.
[14]
Sandler M, Howard A, Zhu ML, et al. MobileNetV2: Inverted residuals and linear bottlenecks. Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018. 4510–4520.
[15]
Hu J, Shen L, Sun G. Squeeze-and-excitation networks. Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018. 7132–7141.
[16]
Wang QL, Wu BG, Zhu PF, et al. ECA-net: Efficient channel attention for deep convolutional neural networks. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 11531–11539.
[17]
Hou QB, Zhou DQ, Feng JS. Coordinate attention for efficient mobile network design. Proceedings of the 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021. 13708–13717.
[18]
Yang L, Zhang RY, Li L, et al. Simam: A simple, parameter-free attention module for convolutional neural networks. International Conference on Machine Learning. PMLR, 2021. 11863–11874.