一种基于深度堆叠网络的杂草图像识别方法与流程

文档序号:11583509阅读:1307来源:国知局

本发明涉及图像识别技术领域,具体来说是一种基于深度堆叠网络的杂草图像识别方法。



背景技术:

杂草是农作物生长中的大敌,在农作物整个生长期内都有发生,可造成农作物大量减产。现行的杂草分类、识别工作主要是依靠少数植保专家和农技人员来完成的。但杂草种类繁多,每一位植保专家穷其所能也只能识别部分杂草。越来越多的迹象表明,对杂草识别需求的增多与植保专家相对较少的矛盾已日益加剧。当今在模式识别领域,深度学习理论成为众多学者研究的热点,在人脸识别、物体识别领域被广泛应用,并取得了较好的效果。然而在农业领域深度学习还没有得到广泛应用,尤其是在环境恶劣的、种类数量庞大的杂草识别上。由于杂草样本种类数量多、样本量巨大的特殊性,在深度学习方法中常用的卷积神经网络方法在训练过程需要不断地调整梯度参数,严重影响了训练效率与识别效率。因此,如何有效实现杂草的自动识别已经成为急需解决的技术问题。



技术实现要素:

本发明的目的是为了解决现有技术中杂草识别率低、效率低下的缺陷,提供一种基于深度堆叠网络的杂草图像识别方法来解决上述问题。

为了实现上述目的,本发明的技术方案如下:

一种基于深度堆叠网络的杂草图像识别方法,包括以下步骤:

对训练图像进行收集和预处理,收集各类杂草图像,每类杂草图像的收集数量大于100幅,将其作为训练图像,对所有训练图像进行大小归一化处理,将其处理为256×256像素,得到若干个训练样本;

构造并训练深度堆叠网络模型,构造深度堆叠网络结构模块,将训练样本像素值作为输入,对深度堆叠网络结构模块进行训练,得到训练后的深度堆叠网络模型;

对待测图像进行收集和预处理,利用采集设备拍摄待测的杂草图像,进行各类待测杂草图像的收集,每类待测杂草图像的收集数量大于30幅,并对待测的杂草图像按256×256像素进行归一化处理,得到测试样本;

将测试样本输入经过训练后的深度堆叠网络模型,进行杂草图像的自动识别。

所述的构造并训练深度堆叠网络模型包括以下步骤:

构造深度堆叠网络模型结构模块,设置网络模块数为120层,每一层网络模块均为三个子层集合成的特殊神经网络,三个子层分别为线性输入单元的线性子层、包含非线性单元的非线性子层和包含线性输出的输出子层;

训练深度堆叠网络模型结构模块,其具体步骤如下:

采用受限玻尔兹曼机计算权值方法计算权值矩阵w,

计算每层网络模块中线性子层与非线性子层的权值矩阵w,

计算权值矩阵u,

计算每层网络模块中非线性子层与输出子层之间的权值矩阵u;

通过每层的w与u串联每个模块层,来训练深度堆叠网络,其公式如下:

yi=utδ(wtxi)=gi(u,w)

xi=[x1i,…,xji,…,xdi]t表示关于第i个模块的函数,yi表示第i个模块的输出,δ(·)为sigmoid函数,g()为表示u与w存在关系的函数。

所述的采用受限玻尔兹曼机计算权值方法计算权值矩阵w包括以下步骤:

随机初始化受限玻尔兹曼机的模型参数θ={w,a,b},

其中,w表示输入层权值矩阵,a表示输入层偏置,b表示第一个隐含层偏置,并设定三个参数的学习率λw=λa=λb=0.1;

对输入层的输入进行正向传播,计算出第一个隐含层的输出

其中,为第0层第i个节点的输入;

对第一个隐含层的输出进行反向传播,得到为l层第i个节点的输入;

进行正向传播,得到为l层第j个节点的输出;

结合各参数对应的学习率,更新模型参数θ={w,a,b},各参数的变化量为:

其中e[·]表示求取数学期望;

改变输入层的输入重复32步骤至35步骤,直至收敛得到w。

所述的计算权值矩阵u包括以下步骤:

将训练样本转化为训练向量集x=[x1,…,xi,…,xn],其中n表示样本集数量;xi=[x1i,…,xji,…,xdi]t表示关于第i个模块的函数,d表示输入向量的维数;

由于第i个模块的输出为:yi=uthi,

其中hi=σ(wtxi)是第i个样本的隐层向量,由此得到u为一个l×c的上层权值矩阵,w为一个d×l的下层权值矩阵,σ(·)为一个sigmoid函数,l表示隐层单元的数量,c表示输入向量的维数;

