基于改进卷积神经网络与图像处理的蚕茧识别方法*

时间:2023-08-03 20:50:02 公文范文 来源:网友投稿

周显沁,韩震宇,刘成源

(四川大学机械工程学院,成都市,610000)

蚕桑丝绸业是我国的传统产业,拥有近5 000年的发展历史。目前,我国丝绸工业年产值超过1 500亿元,蚕茧和生丝产量占全球80%以上,在诸多农村地区,桑蚕养殖成为当地的主要经济来源[1]。在养殖生产过程中,茧丝是通过对蚕茧进行缫丝得到,蚕茧质量的优劣将直接影响茧丝品质,关系到缫丝生产的经济效益。因此,对蚕茧进行质量检测实现蚕茧种类识别具有重要意义。

蚕茧按照其使用价值以及形成原因分为上车茧与下茧,下茧包括有双宫茧、柴印茧、黄斑茧、畸形茧、薄皮茧等。传统的检测方式为人工检测,通过人眼观察依据蚕茧表面颜色、形状、纹理等特征对蚕茧进行分选。该方法存在检测效率低下、错检率高、人工劳动强度大的问题。近年来,得益于图像处理技术的广泛应用与深度学习理论的不断发展,人工智能技术与农业相关领域深度结合,大大提高了生产效率,降低企业生产成本[2]。在蚕茧识别领域,甘勇[3]采用图像处理的方式从蚕茧表面颜色、匀净度等方面进行判断,该方式还需配合目测方式与含水量检测进行综合判断。梁军圣[4]采用改进BP神经网络对蚕茧进行分类识别,最终实现黄斑茧、靠黄茧、双宫茧的识别正确率为96.8%、96.3%、94.4%。王超[5]采用SE-GoogLeNet网络模型对蚕茧数据集进行训练,最终在测试集上的分类正确率达到98.3%。

本文提出一种基于改进卷积神经网络的蚕茧分类识别方法,针对蚕茧表面特征受光照、外茧衣缠绕等因素影响以及柴印纹理不清晰的问题,采用主成分分析(Principal Components Analysis,PCA)、HSV(Hue,Saturation,Value)颜色空间转换方法进行特征加强,并对模型优化设计后进行训练,以提高蚕茧识别准确率与生产效率,为实际生产环境中蚕茧自动分选系统提供参考依据。

1.1 样本数据采集

本文选用蚕茧样本为经过初步解除茧衣操作后待分选的干茧,结合行业标准与企业实际生产需求将蚕茧样本分类为正常茧、柴印茧、色斑茧、畸形茧、双宫茧5种类型,样本图像如图1所示。样本数据来自于试验图像采集装置,其中相机选用DALSA工业相机型号M1600相机,镜头为5 mm短焦镜头,为还原生产环境采用室内光源。共采集得到图像样本500幅,其中,正常茧150幅、色斑茧120幅、柴印茧100幅、双宫茧80幅、畸形茧50幅。为提高模型计算速度,采用MATLAB脚本程序将图像像素大小压缩更改为221 pixel×151 pixel。

(a) 正常茧

(b) 柴印茧

(c) 双宫茧

(d) 畸形茧

(e) 色斑茧

1.2 样本图像增强

由于原始采集样本图像数量少,为避免模型过拟合,提高模型泛化能力,采用数据增强方式对样本数量进行扩充[6]。本文中样本的数据增强方式有图像水平垂直翻转、图像灰度变换、图像对比度处理、添加随机噪声,利用MATLAB脚本程序完成处理,并对增强图像进行人工筛选,剔除增强失真样本,得到样本数量正常茧600幅、色斑茧428幅、柴印茧374幅、双宫茧310幅、畸形茧188幅,总计1 900幅。再将样本随机划分为训练集、验证集、测试集,其中训练集样本数占70%共1 330幅,验证集样本数占约15%共300幅,测试集样本数占约15%共270幅。

1.3 样本特征增强

根据对蚕茧样本图像分析得知,其显现特征主要表现为蚕茧表面纹理、蚕茧色斑、蚕茧外形尺寸等。其中,柴印茧表面纹理为其主要特征,但受到蚕茧外茧衣影响,其纹理通常表现不明显,对于色斑茧其色斑特征易受到现场光照环境影响。因此,本文采用主成分分析方法与颜色空间转换方法对样本特征进行增强。

1.3.1 主成分分析

PCA将原图像按照计算得到的新特征进行映射,新特征间存在不相关性,以此映射后减少了图像信息的冗余,突出了图像主要特征信息,更利于图像分类,同时降低复杂度,去除无用噪声,减少模型计算量[7-10]。首先将蚕茧样本v组成样本集矩阵U。

(1)

式中:m——总共样本数量;

