基于视觉和BP 神经网络的在线烟叶霉变检测模型设计

2022-02-21 01:45周萍芳张思明张中武简著名
科学技术创新 2022年2期
关键词:烟叶预处理神经网络

周萍芳 张思明 张中武 简著名

(湖北中烟工业有限责任公司武汉卷烟厂,湖北 武汉 430032)

烟草作为一种经济农作物对于国家财政有着举足轻重的作用,而自身的烟叶品质也直接决定了成品香烟的品质。烟叶在经过复烤之后还需要在仓库中存放很长时间,这是为了后续的自然醇化[1,2]。不经过醇化过程的烟叶就是“新烟”,往往存在很多缺陷,而经过醇化的烟叶无论是品质还是口感,都得到大幅提升。所以,从新鲜烟叶的采摘到成品香烟的出厂往往需要经历很长时间[3]。霉变烟叶的生物结构会被大幅破坏,并迅速分解自身营养物质,不仅香味消失,还会出现发黑和腐烂的情况,其价值完全丧失[4]。

目前我国较为常见的霉变检测方法存在很大局限性,往往需要经过复杂的流程,还会产生较大误差,因此储存烟叶时往往会造成很大损失[5]。同时,烟叶在仓库中大量存放,发生霉变的位置复杂隐蔽,经常无法检测并流入生产线,造成了严重损失。

为了能够提高烟叶霉变检测的精度,本文采用了BP 神经网络和数据预处理的方法,在烟叶储存空间设置多处传感器数据采集点,以此实现烟叶霉变的在线检测、识别和预警。本文构建了BP 神经网络监测烟叶储存空间,并通过大量环境数据和监测数据对烟叶状态进行监控,一旦出现霉变迅速处理。该研究对于提高烟叶醇化效率降低因霉变造成的经济损失有着极大的意义。

1 在线烟叶霉变状态识别算法设计

本文构建BP 神经网络识别算法模型的流程是首先确定神经网络的层数,包括不同层内的神经元节点,然后选定激活函数和训练函数,最后搭建整个BP 神经网络。整个网络构成可以分为三部分:构建算法、算法训练和算法测试,如图1 所示。

图1 在线烟叶霉变状态识别流程

1.1 确定输入层与输出层节点数

算法中的输入层主要包含四种参数:环境温度、环境湿度、CO2浓度和乙醇浓度,因此将输入层节点数设置为4。将状态分别定义为0(正常)、1(轻微霉变)、2(中度霉变),如表1,所以输出层节点数设置为1。

表1 烟叶状态对照表

从上文可知,基于视觉的BP 神经网络的在线烟叶霉变检测模型结构为4-X-1,X 代表隐含层节点数尚未确定,在线烟叶霉变检测模型结构如图2 所示。

图2 基于BP 神经网络的烟叶状态识别模型

1.2 确定隐含层节点数

如果隐含层中的神经元节点设置过少,结果可能造成神经网络的训练过程收敛变慢或者不收敛。如果隐层中节点过多,模型的预测精度会提高,但同时网络拓扑结构过大,收敛速度慢,普遍性会减弱。如果BP 神经网络中输入层节点数为m个,输出层节点是为n 个,则由下式式可推出隐藏层节点数为s 个。

其中b 一般为1-9 的整数。在线烟叶霉变检测模型中m=4,n=1,因此确定隐含仓节点数s 的范围为3~10 之间的整数。根据以往的经验,将隐藏层节点数范围设置为5-8 的范围,根据仿真结果择优确定。

1.3 设定激活函数和训练函数

本系统中选取trainlm 函数为训练函数。激活函数通常为非线性函数,并需要连续可微,一般为非线性的logsig()函数、tansig()函数等。在多数情况下,神经网络需要表示非线映射关系时,最常使用的是非线性激活函数logsig()函数,logsig()是对数S形函数,其表达式如下式所示,其曲线图如图3 所示。

图3 对数S 形函数曲线图

该函数具有如下的特性:当x 趋近于负无穷时,f(x)趋近于0;当x趋近于正无穷时,f(x)趋近于1;当x=0 时,f(x)=0.5。

2 数据获取及预处理

2.1 烟叶霉变等级划分

如果储存的烟叶出现霉变,第一时间要对其进行霉情评定,确定了危害等级之后要采取相应措施。根据《GB_T23220-2008- 烟叶存储保管方法》,将烟叶霉变状态分为3 级,如表2 所示。Ⅰ级霉变是指烟叶有轻微霉味,霉变烟叶质量小于0.5%,危害程度轻微。Ⅱ级霉变是指烟叶有较大霉味,霉变烟叶质量大于等于0.5%而小于5%,危害程度中等。Ⅲ级霉变是指烟叶有强烈的呛人的霉味,霉变烟叶量大于等于5%危害程度严重。由于需要在烟叶霉变尚可控制的阶段时发现并提示管理人员处理,所以Ⅲ级霉变没有实际意义。本文去掉Ⅲ级霉变的定义,将仓储烟叶状态分为三级:正常、轻微霉变、中等霉变。

