掌桥专利:专业的专利平台
掌桥专利
首页

冷链运输中动态水产品腐化监测预警方法

文献发布时间:2023-06-19 11:39:06


冷链运输中动态水产品腐化监测预警方法

技术领域

本发明属水产品冷链运输监测领域,尤其涉及一种冷链运输中动态水产品腐化监测预警方法。

背景技术

水产品的主要流通形式为冷链运输,将水产品储藏在较低温度下进行运输,最大限度锁住水产品养分,保证水产品品质及口感。水产品将经过生产、加工、运输、仓储、销售这五个流通环节到达消费者手中,因运输环节耗费的时间最长、环境因素最不容易控制,所以在运输过程中最可能出现腐败变质的现象。水产品又是典型的易腐食品,其腐败又是一个不可逆过程,水产品品质与其所处温度有着密切的联系,若温度较高或者温度波动较大,易导致水产品出现腐败现象,其腐败的水产品自身会产生氨气、硫化氢及二氧化碳等气体。水产品腐败变质会导致一系列不良影响,例如营养价值流失、口感变差等等。

经济的快速发展,带来的是人们对于高品质的不断追求,愈来愈多的人们希望吃到更健康更营养的食品,所以食物消费结构也发生了很大的改变,人们对粮食消费量逐渐减少,对水产品等高价值食物消费量有了显著的提升。水产品因其鲜美的味道,丰富的营养价值,细腻的口感受到越来越多的追捧。随着农产品电子商务的快速发展,水产品流通渠道不断拓展,带动消费不断增长。中国每年都有大量的水产品因运输不当而浪费,水产品的货损率达到了12%,我国水产品冷藏流通率为40%,但全程冷链覆盖率分别仅为 23%,而日本、美国生鲜品冷藏流通率可分别高达98%以及80~90%。2019年我国水产品总消费量约6711万吨,损耗约为1055万吨,水产品的消费总量继续增长,流通渠道更趋多元,但是水产品的损耗也是一个庞大的数字。

发明内容

本发明的目的在于提供一种预测精度高,对异常值不敏感的冷链运输中动态水产品腐化监测预警方法。

为解决上述技术问题,本发明是这样实现的:

一种冷链运输中动态水产品腐化监测预警方法,可按如下步骤实施:

(1)通过温湿度传感器、二氧化碳传感器及氨气传感器采集冷链运输车中的水产品环境参数,并将所述水产品环境参数数据发送至物联网云平台;

(2)对步骤(1)所述水产品环境参数数据进行预处理,生成新时间序列t-1,进行数据合并,完成数据转换,实现时间序列向监督学习的转换;

(3)使用长短期记忆网络训练水产品环境参数数据,生成氨气预测模型;

(4)使用步骤(3)所述氨气预测模型预测氨气量值;

(5)判断预测的氨气量值是否超出预设阀值,如超出预设阀值,则启动预警模块;如否,则返回步骤(4)继续进行监测。

作为一种优选方案,本发明所述步骤(2)中,使用pd.shift(1)函数将原时间序列t向下移动1步重新生成新时间序列t-1,即前一时刻的数据;将新时间序列t-1的所有列与原时间序列t的氨气列进行合并,最后使用dropna函数删除第一行数据,即完成数据转换。

进一步地,本发明所述步骤(3)中,使用compile函数编译模型,损失函数选择mae,优化器选择adam,最后使用model.fit函数执行模型训练,即生成氨气预测模型。

进一步地,本发明所述步骤(3)中,对氨气预测模型进行评估,使用model.predict函数采用验证集进行模型预测,此函数输出值即为预测数据;使用inverse_transform函数对预测数据和原始数据分别进行反向转换,之后分别输出预测值和真实值。

本发明预测精度高,对异常值不敏感。本发明通过使用环境监测设备,采集冷链运输车中水产品的环境信息,并利用已采集到的数据结合长短期记忆网络设计氨气浓度预测模型,通过环境监测设备实时采集到的氨气、温度、湿度和二氧化碳数据,预测1分钟后氨气浓度,如果预测的氨气浓度超过设定的阀值,即可快速启动预警模块,进行预警。

附图说明

下面结合附图和具体实施方式对本发明作进一步说明。本发明的保护范围不仅局限于下列内容的表述。

图1为本发明环境监测设备原理框图;

图2为本发明信息采集部分框架图;

图3为本发明动态水产品腐化监测预警方法流程框图;

图4为本发明验证集真实氨气与预测氨气拟合情况;

图5为本发明验证集氨气预警截图;

图6为本发明冷链运输车中环境信息截图;

图7为本发明实时氨气预警截图。

具体实施方式

如图所示,冷链运输中动态水产品腐化监测预警方法,可按如下步骤实施:

(1)通过温湿度传感器、二氧化碳传感器及氨气传感器采集冷链运输车中的水产品环境参数,并将所述水产品环境参数数据发送至物联网云平台;

(2)对步骤(1)所述水产品环境参数数据进行预处理,生成新时间序列t-1,进行数据合并,完成数据转换,实现时间序列向监督学习的转换;

(3)使用长短期记忆网络训练水产品环境参数数据,生成氨气预测模型;

