本发明涉及植物种类识别技术领域,具体为一种植物种类自动识别方法及系统。
背景技术:
在外出时,经常会看到很漂亮的花朵、雄伟的树木或者其他感兴趣的植物,于是会停下来观赏拍照,可在欣赏的同时,却很少有人知道这到底是什么植物,这样难免会造成遗憾。现在随着科技水平的不断发展,近年来图像信息提取、特征匹配、机器学习、数据挖掘和图像搜索等方面的技术都有了很大程度的提高。于是可以利用这些技术,帮助用户实现植物种类的快速判别,并同时给出这种植物的详细信息,用户只要用手机传一张照片,通过系统上传至云端进行比较,根据返回数据便可以对该植物有一个更全面的了解。
目前,也存在较多对于植物种类的识别算法和系统,这些识别算法和系统基本是基于对图像局部区域进行搜索和分割,然后对局部图像进行比对分析,对植物种类匹配,实现对植物种类的识别,但是这些算法和系统识别速度较慢,识别失误率较大。
技术实现要素:
为了克服上述所指出的现有技术的缺陷,本发明人对此进行了深入研究,在付出了大量创造性劳动后,从而完成了本发明。
具体而言,本发明所要解决的技术问题是:提供一种对植物种类进行快速识别,并且识别失误率较低的植物种类自动识别方法。
为解决上述技术问题,本发明的技术方案是:
一种植物种类自动识别方法,所述方法包括下述步骤:
将用户拍摄的植物图像上传至服务器端;
所述服务器端对上传的所述植物图像进行图像质量的识别判断,判断所述植物图像的图像质量是否合格;
当所述植物图像的图像质量合格时,对上传的所述植物图像进行图像处理,获取包含有植物的分割图像;
对获取到的包含有植物的分割图像进行编码,生成所述分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数;
将获取到的植物的编码向量参数和所述植物的各个部分的编码向量参数与预先存储的植物标准向量参数进行比对,确定出植物的种类;
将确定出的植物种类反馈给用户终端,并在所述用户终端上进行显示。
作为一种改进的方案,所述服务器端对上传的所述植物图像进行图像质量的识别判断的步骤具体包括下述步骤:
对上传的所述植物图像进行解析,获取所述植物图像的基本信息,所述基本信息包含所述植物图像的亮度、对比度、清晰度和像素值;
将获取到的所述植物图像的基本信息与预先存储的基本信息阈值进行比对判断,判断获取到的所述植物图像的图像质量是否合格;
当所述植物图像的图像质量不合格时,对所述植物图像进行基于所述基本信息的图像质量调整;
当图像质量调整不成功时,则向用户终端发送重新上传植物图像的指令信息;
当所述植物图像的图像质量合格,或,图像质量调整成功时,则执行对上传的所述植物图像进行图像处理,获取包含有植物的分割图像的步骤。
作为一种改进的方案,所述当所述植物图像的图像质量合格时,对上传的所述植物图像进行图像处理,获取包含有植物的分割图像的步骤具体包括下述步骤:
在获取到的包含有植物的分割图像中对植物区域进行边界检测;
根据检测到的植物区域的边界,对所述植物图像进行分割,获取包含有纯植物区域的分割图像;
对所述分割图像继续进行分割,获取植物各个部分对应的子分割图像,其中,所述植物的各个部分包括花朵、叶子、根、茎、树干和树枝。
作为一种改进的方案,所述对获取到的包含有植物的分割图像进行编码,生成所述分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数的步骤具体包括下述步骤:
根据获取到的所述分割图像和子分割图像,建立植物形状模型;
在所述分割图像和子分割图像上选取不同的标定点,对所述植物形状模型进行规格化处理,生成所述分割图像对应的编码向量参数和所述子分割图像所对应的编码向量参数。
作为一种改进的方案,所述将获取到的植物的编码向量参数和所述植物的各个部分的编码向量参数与预先存储的植物标准向量参数进行比对,确定出植物的种类的步骤具体包括下述步骤:
将生成的所述分割图像对应的编码向量参数与预先存储的植物标准向量参数进行比对,大概确定植物所属大类;
将所述子分割图像所对应的编码向量参数与预先存储的植物标准向量参数进行比对,选择出每个子分割图像最近接的范围;
综合每个子分割图像对应的范围,大概确定植物所属小类;
对比小类中的每种植物,精确定位植物的种类。
本发明的另一目的在于提供一种植物种类自动识别系统,所述系统包括:
植物图像上传模块,内置于用户终端中,用于将用户拍摄的植物图像上传至服务器端;
图像质量识别判断模块,内置于服务器端内,用于对上传的所述植物图像进行图像质量的识别判断,判断所述植物图像的图像质量是否合格;
图像处理模块,内置于服务器端内,用于当所述植物图像的图像质量合格时,对上传的所述植物图像进行图像处理,获取包含有植物的分割图像;
图像编码模块,内置于服务器端,用于对获取到的包含有植物的分割图像进行编码,生成所述分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数;
比对模块,内置于服务器端,用于将获取到的植物的编码向量参数和所述植物的各个部分的编码向量参数与预先存储的植物标准向量参数进行比对,确定出植物的种类;
种类反馈模块,内置于服务器端,用于将确定出的植物种类反馈给用户终端,并在所述用户终端上进行显示。
作为一种改进的方案,所述图像质量识别判断模块具体包括:
基本信息获取模块,用于对上传的所述植物图像进行解析,获取所述植物图像的基本信息,所述基本信息包含所述植物图像的亮度、对比度、清晰度和像素值;
阈值判断模块,用于将获取到的所述植物图像的基本信息与预先存储的基本信息阈值进行比对判断,判断获取到的所述植物图像的图像质量是否合格;
图像质量调整模块,用于当所述植物图像的图像质量不合格时,对所述植物图像进行基于所述基本信息的图像质量调整;
指令信息发送模块,用于当图像质量调整不成功时,则向用户终端发送重新上传植物图像的指令信息;
当所述植物图像的图像质量合格,或,图像质量调整成功时,则执行所述图像处理模块对上传的所述植物图像进行图像处理,获取包含有植物的分割图像的步骤。
作为一种改进的方案,所述图像处理模块具体包括:
边界检测模块,用于在获取到的包含有植物的分割图像中对植物区域进行边界检测;
分割图像获取模块,用于根据检测到的植物区域的边界,对所述植物图像进行分割,获取包含有纯植物区域的分割图像;
子分割图像获取模块,用于对所述分割图像继续进行分割,获取植物各个部分对应的子分割图像,其中,所述植物的各个部分包括花朵、叶子、根、茎、树干和树枝。
作为一种改进的方案,所述图像编码模块具体包括:
植物形状模型建立模块,用于根据获取到的所述分割图像和子分割图像,建立植物形状模型;
规格化处理模块,用于在所述分割图像和子分割图像上选取不同的标定点,对所述植物形状模型进行规格化处理,生成所述分割图像对应的编码向量参数和所述子分割图像所对应的编码向量参数。
作为一种改进的方案,所述比对模块具体包括:
大类确定模块,用于将生成的所述分割图像对应的编码向量参数与预先存储的植物标准向量参数进行比对,大概确定植物所属大类;
最近接范围选择模块,用于将所述子分割图像所对应的编码向量参数与预先存储的植物标准向量参数进行比对,选择出每个子分割图像最近接的范围;
小类确定模块,用于综合每个子分割图像对应的范围,大概确定植物所属小类;
植物种类确定模块,用于对比小类中的每种植物,精确定位植物的种类。
在本发明中,将用户拍摄的植物图像上传至服务器端;所述服务器端对上传的所述植物图像进行图像质量的识别判断,判断所述植物图像的图像质量是否合格;当所述植物图像的图像质量合格时,对上传的所述植物图像进行图像处理,获取包含有植物的分割图像;对获取到的包含有植物的分割图像进行编码,生成所述分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数;将获取到的植物的编码向量参数和所述植物的各个部分的编码向量参数与预先存储的植物标准向量参数进行比对,确定出植物的种类;将确定出的植物种类反馈给用户终端,并在所述用户终端上进行显示,实现对植物种类的自动识别,其识别率较高,而且识别速度较快,给用户较好的体验。
附图说明
图1是本发明提供的植物种类自动识别方法的实现流程图;
图2是本发明提供的服务器端对上传的所述植物图像进行图像质量的识别判断的实现流程图;
图3是本发明提供的当所述植物图像的图像质量合格时,对上传的所述植物图像进行图像处理,获取包含有植物的分割图像的实现流程图;
图4是本发明提供的对获取到的包含有植物的分割图像进行编码,生成所述分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数的实现流程图;
图5是本发明提供的对获取到的包含有植物的分割图像进行编码,生成所述分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数的实现流程图;
图6是本发明提供的植物种类自动识别系统的结构框图;
图7是本发明提供的图像质量识别判断模块的结构框图;
图8是本发明提供的图像处理模块的结构框图;
图9是本发明提供的图像编码模块的结构框图;
图10是本发明提供的比对模块的结构框图。
具体实施方式
下面结合具体的实施例对本发明进一步说明。但这些例举性实施方式的用途和目的仅用来例举本发明,并非对本发明的实际保护范围构成任何形式的任何限定,更非将本发明的保护范围局限于此。
图1示出了本发明提供的植物种类自动识别方法的实现流程图,其包括下述步骤:
在步骤s101中,将用户拍摄的植物图像上传至服务器端。
其中,在用户终端上设置相应的图像上传功能模块,将用户拍摄的植物图像上传至服务器端,该植物图像的上传方式可以有多种,例如gprs传送的方式,在此不再赘述;
该用户终端包括手机、平板或者其他具备拍摄功能的终端设备。
在步骤s102中,服务器端对上传的植物图像进行图像质量的识别判断,判断植物图像的图像质量是否合格。
在步骤s103中,当植物图像的图像质量合格时,对上传的所述植物图像进行图像处理,获取包含有植物的分割图像。
该步骤是对图像进行处理,只保留需要的植物的特征内容。
在步骤s104中,对获取到的包含有植物的分割图像进行编码,生成分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数。
在步骤s105中,将获取到的植物的编码向量参数和植物的各个部分的编码向量参数与预先存储的植物标准向量参数进行比对,确定出植物的种类。
在步骤s106中,将确定出的植物种类反馈给用户终端,并在用户终端上进行显示。
在服务器端对用户终端上传的植物图像进行分析识别,自动获取植物所属种类,整个识别速度较快,为终端用户提供便捷服务。
图2示出了本发明提供的服务器端对上传的所述植物图像进行图像质量的识别判断的实现流程,其具体包括下述步骤:
在步骤s201中,对上传的植物图像进行解析,获取植物图像的基本信息,该基本信息包含所述植物图像的亮度、对比度、清晰度和像素值。
在步骤s202中,将获取到的所述植物图像的基本信息与预先存储的基本信息阈值进行比对判断,判断获取到的所述植物图像的图像质量是否合格,是则执行步骤s205,否则执行步骤s203。
在步骤s203中,当植物图像的图像质量不合格时,对植物图像进行基于基本信息的图像质量调整。
该图像质量的调整过程,是对植物图像进行亮度、对比度、清晰度和像素值进行调整,将该植物图像的相关基本信息的属性调整到预先设定的目标值,使其便于对后续的图像分割等操作,保障植物种类判断的准确性。
在步骤s204中,当图像质量调整不成功时,则向用户终端发送重新上传植物图像的指令信息。
在该步骤中,当图像质量调整不成功时,例如当用户终端拍摄的图像存在拍摄角度、拍摄图像曝光以及图像移动等情形,则服务器端啊向用户终端发送重新上传植物图像的指令信息,用户终端接收到的该指令信息时,重新拍摄植物图像,并重新上传至服务器。
在步骤s205中,当所述植物图像的图像质量合格,或,图像质量调整成功时,则执行对上传的所述植物图像进行图像处理,获取包含有植物的分割图像的步骤。
图3示出了本发明提供的当所述植物图像的图像质量合格时,对上传的所述植物图像进行图像处理,获取包含有植物的分割图像的实现流程图,其具体包括下述步骤:
在步骤s301中,在获取到的包含有植物的分割图像中对植物区域进行边界检测。
在该步骤中,对分割图像进行边界检测,而边界检测在整个有用信息提取的过程中占据较为重要的环节,因为一张图片中一般不可能只有所需要进行识别的植物区域,会有大量例如人物、建筑之类的背景区域,这些无用信息如果不剔除掉,会在特征比对时造成干扰,影响系统判断的准确性;
边界识别的方式通常是先确定图像中边界的大致梯度,再对梯度进行线性拟合,当然也可以采用其他方式,在此不再赘述。
在步骤s302中,根据检测到的植物区域的边界,对植物图像进行分割,获取包含有纯植物区域的分割图像。
对植物图像进行分割,依照分割算法将植物图像划分为不同区域,根据识别出来的边界,并依据植物类固有的特征,保留图像中真正是植物的那一部分区域,生成包含有纯植物区域的分割图像。
在步骤s303中,对分割图像继续进行分割,获取植物各个部分对应的子分割图像,其中,植物的各个部分包括花朵、叶子、根、茎、树干和树枝。
将包含有纯植物区域的分割图像和各个部分对应的子分割图像进行存储,当然,在该分割过程中,还需要执行下述步骤:
提取并获得分割图像的线条信息,保留区域特征等作为部分图像特征,如果这部分并没有发现图中任何区域的特征属于植物类,则视为上传图片本身有误,返回提醒用户图中未找到植物。
图4示出了本发明提供的对获取到的包含有植物的分割图像进行编码,生成所述分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数的实现流程图,其具体包括下述步骤:
在步骤s401中,根据获取到的分割图像和子分割图像,建立植物形状模型。
在该步骤中,建立植物形状模型,通过标记不同的特征点的坐标,例如对植物图像中花朵、树叶、树干等对应的区域进行采样,选取合适的点,将它们的坐标作为初始数据,并将多个不同的特征点的坐标相互对应,再通过主成分分析法建立植物的形状模型,当然也可以采用其他方式建立模型,在此不再赘述。
在步骤s402中,在分割图像和子分割图像上选取不同的标定点,对植物形状模型进行规格化处理,生成分割图像对应的编码向量参数和子分割图像所对应的编码向量参数。
在该步骤中,生成的模型与标定的不同部分的植物图像对比,进行规格化,过程是选取一个形状向量作为初始样本,将其他的向量与初始样本进行形状向量上的相互对应,计算后得到平均形状向量,再进行规格化处理,并作为样本,再将与初始样本相互对应后的形状向量与所述平均形状向量相互对应,重复这一过程,直到相邻两次的平均形状向量的差值小于预定值。
图5示出了本发明提供的将获取到的植物的编码向量参数和所述植物的各个部分的编码向量参数与预先存储的植物标准向量参数进行比对,确定出植物的种类的实现流程图,其具体包括下述步骤:
在步骤s501中,将生成的所述分割图像对应的编码向量参数与预先存储的植物标准向量参数进行比对,大概确定植物所属大类。
在步骤s502中,将所述子分割图像所对应的编码向量参数与预先存储的植物标准向量参数进行比对,选择出每个子分割图像最近接的范围。
在步骤s503中,综合每个子分割图像对应的范围,大概确定植物所属小类。
在步骤s504中,对比小类中的每种植物,精确定位植物的种类。
在该步骤中,为了保证准确性、效率和便捷性,服务器端的预先存储的植物标准向量参数数据显得尤为重要,必须经过海量数据的学习和训练,才能在接到用户端数据时,进行精确的匹配,快速准确得返回植物的种类。
在本发明实施例中,采用基于map/reduce模型的多类特征组合强化学习优化方法,充分利用图像各单一特征之间的优势互补特性,综合考虑多类特征对植物的图像进行描述,使其具有更高的图像聚类精度。用这种方法时,多个服务器端可以在各自的环境中独立地学习特征组合,提高了特征组合优化的效率,使海量图像的特征组合优化具有很强的并发性和可扩展性。
对于海量、高维的数据库,通过线性扫描特征数据库来实现检索难以满足要求。根据特征向量进行相似性搜索与数据聚类在本质上是一致的特性,采用基于map/reduce的k-均值聚类算法对图像块实现聚类索引。k-均值聚类算法的主要计算工作是将每个样本分配给距离其最近的聚簇,并且分配不同样本的操作之间是相互独立的。在每次迭代中,k-均值聚类算法在部署的数据节点分别执行相同的map和reduce操作完成图像块聚类过程。
在图像块的聚类基础上,将图像块的特征聚类索引看作视觉关键词,图像将由一系列的视觉关键词构成的特征聚类向量表示。在部署的map/reduce框架中,map/reduce过程采用了向量空间模型及语言模型计算出每个图像对的语义相似度,构建图像的语义相似度社会网络,提取局部语义社会网络。在图像对的相似度计算中,只考虑高维空间中某些相关维上的信息,即只在高维空间的某些有意义的子空间中研究图像间的相似性或差异性。并据此来构建相应的索引结构,降低聚类索引的高维性引发的“维度灾难”的影响。
在本发明实施例中,在完成对植物种类的识别后,用户终端需要进行识别反馈和优化,其具体步骤如下:
(1)用户可以根据自己的判断,对植物种类识别的结果进行评分,并将平分结果反馈给服务器端;
(2)服务器端会通过自优化的算法,利用用户反馈的信息,对相似度匹配的部分进行调整和优化,以便进一步提高植物识别的正确率。
图6示出了本发明提供的植物种类自动识别系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
植物图像上传模块11,内置于用户终端中,用于将用户拍摄的植物图像上传至服务器端;图像质量识别判断模块12,内置于服务器端内,用于对上传的所述植物图像进行图像质量的识别判断,判断所述植物图像的图像质量是否合格;图像处理模块13,内置于服务器端内,用于当所述植物图像的图像质量合格时,对上传的所述植物图像进行图像处理,获取包含有植物的分割图像;图像编码模块14,内置于服务器端,用于对获取到的包含有植物的分割图像进行编码,生成所述分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数;比对模块15,内置于服务器端,用于将获取到的植物的编码向量参数和所述植物的各个部分的编码向量参数与预先存储的植物标准向量参数进行比对,确定出植物的种类;种类反馈模块16,内置于服务器端,用于将确定出的植物种类反馈给用户终端,并在所述用户终端上进行显示。
在本发明实施例中,如图7所示,图像质量识别判断模块12具体包括:
基本信息获取模块121,用于对上传的所述植物图像进行解析,获取所述植物图像的基本信息,所述基本信息包含所述植物图像的亮度、对比度、清晰度和像素值;
阈值判断模块122,用于将获取到的所述植物图像的基本信息与预先存储的基本信息阈值进行比对判断,判断获取到的所述植物图像的图像质量是否合格;
图像质量调整模块123,用于当所述植物图像的图像质量不合格时,对所述植物图像进行基于所述基本信息的图像质量调整;
指令信息发送模块124,用于当图像质量调整不成功时,则向用户终端发送重新上传植物图像的指令信息;
当所述植物图像的图像质量合格,或,图像质量调整成功时,则执行所述图像处理模块13对上传的所述植物图像进行图像处理,获取包含有植物的分割图像的步骤。
如图8所示,图像处理模块13具体包括:
边界检测模块131,用于在获取到的包含有植物的分割图像中对植物区域进行边界检测;
分割图像获取模块132,用于根据检测到的植物区域的边界,对所述植物图像进行分割,获取包含有纯植物区域的分割图像;
子分割图像获取模块133,用于对所述分割图像继续进行分割,获取植物各个部分对应的子分割图像,其中,所述植物的各个部分包括花朵、叶子、根、茎、树干和树枝。
如图9所示,图像编码模块14具体包括:
植物形状模型建立模块141,用于根据获取到的所述分割图像和子分割图像,建立植物形状模型;
规格化处理模块142,用于在所述分割图像和子分割图像上选取不同的标定点,对所述植物形状模型进行规格化处理,生成所述分割图像对应的编码向量参数和所述子分割图像所对应的编码向量参数。
如图10所示,比对模块15具体包括:
大类确定模块151,用于将生成的所述分割图像对应的编码向量参数与预先存储的植物标准向量参数进行比对,大概确定植物所属大类;
最近接范围选择模块152,用于将所述子分割图像所对应的编码向量参数与预先存储的植物标准向量参数进行比对,选择出每个子分割图像最近接的范围;
小类确定模块153,用于综合每个子分割图像对应的范围,大概确定植物所属小类;
植物种类确定模块154,用于对比小类中的每种植物,精确定位植物的种类。
其中,上述各个模块的功能如上述方法实施例所记载,在此不再赘述。
在本发明中,将用户拍摄的植物图像上传至服务器端;所述服务器端对上传的所述植物图像进行图像质量的识别判断,判断所述植物图像的图像质量是否合格;当所述植物图像的图像质量合格时,对上传的所述植物图像进行图像处理,获取包含有植物的分割图像;对获取到的包含有植物的分割图像进行编码,生成所述分割图像内所包含的植物的编码向量参数和所述植物的各个部分的编码向量参数;将获取到的植物的编码向量参数和所述植物的各个部分的编码向量参数与预先存储的植物标准向量参数进行比对,确定出植物的种类;将确定出的植物种类反馈给用户终端,并在所述用户终端上进行显示,实现对植物种类的自动识别,其识别率较高,而且识别速度较快,给用户较好的体验,及时了解植物种类。
应当理解,这些实施例的用途仅用于说明本发明而非意欲限制本发明的保护范围。此外,也应理解,在阅读了本发明的技术内容之后,本领域技术人员可以对本发明作各种改动、修改和/或变型,所有的这些等价形式同样落于本申请所附权利要求书所限定的保护范围之内。