首页 / 专利库 / 图形技术 / 白平衡 / 一种水稻杂草识别加速系统的构建方法及其加速方法

一种杂草识别加速系统的构建方法及其加速方法

阅读:548发布:2020-05-11

专利汇可以提供一种杂草识别加速系统的构建方法及其加速方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 水 稻 杂草 识别 加速 系统的构建方法及其加速方法,主要针对东北稻田的特色,首先调研常见的杂草对其进行分类和杂草库建立,其次利用ubuntu 操作系统 对杂草库进行卷积训练提取特征值,接着搭建加速平台将 卷积神经网络 算法 映射到FPGA的ARM芯片端,然后利用 软件 对系统进行调试和追踪确定要加速的部分,最后利用加速算法对设计完成加速。本发明中构建的水稻杂草识别加速系统通过对常见的杂草进行图库的建立,更能有针对性;后期将识别后的图片进行算法处理增加图像的表现 力 ,提高竞争力,缩短 硬件 对目标物体的识别时间,方便针对性的处理杂草,保护生态环境。,下面是一种杂草识别加速系统的构建方法及其加速方法专利的具体信息内容。

1.一种杂草识别加速系统的构建方法,其特征在于,包括以下步骤:
S1:建立水稻杂草库,对水稻杂草库中的图片数据进行卷积训练,提取特征值;
S2:根据步骤S1中建立的水稻杂草库中图片的特征值,搭建水稻杂草加速平台;
S3:对卷积神经网络算法进行硬件映射和算法仿真;
S4:利用FPGA进行算法加速,提高图像的输出表现
S5:对整个加速系统的时序进行优化;
S6:通过开发工具生成下载文件,烧写到开发板中,用来进行杂草识别。
2.根据权利要求1所述的一种水稻杂草识别加速系统的构建方法,其特征在于,步骤S1中的具体操作步骤包括:
S11:对水稻杂草的不同生长期进行图库收集;
S12:利用软件语言对收集到的水稻杂草图库进行分类打包;
S13:新建卷积神经网络模型,并对其进行修改调整;
S14:利用修改调整后的卷积神经网络模型中自定义网络结构层次对图库中的图片数据进行卷积训练,提取特征值。
3.根据权利要求2所述的一种水稻杂草识别加速系统的构建方法,其特征在于:所述水稻杂草包括镳草、稗草和狗尾草。
4.根据权利要求3所述的一种水稻杂草识别加速系统的构建方法,其特征在于:步骤S13中对卷积神经网络模型的修改调整包括对训练的步长调整,基准学习率的改变、图像滤波器的调整以及激励函数的修改。
5.根据权利要求4所述的一种水稻杂草识别加速系统的构建方法,其特征在于:所述卷积神经网络模型包括两个卷积层、全连接层和输出层,每个所述卷积层中均包含激励函数;
起始图像经过第一卷积层,通过激励函数的辅助特征表达后输入第二卷积层,再次经过激励函数的辅助特征表达后输出到全连接层,最终到达输出层。
6.根据权利要求5所述的一种水稻杂草识别加速系统的构建方法,其特征在于:所述卷积层的卷积核大小为5*5。
7.根据权利要求1所述的一种水稻杂草识别加速系统的构建方法,其特征在于,步骤S2中的具体操作包括:
S21:将卷积神经网络模型中的算法框架以及提取出来的水稻杂草库中图片的特征值全部映射到FPGA芯片中;
S22:对整个卷积过程进行调试追踪;
S23:根据追踪结果,对整个网络模型结构插入关键字,利用关键字进行图像识别加速。
8.根据权利要求1所述的一种水稻杂草识别加速系统的构建方法,其特征在于,步骤S4中通过对白平衡调节、色彩矫正、伽矫正、高斯滤波以及细节增强提高图像的输出表现力。
9.如权利要求1-8任一项所述的一种水稻杂草识别加速系统的加速方法,其特征在于,包括以下步骤:
S1:根据输入的图片信息开始执行程序,判断是否可以加速;
S2:对于可加速的图片,采用流水线、内联函数、展开循环和拆分数据完成加速;
S3:对于不可加速的图片,直接结束加速;对于未知情况的图片,调用源语库,判断是否存在明显影响;
S4:对存在明显影响的,重复步骤S2;
S5:对不存在明显影响的,执行通知,结束程序。

说明书全文