(4)使用步骤(3)所述氨气预测模型预测氨气量值;

(5)判断预测的氨气量值是否超出预设阀值,如超出预设阀值,则启动预警模块;如否,则返回步骤(4)继续进行监测。

本发明所述步骤(2)中,使用pd.shift(1)函数将原时间序列t向下移动1步重新生成新时间序列t-1,即前一时刻的数据;将新时间序列t-1的所有列与原时间序列t的氨气列进行合并,最后使用dropna函数删除第一行数据,即完成数据转换。

本发明所述步骤(3)中,使用compile函数编译模型,损失函数选择mae,优化器选择adam,最后使用model.fit函数执行模型训练,即生成氨气预测模型。

本发明所述步骤(3)中,对氨气预测模型进行评估,使用model.predict函数采用验证集进行模型预测,此函数输出值即为预测数据;使用inverse_transform函数对预测数据和原始数据分别进行反向转换,之后分别输出预测值和真实值。

本发明氨气浓度预测模型分两部分完成,第一部分是对采集到的数据进行预处理,将时间序列问题转换为监督学习问题,对数据进行规范化处理;第二部分是使用长短期记忆网络训练水产品环境参数,得到氨气预测模型,对训练好的模型进行评估。

第一部分:

将所采集的温度、湿度、二氧化碳和氨气数据下载,下载好的文件为XLS格式,将XLS格式转化为csv文件处理格式,便于数据进一步加工处理。已经采集到的氨气数据、湿度数据、二氧化碳数据和温度数据是按照时间顺序进行存储的,所以设计一个函数defseriesToSupervised(data),将时间序列问题转换为监督学习问题。函数的具体实施方式:因传入的数据data是numpy数据类型,故使用pd.DataFrame(data)将numpy变量重新转换为pandas变量。并且定义两个空数组cols和names,分别表示列的值与列名,cols用于存放数据,names用于存放变量名。使用pd.shift(1)函数将原时间序列t向下移动1步重新生成新时间序列t-1,即前一时刻的数据。将新时间序列t-1的所有列与原时间序列t的氨气列进行合并,最后使用dropna函数删除第一行数据,即可完成数据转换。使用cols.append()将新时间序列t-1数据添加到cols中,使用cols.append()将原时间序列t添加到cols中,使用pd.concat函数将两组数据按列合并,一共是8列数据在cols中,分别是时间序列t-1的氨气、湿度、温度和二氧化碳数据,和时间序列t的氨气、湿度、温度和二氧化碳数据。之后使用pd.dropna将第一行删除,就实现了时间序列问题转换为监督学习问题。

进一步地,使用pd.read_csv函数读取csv文件,并调用seriesToSupervised(data)函数进行转换,使用adversedata变量接收seriesToSupervised(data)函数的值,因cols中存放8列数据,后三列数据无意义,故使用adversedata.drop函数删除后3列数据,剩余5列数据,分别是时间序列t-1的氨气数据、湿度数据、温度数据、二氧化碳数据和时间序列t的氨气数据,前4个数据是监督学习中的输入特征,最后一个数据是监督学习中的输出值。

进一步地,在采集到的数据中,包含了4种数据值,但每种数据值的量纲不同,同样变化幅度也不同。所以使用sklearn.preprocessing.MinMaxScaler函数,对所有数据进行数据正规化。将数据中的每一个特征的值转换到指定的范围内,通常将数据范围定义在0~1之间。正规化后的数据被划分为训练集(trainData)、验证集(verifyData),70%的数据用于训练,30%数据用于验证。

第二部分:

因为氨气预测是一个回归问题,模型的输出是一个值,在处理时序问题时,优先选择长短期记忆网络,在TensorFlow Keras中,只需要在模型框架中新增一层LSTM Layer。使用TensorFlow Keras的Sequentia类构建模型,首先定义一个空的模型model作为模型框架。本发明的模型为2层,第一层是LSTM Layer,神经单元的个数为64个,第二层为DenseLayer,神经单元的个数为一个,即输出的预测值。使用compile函数编译模型,损失函数选择mae,优化器选择adam,最后使用model.fit函数执行模型训练,得到氨气预测模型。

进一步地,评估氨气预测模型,使用model.predict函数使用验证集进行模型预测,此函数输出值即为预测值。在对模型进行训练之前,数据进行过正规化,数据的范围已经进行了改变,但是在进行模型评估时,需要使用原始的数据,所以同样使用sklearn.preprocessing.MinMaxScaler,使用inverse_transform函数对预测数据和原始数据分别进行反向转换,之后分别输出预测值和真实值,使用plt.plot函数分别将预测值与真实值以时间为x轴,以氨气值为y轴绘制曲线图,通过图形化的方式更直观地比较预测值与真实值。

通过训练好的氨气预测模型,对氨气进行预测。将环境监测设备放置在冷链运输车中,监测运输车中的环境数据,结合实时采集到的环境数据,使用氨气预测模型实现对下一分钟的氨气进行预测。如果预测的氨气浓度超过设定的阀值,启动预警模块,进行预警。

实施例:

本发明通过使用环境监测设备,采集冷链运输车中水产品的环境信息,并利用已采集到的数据结合长短期记忆网络设计氨气浓度预测模型,通过环境监测设备实时采集到的氨气、温度、湿度和二氧化碳数据,预测1分钟后氨气浓度,如果预测的氨气浓度超过设定的阀值,启动预警模块,进行预警。

水产品的腐败受多种因素的影响,腐败的水产品自身会释放出氨气、硫化氢等污染气体,本发明通过预测下一分钟环境中氨气及硫化氢的浓度,达到提前预警的功能。本发明分为信息采集部分和氨气浓度预测部分。

本发明硬件平台部分包括:氨气传感器、温湿度传感器、二氧化碳传感器、预警模块及中央处理单元;所述氨气传感器、温湿度传感器、二氧化碳传感器、预警模块的信号传输端口与中央处理单元的信号传输端口相接;所述中央处理单元采用CC2530模块,图1为本发明环境监测设备原理框图。

将环境监测设备放入到水产品冷链运输车中,环境监测设备每间隔3秒钟采集一次运输车内信息,通过环境监测设备采集冷链运输车内水产品环境数据,通过数据汇聚装置将采集到的数据实时发送到物联网云平台,图2为本发明信息采集部分框架图。

本发明冷链运输中动态水产品腐化监测预警方法包括:

(1)将采集好的温度、湿度、二氧化碳和氨气数据下载,下载好的文件为XLS格式,将XLS格式转化为csv文件处理格式,便于数据进一步加工处理;

(2)将按时间序列存储好的数据转化为监督学习问题;

(3)使用长短期记忆网络训练水产品环境参数,得到氨气预测模型;

(4)使用氨气预测模型,预测运输车中下一时刻氨气浓度;

(5)将预测的氨气浓度与预先设置的氨气浓度预警区间做对比,如果预测的氨气浓度超出设定阀值,则启动预警模块进行预警,图3为本发明动态水产品腐化监测预警方法流程框图。

表1 预警参考程度表

步骤(1)中的环境数据是以XLS格式存储,将XLS格式转化为csv文件处理格式。

步骤(2)中,已经采集到的氨气数据、湿度数据、二氧化碳数据和温度数据是按照时间顺序进行存储的,所以设计一个函数def seriesToSupervised(data),把时间序列问题转换为监督学习问题。函数的具体实施方式:因传入的数据data是numpy数据类型,故使用pd.DataFrame(data)将numpy变量重新转换为pandas变量。并且定义两个空数组cols和names,分别表示列的值与列名,cols用于存放数据,names用于存放变量名。使用pd.shift(1)函数将原时间序列t向下移动1步重新生成新时间序列t-1,即前一时刻的数据。将新时间序列t-1的所有列与原时间序列t的氨气列进行合并,最后使用dropna函数删除第一行数据,即可完成数据转换。使用cols.append()将新时间序列t-1数据添加到cols中,使用cols.append()将原时间序列t添加到cols中,使用pd.concat函数将两组数据按列合并,一共是8列数据在cols中,分别是时间序列t-1的氨气、湿度、温度和二氧化碳数据,和时间序列t的氨气、湿度、温度和二氧化碳数据。之后使用pd.dropna将第一行删除,就实现了时间序列问题转换为监督学习问题。使用pd.read_csv函数读取步骤(1)中csv文件,并调用seriesToSupervised(data)函数,将时间序列问题转换为监督学习问题,使用adversedata变量接收seriesToSupervised(data)函数的值,因cols中存放8列数据,后三列数据无意义,故使用adversedata.drop函数删除后3列数据,剩余5列数据,分别是时间序列t-1的氨气数据、湿度数据、温度数据、二氧化碳数据和时间序列t的氨气数据。因在采集到的数据中,包含了4种数据值,但每种数据值的量纲不同,同样变化幅度也不同。所以使用MinMaxScaler(feature_range=(0, 1)),对所有数据进行数据正规化,数据范围定义在0~1之间。正规化后的数据被划分为训练集、验证集,70%的数据用于训练,30%数据用于验证。

步骤(3)中,使用长短期记忆网络训练步骤(2)中的数据,本发明的氨气预测模型为2层,第一层神经单元的个数为64个,第二层神经单元的个数为一个,即输出的预测值。损失函数选择mae,优化器选择adam,最后使用model.fit函数执行模型训练。将训练好的模型用于验证集进行验证,并输出验证结果,图4为验证集真实氨气与预测氨气拟合情况,图5为验证集氨气预警截图。

步骤(4)中采集运输车运输过程中的实时信息,图6为冷链运输车中环境信息截图,将采集到的数据代入到氨气预测模型中,输出氨气浓度,如果预测的氨气浓度超过65ppm时,启动预警模块,进行预警,图7为实时氨气预警截图。

可以理解地是,以上关于本发明的具体描述,仅用于说明本发明而并非受限于本发明实施例所描述的技术方案,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换,以达到相同的技术效果;只要满足使用需要,都在本发明的保护范围之内。

相关技术
  • 冷链运输中动态水产品腐化监测预警方法
  • 一种乳制品冷链运输智能监测预警方法
技术分类

06120113006929