表2 霉变分级表

烟叶分级图如图4、图5、图6 所示。

图4 正常烟叶

图5 轻微霉变烟叶

图6 中等霉变烟叶

2.2 样本数据采集

本文利用数据采集设备收集模拟烟叶储存环境的数据。实验过程中,在实验箱中放入相同批次的烟叶,并连同数据采集设备封箱3 小时,在收集到的数据稳定之后将数据上传至云端数据库,并进行分析。模拟烟叶储存环境如图7 所示。

图7 模拟烟叶仓储环境

数据采集频率为30s/次,持续时间约为2~3 个月,共收集到3 万余条数据,并随机选取4000 条数据进行算法模型的训练和测试,其中3000 条数据作为训练数据集,1000 条数据作为测试数据集。为了便于实验,本文只对环境参数相差较大的数据进行分析,如表3。

表3 模拟烟叶仓储环境监测数据

2.3 数据预处理

数据预处理的流程在图8 中展示。首先通过数据终端进行数据收集,判断数据是否出现空缺,如果空缺存在,则对数据进行补缺;在数据空缺判断之后进行异常数据检验,如果检测到异常数据,则对数据进行异常处理;对所得数据集进行数据归一化处理,最终获得完整的数据样本。

图8 数据预处理流程

如果算法模型的设计过程中存在输入参数与阈值数据偏差过大的情况,那么模型输出值就会出现跨度较大。因此,为了能够避免出现数据过拟合的情况,提高模型监测速度和提高网络收敛速度,本文对烟叶存储的环境数据进行归一化处理,将网络模型的训练输出数据限制在[0-1]之间,数据归一化公式如下:

其中,xi为样本数据中的第i 个值,xmin表示样本数据中的最小值,xmax代表样本数据中的最大值。归一化后的部分数据如表4 所示。

表4 部分归一化数据

3 算法仿真与性能分析

利用MATLAB 软件中BP 神经网络工具箱的相关函数进行仿真实现,最后可视化输出结果等,仿真主要包括以下步骤:(1)依托newff函数搭建一个BP 神经网络框架;(2)依托trainlm函数训练训练BP 神经网络;(3)依托sim函使将BP 神经网络训练过程图形化。

本文对所设计的算法模型进行测试。测试开始前将网络收敛误差调整为0.001,最大训练次数为6000 次,隐含层节点数为5~8,如图9 所示。为了找到最合适的隐藏层节点数,对不同节点数的隐藏层进行仿真结果分析,训练误差如图10 所示。

图9 BP 神经网络训练参数

图10 不同隐含层节点数的模型所对应的训练误差

通过对图10 的训练误差分析得知,算法模型训练效果最理想、误差最小的隐含层节点数为6,并且无论训练次数是1000、1500 还是2000,训练误差均为最低。隐含层节点数为6时其训练结果如图11 所示。从图中可以看出,当BP 神经网络的网络模型结构设置为“4-6-1”时,训练2000 次网络后的精度达到了0.001,因此本文的网络模型结构已经确定。

图11 仓储烟叶状态识别模型训练误差曲线

完成了算法模型的训练之后,需要使用测试集数据验证该算法的可行性。通过分析算法模型的测试结果,从3 种状态的烟叶数据中随机分成1000 组,并预处理数据之后验证本文所设计的算法模型。当输出值为0 时,认为烟叶为正常状态;当输出值为1 时,烟叶发生轻微霉变;当输出值为2 时,认为烟叶发生中度霉变。随机选取其中3 组验证结果如表5 所示,模型的识别率达到98.736%,由此判断本文所设计的基于视觉和BP神经网络的在线烟叶霉变检测算法模型性能良好。

表5 部分测试结果

4 结论

传统的在线烟叶检测模型往往需要人工参与,具有较大主观性,并且过程繁琐,时间成本较高,很难准确检测出霉变烟叶。因此,本文采用了BP 神经网络和数据预处理的方法,实现了烟叶霉变的在线检测、识别和预警。本文构建了BP 神经网络监测烟叶储存空间,并通过大量环境数据和监测数据对烟叶状态进行监控,一旦出现霉变迅速处理。对整个识别模型在Matlab 中进行了仿真和测试,并最终择优确定BP 神经网络隐含层节点数,确立了网络模型。最终仿真结果表明,本文所设计的基于视觉和BP 神经网络的在线烟叶霉变检测算法模型性能良好,模型的识别率达到98.736%。

猜你喜欢
烟叶预处理神经网络
求解奇异线性系统的右预处理MINRES 方法
基于递归模糊神经网络的风电平滑控制策略
不同部位烟叶化学成分与烟叶柔软度的关系
高COD二噻烷生产废水预处理研究
不同成熟度烟叶烘烤过程中大分子物质代谢动态研究
神经网络抑制无线通信干扰探究
不同素质烟叶烘烤过程中生理及质地变化研究
关于新形势下烟叶生产可持续发展的思考
基于神经网络的中小学生情感分析
基于预处理MUSIC算法的分布式阵列DOA估计