一种基于产地环境数据的水生蔬菜质量评价方法及系统

文档序号:28208087发布日期:2021-12-28 19:27阅读:102来源:国知局
一种基于产地环境数据的水生蔬菜质量评价方法及系统

1.本发明属于数据处理技术、农业智能检测领域,具体涉及一种基于产地环境数据的水生蔬菜质量评价方法及系统。


背景技术:

2.近年来,受“镉大米”、“砷毒”、“血铅”等事件的影响,重金属所带来的环境污染和食品安全问题引起人们的广泛关注。重金属进入到农业环境的土壤或水体中,可能通过被农作物吸收、积累而富集在可食部位,再通过食物链进入到人体,从而对人类健康产生潜在危害。工业生产生活污水的大量排放、农业生产过程中化肥和农药的使用不合理使大量重金属进入环境,蔬菜种植环境持续恶化,产地土壤和灌溉水体中重金属污染日趋严重,致使产量降低,品质下降,不利于蔬菜种植业经济可持续发展。由于不同品种蔬菜对环境中的重金属吸收有着显著的差异,而不同区域的土壤和水体理化性质的差异也会影响蔬菜对土壤和水体中重金属的吸收累积能力。由此,利用现行标准对蔬菜产地环境质量评价时往往导致同一产地的土壤或水体重金属超标率与蔬菜超标率存在极大差异的现象,难以同时保障蔬菜安全生产和耕地资源有效利用的客观需要。基于不同蔬菜对其产地环境中土壤和水体重金属的富集规律,针对特定产地环境特性和蔬菜品种建立相应的蔬菜种植安全性评价模型,对指导特定区域的蔬菜安全生产和合理评价其产地环境质量具有重要意义。


技术实现要素:

3.本发明的目的在于提出一种基于产地环境数据的水生蔬菜质量评价方法及系统,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
4.基于不同蔬菜对产地环境中重金属的富集规律,针对特定产地环境特性和蔬菜品种建立相应的蔬菜种植安全性评价模型,通过多种水生蔬菜的产地环境土壤与水体重金属的数据,得到种植水生蔬菜这一大类蔬菜的产地环境土壤和水体重金属阈值,在该阈值条件下水生蔬菜的重金属浓度不超过一定的上限,对指导特定区域的蔬菜安全生产和合理评价其产地环境质量具有重要意义。
5.本发明提供了一种基于产地环境数据的水生蔬菜质量评价方法及系统,通过传感器获取多个不同产地的多种水生蔬菜的土壤和水体的重金属浓度的数据作为环境数据集,从数据库获取多种蔬菜的重金属浓度的阈值作为阈值数组,根据环境数据集初始化重金属浓度的数值矩阵,结合数值矩阵和阈值数组计算得到环境数据集与阈值数组的偏差,使用梯度下降算法最小化偏差从而对数值矩阵进行梯度下降得到进行梯度下降后的数值矩阵,根据进行梯度下降后的数值矩阵得到多种蔬菜的重金属浓度的上限值。
6.为了实现上述目的,根据本发明的一方面,提供一种基于产地环境数据的水生蔬菜质量评价方法,所述方法包括以下步骤:s100,通过传感器获取多个不同产地的多种水生蔬菜的土壤和水体的重金属浓度的数据作为环境数据集水生蔬菜;
s200,从数据库获取多种蔬菜的重金属浓度的阈值作为阈值数组;s300,根据环境数据集初始化重金属浓度的数值矩阵;s400,结合数值矩阵和阈值数组,计算得到环境数据集与阈值数组的偏差;s500,使用梯度下降算法最小化偏差从而对数值矩阵进行梯度下降,得到梯度下降后的数值矩阵;s600,根据梯度下降后的数值矩阵,得到多种蔬菜的重金属浓度的上限值 ;其中,在s100中,通过传感器获取多个不同产地的多种水生蔬菜的土壤和水体的重金属浓度的数据作为环境数据集的方法为:对多种不同的水生叶菜,从每种蔬菜的多个不同产地中,通过传感器,分别获取各种蔬菜在其各个产地中土壤的重金属浓度的数据、水体的重金属浓度的数据,土壤的重金属浓度的数据包括土壤中的镉、铬、铅、砷、汞、ph值的数值记作土壤镉、土壤铬、土壤铅、土壤砷、土壤汞、土壤ph值,水体的重金属浓度的数据包括水体中的镉、铬、铅、砷、汞、ph值的数值记作水镉、水铬、水铅、水砷、水汞、水ph值,蔬菜中含有的重金属浓度的数据包括蔬菜中的镉、铬、铅、砷、汞的数值记作蔬菜镉、蔬菜铬、蔬菜铅、蔬菜砷、蔬菜汞,数值与数据皆经过无量纲化处理,所述蔬菜为水生蔬菜,将各个不同产地中获取的蔬菜镉、蔬菜铬、蔬菜铅、蔬菜砷、蔬菜汞、水镉、水铬、水铅、水砷、水汞、水ph值、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞、土壤ph值的数据以表格的形式存储作为环境数据集;其中,在s200中,从数据库获取多种蔬菜的重金属浓度的阈值作为阈值数组的方法为:数据库中存储《食品中污染物限量》(gb 2762

2017)中的多种水生蔬菜品种的重金属限量值要求,其中包括每种水生蔬菜中的镉、铬、铅、砷、汞的限量值,将各种水生蔬菜中的镉、铬、铅、砷、汞的限量值分别作为该种水生蔬菜中对应的重金属含量的阈值,并将各种水生蔬菜中的镉、铬、铅、砷、汞的限量值组成的数组作为阈值数组。
7.进一步地,在s300中,根据环境数据集初始化重金属浓度的数值矩阵的方法为:环境数据集中的每一行包括一种水生蔬菜在一个产地中采集到的蔬菜镉、蔬菜铬、蔬菜铅、蔬菜砷、蔬菜汞、水镉、水铬、水铅、水砷、水汞、水ph值、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞、土壤ph值的数据,其中,蔬菜镉、蔬菜铬、蔬菜铅、蔬菜砷、蔬菜汞为蔬菜中含有的镉、铬、铅、砷、汞的含量的数值,水镉、水铬、水铅、水砷、水汞、水ph值为蔬菜产地的灌溉水中含有的镉、铬、铅、砷、汞的含量和ph值的数值,土壤镉、土壤铬、土壤铅、土壤砷、土壤汞、土壤ph值为蔬菜产地的土壤中含有的镉、铬、铅、砷、汞的含量和ph值的数值;需要进行检测的蔬菜内的目标重金属元素为镉、铬、铅、砷、汞这5项数值,则需要检测蔬菜产地的土壤与灌溉水中的镉、铬、铅、砷、汞的数据,获取需要进行检测的土壤与灌溉水的数值其中包括水镉、水铬、水铅、水砷、水汞、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞这10项数值;将需要进行检测的土壤与灌溉水的数值经过无量纲化处理后输入计算数值矩阵的过程中,定义计算得到数值矩阵的过程为如下:s301,令表示水镉的数值的变量为scd,令表示水铬的数值的变量为scr,令表示水铅的数值的变量为spb,令表示水砷的数值的变量为sas,令表示水汞的数值的变量为shg;s302,令表示土壤镉的数值的变量为tcd,令表示土壤铬的数值的变量为tcr,令表示土壤铅的数值的变量为tpb,令表示土壤砷的数值的变量为tas,令表示土壤汞的数值的
变量为thg;s303,将scd、scr、spb、sas、shg、tcd、tcr、tpb、tas、thg这10项数值按顺序组成的数组作为数组ctrs;s304,令变量k表示特征分量的个数,k>1,所述特征分量是表示一个数值在特征提取的过程中的分量,变量k表示一个数值在特征提取的过程中得到k个分量,特征提取表示将一个数值转为一个k维向量,一个k维向量中维度的序号为v,v∈[1,k],计算特征提取的函数有三个分别为ftr1()、ftr2()和ftr3();ftr1()表示将输入函数的一个数值输出为一个k维向量,记输入函数的数值为x,输出的k维向量中序号为v的维度的数值为输入函数的数值的v

1次方即x
v
‑1,所得ftr1(x)中序号为v的维度记为ftr1(x)[v],其公式为:ftr2()表示将输入函数的一个数值输出为一个k维向量,记输入函数的数值为x,记x的k分之一为(x/k),输出的k维向量中序号为v的维度的数值为(x/k)的

v*x次方即(x/k)

