基于深度学习的蚕茧智能分选方法*

2023-11-20 07:14姜阔胜武松梅
传感器与微系统 2023年11期
关键词:蚕茧样本特征

姜阔胜,武松梅,任 杰

(1.安徽理工大学机械工程学院,安徽 淮南 232001;2.安徽职业技术学院现代服装学院,安徽 合肥 230011)

0 引 言

对蚕茧进行质量检测实现蚕茧种类识别具有重要意义。蚕茧按照其使用价值以及形成原因分为上车茧与下茧,下茧包括双宫茧、柴印茧、黄斑茧、畸形茧、薄皮茧等[1,2]。传统的检测方式为人工检测,通过人眼观察依据蚕茧表面颜色、形状、纹理等特征对蚕茧进行分选[3~5]。该方法存在检测效率低、错检率高、人工劳动强度大的问题,选茧环境恶劣,会对长期身处其中的选茧工人带来不可逆的健康危害。近年来,得益于图像处理技术的广泛应用与深度学习理论的不断发展,人工智能技术与农业相关领域深度结合,大大提高了生产效率,降低企业生产成本[6]。在蚕茧识别领域的研究中,李时杰等人[7]利用基于深度学习模型BL-YOLOv3的技术,成功实现了黄斑茧、上车茧和烂茧的有效识别。黎雨等人[8]提出一种蚕茧疵点图像配准算法,该算法基于融合特征和FAST-SURF,利用HSI 颜色空间获取蚕茧疵点图像,并提取Canny 边缘特征和局部二值模式(LBP)纹理特征。这些特征经过归一化处理,然后进行融合,形成融合特征。将融合特征与FAST-SURF算法结合应用于蚕茧疵点图像配准,平均配准正确率达到89.76%,配准总时间均值为0.46s。张印辉等人[9]利用K-means聚类分析,确定了适合于下茧分析的锚点框架,并将上述锚点框架的参数预置在YOLOv3 模型中。接着,根据预设的剪枝率对经过稀疏化训练的模型进行模型剪枝。通过使用批量正则化层缩放因子的方式来缩小模型的尺寸。最后,通过在剪枝后的模型中嵌入感受野模块,来扩大模型的感受野,以增强模型的辨别能力和鲁棒性。经过这些步骤,该模型在测试集上的平均检测精确度达到96.8%。

本文采用深度学习方法[10~12]基于改进的YOLOv5 算法,使用K-means + +算法[13]对蚕茧表面特征数据集的目标候选框尺寸进行聚类分析,并将该分析结果应用于算法的训练过程中。其次,对网络结构进行调整,在网络预测部分分别添加SE(squeeze and excitation)模块[14],以强化缺陷信息、抑制无用信息,提升模型的准确性。

1 数据集制作

数据集中包括正常类别和6 种缺陷类别分别是薄皮、柴印、穿头、烂茧、棉茧和小车茧。为了避免训练过程中出现过拟合的情况,本文采用了数据增强策略。通过使用缺陷素材对原始图像进行了多种操作,包括随机裁剪、水平或垂直翻转、旋转、缩放和调整亮度或对比度等,同时还添加了随机噪声。经过数据增强后的图像共计5 600 幅,手动划分训练集和测试集样本,划分比例为9∶1,分别为5 040 幅和560幅。

2 蚕茧缺陷检测方法

2.1 YOLOv5 网络

本文设计的基于改进YOLOv5[15,16]的蚕茧缺陷检测基础模型网络结构如图1所示。

图1 YOLOv5 网络结构

2.2 改进的YOLOv5 检测算法

2.2.1 引进SE注意力模块

卷积神经网络(CNN)模型通过融合图像的空间信息和通道信息来实现特征的提取,不同的卷积核在每个输入通道中寻找空间。然而,CNN模型在提取特征时不能有效地突出重要特征,因为网络模型对每一个通道的权重相等,为了解决这个问题在YOLOv5中引入SE注意力模型。

SE模块通过添加内容感知机制对每个通道进行自适应加权,该机制将特征图压缩为单个值,以便网络模型可以自适应地调整每个特征图的权重,从而获得每个通道的全局理解。它具有以较小的额外计算成本改善通道相互依赖性的优点。SE模块的操作流程如图2所示。

图2 SE模块结构

SE模块由3 个组件组成:挤压(squeeze)、激励(excitation)、标度(scale)。

1)Squeeze:对特征图U采用挤压操作,输出1 ×1 ×C向量,挤压公式

挤压操作后,每个特征图可以有效地与其他特征图相关联,增加全局感受野提取更丰富的特征,从而提高网络的识别效果。

2)Excitation:为了利用挤压操作中的全局信息,激励操作捕获每个通道之间的依赖关系。过程公式为