n——一个样本的特征数量。

再将样本中每一个特征减去所有样本对应的特征均值ui,得到归一化处理后的样本集矩阵U。

(2)

求出样本集矩阵U的协方差矩阵E,以描述样本特征间的相关性与分散程度。

(3)

对协方差矩阵进行特征值分解,得到所有的特征值与对应的特征向量(W1,W2,…,Wn),将特征向量标准化后,组成特征向量矩阵W。将样本集中的每一个样本v,通过特征矩阵映射重构为新样本v′。其中,在特征空间下的投影系数向量

y=WT(v-ui)

(4)

根据y重构出的蚕茧图像为

v′=Wy+ui

(5)

本文以对柴印茧进行主成分分析为例,柴印茧样本数量m共374幅,样本特征维数n为33 371,通过PCA分析降维到200,即选取特征向量共200个,图2为前8个蚕茧主成分特征图。

图2 柴印茧特征图

得到柴印茧特征图后,将所有样本图像在特征空间下重构,图3为通过PCA重构后的某蚕茧图像与柴印茧平均特征图。

(a) 彩色图

(b) PCA图

(c) 平均特征图

1.3.2 HSV颜色空间转换

HSV颜色空间是一种更符合人眼特性的模型,是由H(色调)、S(饱和度)、V(亮度)组成。相对RGB颜色空间,其在色彩的表达上更具优势,H分量表达了颜色色调值且不易受到光照环境的影响[11-13]。因此,将蚕茧图像转换到HSV颜色空间下的H通道,图4为色斑茧转换后的H通道图。

(a) 彩色图

(b) H通道图

2.1 网络模型构建

卷积神经网络模型是对生物大脑结构的仿照,其权重共享、局部连接的结构特点使其在图像处理领域表现十分出色[14-15]。卷积神经网络的基本结构有输入层、卷积层、激活层、池化层、全连接层、输出层。本文基于Keras深度学习框架搭建一种改进卷积神经网络,网络结构如图5所示。

图5 改进卷积神经网络模型

2.1.1 卷积层

卷积层(Convolution layers,CL)的作用是通过卷积操作对输入图像特征进行提取,卷积方式与卷积核的大小数量将直接影响到模型效果[16-17]。本文模型共使用5个卷积层(Conv1~Conv5),采用普通卷积方式,即将输入与卷积核之间进行点积运算。其中,Conv1卷积核数量16个,Conv2卷积核数量32个,Conv3卷积核数量64个,Conv4卷积核数量128个,Conv5卷积核数量256个,所有卷积核大小均为3×3。

2.1.2 池化层

池化层(Pooling layer,PL)通过模仿人眼视觉系统对图像信息进行降维,提取出有效的图像特征,有效地进行了特征压缩[18-19]。通常,池化层与卷积层交替出现,以提高特征的鲁棒性,减少冗余信息,提高运算速度。常用池化方式有Mean-Pooling、Max-Pooling、Stochastic-Pooling。本文模型采用最大池化方法(Max-Pooling),池化大小为2×2,步长为2。最大池化方法对池化框内元素求取最大值,这能有效减少卷积过程造成的均值误差偏移,更利于蚕茧表面纹理特征信息的保留。

2.1.3 激活函数与输出方式

激活函数为神经网络模型增加了非线性,常用的激活函数有Sigmoid、Tanh、ReLU函数等,其中Sigmoid、Tanh等饱和函数容易出现梯度消失现象[20]。为避免此类问题,本文模型激活函数选取非饱和函数ReLU函数加快网络收敛。ReLU函数表达式如下

(6)

式中:x——输入单元;

f(x)——激活作用后输出。

输出层在全连接层(Fully connected layers,FCL)对输出单元概率输出完成分类,本文模型中包含4个全连接层(FCL1~FCL4),神经元个数分别为512,218,32,5。在输出层采用Softmax函数得到最大概率,从而给出分类结果。

2.2 网络模型优化

2.2.1 损失函数与优化器选择

本文模型中损失函数使用交叉熵损失函数,配合Softmax输出函数,使得权值更新与误差大小成正比,可加快收敛速度。交叉熵损失函数

(7)

式中:M——样本数量;

N——分类类别数;

pij——真实值中第i个标签第j个类别的概率;

qij——预测值中第i个标签第j个类别的概率。

本文模型中优化器选择Adam优化,Adam算法可自适应学习率,基于训练数据迭代地更新权重,本文将默认学习率设置为0.000 01。

2.2.2 L2正则化与Dropout层

神经网络模型在训练中由于样本数量过少、模型过于复杂、训练集样本与测试集样本噪声分布不一致等原因会出现过拟合现象,导致模型的泛化能力差,实际分类正确率低[21]。因此,本文通过对损失函数加入正则项并在模型中添加Dropout层,以实现模型优化,减少过拟合现象。

