基于图谱识别和深度学习的果实分类的分析方法与流程

文档序号:14396325阅读:2411来源:国知局

本发明涉及农业产品图像识别领域,具体涉及到一种基于图谱识别和深度学习的果实分类的分析方法。



背景技术:

我国是世界上最大的水果产出国,种植面积与水果产量一直稳居世界第一。同时,果品的质量与产业化水平也有了很大提高,目前,水果产业已经成为了继粮食、蔬菜之后的第三大农业种植产业,是国内外市场前景广阔且具有较强国际竞争力的优势农业产业,也是许多地方经济发展的亮点和农民致富的支柱产业之一。

传统的人工水果分类主要是从色、形两个方面进行人工判别的,它的缺点是效率低、耗时长、识别准确率不稳定等。随着计算机图像处理和模式识别的技术不断成熟和发展,在水果识别方面的自动判别技术也慢慢成熟。国内外对此作了大量的研究,例如canakkaleuniversity的professor,i.kavdir等根据苹果的表面质量状况,包括苹果的像素灰度值、纹理特征等来对苹果进行两种类型的分级,一种是“好与差”两级分类,另一种是较为细致的五级分类,都取得了较好的效果。trueba等研究者研究提取肉的表面纹理及颜色特征,利用神经网络精确地描述牛肉嫩度。国内的研究主要是在华中农业大学、中国农业大学、中国农科院等高等院校里,安徽农科院的吕秋霞等人提取了水果的颜色、形状以及纹理三个特征,随后利用单个神经网络对其进行等级分类,也取得了一定的成果。

然而无论是国外的专家,还是国内的研究者,所采用的分类器都是单一,换句话说就是单分类器,导致等级判别正确率难以有效提高。此外,目前,我们国家的水果等级分类过程大多采用人工分级,自动化分级系统应用较少。而人工水果分级的不足之处在于:耗时长,结果不稳定,容易受人为因素干扰,并且耗费大量的人力和物力,不适合水果深加工产业的发展,也制约了我国水果产业在国际市场的竞争力。



技术实现要素:

本发明的目的在于提供一种基于图谱识别和深度学习的果实分类的分析方法,解决上述技术问题。

一种基于图谱识别和深度学习的果实分类的分析方法,以图像样本通过lmdb数据源的建立以及opencv图像预处理;在caffe框架下进行网络参数的配置;利用cnn卷积神经网络算法构建标准模型,可以实现水果的分类和优选。

本方法具体步骤包括:

(1)收集水果和果实不同状态下的样本图片,使用图片裁剪工具对各样本图片进行裁剪,使整个果实完全位于图片内部,然后将图片存入到基于二叉树的数据库管理库lmdb中,

(2)利用opencv图像处理的方法对存入的图像进行旋转,平移,特征缩放和分量均值零化。图片的旋转和平移可以增加样本图片的数量,增强数据源;特征缩放和分量均值零化可以实现图片特征的标准化,改善神经网络模型,

(3)使用caffe框架设置网络超参数,构建神经网络。cnn的训练是有监督的学习方式,在训练之前需要对网络中的权值和偏置值进行取随机数的初值化操作,避免因权值和偏置值过大使得训练好的模型发散,从而导致训练失败。cnn的前向传播阶段类似于传统神经网络的从前向后的传递方式,即首先将数据集的样本随机分为训练集和测试集,再将训练集输入到网络中,经过逐级的变换得到输出结果,在网络中上一层的输出作为当前层的输入,当前层的输入xl-1与输出xl之间的关系如下:,式中:l代表层数;w代表权值;b代表偏置值(占位符);f是一个relu激活函数。反向传播的过程就是将误差通过反向传递的方式逐层向前传递,使上一层中的神经元根据误差来自动更新自身的权值和偏置值。cnn的反向传播算法采用基于梯度下降的方式,通过计算网络的全局误差来使网络中的单位权重可以向误差减小的方向进行调整。反向传播阶段是利用反向迭代将输出层的误差逐层向前传递,由于cnn网络由卷积层,值采样层,全连接层组成,值采样层是通过对卷积层进行简单缩放得到的,这使得卷积层和值采样层之间存在着多对一的映射关系,值采样层中的每个神经节点的误差对应着卷积层中的一个局部区域。这就需要在反向传播时将值采样层中的每个神经节点的误差构成一个与卷积层中局部区域相对应的误差信号图。然后将卷积运算中的relu激活函数的偏导数和所得误差信号图相乘。由于值采样层中权重都是β,因此在上面的计算结果的基础上乘一个β,最后利用反向传播算法发对权值的梯度进行计算。