一种杂草识别加速系统的构建方法及其加速方法

技术领域

[0001] 本发明涉及水稻杂草识别技术领域,尤其涉及一种水稻杂草识别加速系统的构建方法及其加速方法。

背景技术

[0002] 随着万物互联的时代到来,嵌入式多线程程序执行和数据并行处理,为人工智能的迅速崛起增加越来越多的可能性。同时农作物连年受到各种因素,导致产量不佳,其中农作物的生长环境存在大量的杂草是致使产量减少的重要原因之一。目前,对于农田除草的主要方法是人工除草、机械除草、热除草、静电除草、化学除草等,其中化学除草由于其便利性而被广泛应用,目前化学除草方法都采取的是一种粗放型的喷药方式,这种方式不仅造成大量的药物浪费,增加生产成本,而且给生态环境带来很大危害,随着精准农业的提出,田间杂草精准识别技术成为研究热点。
[0003] 精准除草主要是针对条播作物(如小麦、玉米、大豆、水稻等)而言,根据空间分布特征,水稻田间杂草可分为行内杂草和行间杂草。对于水稻行间杂草的识别,可利用水稻和杂草的不同特征进行识别,这些特征包括:颜色特征、形状特征、纹理特征以及其他特征等。由于水稻杂草颜色的多样性,很难应用颜色特征直接将水稻杂草分割开来,实际应用中需结合多种特征实现水稻杂草的识别。目前,对于作物田间杂草的识别还处于研究阶段,很少的商品进行了商业化生产,这主要由于在图像采集中, 容易受到外界环境的影响,很难获取高质量的图像,对杂草的正确识别率产生很大影响。另外,作物与杂草间的相互重叠对杂草的正确识别率也也产生很大影响,识别的耗时也较长。

发明内容

[0004] 针对上述存在的问题,本发明旨在提供一种能够快速精准识别水稻杂草的水稻杂草识别加速系统的构建方法及其加速方法。
[0005] 为了实现上述目的,本发明所采用的技术方案如下:一种水稻杂草识别加速系统的构建方法,其特征在于,包括以下步骤:
S1:建立水稻杂草库,对水稻杂草库中的图片数据进行卷积训练,提取特征值;
S2:根据步骤S1中建立的水稻杂草库中图片的特征值,搭建水稻杂草加速平台;
S3:对卷积神经网络算法进行硬件映射和算法仿真;
S4:利用FPGA进行算法加速,提高图像的输出表现
S5:对整个加速系统的时序进行优化;
S6:通过开发工具生成下载文件,烧写到开发板中,用来进行杂草识别。
[0006] 进一步的,步骤S1中的具体操作步骤包括:S11:对水稻杂草的不同生长期进行图库收集;
S12:利用软件语言对收集到的水稻杂草图库进行分类打包;
S13:新建卷积神经网络模型,并对其进行修改调整;
S14:利用修改调整后的卷积神经网络模型中自定义网络结构层次对图库中的图片数据进行卷积训练,提取特征值。
[0007] 进一步的,所述水稻杂草包括镳草、稗草和狗尾草。
[0008] 进一步的,步骤S13中对卷积神经网络模型的修改调整包括对训练的步长调整,基准学习率的改变、图像滤波器的调整以及激励函数的修改。
[0009] 进一步的,所述卷积神经网络模型包括两个卷积层、全连接层和输出层,每个所述卷积层中均包含激励函数;起始图像经过第一卷积层,通过激励函数的辅助特征表达后输入第二卷积层,再次经过激励函数的辅助特征表达后输出到全连接层,最终到达输出层。
[0010] 进一步的,所述卷积层的卷积核大小为5*5。
[0011] 进一步的,步骤S2中的具体操作包括:S21:将卷积神经网络模型中的算法框架以及提取出来的水稻杂草库中图片的特征值全部映射到FPGA芯片中;
S22:对整个卷积过程进行调试追踪;
S23:根据追踪结果,对整个网络模型结构插入关键字,利用关键字进行图像识别加速。
[0012] 进一步的,步骤S4中通过对白平衡调节、色彩矫正、伽矫正、高斯滤波以及细节增强提高图像的输出表现力。
[0013] 进一步的,一种水稻杂草识别加速系统的加速方法,其特征在于,包括以下步骤:S1:根据输入的图片信息开始执行程序,判断是否可以加速;
S2:对于可加速的图片,采用流水线、内联函数、展开循环和拆分数据完成加速;
S3:对于不可加速的图片,直接结束加速;对于未知情况的图片,调用源语库,判断是否存在明显影响;
S4:对存在明显影响的,重复步骤S2;
S5:对不存在明显影响的,执行通知,结束程序。
[0014] 本发明的有益效果是:1、本发明通过对不同时期的水稻杂草建立水稻杂草库,更加能够有针对性的进行不同时期的水稻杂草进行识别;
2、本发明中通过修改卷积神经网络的结构,去掉了原来的池化层,利用2层卷积对杂草库进行训练,从而准确获取杂草的特征值,能够更加精准的对水稻杂草进行识别;
3、本发明中通过卷积神经网络和FPGA的结合,搭建加速平台将卷积神经网络映射到利用FPGA的ARM芯片端,通过FPGA端对数据实现加速计算,缩短了水稻杂草的识别时间。
附图说明
[0015] 图1为本发明水稻杂草识别加速系统总体设计图;图2为本发明改进的卷积神经网络框架图;
图3为本发明卷积运算单元示意图;
图4本发明系统时序优化寄存器路径示意图;
图5为本发明整个硬件的数据流从输入到输出结构示意图;
图6为本发明水稻杂草识别加速系统的加速流程图
图7为本发明实施例一中对狗尾草的训练测试结果图;
图8为本发明实施例二中对镳草和稗草的训练测试结果图;
图9为本发明实施例三中未使用加速算法时的资源占用比柱状图;
图10为本发明实施例三中进行加速后的资源占用比柱状图。