本文中给损失函数加入L2正则项,损失函数C0变为C,表达式如式(8)所示。

(8)

式中:k——样本总数;

ω——神经网络中的全部权重;

λ——正则化参数。

在对权重的更新过程中,加入正则化项后权重的更新变为

(9)

式中:η——学习率。

可以看出,在加入正则项后的权重更新时,使得一些接近于0的权重变得几乎等于0,继而削弱了部分神经元的影响,起到减少过拟合的作用。

Dropout[22]是在训练过程中随机丢弃部分神经元,在原始网络中采样形成一个不同的子网络,最终权重由不同训练过程中的权重结果平均得到,从而减少噪声影响,避免过拟合现象。本文中模型在全连接层FCL1后加入Dropout层,将参数值设定为0.2。

3.1 模型超参数优化分析

在CNN网络中,超参数会影响到模型是否收敛、收敛速度、训练时间等,对模型性能的优劣有着至关重要的影响[23]。本文中将对模型学习率、批量大小进行优化设计。

3.1.1 学习率优化选择

本文中模型优化器选择为Adam算法,该算法中默认学习率的选择将影响模型收敛与否,当学习率过大时模型将不会收敛,当学习率较大时模型训练过程振荡,当学习率过小则会增加训练时间。本文依次选取0.01、0.001、0.000 1、0.000 01大小学习率训练模型,得到训练集准确率、验证集损失如图6所示。

(a) 训练集准确率

(b) 验证集损失大小

从训练集准确率来看,学习率为0.01时模型不收敛,当学习率为0.001、0.000 1、0.000 01时模型均收敛,但学习率越大收敛速度越慢。从验证集的损失大小来看,当学习率为0.001与0.000 1时模型训练过程振荡明显,因此最终选取模型学习率为0.000 01。

3.1.2 批次大小优化选择

CNN网络训练批次越小模型收敛难度越大,训练时间越长,对设备内存消耗越大,适当增大批次可减少训练过程中的振荡,得到更优的模型性能。由于训练样本数量较少,模型训练批次依次选取4、8、14、18,结果如图7所示。

(a) 训练集准确率

(b) 验证集损失大小

如图7(a)所示,当批次大小越大时收敛越慢,图中批次大小为18时,收敛速度最慢。如图7(b)所示,当批次大小越小时训练过程振荡现象越明显,图中批次大小为4时,模型训练过程振荡最严重。因此本文中模型训练批次大小选择为14。

3.2 不同神经网络模型效果对比

本文选取目前主流卷积神经网络模型AlexNet、VGG16、ResNet对蚕茧样本进行训练,并与本文神经网络的训练效果进行对比,试验对比数据如表1所示。从表1中得知,本文设计的网络模型对蚕茧图像具有显著的针对性训练效果,训练集准确率为100%,验证集准确率达到95%。AlexNet由于模型简单训练效果不佳,识别准确率低,其验证集与训练集准确率分别只有83%、82%。VGG网络与ResNet网络由于模型复杂,训练后存在明显的过拟合现象,VGG16网络验证集准确率仅有88%,ResNet网络验证集准确率仅有92%。虽然本文设计网络的平均训练时间较长,但其具有更优的识别效果,综合对比下,其在实际应用环境中性能最佳。

表1 不同神经网络模型训练效果对比Tab. 1 Comparison of training effects of different neural network models

3.3 样本图像处理后训练效果对比

蚕茧图像由于其表面茧丝缠绕、纹理不清晰等因素导致特征不明显,尤其是柴印茧等以表面纹理为主要特征类型的蚕茧,该类蚕茧在神经网络模型训练中分类效果不佳。因此,本文对蚕茧图像采用主成分分析处理与HSV颜色空间转换,将蚕茧灰度图、主成分分析图、HSV颜色空间H通道图作为模型输入层代替RGB彩色图,并进行试验验证图像处理后模型训练效果。

本文通过混淆矩阵[24]计算模型评价指标,多分类混淆矩阵中TP表示该类中通过模型正确预测的样本数量,FP表示非该类样本通过模型错误预测为该类的样本数量,TN表示非该类样本被模型正确预测为其他类的样本数量,FN表示该类样本被模型错误预测为其他类的样本数量,主要模型评价指标有准确率Accuracy、精确率Precision、查全率Recall、F1得分(F1-Score),则各指标计算方式如下。

(10)

(11)

(12)

(13)

式中:Ncorrect——通过模型全部预测正确的样本数量;

Ntotal——全部样本数量。

