一种基于可叠加胶囊网络的植物叶片识别方法与流程

文档序号:22614423发布日期:2020-10-23 19:13阅读:143来源:国知局
一种基于可叠加胶囊网络的植物叶片识别方法与流程
本发明涉及图像处理
技术领域
,尤其是涉及一种基于可叠加胶囊网络的植物叶片识别方法。
背景技术
:为了更好的利用以及保护植物,人类需要根据植物的种类了解其生长特性,药物特性,进而对其周边环境进行调整以及制药。因此,植物分类是保护植物的过程中重要的一个环节,然而自然界中存在几千种植物,若要对其一一进行人工识别,不仅需要众多人力,还需要消耗较多时间,且对于人员也需要进行专业的培养,尤其是针对医用植物而言更是需要众多的专业人员来对其进行识别及筛选。因此,利用计算机技术自动识别植物对于植物的保护和利用具有重要的意义。不同种类的植物在根、茎、叶、花、果实上的差距较为明显。因此,人们通常利用这些不同器官来识别植物。同理,对于计算机而言,这些明显的特征也可用于识别植物的种类。植物叶片作为植物的重要器官,且作为植物最有可辨性的特性之一,与其他特征相比,植物叶片相对容易保存,且植物叶片的收集难度也远远小于植物的其他特征。同时对于现在常用的图像识别技术而言,植物叶片的图像特征相较于植物的根、茎而言更容易识别,相较于花、果实而言更加普遍。随着机器学习和数字图像处理等技术的快速发展,人们试图借助计算机的强大计算能力和学习能力,对植物物种进行自动识别,针对此,计算机识别植物通常采用植物叶片作为首选项。在神经网络被广泛应用之前,传统的植物叶片识别技术主要是人工的对植物的特征进行提取,通过将植物叶片的图像转化为人为设计的特征向量然后再利用机器学习的方法对其进行分类。由于人工提取特征植物叶片图像的方式过于依赖提取专业人员的经验知识,而且特征的设计对于植物的识别会产生特别大的影响导致精度会产生一定的下降。而随着神经网络的出现,卷积神经网络的成熟以及各种优化版本的出现,使得计算机对于图像的识别能力相较于传统机器学习时期得到了较大的提升。同理,对于植物叶片识别而言,卷积网络的出现使得原本繁琐的特征设定,特征向量提取变得相对简便。然而相对于其他图像的识别,针对植物叶片的卷积神经网络识别技术的研究才刚刚兴起,尚未普及且未能得到从理论成果到应用成果的转化。技术实现要素:本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于可叠加胶囊网络的植物叶片识别方法。本发明的目的可以通过以下技术方案来实现:一种基于可叠加胶囊网络的植物叶片识别方法,该方法以手机平台为客户端,手机平台采集叶片图像、发出识别请求并对植物物种信息数据库进行展示;客户端发出识别请求至高性能计算机的服务器端,服务器端对叶片图像进行特征提取、训练,以及利用可叠加胶囊网络对叶片进行识别。本发明方法的具体步骤包括如下内容:s1、将原始图片数据集划分训练集和测试集,并将测试集划分为查询集和候选集;s2、服务器端对训练集的叶片数据进行包括翻转、加噪声、自动裁剪、随机擦除在内的预处理;s3、对基准网络模型进行训练,优化网络,并对基准网络的超参数进行调整;s4、当进行实际植物叶片识别时,客户端获取叶片图像后,将叶片图像传输给服务器端,并同时向服务器端发送识别请求;s5、服务器端接收叶片图像,当服务器端收到识别请求后,基于可叠加胶囊网络对叶片图像进行特征提取及识别,识别后的结果无线传输至客户端。基于可叠加胶囊网络对叶片图像进行特征提取及识别的具体内容为:51)利用局部感知将原有的胶囊网络中的动态路由方式进行优化;52)利用googlenet的多尺度提取方式作为胶囊网络的特征提取方式,对叶片图像进行特征提取。可叠加胶囊网络的具体架构为:利用动态路由的方式代替原始胶囊网络的池化层,并将原始胶囊网络的中间层中胶囊层的激活函数更改为对应向量中标量的激活函数,googlenet通过并行多个不同大小的卷积核并将它们的输出拼接在一起。进一步地,客户端获取叶片图像的方式包括通过摄像头拍照获取或从客户端本地数据库中获取。进一步地,服务器安装操作系统,并安装pytorch和python开发环境。进一步地,客户端到服务器端的叶片图像的识别请求和服务器端到客户端的植物物种信息传输采用http协议通信。进一步地,所述的服务器端包括一台对外联网的流量分发服务器,以及用于根据一定的分发规则对请求分别进行发放的多个工作服务器,各个工作服务器分别设有各自的从属服务器,所述的流量分发服务器设有一个备份的从属服务器。与现有技术相比,本发明将googlenet特征提取方式的可叠加胶囊网络叠加的胶囊网络应用于植物叶片图像的识别工作,获得了良好的叶片识别结果,且成功地构建了基于手机平台上的植物识别应用系统,方法实施后可供手机用户直接下载使用,通过拍摄植物的叶片图像,即可高效率高准确率地识别出植物的物种类别,实现了手机平台上的植物物种自动识别,完成从理论成果到应用成果的转化。附图说明图1为本发明方法的流程示意图;图2为开发的客户端样例图;图3为服务器端结构示意图;图4为服务器端所用的一致性哈希算法大致流程;图5为本发明方法中可叠加胶囊网络的网络整体框图。具体实施方式下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。一种基于可叠加胶囊网络的植物叶片识别方法,以手机平台为客户端,实现叶片图像的采集、识别请求和植物物种信息数据库的展示;以高性能计算机为服务器端,实现对叶片图像的特征提取、训练和识别,以及对植物物种信息数据库的构建和检索。服务器安装操作系统,并安装pytorch和python开发环境。客户端到服务器端的叶片图像的识别请求和服务器端到客户端的植物物种信息传输采用http协议通信。该识别方法具体包括以下步骤:步骤1、将原始图片数据集划分训练集和测试集,并将测试集划分为查询集和候选集;步骤2、服务器端对训练集的叶片数据进行预处理,包括翻转、加噪声、自动裁剪、随机擦除等。具体地:对训练集图片通过添加不同种类的噪声、水平翻转,以及随机抽取一些图片进行自动裁剪和随机擦除操作。上述操作一方面起到了数据扩充的作用,另一方面可以避免过拟合的发生,对现实数据中一些遮挡等数据起到一定作用,提高模型的泛化能力。步骤3、对基准网络模型进行训练,优化网络,并对基准网络的超参数进行调整;为了解决sgd参数选择的困难,服务器端预先使用adam优化方法自动调节参数,并使用dropout的策略避免过拟合情况的发生。超参数调整包括迭代步长调整方法,迭代步长初始值,学习函数选择等等。步骤4、在实际植物叶片识别应用中,客户端获取叶片图像,获取叶片图像的方式包括通过摄像头拍照获取或从客户端本地数据库中获取。步骤5、客户端将叶片图像传输给服务器端,并同时通过http协议(httppost)向服务器端发送识别请求。步骤6、服务器端接收叶片图像,当服务器端收到识别请求后,基于可叠加胶囊网络对叶片图像进行特征提取及识别,识别后的结果无线传输至客户端。如图3所示,在服务器的设置上用户所发送的请求是先经过一台对外联网的流量分发服务器,然后服务器再根据一定的分发规则将请求分别分发到不同的工作服务器上。但是由于实际情况中可能存在意外的发生,所以对于所有的工作服务器都有着从属服务器防止意外发生时对应服务节点长时间没有相应。而对于流量分发服务器而言,同时也需要一个备份的从属服务器,防止在流量分发服务器崩溃时应用无法使用的情况发生。进而提高整个服务器集群的容错性。对于流量分发服务器到工作服务器的流量分配方式,本发明采用的流量分配方式为一致性哈希,如图4所示。一致性哈希算法是将整个哈希空间值看成一个0~232-1的环,然后将服务器的节点均匀的分配在环上。同时将用户的请求随机的分配到环上,然后顺时针选择离用户最近的服务器,并将用户的请求转发到对应的服务器上。利用这种方式,如果发生工作服务器从属服务器同时崩溃的情况,那么用户的请求会顺时针的继续向下寻找,直到找到一个可以使用的工作服务器。但是由于服务器以及用户请求在环上分配不一定是均匀分配,因此需要将工作服务器于环上多映射几个虚拟的工作服务器,进而保证每个工作服务器被分配到请求的概率相等。基于可叠加胶囊网络对叶片图像进行特征提取及识别的具体内容为:(一)利用局部感知概念将原有的胶囊网络中的动态路由方式进行优化,进而极大的减少每次动态路由所需要的向量数,进而将低层胶囊进行动态路由后向量总数不会发生巨大的变化,从而可以将动态路由后的胶囊作为下一层神经网络的输入。进而使胶囊网络的深度增加变得可行。(二)利用googlenet的多尺度提取提取方式作为胶囊网络的特征提取方式,小的卷积核可以提取较为特别的特征而大的卷积核可以提取较为全局的特征。利用多尺度的特征提取方式可以使一张图的不同特征得到很好的提取。同时可以扩张胶囊的维度进而使得单个胶囊保存更多的特征,进而提高识别率。若想要利用胶囊网络提取出来的特征作为下一个网络层的输入,胶囊网络是无法进行叠加的。最主要的原因是在进行动态路由和squashing激活函数后,最后的输出会成为一个向量,而如果想在向量上面添加网络层,会造成一系列的问题。本发明通过添加新的网络层解决上述问题。利用胶囊代表叶片图像中特定图形的各种特征,可能为图形的大小,颜色,方向,朝向,纹理等特征,即胶囊每一维都可以认为成是图形的一个特征,那么将k维的向量转化为n×m×k的参数,每个n×m的二维矩阵都代表图形的一种特征,再将这些分离出来的特征作为下一层神经网络的输入显然是可行的。传统胶囊网络中,reluconv1中20×20×256是转化成6×6×32×8的primarycapsules,即1152个8维向量的过程。20×20×256的reluconv1经过8个9×9,步长为2,通道为32的卷积层,可得到6×6×8×32的输出参数。然后再将输出参数每个二维点上取深度为8的向量并展开,最后即可得到1152的8维向量。若n×m×k的参数可以转化为n×m×k/8的八维向量,那么同样可以将展开方式进行逆处理进而将向量重新转化为n×m×k的输出结果并且传递到下一层的网络层中。胶囊网络利用动态路由的方式代替了池化层,减少了反向传播的使用,但是反向传播依旧存在,主要集中在卷积层以及重构全连接层,然而胶囊网络新引入的激活函数squashing由于使用向量为基本单位,导致在反向传播的过程中对于向量内标量会造成无法求导的问题,进而反向传播无法从胶囊层的上一层传播到胶囊层的下一层。本发明采用了更换激活函数的方式,即将中间层中胶囊层的激活函数更改为对应向量中标量的激活函数,即使用sigmoid,tanh,relu,leakyrelu等激活函数替代squashing,但是squashing激活函数的优越性是无法替代的,因此,本发明只在胶囊层动态路由的最后一次循环中将激活函数更改为sigmoid,tanh,relu,leakyrelu等,然后将结果作为下一层的输入。如果将一个4×4矩阵展开作为一列数据,那么2×2池化的过程中将选择第1行,第2行,第5行,第6行的数据进行第一次最大池化操作,选择第2行,第3行,第6行,第7行的数据进行第一次最大池化操作依次类推。此时我们可以将该矩阵视为4×4×1的矩阵集合,该列可以视为一列一维的向量。对于一个n×m×k的矩阵集合,既可以转化为一列k维的向量,窗口大小为2×2,步长为1的最大池化层的池化的过程既可以视为选择第1行,第2行,第5行,第6行的向量进行第一次最大池化操作,这时如果将池化的算法由取最大值更改为动态路由算法,再将得到的向量集合进行逆向量转化。googlenet通过并行多个不同大小的卷积核并将不同卷积核的输出拼接在一起达到提取多尺度特征的效果,还可以利用两种较小的卷积核替代较大的卷积核。显然,这种多尺度的特征提取方式是可以直接利用到原图像到reluconv1之间的。从胶囊网络的特性中可以了解到,8个卷积层其实是相互独立的,即这8个卷积层提取的即为不同维度的特征。那么,reluconv1到primarycapsules1利用googlenet的思想将其卷积核的大小或者网络层的类型替换,是完全可行的。最后将图片输入到可叠加胶囊网络中即可得到最后的识别率。本实施例以数据集market1501为例,进行完成的阐述网络模型的训练过程以及测试过程。应当理解,此处所描述的具体实施例仅仅用以解释本发明,但本发明并不用于限定单一特例数据集。优选地,在利用于可叠加胶囊网络对叶片图像进行特征提取之前,训练总周期(epoch)设置为150,权重衰减参数(weightdecay)为0.95,批量大小(batchsize)为150,学习率更新方式如下形式:α=0.95epoch_num·α0数据组织——lcl植物叶片数据集是同济大学机器学习与系统生物学研究所与合肥市植物园合作进行整理、收集、标注的。该数据及囊括了220种植物,共计16851张植物叶片的样本,其中每类植物的样本数量不等,从26张到1078张。数据集中的图像格式相同,都为jpg压缩格式,其扫描精度为300dpi,均是24位白色背景图片。从中50类的植物叶片样本,其中每类植物含有100多张图片。在本实施例中,随机挑选各个类别10%样本作为测试集,90%样本作为训练集。本实施例利用相同的数据同时对vgg16、inceptionv3、densenet121方法进行了处理,并将其结果作为对比。数据预处理——在训练数据中随机抽取若干张图片进行水平翻转、加噪声、随机擦除等处理。网络评估——对于最后的测试数据进行准确率的评估。网络结果——通过评估计算,如表1所示,所提出的一种基于可叠加胶囊网络的植物叶片识别技术在lcl数据集上的准确率为94.32%。同时,在其他数据集上也取得了好的实验效果。表1准确率对比结果modeltop1(%)top5(%)可叠加胶囊网络94.3297.60vgg1688.3292.67inceptionv392.8795.09densenet12193.1696.54本发明将googlenet特征提取方式的可叠加胶囊网络叠加的胶囊网络应用于植物叶片图像的识别工作,获得了良好的叶片识别结果,且成功地构建了基于手机平台上的植物识别应用系统,方法实施后可供手机用户直接下载使用,通过拍摄植物的叶片图像,即可高效率高准确率地识别出植物的物种类别,实现了手机平台上的植物物种自动识别,完成从理论成果到应用成果的转化。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1