该神经网络共有11层。c1层是卷积层,形成8个特征图谱,特征图谱中的每个单元与输入层的一个5*5的相邻区域相连,即卷积的输入区域大小是5x5,每个特征图谱内参数共享,即每个特征图谱内只使用一个共同卷积核,卷积核有5x5个连接参数加上1个偏置共26个参数。卷积区域每次滑动一个像素,这样卷积层形成的特征图谱每个的大小是136*136。c1层共有(5*5+1)*8=208个训练参数,有(5*5+1)*8*136*136=3847168个连接;s2层是一个下采样层/池化层,c1层的8个136*136的特征图谱分别进行以2*2为单位的下抽样得到8个68*68的图。每个特征图谱使用一个下抽样核,每个下抽象核有两个训练参数,所以共有2*8=16个训练参数,有68*68*(2*2+1)*8=184960个连接;c3层是一个卷积层,卷积核和c1相同。c3层有10个68*68的卷积区域。c3层有(5*5+1)*10=260个训练参数,有(5*5+1)*10*64*64=1064960个连接;s4层是一个下采样层/池化层,c3层的10个64*64的特征图谱分别进行以2*2为单位的下抽样得到10个32*32的图。每个特征图谱使用一个下抽样核,每个下抽象核有两个训练参数,所以共有2*10=20个训练参数,有32*32*(2*2+1)*10=51200个连接;c5层是一个卷积层,卷积核和c3相同。c5层有12个28*28的卷及区域。c5层有(5*5+1)*12=312个训练参数,有(5*5+1)*12*28*28=244608个连接;s6层是一个下采样层/池化层,c5层的12个28*28的特征图谱分别进行以2*2为单位的下抽样得到12个14*14的图。每个特征图谱使用一个下抽样核,每个下抽象核有两个训练参数,所以共有2*12=24个训练参数,有14*14*(2*2+1)*12=11760个连接;c7层是一个卷积层,卷积核和c5相同,不同的是c7的每个节点与s6中的多个图相连。c7层有16个10*10的图,每个图与s6层的连接的方式采用组合连接(图3)。这种不对称的组合连接的方式有利于提取多种组合特征。改成有(5*5*3+1)*6+(5*5*4+1)*3+(5*5*4+1)*6+(5*5*6+1)*1=1516个训练参数,共有1516*10*10=151600个连接;s8层是一个下采样层/池化层,c7层的16个10*10的特征图谱分别进行以2*2为单位的下抽样得到16个5*5的图。每个特征图谱使用一个下抽样核,每个下抽象核有两个训练参数,所以共有2*16=32个训练参数,有5*5*(2*2+1)*16=2000个连接;c9层是一个卷积层。由于s8层的16个图的大小为5*5,与卷积核的大小相同,所以卷积后形成的图的大小为1*1。这里形成120个卷积结果。每个都与上一层的16个图相连。所以共有(5*5*16+1)*120=48120个参数,同样有48120个连接;f10层是全连接层。该层的训练参数和连接数是(120+1)*84=10164;输出层11共有26个节点,分别代表13种水果和对应质量的优差,

(4)设置学习率base_lr为0.01,动量参数momentum为0.9,权重衰减系数weight_decay为0.0005,梯度下降的优化策略使用inv,最大迭代次数10000,每迭代5000次,保存一次结果,训练硬件设备选择gpu运行,

(5)至此13类水果模型已经训练完毕,使用jupyternotebook对loss曲线进行绘制,观察曲线拟合情况,没有出现过拟合现象,曲线拟合完美,准确率达92.756%。

本发明与现有技术对比的有益效果是:本发明利用基于图谱识别和深度学习的果实分类的分析方法,实现水果的大小、颜色分类,降低了人工水果分拣劳动强度,提高了分拣效率。

附图说明

图1为本发明利用基于图谱识别和深度学习的果实分类的分析方法的流程图。

图2为11层cnn卷积神经网络模型结构图。

图3为c7卷积层和s8下采样层之间的连接组合方式图。

具体实施方式

下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种基于图谱识别和深度学习的果实分类的分析方法,以图像样本通过lmdb数据源的建立以及opencv图像预处理;在caffe框架下进行网络参数的配置;利用cnn卷积神经网络算法构建标准模型,可以实现水果的分类和优选。

本方法具体步骤包括:

(1)收集水果和果实不同状态下的样本图片,使用图片裁剪工具对各样本图片进行裁剪,使整个果实完全位于图片内部,然后将图片存入到基于二叉树的数据库管理库lmdb中,

(2)利用opencv图像处理的方法对存入的图像进行旋转,平移,特征缩放和分量均值零化。图片的旋转和平移可以增加样本图片的数量,增强数据源;特征缩放和分量均值零化可以实现图片特征的标准化,改善神经网络模型,

(3)使用caffe框架设置网络超参数,构建神经网络,

(4)设置学习率base_lr为0.01,动量参数momentum为0.9,权重衰减系数weight_decay为0.0005,梯度下降的优化策略使用inv,最大迭代次数10000,每迭代5000次,保存一次结果,训练硬件设备选择gpu运行,

(5)至此13类水果模型已经训练完毕,使用jupyternotebook对loss曲线进行绘制,观察曲线拟合情况,没有出现过拟合现象,曲线拟合完美,准确率达92.756%。

根据图1、图2和图3所示,对本发明的基于图谱识别和深度学习的果实分类系统作进一步详细描述:

(1)利用ip摄像头,抓取图像数据;

(2)视频经过云传输和h.264解压缩被计算机获取;

(3)对样本图片进行裁剪,使水果整体位于图片中;

(4)在linuxubuntu系统下,利用opencv图像处理的方法对存入的图像进行旋转,平移,特征缩放和分量均值零化,利用图片的旋转和平移可以增加样本图片的数量,增强数据源;特征缩放和分量均值零化可以实现图片特征的标准化,改善神经网络模型;

(5)vs2013环境下,使用python语言配置神经网络超参数,设置学习率base_lr为0.01,动量参数momentum为0.9,权重衰减系数weight_decay为0.0005,梯度下降的优化策略使用inv,最大迭代次数10000,每迭代5000次,保存一次结果,训练硬件设备选择gpu运行;

(6)训练结束后生成loss损失曲线,对结果进行分析,检查拟合性,查找是否出现过拟合现象,经过多次调参调试后,准确率达到92.756%,保存模型;

(7)将生成的模型加入到java代码中,采集到的每帧图像与模型比较,分析其特性,最终确定果实的特征分类。

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