具体实施方式

[0016] 为了使本领域的普通技术人员能更好的理解本发明的技术方案,下面结合附图和实施例对本发明的技术方案做进一步的描述。
[0017] 结合附图1所示,本发明中的水稻杂草识别加速系统的构建方法总体设计包括以下步骤:S1:建立水稻杂草库,对水稻杂草库中的图片数据进行卷积训练,提取特征值;
具体操作步骤包括,
S11:对水稻杂草的不同生长期进行图库收集,为卷积神经网络模型的训练做准备;
进一步的,水稻稻田里常见的杂草为镳草,稗草以及狗尾草。
[0018] S12:利用python软件语言对收集到的水稻杂草图库进行分类打包;S13:新建卷积神经网络模型,并对其进行修改调整;
具体的,利用改进后的cifar10卷积神经网络框架进行修改调整。
[0019] 具体的,Cifar10的深度学习框架由卷积层、池化层、全连接层、激活函数层以及Softmax和loss层组成。本发明中通过多次修改调整以及考虑硬件算法的映射设计出可以兼顾硬件资源的占用和识别精度参数的水稻杂草深度学习框架,由于输入图像的大小是32*32像素,整个图片像素有限,而且根据实际情况杂草的特征集,不需要取其周围的特征值。所以去除了池化层,图像经过两层卷积,输出到全连接层。改进后的卷积神经网络框架结构如附图2所示,卷积层的卷积核大小为5*5。
[0020] 在附图2中,a参数和b参数表示卷积层的像素数据流,a参数为训练库的起始图像,经过基准学习率和步长等参数的设置,经过第一卷积层,通过激励函数的辅助表达复杂特征输入到第二层卷积层,再次经过激励函数的辅助特征表达后输出到全连接层,最终输出到输出层,这是一幅图像的基本数据流。
[0021] 具体的,卷积神经网络中的全连接层等价于传统前馈神经网络中的隐含层,全连接层通常搭建在卷积神经网络隐含层的最后部分,并只向其它全连接层传递信号。特征图在全连接层中会失去3维结构,被展开为向量并通过激励函数传递至下一层也就是输出层,卷积神经网络中输出层的上游是全连接层,因此其结构和工作原理与传统前馈神经网络中的输出层相同。对于图像分类问题,输出层使用逻辑函数或归一化指数函数输出分类标签。对于本发明中的杂草识别最终的输出层直接输出每个像素的分类结果。
[0022] 进一步的,通过对训练的步长调整,基准学习率的改变、图像滤波器的调整以及激励函数的修改,对建立的卷积神经网络模型进行调整修改。
[0023] S14:利用修改调整后的卷积神经网络模型中自定义网络结构层次对图库中的图片数据进行卷积训练,提取特征值。
[0024] 具体的,通过新建的卷积神经网络模型对杂草图片进行卷积训练学习,最终计算出杂草图片的权重值和偏置值,即为特征值。
[0025] 进一步的,步骤S2根据步骤S1中建立的水稻杂草库中图片的特征值,搭建水稻杂草加速平台;具体的,该步骤包括:
S21:基于FPGA工具搭建加速平台,将卷积神经网络的算法框架以及提取出来的水稻杂草库中图片的特征值全部映射到FPGA芯片中;
S22:对整个卷积过程进行调试追踪;
具体的,调试过程首先通过开发软件生成debug版本的烧写文件,烧写到板卡当中,利用开发软件进行调试查看FPGA的ARM芯片端,计算资源所占比。
[0026] S23:根据追踪结果,对整个网络结构插入关键字,进行图像识别加速;具体的,对于要加速的部分,在相应的代码位置插入关键字和加速代码,同时编辑代码的头文件进行综合编译。图像识别是通常镜头采集ARM识别,在识别的计算过程中通过FPGA进行了数据搬移和计算加速。
[0027] 进一步的,步骤S3:对卷积神经网络的算法进行硬件映射和算法仿真;具体的,卷积神经网络的算法硬件实现,要经过大量的时序和算法仿真,熟悉了解整个硬件工程搭建的数据链路,从最底层的物理层到用户层进行仿真,了解熟悉更个功能模的作用。
[0028] 进一步的,利用Modelsim和MATLAB软件进行硬件和算法仿真。Modelsim仿真对整个系统的相关模块进行仿真验证,为时序优化提供参考。MTALAB对整个卷积算法进行仿真,验证算法调整的可行性,通过MATLAB进行算法验证仿真,观察数据变化。
[0029] S4:利用FPGA进行算法加速,提高图像的输出表现力。
[0030] 具体的,由于卷积算法中的每一层算完之后需要把该层所有的输出信息作为下一层的输出,此时该层将会停止运算,直到当前的目标物体被完全的处理完。FPGA不同与传统意义的芯片,单核CPU每一时刻只能执行一条命令,而FPGA上的硬件模块可以同时进行并行运算。因此如果卷积算法在FPGA上的实现采用流水结构可以大大提高资源的使用率。杂草的图像数据是以数据流的方式进行流入,在每个时钟周期内传入一个图像的像素点,因此在最佳时序状态下每32*32个时钟周期就可以完成对流动图像的运算,为了达到这种目标,整个网络每个卷积层都需要在每个时钟周期内输入同时输出一个值。
[0031] 进一步的,在卷积神经网络中,卷积层的乘法加法计算是最多的,大量的计算必然增加时间消耗,因此为了保证卷积层能够在每个时钟周期内输入输出特征计算的结果,需要做到将单个卷积运算拆分实现并行计算,保证每个卷积运算能够在每个时钟周期输出结果;将同一层内的多个运算进行并行输出,确保32*32个时钟周期内能够计算出最终的结果。
[0032] 进一步的,基于以上的设计需求,根据FPGA的硬件电路特点可以设计出杂草卷积的计算单元,能够让其在单个是在周期内完成运算。本发明中的卷积核大小为5*5,一个5*5的卷积计算相当于25个乘法和24个加法运算,而FPGA一个时钟周期就可以完成49个周期的计算结果。这种计算速率提升了48倍的效率。FPGA是一种空间换时间的芯片,在单个识别周期下,数据流流过整个网络层,所以每个计算单元都要经过计算,当流水线越长,涉及到的计算总量的级数就越大,这时加速效果就越明显。实现单个卷积核的计算加速由上述可知相当于采用了25个乘法器和24个加法器,对于该卷积核的卷积运算单元电路设计如附图3所示。
[0033] 具体的,对整个卷积神经网络进行硬件算法仿真之后,要对其进行硬件移植,输出图像处理;为了保证输入的图像原始数据不影响测试精度,在输入图像的接口端没有对图像做处理,而为了提高图像的显示质量,在经过识别之后将图像数据处理显示在显示器上,多次调研图像处理算法以及算法的硬件实现过程,主要通过对白平衡调节、色彩矫正、伽马矫正、高斯滤波以及细节增强等的算法研究与实现。上位机配置显示图像的参数,由于摄像头采集和算法处理调试的时候,需要设置不同的参数来观察最终的图像质量,所以通过上位机将参数传输到相应模块,方便调试。
[0034] 进一步的,步骤S5:对整个加速系统的时序进行优化;具体的,在上述步骤完成卷积网络加速之后,接下来就是对整个工程项目的时序进行优化,避免数据的亚稳态。时序是数字时序电路的核心,时序得不到满足将直接导致电路不能正常、稳定地工作,数据的亚稳态必然影响到整个设计的品质,时序约束将所有设计要求传达给实现工具,这也意味着所有路径都被适当的约束所覆盖,所以要尽可能了解识别和约束FPGA器件中最常见时序路径的策略。为了确保有效的设计,必须将所有路径的时序要求传达给实现工具,可以根据要覆盖的路径类型将时序要求分解为几个全局类别,最常见的路径类别包括:输入路径、寄存器到寄存器路径、输出路径;特定于路径的例外。本发明中FPGA的设计时序大部分分布在芯片内部的寄存器到寄存器之间,如附图4所示。
[0035] 基于上述步骤建立起来的水稻杂草识别加速系统,整个硬件的数据流从输入到输出如附图5所示。首先cmos进行图片采集,由于cmos采集的数据属于bayer格式,通过Bayer2rgb模块,对数据进行格式转换,通过rgbIN模块经数据送入到ZYNQ的PS端,进行数据缓存和数据计算的功能<图中的data_buff和conver_acc>最终将数据结果输出到rgbOUT模块,接着进行图像算法处理即photo_algorithm,最后通过HDMI输出显示到显示器上。而stm32和host_spi主要是进行工程参数的调整调试。
[0036] 进一步的,步骤S6:通过开发工具生成下载文件,烧写到开发板中,用来进行杂草识别。
[0037] 进一步的,如附图6所示,本发明的水稻杂草识别加速系统的加速方法,具体包括以下步骤:S1:根据输入的图片信息开始执行程序,判断是否可以加速;
具体的,该步骤的逻辑是基于对FPGA的硬件程序的理解以及ARM端c语言实现卷积神经网络移植之后相结合判断能否加速,目前的标准主要是参考xilinx官方的文档,主要是前期调研,没有特别明显的标准。比如c语言中的for循环,如果顺序执行需要限值个时钟周期,而FPGA加速就可以单个时钟执行结束而输出结果。总的来说,能否加速需要基于arm和FPGA的各自特性。
[0038] S2:对于可加速的图片,采用流水线、内联函数、展开循环和拆分数据完成加速;S3:对于不可加速的图片,直接结束加速;对于未知情况的图片,调用源语库,判断是否存在明显影响;
S4:对存在明显影响的,重复步骤S2;
S5:对不存在明显影响的,执行通知,结束程序。
[0039] 实施例一:在Linux系统下对本发明中的水稻杂草识别加速系统进行6万次的训练,通过调整基准学习率,找到比较好的网络结构,最终识别精度达到了这种网络结构的峰值95%。本发明通过调整基准学习率,分别调整为0.005、0.0005、0.000005等基准学习率进行训练,最终采用的特征值为基准学习率为0.005的参数值,对狗尾草图片进行了识别,其网络结构的结果测试如附图7所示,由附图7可以看出不同的狗尾草图片去测试网络结构文件均可以达到识别的效果。
[0040] 实施例二:通过调整基准学习率,分别调整为0.005、0.0005、0.000005等基准学习率进行训练,最终采用的特征值为基准学习率为0.005的参数值,对镳草和稗草图片进行了识别,其网络结构的结果测试如附图8所示,由附图8可以看出不同的镳草和稗草图片去测试网络结构文件均可以达到识别的效果。
[0041] 实施例三:通过对卷积神经网络的网络结构监督分析可以清晰的看到每一层的资源占用情况,因此,对使用本发明中的加速系统加速前后的资源占用比进行了对比,如附图9和附图10所示。
[0042] 附图9为未使用加速算法加速的资源占用比,附图10为采用本发明中的加速方法后的资源占用比。图9和图10均为本发明的资源使用占比,图9为没有加速之前的ARM计算资源占用比,图10为加速之后的计算资源占用比,资源报告可以辅助加速,使得加速更有针对性。由附图9和附图10可以看出整个网络结构卷积占用了大量资源,卷积核需要多次相乘相加,故实际事件追踪卷积层占用大量硬件资源。
[0043] 以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