计算极小化方差:

其中:t=[t1,…,ti,…,tn]表示n个样本的标签,e表示极小化的方差,y表示整个网络的输出矩阵,yi表示第i个模块的输出,ti表示第i样本的训练标签;

计算极小化方差对u的偏导:

让其偏导置为0,可得到:

u=(hht)-1htt

其中h=[h1,…,hi,…,hn]。u表示权值矩阵,h表示所有隐含层的激励矩阵,t表示所有样本的标签。

有益效果

本发明的一种基于深度堆叠网络的杂草图像识别方法,与现有技术相比构造的深度堆叠网络不但具有很强的特征表达与分类能力,还减少了训练时间与识别时间,增强了杂草识别的鲁棒性。本发明提高了杂草识别的准确率,增强了杂草识别训练效率,达到了实际应用水平。

附图说明

图1为本发明的方法顺序图。

具体实施方式

为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:

如图1所示,本发明所述的一种基于深度堆叠网络的杂草图像识别方法,包括以下步骤:

第一步,对训练图像进行收集和预处理。收集各类杂草图像,每类杂草图像的收集数量大于100幅,将其作为训练图像,对所有训练图像进行大小归一化处理,将其处理为256×256像素,得到若干个训练样本。

第二步,构造并训练深度堆叠网络模型。构造深度堆叠网络结构模块,将训练样本像素值作为输入,对深度堆叠网络结构模块进行训练,得到训练后的深度堆叠网络模型。其具体步骤如下:

(1)构造深度堆叠网络模型结构模块。设置网络模块数为120层,每一层网络模块均为三个子层集合成的特殊神经网络,三个子层分别为线性输入单元的线性子层、包含非线性单元的非线性子层和包含线性输出的输出子层。

(2)训练深度堆叠网络模型结构模块,其具体步骤如下:

a、采用受限玻尔兹曼机计算权值方法计算权值矩阵w,

计算每层网络模块中线性子层与非线性子层的权值矩阵w。

a、随机初始化受限玻尔兹曼机的模型参数θ={w,a,b},

其中,w表示输入层权值矩阵,a表示输入层偏置,b表示第一个隐含层偏置,并设定三个参数的学习率λw=λa=λb=0.1;

b、对输入层的输入进行正向传播,计算出第一个隐含层的输出

其中,为第0层第i个节点的输入;

c、对第一个隐含层的输出进行反向传播,得到为l层第i个节点的输入;

d、对进行正向传播,得到为l层第j个节点的输出;

e、结合各参数对应的学习率,更新模型参数θ={w,a,b},各参数的变化量为:

其中e[·]表示求取数学期望;

f、改变输入层的输入重复b至e步骤,直至收敛得到w。

b、计算权值矩阵u,

计算每层网络模块中非线性子层与输出子层之间的权值矩阵u。

a、将训练样本转化为训练向量集x=[x1,…,xi,…,xn],其中n表示样本集数量;

xi=[x1i,…,xji,…,xdi]t表示关于第i个模块的函数,d表示输入向量的维数;

b、由于第i个模块的输出为:yi=uthi,

其中hi=σ(wtxi)是第i个样本的隐层向量,由此得到u为一个l×c的上层权值矩阵,w为一个d×l的下层权值矩阵,σ(·)为一个sigmoid函数,l表示隐层单元的数量,c表示输入向量的维数;

c、计算极小化方差:

其中:t=[t1,…,ti,…,tn]表示n个样本的标签,e表示极小化的方差,y表示整个网络的输出矩阵,yi表示第i个模块的输出,ti表示第i样本的训练标签;

d、计算极小化方差对u的偏导:

让其偏导置为0,可得到:

u=(hht)-1htt

其中h=[h1,…,hi,…,hn]。u表示权值矩阵,h表示所有隐含层的激励矩阵,t表示所有样本的标签。

c、通过每层的w与u串联每个模块层,来训练深度堆叠网络,其公式如下:

yi=utδ(wtxi)=gi(u,w)

xi=[x1i,…,xji,…,xdi]t表示关于第i个模块的函数,yi表示第i个模块的输出,δ(·)为sigmoid函数,g()为表示u与w存在关系的函数。

第三步,对待测图像进行收集和预处理。利用采集设备拍摄待测的杂草图像,进行各类待测杂草图像的收集,每类待测杂草图像的收集数量大于30幅,并对待测的杂草图像按256×256像素进行归一化处理,得到测试样本;

第四步,将测试样本输入经过训练后的深度堆叠网络模型,进行杂草图像的自动识别。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1