式中W1∈,σ为ReLU的简写符号,δ为sigmoid的简写符号,W2∈。

3)Scale:利用激励学习到的权重来标度U,将每个通道的权重分别乘以U对应通道的矩阵,最后得到带有权重信息的特征图

2.2.2 激活函数改进

采用Swish 激活函数来替换YOLOv5 中的ReLU。Swish激活函数不同于ReLU 对小于0 的(值)直接输出为0,Swish函数将Sigmoid 与ReLU 的特点结合起来,采用非零数值来初始化神经元。具体的函数公式为

图3 为本文改进后的网络结构,网络中主要采用卷积(Conv)层、批归一化(BN)层、激活函数层、SE注意力模块,为了使网络中每一层特征图输入与输出的尺寸大小一致,采用0填充(padding)输入图像边长补零。

图3 本文中改进的网络结构

3 实 验

3.1 实验设备

实验在Windows 10环境下完成,使用CCD面阵工业相机对蚕茧进行拍摄,采集设备如图4 所示。共采集560 张原始图像,像素为1 280 ×1 024的灰度图像。

图4 采集设备

3.2 神经网络模型训练

本文实验模型均采用YOLO系列模型,在COCO128 数据集上的YOLOv5 预训练权重文件,在训练过程中冻结DarkNet-53 特征提取部分参数,分别训练YOLOv5 以及改进后YOLOv5的检测(detection)部分网络参数。在训练之前,本文对原始输入进行了统一调整,将原始输入调节为3 ×640 ×640图像大小,训练采用Adam优化器优化训练过程,训练参数:输入Batchsize 为8,总训练轮数为300,学习率(learning rate)设置为1 ×10-3,1 ×10-4,模型损失通过交叉熵(CE)函数计算,改进模型训练过程中,对每轮训练完后采用测试集进行评估,直到模型完全收敛获得最优模型权重。改进后的YOLOv5 训练过程中损失收敛曲线如图5所示。经过3 000次迭代,损失值趋近于0.28 左右,从损失值的收敛情况可以得出,改进后的YOLOv5 网络模型训练结果理想,可以进行进一步测试。

图5 改进的YOLOv3 算法训练loss值

图6 展示了YOLOv5 以及改进后YOLOv5 的检测效果,二者性能对比如表1 所示。改进后的YOLOv5 算法在缺陷定位上比原始的YOLOv5 算法更加精准,且在缺陷类型上识别判断也更加准确,能够更加准确地实现对蚕茧的分类。

表1 改进的YOLOv5 算法与YOLOv5 性能对比%

图6 YOLOv5 与改进的YOLOv5 检测效果

4 结果与分析

4.1 评价指标

平均精度均值(mean average precision,mAP)结合了目标检测任务中的精确率P和召回率R指标,用于衡量模型在不同类别上的平均精度。计算公式如下

式中P为精确率;R为召回率;TP为标签正样本中被预测为正样本的数量;FP为标签负样本中被预测为正样本的数量;FN为标签正样本中被预测为负样本的数量;F1 为准确率和召回率的调和平均;Pn和Rn分别为在第n个阈值下的查准率和召回率。

4.2 结果分析

表2为不同网络模型在测试集上的检测性能。可以看出:通过实验发现改进后的YOLOv5 检测算法,平均检测准确率达到96.6%,准确率相对于Faster RCNN高出4.9%,比使用传统的网络模型SSD的mAP提高了9%,相比于传统YOLOv5提高了5.5%。说明SE模块强化了重要特征信息,提升了网络预测精度,在取得较高的检测准确率的同时召回率也很高,鲁棒性较强。但是,由于SE模块的加入增大了网络的计算量,导致其检测速率下降了2 fps,但明显快于SSD,由此可见改进后的YOLOv5 检测算法实用性更佳。

表2 多种算法对蚕茧缺陷检测效果对比

5 结 论

本文提出一种基于卷积神经网络的YOLOv5 改进方法,并将其应用于蚕茧智能分选领域。通过重新聚类先验框,调整先验框参数、添加SE 模块进入检测模型中和修改激活函数等方法改进YOLOv5 算法,最终使用Faster RCNN、SSD、YOLOv5以及改进的YOLOv5算法进行实验。实验结果表明,改进的YOLOv5算法mAP有大幅的提高,预测框也更加准确,算法具有良好的泛化性能。

猜你喜欢
蚕茧样本特征
咬破死亡的蚕茧
蚕茧与飞蝶
用样本估计总体复习点拨
提高鸣龙镇蚕茧质量的措施探讨
重视蚕病综合防治 提高蚕茧质量
如何表达“特征”
不忠诚的四个特征
推动医改的“直销样本”
抓住特征巧观察
随机微分方程的样本Lyapunov二次型估计