v*x
,其公式为:ftr3()表示将输入函数的一个数值输出为一个k维向量,记输入函数的数值为x,记x的k分之一为(x/k),输出的k维向量中序号为v的维度的数值为(x/k)*v的余弦值即cos((x/k)*v),其中cos()表示求余弦函数,其公式为:将表示水镉的数值的变量scd分别输入特征提取的三个函数,得到ftr1(scd)、ftr2(scd)和ftr3(scd);将表示水铬的数值的变量scr分别输入特征提取的三个函数,得到ftr1(scr)、ftr2(scr)和ftr3(scr);将表示水铅的数值的变量spb分别输入特征提取的三个函数,得到ftr1(spb)、ftr2(spb)和ftr3(spb);将表示水砷的数值的变量sas分别输入特征提取的三个函数,得到ftr1(sas)、
ftr2(sas)和ftr3(sas);将表示水汞的数值的变量shg分别输入特征提取的三个函数,得到ftr1(shg)、ftr2(shg)和ftr3(shg);将表示土壤镉的数值的变量tcd分别输入特征提取的三个函数,得到ftr1(tcd)、ftr2(tcd)和ftr3(tcd);将表示土壤铬的数值的变量tcr分别输入特征提取的三个函数,得到ftr1(tcr)、ftr2(tcr)和ftr3(tcr);将表示土壤铅的数值的变量tpb分别输入特征提取的三个函数,得到ftr1(tpb)、ftr2(tpb)和ftr3(tpb);将表示土壤砷的数值的变量tas分别输入特征提取的三个函数,得到ftr1(tas)、ftr2(tas)和ftr3(tas);将表示土壤汞的数值的变量thg分别输入特征提取的三个函数,得到ftr1(thg)、ftr2(thg)和ftr3(thg);s305,将ftr1(scd)、ftr1(scr)、ftr1(spb)、ftr1(sas)、ftr1(shg)、ftr1(tcd)、ftr1(tcr)、ftr1(tpb)、ftr1(tas)、ftr1(thg)这10个k维向量按顺序以每个k维向量作为矩阵的一列组成的10列k行的矩阵记作第一矩阵,记第一矩阵为mat1,mat1的公式为:mat1=[ ftr1(scd), ftr1(scr), ftr1(spb), ftr1(sas), ftr1(shg), ftr1(tcd), ftr1(tcr), ftr1(tpb), ftr1(tas), ftr1(thg)];将ftr2(scd)、ftr2(scr)、ftr2(spb)、ftr2(sas)、ftr2(shg)、ftr2(tcd)、ftr2(tcr)、ftr2(tpb)、ftr2(tas)、ftr2(thg)这10个k维向量按顺序以每个k维向量作为矩阵的一列组成的10列k行的矩阵记作第二矩阵,记第二矩阵为mat2,mat2的公式为:mat2=[ ftr2(scd), ftr2(scr), ftr2(spb), ftr2(sas), ftr2(shg), ftr2(tcd), ftr2(tcr), ftr2(tpb), ftr2(tas), ftr2(thg)];定义第三矩阵为一个10列k行的矩阵,第三矩阵记作mat3,第三矩阵中的元素为变量,第三矩阵中的元素的数值可被进行梯度下降,第三矩阵可进行初始化即先设定矩阵中元素的初始值然后可对初始值进行梯度下降,将ftr3(scd)、ftr3(scr)、ftr3(spb)、ftr3(sas)、ftr3(shg)、ftr3(tcd)、ftr3(tcr)、ftr3(tpb)、ftr3(tas)、ftr3(thg)这10个k维向量按顺序以每个k维向量作为矩阵的一列组成的10列k行的矩阵作为第三矩阵的初始值;s306,记数值化矩阵为mats;在10列k行的矩阵中,由于v∈[1,k],以v表示矩阵的行的序列,矩阵的列的序号记为s,s∈[1,10];在mat1中,mat1的第v行第s列的元素记为mat1(v,s);在mat2中,mat2的第v行第s列的元素记为mat2(v,s);在mat3中,mat3的第v行第s列的元素记为mat3(v,s);在mats中,mats的第v行第s列的元素记为mats(v,s);mats的第s列的元素为:mats(v,s)的计算公式为mats(v,s)= [mat1(v,s)* mat2(v,s)* mat3(v,s)]/3;
以上s301至s306的步骤即为计算得到数值化矩阵的方法,由此得到数值化矩阵mats,其中,由于第三矩阵mat3可对初始值进行梯度下降,mats中的元素的数值也能随之进行梯度下降。
[0008]
进一步地,在s400中,结合数值矩阵和阈值数组,计算得到环境数据集与阈值数组的偏差的方法为:将阈值数组记作数组tarr,在tarr中将水生蔬菜中的镉、铬、铅、砷、汞的限量值的数值分别以变量cdl、crl、pbl、asl、hgl来表示,即tarr=[cdl, crl, pbl, asl, hgl],记tarr中元素的数量为l、元素的序号为t,(t∈[1, l]),tarr中序号为t元素为tarr(t);获取数值矩阵的矩阵大小记为k
×
c, k表示数值矩阵的行数,c表示数值矩阵的列数;定义变量v,v∈[1,k];定义变量s,s∈[1,c];使用v表示数值矩阵中行的序号,使用s表示数值矩阵中列的序号;将数值矩阵记作矩阵mats,数值矩阵中第v行第s列的元素记为mats(v,s),mats(v,s)∈mats;定义第四向量为k维的向量且该向量中的元素为变量,第四向量记作vec4,第四向量中的元素的数值可被进行梯度下降;由于第四向量为k维的向量,则同样使用v表示第四向量中维度的序号,记第四向量中维度序号为v的元素为vec4(v),vec4(v)∈vec4;第四向量中的元素的变量初始值为通过随机函数生成的取值范围为(0,1)的随机数,或者,第四向量中的元素的变量初始值为vec4(v)=cos(π*v/2k),cos()表示余弦函数,π为圆周率;将结合数值矩阵mats和vec4的计算结果记为maty,maty的计算公式为:maty的计算公式即为结合mats和vec4的计算公式,其中,由于s∈[1,c],maty为一个c维的向量,maty中序号为s的维度记为maty(s),则maty(s)为:记计算得到环境数据集与阈值数组的偏差的函数为disr(),disr(maty, tarr)表示根据maty和tarr通过函数disr()计算得到环境数据集与阈值数组的偏差,disr(maty, tarr)的计算公式为:其中,ur(maty(s),tarr(t))的计算过程为:
disr(maty, tarr)即为环境数据集与阈值数组的偏差,disr(maty, tarr)的计算公式即为计算得到环境数据集与阈值数组的偏差的公式。
[0009]
进一步地,其特征在于,在s500中,使用梯度下降算法最小化偏差从而对数值矩阵进行梯度下降,得到梯度下降后的数值矩阵的方法为:通过adam算法使用基于一阶导数的随机梯度下降算法对环境数据集与阈值数组的偏差进行梯度下降,在梯度下降的过程中adam算法通过对第三矩阵mat3初始值进行梯度下降 ,对应地数值矩阵中的元素的数值也被进行梯度下降,对数值矩阵进行梯度下降后,得到进行梯度下降后的数值矩阵记为mats`,其中,进行梯度下降后的数值矩阵的大小与数值矩阵的大小保持一致。
[0010]
进一步地,在s600中,根据梯度下降后的数值矩阵,得到多种蔬菜的重金属浓度的上限值的方法为:对进行梯度下降后的数值矩阵,取进行梯度下降后的数值矩阵中的各列,分别将各列中的元素相加,分别得到各列的累加和,按进行梯度下降后的数值矩阵中的各列的序号为顺序,将各列的累加和组成的有序数组记为上限数组,由于数值矩阵中列的数量为10,则上限数组中元素的个数为10,上限数组中的元素分别为水镉、水铬、水铅、水砷、水汞、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞这10项需要进行检测的土壤与灌溉水的数值的上限值,即重金属浓度的上限值,进行判断是否超过重金属浓度的上限值,超过重金属浓度的上限值即为重金属浓度的污染,标记并输出该产地的水生蔬菜被重金属污染,由此,根据得到的重金属浓度的上限值,当在仅获得了水生蔬菜的产地的水镉、水铬、水铅、水砷、水汞、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞的重金属的数据,但未获得该水生蔬菜的产地所生产的水生蔬菜的样本内含有的具体的重金属的数据的情况下,使用重金属浓度的上限值与水生蔬菜的产地的重金属的数据进行判断,将该水生蔬菜的产地所生产的水生蔬菜标记为被污染,停止该水生蔬菜的产地所生产的水生蔬菜流通被食用。
[0011]
本发明还提供了一种基于产地环境数据的水生蔬菜质量评价系统,所述一种基于产地环境数据的水生蔬菜质量评价系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述一种基于产地环境数据的水生蔬菜质量评价方法中的步骤,所述一种基于产地环境数据的水生蔬菜质量评价系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群,所述处理器执行所述计算机程序运行在以下系统的单元中:环境数据获取单元,用于通过传感器获取多个不同的产地的多种蔬菜的土壤和水体的重金属浓度的数据作为环境数据集;阈值数组获取单元,用于从数据库获取多种蔬菜的重金属浓度的阈值作为阈值数组;数值矩阵初始化单元,用于根据环境数据集初始化重金属浓度的数值矩阵;偏差计算单元,用于结合数值矩阵和阈值数组计算得到环境数据集与阈值数组的偏差;数值矩阵优化单元,用于使用梯度下降算法最小化偏差从而对数值矩阵进行优化得到优化后的数值矩阵;上限值计算单元,用于根据优化后的数值矩阵得到多种蔬菜的重金属浓度的上限
值。
[0012]
本发明的有益效果为:本发明提供了一种基于产地环境数据的水生蔬菜质量评价方法及系统,根据环境数据集初始化重金属浓度的数值矩阵,结合数值矩阵和阈值数组计算得到环境数据集与阈值数组的偏差,使用梯度下降算法最小化偏差从而对数值矩阵进行优化得到优化后的数值矩阵,根据优化后的数值矩阵得到多种蔬菜的重金属浓度的上限值,通过多种水生蔬菜的产地环境土壤与水体重金属的数据,得到种植水生蔬菜这一大类蔬菜的产地环境土壤和水体重金属阈值,在该阈值条件下水生蔬菜的重金属浓度不超过上限值,实现了根据多种蔬菜的产地环境中重金属浓度自动计算得到多种蔬菜的重金属浓度的上限值的有益效果。
附图说明
[0013]
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为一种基于产地环境数据的水生蔬菜质量评价方法的流程图;图2所示为一种基于产地环境数据的水生蔬菜质量评价系统的系统结构图。
具体实施方式
[0014]
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0015]
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0016]
如图1所示为根据本发明的一种基于产地环境数据的水生蔬菜质量评价方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种基于产地环境数据的水生蔬菜质量评价方法及系统。
[0017]
本发明提出一种基于产地环境数据的水生蔬菜质量评价方法,所述方法具体包括以下步骤:s100,通过传感器获取多个不同产地的多种水生蔬菜的土壤和水体的重金属浓度的数据作为环境数据集;s200,从数据库获取多种蔬菜的重金属浓度的阈值作为阈值数组;s300,根据环境数据集初始化重金属浓度的数值矩阵;s400,结合数值矩阵和阈值数组,计算得到环境数据集与阈值数组的偏差;s500,使用梯度下降算法最小化偏差从而对数值矩阵进行梯度下降,得到梯度下降后的数值矩阵;s600,根据梯度下降后的数值矩阵,得到多种蔬菜的重金属浓度的上限值 ;
其中,在s100中,通过传感器获取多个不同产地的多种水生蔬菜的土壤和水体的重金属浓度的数据作为环境数据集的方法为:对多种不同的蔬菜,从每种蔬菜的多个不同产地中,通过传感器及重金属检测设备,分别获取各种蔬菜在其各个产地中土壤的重金属浓度的数据、灌溉水的重金属浓度的数据,土壤的重金属浓度的数据包括土壤中的镉、铬、铅、砷、汞和ph值的数值记作土壤镉、土壤铬、土壤铅、土壤砷、土壤汞和土壤ph值,灌溉水的重金属浓度的数据包括灌溉水中的镉、铬、铅、砷、汞和ph值的数值记作水镉、水铬、水铅、水砷、水汞和水ph值,蔬菜中含有的重金属浓度的数据包括蔬菜中的镉、铬、铅、砷、汞的数值记作蔬菜镉、蔬菜铬、蔬菜铅、蔬菜砷、蔬菜汞,数值与数据皆经过无量纲化处理,所述蔬菜为水生蔬菜,将各个不同产地中获取的蔬菜镉、蔬菜铬、蔬菜铅、蔬菜砷、蔬菜汞、水镉、水铬、水铅、水砷、水汞、水ph值、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞、土壤ph值的数据以表格的形式存储作为环境数据集;其中,在s200中,从数据库获取多种蔬菜的重金属浓度的阈值作为阈值数组的方法为:数据库中存储多种水生蔬菜品种的重金属限量值要求,其中包括每种水生蔬菜中的镉、铬、铅、砷、汞的限量值,将各种水生蔬菜中的镉、铬、铅、砷、汞的限量值分别作为该种水生蔬菜中对应的重金属的含量的阈值,并将各种水生蔬菜中的镉、铬、铅、砷、汞的限量值组成的数组作为阈值数组。
[0018]
进一步地,在s300中,根据环境数据集初始化重金属浓度的数值矩阵的方法为:环境数据集中的每一行包括一种水生蔬菜在一个产地中采集到的蔬菜镉、蔬菜铬、蔬菜铅、蔬菜砷、蔬菜汞、水镉、水铬、水铅、水砷、水汞、水ph值、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞、土壤ph值的数据,其中,蔬菜镉、蔬菜铬、蔬菜铅、蔬菜砷、蔬菜汞为蔬菜中含有的镉、铬、铅、砷、汞的含量的数值,水镉、水铬、水铅、水砷、水汞、水ph值为蔬菜产地的灌溉水中含有的镉、铬、铅、砷、汞的含量和ph值的数值,土壤镉、土壤铬、土壤铅、土壤砷、土壤汞、土壤ph值为蔬菜产地的土壤中含有的镉、铬、铅、砷、汞的含量和ph值的数值;需要进行检测的蔬菜内的目标重金属元素为镉、铬、铅、砷、汞这5项数值,则需要检测蔬菜产地的土壤与灌溉水中的镉、铬、铅、砷、汞的数据,获取需要进行检测的土壤与灌溉水的数值其中包括水镉、水铬、水铅、水砷、水汞、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞这10项数值;将需要进行检测的土壤与灌溉水的数值经过无量纲化处理后输入计算数值矩阵的过程中,定义计算得到数值矩阵的过程为如下:s301,令表示水镉的数值的变量为scd,令表示水铬的数值的变量为scr,令表示水铅的数值的变量为spb,令表示水砷的数值的变量为sas,令表示水汞的数值的变量为shg;s302,令表示土壤镉的数值的变量为tcd,令表示土壤铬的数值的变量为tcr,令表示土壤铅的数值的变量为tpb,令表示土壤砷的数值的变量为tas,令表示土壤汞的数值的变量为thg;s303,将scd、scr、spb、sas、shg、tcd、tcr、tpb、tas、thg这10项数值按顺序组成的数组作为数组ctrs;s304,令变量k表示特征分量的个数,k>1,所述特征分量是表示一个数值在特征提取的过程中的分量,变量k表示一个数值在特征提取的过程中得到k个分量,特征提取表示将一个数值转为一个k维向量,一个k维向量中维度的序号为v,v∈[1,k],计算特征提取的
函数有三个分别为ftr1()、ftr2()和ftr3();ftr1()表示将输入函数的一个数值输出为一个k维向量,记输入函数的数值为x,输出的k维向量中序号为v的维度的数值为输入函数的数值的v

1次方即x
v
‑1,所得ftr1(x)中序号为v的维度记为ftr1(x)[v],其公式为:ftr2()表示将输入函数的一个数值输出为一个k维向量,记输入函数的数值为x,记x的k分之一为(x/k),输出的k维向量中序号为v的维度的数值为(x/k)的

v*x次方即(x/k)

v*x
,其公式为:ftr3()表示将输入函数的一个数值输出为一个k维向量,记输入函数的数值为x,记x的k分之一为(x/k),输出的k维向量中序号为v的维度的数值为(x/k)*v的余弦值即cos((x/k)*v),其中cos()表示求余弦函数,其公式为:将表示水镉的数值的变量scd分别输入特征提取的三个函数,得到ftr1(scd)、ftr2(scd)和ftr3(scd);将表示水铬的数值的变量scr分别输入特征提取的三个函数,得到ftr1(scr)、ftr2(scr)和ftr3(scr);将表示水铅的数值的变量spb分别输入特征提取的三个函数,得到ftr1(spb)、ftr2(spb)和ftr3(spb);将表示水砷的数值的变量sas分别输入特征提取的三个函数,得到ftr1(sas)、ftr2(sas)和ftr3(sas);将表示水汞的数值的变量shg分别输入特征提取的三个函数,得到ftr1(shg)、ftr2(shg)和ftr3(shg);将表示土壤镉的数值的变量tcd分别输入特征提取的三个函数,得到ftr1(tcd)、ftr2(tcd)和ftr3(tcd);将表示土壤铬的数值的变量tcr分别输入特征提取的三个函数,得到ftr1(tcr)、
ftr2(tcr)和ftr3(tcr);将表示土壤铅的数值的变量tpb分别输入特征提取的三个函数,得到ftr1(tpb)、ftr2(tpb)和ftr3(tpb);将表示土壤砷的数值的变量tas分别输入特征提取的三个函数,得到ftr1(tas)、ftr2(tas)和ftr3(tas);将表示土壤汞的数值的变量thg分别输入特征提取的三个函数,得到ftr1(thg)、ftr2(thg)和ftr3(thg);s305,将ftr1(scd)、ftr1(scr)、ftr1(spb)、ftr1(sas)、ftr1(shg)、ftr1(tcd)、ftr1(tcr)、ftr1(tpb)、ftr1(tas)、ftr1(thg)这10个k维向量按顺序以每个k维向量作为矩阵的一列组成的10列k行的矩阵记作第一矩阵,记第一矩阵为mat1,mat1的公式为:mat1=[ ftr1(scd), ftr1(scr), ftr1(spb), ftr1(sas), ftr1(shg), ftr1(tcd), ftr1(tcr), ftr1(tpb), ftr1(tas), ftr1(thg)];将ftr2(scd)、ftr2(scr)、ftr2(spb)、ftr2(sas)、ftr2(shg)、ftr2(tcd)、ftr2(tcr)、ftr2(tpb)、ftr2(tas)、ftr2(thg)这10个k维向量按顺序以每个k维向量作为矩阵的一列组成的10列k行的矩阵记作第二矩阵,记第二矩阵为mat2,mat2的公式为:mat2=[ ftr2(scd), ftr2(scr), ftr2(spb), ftr2(sas), ftr2(shg), ftr2(tcd), ftr2(tcr), ftr2(tpb), ftr2(tas), ftr2(thg)];定义第三矩阵为一个10列k行的矩阵,第三矩阵记作mat3,第三矩阵中的元素为变量,第三矩阵中的元素的数值可被进行梯度下降,第三矩阵可进行初始化即先设定矩阵中元素的初始值然后可对初始值进行梯度下降,将ftr3(scd)、ftr3(scr)、ftr3(spb)、ftr3(sas)、ftr3(shg)、ftr3(tcd)、ftr3(tcr)、ftr3(tpb)、ftr3(tas)、ftr3(thg)这10个k维向量按顺序以每个k维向量作为矩阵的一列组成的10列k行的矩阵作为第三矩阵的初始值;s306,记数值化矩阵为mats;在10列k行的矩阵中,由于v∈[1,k],以v表示矩阵的行的序列,矩阵的列的序号记为s,s∈[1,10];在mat1中,mat1的第v行第s列的元素记为mat1(v,s);在mat2中,mat2的第v行第s列的元素记为mat2(v,s);在mat3中,mat3的第v行第s列的元素记为mat3(v,s);在mats中,mats的第v行第s列的元素记为mats(v,s);mats的第s列的元素为:mats(v,s)的计算公式为mats(v,s)= [mat1(v,s)* mat2(v,s)* mat3(v,s)]/3;以上s301至s306的步骤即为计算得到数值化矩阵的方法,由此得到数值化矩阵mats,其中,由于第三矩阵mat3可对初始值进行梯度下降,mats中的元素的数值也能随之进行梯度下降。
[0019]
进一步地,在s400中,结合数值矩阵和阈值数组,计算得到环境数据集与阈值数组的偏差的方法为:将阈值数组记作数组tarr,在tarr中将水生蔬菜中的镉、铬、铅、砷、汞的限量值的
数值分别以变量cdl、crl、pbl、asl、hgl来表示,即tarr=[cdl, crl, pbl, asl, hgl],记tarr中元素的数量为l、元素的序号为t,tarr中序号为t元素为tarr(t);获取数值矩阵的矩阵大小记为k
×
c, k表示数值矩阵的行数,c表示数值矩阵的列数;定义变量v,v∈[1,k];定义变量s,s∈[1,c];使用v表示数值矩阵中行的序号,使用s表示数值矩阵中列的序号;将数值矩阵记作矩阵mats,数值矩阵中第v行第s列的元素记为mats(v,s),mats(v,s)∈mats;定义第四向量为k维的向量且该向量中的元素为变量,第四向量记作vec4,第四向量中的元素的数值可被进行梯度下降;由于第四向量为k维的向量,则同样使用v表示第四向量中维度的序号,记第四向量中维度序号为v的元素为vec4(v),vec4(v)∈vec4;第四向量中的元素的变量初始值为通过随机函数生成的取值范围为(0,1)的随机数,或者,第四向量中的元素的变量初始值为vec4(v)=cos(π*v/2k),cos()表示余弦函数,π为圆周率;将结合数值矩阵mats和vec4的计算结果记为maty,maty的计算公式为:maty的计算公式即为结合mats和vec4的计算公式,其中,由于s∈[1,c],maty为一个c维的向量,maty中序号为s的维度记为maty(s),则maty(s)为:记计算得到环境数据集与阈值数组的偏差的函数为disr(),disr(maty, tarr)表示根据maty和tarr通过函数disr()计算得到环境数据集与阈值数组的偏差,disr(maty, tarr)的计算公式为:其中,ur(maty(s),tarr(t))的计算过程为:disr(maty, tarr)即为环境数据集与阈值数组的偏差,disr(maty, tarr)的计算公式即为计算得到环境数据集与阈值数组的偏差的公式。
[0020]
进一步地,其特征在于,在s500中,使用梯度下降算法最小化偏差从而对数值矩阵进行梯度下降,得到梯度下降后的数值矩阵的方法为:通过adam算法(参见论文:kingma d, ba j . adam: a method for stochastic optimization[j]. computer science, 2014.)使用基于一阶导数的随机梯度下降算法对
环境数据集与阈值数组的偏差进行梯度下降(实现代码可参考开源的python机器学习库pytorch中的troch.optim.adam模块的代码),在梯度下降的过程中adam算法通过对第三矩阵mat3初始值进行梯度下降 ,对应地数值矩阵中的元素的数值也被进行梯度下降,对数值矩阵进行梯度下降后,得到进行梯度下降后的数值矩阵记为mats`,其中,进行梯度下降后的数值矩阵的大小与数值矩阵的大小保持一致。
[0021]
进一步地,在s600中,根据梯度下降后的数值矩阵,得到多种蔬菜的重金属浓度的上限值的方法为:对进行梯度下降后的数值矩阵,取进行梯度下降后的数值矩阵中的各列,分别将各列中的元素相加,分别得到各列的累加和,按进行梯度下降后的数值矩阵中的各列的序号为顺序,将各列的累加和组成的有序数组记为上限数组,由于数值矩阵中列的数量为10,则上限数组中元素的个数为10,上限数组中的元素分别为水镉、水铬、水铅、水砷、水汞、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞这10项需要进行检测的土壤与灌溉水的数值的上限值,即重金属浓度的上限值,进行判断是否超过重金属浓度的上限值,超过重金属浓度的上限值即为重金属浓度的污染,标记并输出该产地的水生蔬菜被重金属污染,由此,根据得到的重金属浓度的上限值,当在仅获得了水生蔬菜的产地的水镉、水铬、水铅、水砷、水汞、土壤镉、土壤铬、土壤铅、土壤砷、土壤汞的重金属的数据,但未获得该水生蔬菜的产地所生产的水生蔬菜的样本内含有的具体的重金属的数据的情况下,使用重金属浓度的上限值与水生蔬菜的产地的重金属的数据进行判断,将该水生蔬菜的产地所生产的水生蔬菜标记为被污染,停止该水生蔬菜的产地所生产的水生蔬菜流通被食用。
[0022]
所述一种基于产地环境数据的水生蔬菜质量评价系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于产地环境数据的水生蔬菜质量评价方法实施例中的步骤,所述一种基于产地环境数据的水生蔬菜质量评价系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群。
[0023]
本发明的实施例提供的一种基于产地环境数据的水生蔬菜质量评价系统,如图2所示,该实施例的一种基于产地环境数据的水生蔬菜质量评价系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于产地环境数据的水生蔬菜质量评价方法实施例中的步骤,所述处理器执行所述计算机程序运行在以下系统的单元中:环境数据获取单元,用于通过传感器获取多个不同的产地的多种蔬菜的土壤和水体的重金属浓度的数据作为环境数据集;阈值数组获取单元,用于从数据库获取多种蔬菜的重金属浓度的阈值作为阈值数组;数值矩阵初始化单元,用于根据环境数据集初始化重金属浓度的数值矩阵;偏差计算单元,用于结合数值矩阵和阈值数组计算得到环境数据集与阈值数组的偏差;数值矩阵优化单元,用于使用梯度下降算法最小化偏差从而对数值矩阵进行优化得到优化后的数值矩阵;上限值计算单元,用于根据优化后的数值矩阵得到多种蔬菜的重金属浓度的上限
值。
[0024]
所述一种基于产地环境数据的水生蔬菜质量评价系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中。所述一种基于产地环境数据的水生蔬菜质量评价系统包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种基于产地环境数据的水生蔬菜质量评价方法及系统的示例,并不构成对一种基于产地环境数据的水生蔬菜质量评价方法及系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于产地环境数据的水生蔬菜质量评价系统还可以包括输入输出设备、网络接入设备、总线等。
[0025]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器 (digital signal processor,dsp)、专用集成电路 (application specific integrated circuit,asic)、现场可编程门阵列 (field

programmable gate array,fpga) 或者其他可编程逻辑器件、分立元器件门电路或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种基于产地环境数据的水生蔬菜质量评价系统的控制中心,利用各种接口和线路连接整个一种基于产地环境数据的水生蔬菜质量评价系统的各个分区域。
[0026]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于产地环境数据的水生蔬菜质量评价方法及系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0027]
本发明提供了一种基于产地环境数据的水生蔬菜质量评价方法及系统,根据环境数据集初始化重金属浓度的数值矩阵,结合数值矩阵和阈值数组计算得到环境数据集与阈值数组的偏差,使用梯度下降算法最小化偏差从而对数值矩阵进行优化得到优化后的数值矩阵,根据优化后的数值矩阵得到多种蔬菜的重金属浓度的上限值,实现了根据多种蔬菜的产地环境中重金属浓度自动计算得到多种蔬菜的重金属浓度的上限值的有益效果。
[0028]
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1