本发明属于害虫检测技术领域,具体涉及一种基于信道状态信息的储粮害虫检测方法及装置。
背景技术:
粮食储藏过程中影响粮食安全的因素包括环境因素和生物因素。其中,害虫是威胁粮食储藏安全的一个重要因素。因此,储粮害虫检测是当前粮食行业的研究热点,只有准确的检测害虫,才能做到有目的的防治,把害虫数量控制在经济损害水平以下,既不会因害虫造成损失,也不会因盲目防治造成浪费、加重对储粮和环境的污染。
现有的储粮害虫检测方法可以大致分为两类:一类是传统的人工检查法;另一类是通过现代信息光学、声学、图像、电磁学等新方法对储粮害虫进行检测分类,具体细分开来大致可分为声音识别法、图像识别法等方法。
传统的人工检测方法工作量大、工作效率低,难以适应现代化粮食储藏的需要。
声音识别法通过害虫在取食、运动、通讯时发出的声音来检测储粮害虫,该装置复杂且成本高,且容易受到外界环境声音的影响,使得通过该方法获取的害虫检测效果不佳。图像识别法是通过机器学习技术将粮虫特征区分开来,该法有较高的识别率,但只能识别粮粒外部的害虫,处于粮粒之间的害虫无法通过图像识别法识别出,也使得通过该方法获取的害虫检测效果不佳。
技术实现要素:
本发明提供了一种基于信道状态信息的储粮害虫检测方法及装置,用于解决现有技术的储粮害虫检测效果不佳的问题。
为解决上述技术问题,本发明的技术方案和有益效果为:
本发明的一种基于信道状态信息的储粮害虫检测方法,包括如下步骤:
1)获取穿过有害虫储粮和没有害虫储粮的wifi信号,从所述wifi信号中提取信道状态信息的csi振幅数据,以提取出的csi振幅数据和与csi振幅数据对应的类别构建样本,所述类别包括储粮中有害虫和储粮中无害虫;
2)构建机器学习模型,利用得到的样本对所述机器学习模型进行训练,得到储粮害虫检测模型;
3)获取穿过待检测储粮的wifi信号,从穿过待检测储粮的wifi信号中提取csi振幅数据并输入至所述储粮害虫检测模型中,得到待检测储粮中是否有害虫。
其有益效果:本发明利用wifi信号通过储粮时,活动的害虫会引起wifi信号中csi振幅数据的显著且可测量变化的原理,通过构建机器学习算法模型,对储粮中是否含有害虫进行检测。该方法利用现有的wifi设备以及软件算法即可实现对储粮中是否有害虫的检测,且能够对储粮中是否有害虫进行非破坏、低成本、非接触、无间断的检测,不受环境中其他声音的影响,且能够检测到粮粒之间的害虫,检测精度高,效果好。而且,该方法利用训练好的储粮害虫检测模型,简单且有效,检测实时性较高,有助于农民、经销商等更高效、快速地发现储粮中是否有害虫,以减少粮食浪费和成本。
作为方法的进一步改进,步骤1)中,为了提高储粮害虫检测模型的检测精度,在构建样本时,还对csi振幅数据进行特征提取以得到对应的特征数据,将特征数据和与特征数据对应的类别构建样本;步骤3)中,在从穿过待检测储粮的wifi信号中提取csi振幅数据后,还对提取的csi振幅数据进行特征提取,将提取出的特征数据输入至所述储粮害虫检测模型中。
作为方法的进一步改进,为了降低特征数据的维度,步骤1)和步骤3)中,所述特征提取包括:采用主成分分析法对csi振幅数据进行特征提取。
作为方法的进一步改进,在采用主成分分析法之前,还包括采用离散小波变换法对csi振幅数据进行高频信息和低频信息的分离,以得到低频信息的步骤。
作为方法的进一步改进,步骤2)中,所述机器学习模型为支持向量机分类模型或随机森林分类模型。
作为方法的进一步改进,为了提高检测精度和模型的计算速度,步骤2)中,在利用得到的样本对所述机器学习模型进行训练时,还包括对获取的csi振幅数据进行预处理步骤,所述预处理包括以下处理中的至少一种:剔除异常值处理、归一化处理和消除噪声处理。
作为方法的进一步改进,为了提高检测精度和模型的计算速度,在对csi振幅数据进行特征提取之前,还包括对获取的csi振幅数据进行预处理步骤,所述预处理包括以下处理中的至少一种:剔除异常值处理、归一化处理和消除噪声处理。
作为方法的进一步改进,所述剔除异常值处理为采用拉依达准则进行处理。
作为方法的进一步改进,所述消除噪声处理为采用切比雪夫ⅱ型滤波器进行处理。
本发明还提供了一种基于信道状态信息的储粮害虫检测装置,包括存储器和处理器,所述处理器用于执行存储在存储器中的指令以实现上述基于信道状态信息的储粮害虫检测方法,以达到与方法相同的效果。
附图说明
图1-1是本发明的方法实施例中无虫与大量活虫的csi振幅对比示意图;
图1-2是本发明的方法实施例中无虫与大量死虫的csi振幅对比示意图;
图2-1是本发明的方法实施例中无虫粮与基本无虫粮的csi振幅对比示意图;
图2-2是本发明的方法实施例中无虫粮与一般虫粮的csi振幅对比示意图;
图2-3是本发明的方法实施例中无虫粮与严重虫粮的csi振幅对比示意图;
图3是本发明的的方法实施例中软件处理逻辑示意图;
图4是本发明的的方法实施例中随机森林与svm的振幅分类精度对比示意图。
具体实施方式
信道状态信息(csi)表示通信链路的信道特性信息,是一种细粒度的信道信息,通过信道信息来反映发射器和接收器之间通信链路的信道特性。它不仅提供有关信号传输过程的基本信息,还揭示了接收信号的信道特性,例如多径效应、阴影衰落和失真。
对于在2.4ghz或5ghz频带中的wifiofdm物理层来说,子载波可以被视为衰落信道上的窄带,其对射频的感应是非常稳定的。第i个子载波的信道频率响应公式可以写为:
hi=|hi|·exp{j∠hi}(1)
式中,|hi|和∠hi分别为第i个子载波的振幅和相位。
害虫的微弱移动可引起wifi信号的变化,现通过下面两组实验对该现象进行验证补充说明。
实验一:将大量超出虫口密度的玉米象活虫(140头)与未放入玉米象活虫(0头)分别固定放入塑料瓶子里中,并收集csi振幅数据。同样的场景下,再收集放入相同玉米象死虫头数的csi振幅数据。如图1-1所示,与未放入玉米象活虫相比,玉米象活虫放入塑料瓶子中时,csi振幅发生了很大变化;如图1-2所示,与未放入玉米象活虫相比,玉米象死虫放入塑料瓶子中时,没有明显的csi振幅变化。故这从这两幅图中可以看出,不是虫子的成分引起csi振幅的变化。因此,可以利用csi振幅数据进行储粮害虫检测。
实验二:当wifi信号穿过害虫小麦堆时,收集4种不同虫口密度小麦样本的csi振幅数据。在本实验中,将0头/kg作为临界虫口密度。如图2-1、2-2、2-3所示,小麦虫口密度发生变化,从0头/kg增加到4头/kg(虫口密度为11%)时、从0头/kg增加到20头/kg时、从0头/kg增加到40头/kg(虫口密度为16.5%)时,csi振幅数据均发生了明显变化,且虫口密度为0头/kg与40头/kg的csi振幅数据对比最明显。因此,可以利用csi振幅数据进行储粮害虫检测。
因此,本发明将csi振幅数据用于储粮害虫检测,下面对将csi振幅数据应用于储粮害虫检测的方法进行详细说明。
方法实施例:
该实施例提供了一种基于信道状态信息的储粮害虫检测方法,该方法在现有的基于wificsi传感技术的推动下,旨在提供一种基于csi振幅的非破坏、快速、低成本、非接触的储粮害虫检测方法。下面以储粮为小麦、害虫为玉米象为例来说明该方法。
为了实现该方法,在硬件结构上,利用两个配备了atherosar9580nic网卡的笔记本电脑,其中,配备有一根天线的戴尔pp18l型号笔记本电脑作为发射器,配备有三根天线的戴尔latitude5480型号笔记本电脑作为接收器,且两个笔记本电脑的操作系统均是内核为4.1.10+的32位ubuntulinux14.04操作系统。将发射器设置为发射模式,接收器设置为接收模式。使用带有一根天线的发射器将数据包发送到带有三根天线的接收器上,这样可以从接收器中提取到5ghz下的csi振幅数据。
在软件上,作为接收器的笔记本电脑中具有csi振幅数据处理功能的信号处理器,信号处理器根据csi振幅数据对储粮中是否有害虫进行判断,其软件处理逻辑如图3所示,即为该实施例提供的基于信道状态信息的储粮害虫检测方法。
步骤一,获取穿过有害虫储粮和没有害虫储粮的wifi信号,从wifi信号中提取信道状态信息的csi振幅数据。将提取出的csi振幅数据进行预处理,以对获取的csi振幅数据进行校准,加快后续模块的计算速度并提高模型计算精度。其中,数据预处理包括三部分,分别为剔除异常值、归一化和消除噪声。
1、剔除异常值:采用拉依达准则(又称pauta准则、3σ准则)来检测和去除csi振幅数据中的异常值,其详细过程如下:
step1,求取各个csi振幅数据xi(i=1,2,…,n)的算术平均值
step2,用式(3)计算各个csi振幅数据xi与算术平均值
step3,对于所有的i=1,2,…,n,若|vi|>3σ,则认为xi为异常值,并使用算术平均值
step4,重复上述step1~step3,直到检测完获取的所有csi振幅数据样本。
2、归一化:为了提高检测的精度,在进行机器学习模型操作时应该将输入值限制在(0,1)范围之内,对csi振幅数据进行归一化处理,归一化后的值yi计算如下:
式中,xi为获取的原始csi振幅数据,xmean为csi振幅数据的平均值,xmax和xmin分别为去除csi振幅数据中异常值后一段时间内的csi振幅的最大值和最小值。
3、消除噪声:选择切比雪夫ⅱ型滤波器来进一步去除环境噪声,定义的切比雪夫ii型滤波器的响应函数如下:
式中,ε为阻带中的振幅频率的波动,且0<ε<1,ωs为描述频率的标定常数,n是多项式
步骤二,对获取的csi振幅数据进行预处理后,进行特征提取,以得到对应的特征数据,以提取出的特征数据和与特征数据对应的类别构建样本,类别包括储粮中有害虫和储粮中无害虫。具体的特征提取过程如下:
在经过预处理后的csi振幅数据还需要提取有代表性的特征。在特征提取阶段,首先需要应用功率谱密度(psd)将手机的csi振幅数据转换为频域中的功率强度,判断虫子的移动是影响高频信号还是低频信号,并根据功率谱图可以看出,虫子的移动主要影响低频信号。故先用离散小波变换(dwt)分离高频和低频信息,以提取得到低频信息,接着使用主成分分析法(pca),将提取出的低频信息进行相应特征数据的提取。pca不仅可以集中在主要的数据特征上,还可以减少输入数据的维度。对于csi振幅数据使用pca法计算每一个csi序列的主分量p,可以得到一个p×n大小的矩阵,在该实施例中设置p=12,该过程描述如下:
step1,预处理。使用经过数据预处理后的csi振幅数据来创建csi矩阵:
式中,m是子载波的数量,zij表示分组j记录的子载波处理器后的csi振幅。
step2,计算相关矩阵。计算
step3,计算特征向量。使用相关矩阵
step4,重建矩阵。使用相关矩阵和特征向量创建了一个新的csi矩阵,即zi=viz,式中,zi是第i个主成分,vi是第i个特征向量。
步骤三,构建机器学习模型,该实施例中选择随机森林分类模型,利用步骤二中得到的样本(所有的样本一部分作为训练样本,一部分作为测试样本)对构建的机器学习模型进行训练,以得到储粮害虫检测模型。
具体随机森林分类模型的训练过程如下:
step1,计算采样数据的基尼系数:
式中,pi是要素类i中样本的频率,m是数字要素类,s是采样数据,即提取出的特征数据。
step2,拆分数据集s中的节点,并计算拆分数据集的基尼系数:
step3,继续通过最小gini索引分割集合s中的节点,在拆分数据集上,继续执行step1和step2,直到所有节点都成为树的叶子。
随机森林分类模型的分类过程如下:
step1,给定测试数据x和决策树k的数量:
step2,根据投票计算r(x)的比例。
步骤四,对于待检测储粮,获取穿过待检测储粮的wifi信号,从穿过待检测储粮的wifi信号中提取csi振幅数据,并按照步骤二中的特征提取方法提取相应的特征数据,将特征数据输入至步骤三种训练好的储粮害虫检测模型中,确定待检测储粮中是否有害虫。
在该实施例中,为了使得储粮害虫检测模型的计算速度更快以及储粮害虫检测模型更为精确,在提取出csi振幅数据后,又进一步对csi振幅数据进行特征提取以得到对应的特征数据,并将特征数据和与特征数据对应的类别构建样本。作为其他实施方式,可不进行进行特征提取操作,直接将csi振幅数据和与csi振幅数据对应的类别构建样本,只是该方案的效果不如加上特征提取的方案。
在该实施例中,为了对获取的csi振幅数据进行校准,在对csi振幅数据进行特征提取之前,先对csi振幅数据进行了预处理,预处理步骤包括三步,分别为剔除异常值处理、归一化处理和消除噪声处理。作为其他实施方案,可省略这三步中的某一步或者某几步,或者将消除噪声处理设置在归一化处理之前,甚至增加一些常规的滤波处理操作以对csi振幅数据进行校准。
在该实施例中,具体的剔除异常值处理为采用pauta准则进行处理,消除噪声处理为采用切比雪夫ⅱ型滤波器进行处理。作为其他实施方式,可采用现有的其他的滤波处理方式以达到剔除异常值、消除噪声的目的。
在该实施例中,训练得到的储粮害虫检测模型的分类结果为两类,分别为储粮中有害虫和储粮中无害虫,这是一种较为粗糙的分类方式,只为判断待检测储粮中是否有害虫。作为其他实施方式,可进行更为细致的划分,例如分类结果包括储粮中无害虫、储粮中虫口密度低、储粮中虫口密度中、储粮中虫口密度高等,此时便于农民、经销商等根据结果相应作出补救措施。
在该实施例中,所选择的机器学习模型为随机森林分类模型。作为其他实施方式,可使用现有的其他机器学习模型,例如支持向量机(svm)分类模型。
下面做实验,对该方法的精确性和有效性进行进一步说明。
避免室内及室外其他因素的影响,在实验室布置了一个实验环境。室温控制在25℃,相对湿度控制在53%rh,实验安排在同一时间段的上午8点至上午11点进行。该实验是在视距(los)场景下进行,小麦样品采用的是相同品种12.5%含水量的春小麦,盛放小麦瓶子为体积为35×15×10厘米的有机玻璃盒子,害虫为在养虫器皿中饲养实验所用的玉米象。
实验一:如果小麦中大量玉米象的移动对wifi信号没有产生影响的话,少量玉米象的移动基本上也没有什么影响,故先制定实验室环境中的第一种实验方案,该方案如表1所示:
表1实验方案一
实验二:在实验方案一中,把玉米象的活动范围固定在一个塑料瓶子中,但是真正的储粮环境中的害虫不可能固定在塑料瓶子中的。粮食中的害虫大部分都是分布在粮粒表面、粮粒间隙、或者粮粒内部。故该实验方法只对存在小麦间隙或者表面运动的玉米象虫子有效,而对于不运动的死虫没有效果。故选择把发射天线与接收天线的距离固定在30cm来制定实验室环境中的第二种实验方案,该实验方案如表2所示:
表2实验方案二
在分类算法上,又选择了机器学习算法中的svm分类以及随机森林分类,通过随机森林分类算法和svm分类算法来对比较哪一种算法能实现更高的分类精度。用相同的样本进行训练和测试,用csi振幅数据中70%的样本来训练svm分类器,用剩余的30%进行样本测试。一般来说,当小麦虫口密度为不多于2头/kg时都是正常的虫口密度小麦。此时,小麦可以安全地存放很长时间,达到粮食的保质、保量、保鲜。选择虫口密度含量为0头/kg作为随机森林和svm分类的临界值,如果小麦虫口密度大于临界值,则被认为是异常的。
分别在害虫运动范围固定视距场景下和害虫自由移动视距场景下进行试验,图4展示了随机森林和svm振幅分类精度对比图,表3展示了随机森林分类和svm分类的分类精度值。从图中可以看出随机森林分类和svm分类都能实现分类的目的,且csi振幅分类精度都在96%以上。随着小麦虫口密度含量从4头/kg增加到40头/kg时,随机森林分类的精度从98.2%增加到98.9%;svm的分类精度从96.7%增加到96.8%。另一方面,也可以看出在粮食害虫分类方面随机森林分类比svm分类效果好,分类精度更高。
表3随机森林与svm振幅分类精度对比表
装置实施例:
该实施例提供了一种基于信道状态信息的储粮害虫检测装置,该装置包括存储器和处理器,存储器和处理器之间直接或间接地电性连接以实现数据的传输或交互。这里的处理器可以是通用处理器,例如中央处理器cpu,也可以是其他可编程逻辑器件,例如数字信号处理器dsp,处理器用于执行存储在存储器中的指令以实现方法实施例中介绍的一种基于信道状态信息的储粮害虫检测方法,由于方法实施例已对该方法做了详细说明,这里不再赘述。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。