分别将RGB彩色图像与图像处理后的蚕茧图像输入模型输入层,得到混淆矩阵如图8所示,其中每一行代表蚕茧实际类别,每一列代表蚕茧通过模型预测的类别,图中概率值表示模型的预测概率。从混淆矩阵可以看出,经过图像处理前后的蚕茧图像均能通过模型较准确地实现分类,识别概率均分布在对角线上。其中,经过图像处理前的柴印茧与色斑茧的识别准确率分别为82.61%、96%,经过图像处理后的柴印茧与色斑茧的识别准确率提高到了93.55%、100%,说明主成分分析与颜色空间转换分别对柴印茧与色斑茧表面特征起到加强作用,更利于神经网络训练识别。但畸形茧在经过图像处理后识别准确率下降到87.5%,是由于部分被错误识别成柴印茧,但由于实际生产中畸形茧数量较少,并且其与柴印茧区别要求不高,因而对实际生产过程影响不大。因此,本文中图像处理过程对柴印茧与色斑茧的识别性能有显著提升作用,且对其他类别的蚕茧识别影响不大。

(a) 图像处理后蚕茧图模型预测的混淆矩阵

(b) RGB彩色蚕茧图模型预测的混淆矩阵

从混淆矩阵中可计算出模型性能评价指标,其中精确率表示了所有被预测为该类的样本中实际为该类样本所占的比例,查全率表示了所有被预测为该类的样本占该类样本总体数量的比例,在蚕茧识别分类问题中,希望能尽可能多得正确分类,即分类中的正确比例,因此,在模型评价指标中更关心精确率的大小。从表2中得知,在经过图像处理后,正常茧的精确率从93%提升到96%,色斑茧的精确率从92%提升到95%,双宫茧与畸形茧均为100%,柴印茧精确率从96%下降到93%,可见除柴印茧外,正常茧与色斑茧的识别精确率均得到提升。为了更好地评价模型性能,提出F1-Score,其综合了精确率与查全率,从表2中得知,经过图像处理后正常茧F1-Score保持不变为96%,柴印茧F1-Score从90%提升到93%,色斑茧F1-Score从94%提升到97%,双宫茧F1-Score保持不变为100%,畸形茧F1-Score从100%下降到93%,可见除畸形茧外,正常茧、柴印茧、色斑茧的识别F1-Score均得到提升,而畸形茧的数量占少数,因此,进行过图像处理后的蚕茧图像使得神经网络模型性能更优,在实际生产过程中具有更高的实用价值。

表2 图像处理前后模型性能评价指标Tab. 2 Model performance evaluation index before and after image processing

1) 本文提出一种基于卷积神经网络的深度学习模型用于桑蚕蚕茧识别分类,共5层卷积层、5层池化层、4层全连接层,选择Softmax输出函数,Adma优化算法,并采用L2正则化与添加Dropout层优化模型减少过拟合。试验表明,该模型分类平均正确率达到95%,能有效实现蚕茧分类。

2) 针对蚕茧受茧衣缠绕导致纹理不清晰、受光照不均匀导致色斑灰度不均的问题,本文分别采用主成分分析方法与颜色空间转换方法进行蚕茧特征增强。试验表明,经过图像处理方法后的蚕茧图像更利于模型训练与识别,最终柴印茧分类准确率从86.21%提升到93.55%,色斑茧分类准确率从96%提升到100%,且模型整体识别性能得到提升。

3) 对模型进行性能评价,使用F1-Score多分类评价指标,图像处理前正常茧F1-Score为96%、柴印茧F1-Score为90%、色斑茧F1-Score为94%、双宫茧F1-Score为100%、畸形茧F1-Score为100%;经过图像处理后正常茧F1-Score为96%、柴印茧F1-Score为93%、色斑茧F1-Score为97%、双宫茧F1-Score为100%、畸形茧F1-Score为93%。数据表明该模型能有效应用在实际生产环境中,满足蚕茧识别分类需求。

猜你喜欢色斑蚕茧图像处理咬破死亡的蚕茧小主人报(2022年1期)2022-08-10蚕茧与飞蝶小读者(2021年4期)2021-06-11提高鸣龙镇蚕茧质量的措施探讨四川蚕业(2021年2期)2021-03-09重视蚕病综合防治 提高蚕茧质量四川蚕业(2021年3期)2021-02-12基于图像处理的机器人精确抓取的设计与实现制造技术与机床(2018年12期)2018-12-23机器学习在图像处理中的应用电子制作(2018年18期)2018-11-14巧手饰色斑爱你(2017年11期)2017-11-15基于图像处理的定位器坡度计算电气化铁道(2016年4期)2016-04-16脸上色斑暴露健康隐患海峡姐妹(2016年7期)2016-02-27图像法快速测量色斑直径和雨滴直径江汉大学学报(自然科学版)(2015年2期)2015-11-19

推荐访问:卷积 神经网络 蚕茧