基于卷积神经网络的河蟹雌雄识别方法与流程

文档序号:18397018发布日期:2019-08-09 23:31阅读:406来源:国知局
基于卷积神经网络的河蟹雌雄识别方法与流程

本发明涉及模式识别领域,尤其涉及一种基于卷积神经网络的河蟹雌雄识别方法。



背景技术:

河蟹是我国重要的水产品,因其肉质鲜美、营养价值高,颇受消费者的青睐,河蟹产业的发展势头迅猛,具有巨大的经济市场。但是,目前河蟹的雌雄主要依靠人眼识别,劳动强度大,人工成本高,生产规模小,且容易出现因为疲劳导致错误分类等诸多缺点,效率低下的人工识别已经无法满足河蟹季节的需求性和保鲜性。

现有的对河蟹雌雄识别的方法中,常采用机器视觉技术提取河蟹腹部三角形特征信息,基于模板匹配算法,对河蟹腹部建模区分雌雄,河蟹雌雄识别的准确率较低;并且河蟹是活体生物,在自动分级流水线上,抓拍河蟹腹部的难度较大,因此,通过河蟹腹部识别雌雄的方法,在自动分级应用中具有明显的局限性,生产效率较低。

近年来,深度学习技术特别是卷积神经网络已经广泛用于图像识别、目标检测、图像分割等图像识别任务中。同时,随着社会的进步和工业自动化程度的不断加深,利用计算机辅助工业生产,一方面既可以节约人力和生产成本,另一方面也可以提高生产效率。

专利文件cn201610691336公开了一种用于河蟹判别的图像识别方法,该方法通过图像对比的方法来判别河蟹的家系关系。现有技术中还没有能够较好地对河蟹雌雄进行识别的方法。



技术实现要素:

本发明所要解决的技术问题是提供一种能够提高河蟹雌雄识别的准确率和生产效率的基于卷积神经网络的河蟹雌雄识别方法。

本发明是通过以下技术方案解决上述技术问题的:基于卷积神经网络的河蟹雌雄识别方法,包括以下步骤:

步骤a,收集雌河蟹和雄河蟹的腹部和蟹壳的原始图像,建立原始图像数据集,将原始图像数据集分为训练集和测试集;

步骤b,对步骤a中得到的训练集中的河蟹图像进行数据扩增处理,增加训练集中的河蟹图像的数量;

步骤c,对步骤b中扩充处理后的训练集进行预处理;

步骤d,构建卷积神经网络模型;

步骤e,将步骤c中预处理后的数据输入步骤d中构建的卷积神经网络模型,对卷积神经网络模型进行训练;

步骤f,将步骤a中得到的测试集输入步骤e中训练好的卷积神经网络模型,识别测试集中河蟹的雌雄。

作为优化的技术方案,步骤b中,对训练集中的河蟹图像进行数据扩增处理的方式包括平移、旋转、翻转。

作为优化的技术方案,步骤c中,预处理的方法包括以下步骤:首先将河蟹移动到图像的中心位置,然后将河蟹图像裁剪并调整大小,最后基于高斯混合模型去除图像的背景。

作为优化的技术方案,步骤d中,所构建的卷积神经网络模型包括输入层、3个卷积层、3个池化层、全连接层、输出层;输入层是卷积神经网络模型的入口;第一层、第三层、第五层是卷积层,卷积层对输入的图像数据进行卷积操作,经过卷积后得到特征图;第二层、第四层、第六层是池化层,池化层对特征图进行下采样;第七层是全连接层,全连接层中的每一个神经元与上一层的所有神经元进行全连接;第八层是输出层,用于进行分类。

作为优化的技术方案,输入层对输入的数据进行归一化预处理。

作为优化的技术方案,第一层的卷积层共有4个卷积核,每个卷积核的大小为3×3;第三层的卷积层共有8个卷积核,每个卷积核的大小为3×3;第五层的卷积层共有16个卷积核,每个卷积核的大小为3×3。

作为优化的技术方案,第一层、第三层、第五层的卷积层经过卷积操作后,均采用relu函数进行激活处理。

作为优化的技术方案,输出层计算卷积神经网络模型的预测值,采用sigmoid函数计算预测值,通过预测值判断河蟹的雌雄。

作为优化的技术方案,判断河蟹的雌雄的计算式为:

其中,f(x)为预测值,当预测值大于或等于0.7时,y=1,判断河蟹为雄性;当预测值小于0.7时,y=0,判断河蟹为雌性。

作为优化的技术方案,步骤e中,对卷积神经网络模型进行训练包括以下步骤:

步骤一,采用高斯分布初始化方式对网络的所有权值进行初始化;

步骤二,设置卷积神经网络的迭代次数和卷积神经网络的学习参数;

步骤三,将步骤c中预处理后的数据输入到步骤d中构建的卷积神经网络模型;

步骤四,将输入的数据经过各层的逐层向前传播得到输出值;

步骤五,求出输出值与真实目标值之间的误差;

步骤六,采用反向传播算法将误差由最后一层反向逐层反馈,更新每层的参数,并在更新参数后再次前向传播,循环往复进行,直到卷积神经网络模型收敛;

步骤七,当误差等于或小于期望值时或者达到设定的训练次数时,结束训练。

本发明的优点在于:

1、本发明利用深度学习技术,采用卷积神经网络算法,对河蟹的雌雄进行识别,避免了人眼识别带来的误差,降低了工人劳动强度,提高了工作效率,减少了人工花费。

2、相比较传统的机器视觉算法,本发明充分利用深度学习中的卷积神经网络算法对河蟹雌雄进行识别,不需要传统机器学习中复杂的图像预处理技术,有效提高了河蟹雌雄识别的准确率。

3、本发明测试过程稳定,未出现较大扰动,具有较高的鲁棒性。

4、本发明可以利用河蟹腹部识别雌雄,也可以利用蟹壳识别雌雄,克服了过去只能依靠河蟹腹部识别雌雄的弊端,极大地提高了生产效率。

附图说明

图1是本发明实施例基于卷积神经网络的河蟹雌雄识别方法的流程图。

图2是本发明实施例预处理后的训练集中河蟹图像的样例。

图3本发明实施例卷积神经网络模型的结构图。

具体实施方式

如图1所示,基于卷积神经网络的河蟹雌雄识别方法,包括以下步骤:

步骤a,收集河蟹图像:按照样本均衡原则,收集雌河蟹和雄河蟹的腹部和蟹壳的原始图像,建立原始图像数据集,将原始图像数据集分为训练集和测试集。

采集阳澄湖大闸蟹的图像,使用拍照设备对河蟹进行拍照,按照样本均衡原则,选取180只雄河蟹和180只雌河蟹,对河蟹的腹部和蟹壳采集图像,建立河蟹的原始图像数据集。原始图像数据集中包括360张雄河蟹的图像和360张雌河蟹的图像,360张雄河蟹的图像包括180张蟹壳和180张腹部,360张雌河蟹的图像包括180张蟹壳和180张腹部。将所有图像随机分为训练集和测试集,其中训练集的图像数量为360,测试集的图像数量为360。

步骤b,对数据集扩增:对步骤a中得到的训练集中的河蟹图像进行数据扩增处理,增加训练集中的河蟹图像的数量,整个实验数据集由进行数据扩增处理后的训练集和步骤a中得到的测试集组成。

由于步骤a中建立的原始图像数据集中只有720张图像,而在深度学习的训练过程中,小规模的数据集往往会导致模型产生过拟合,因此需要采用数据扩增技术来扩增训练集。

数据扩增处理的方式包括平移、旋转、翻转;平移指通过批处理操作,将训练集中的每张图像分别进行左右平移操作,平移大小均为一个像素;旋转指通过批处理操作,将训练集中的每张图像以给定角度进行旋转操作。

步骤c,对步骤b中扩充处理后的训练集进行预处理。

预处理的方法包括以下步骤:首先将河蟹移动到图像的中心位置,然后将河蟹图像裁剪并调整大小为64×64像素,最后基于高斯混合模型去除图像的背景。

如图2所示,预处理后的训练集中河蟹图像的样例,(a)是雄河蟹的蟹壳;(b)是雄河蟹的腹部,(c)是雌河蟹的蟹壳,(d)是雌河蟹的腹部。

步骤d,通过使用keras深度学习库构建卷积神经网络模型。

如图3所示,所构建的卷积神经网络模型包括输入层、3个卷积层、3个池化层、全连接层、输出层,具体的模型架构如下:

输入层是卷积神经网络模型的入口。

步骤c中预处理后的数据从输入层输入,输入层对输入的数据进行归一化预处理,可以减少各维度的数据取值范围的差异而带来的干扰。所有的图片都是灰度图片,每个像素点的范围都是0到255的灰度值,每个像素点均为整数值,运用批处理操作,将图片的每个像素除以255,进行归一化操作。

第一层、第三层、第五层是卷积层,卷积层对输入的图像数据进行卷积操作,经过卷积后得到特征图。

卷积层特征图的大小的计算式为:

其中,wo和ho是本层特征图的宽和高,wi和hi是上一层特征图的宽和高,wf和hf是卷积核的宽和高,p是扩充边缘,s是步长。

第一层的卷积层共有4个卷积核,每个卷积核的大小为3×3像素,经过卷积后包括4个不同的特征图;第三层的卷积层共有8个卷积核,每个卷积核的大小为3×3像素,经过卷积后包括8个不同的特征图;第五层的卷积层共有16个卷积核,每个卷积核的大小为3×3像素,经过卷积后包括16个不同的特征图。卷积核的大小对提取特征很重要,当卷积核过小时,无法提取有效的局部特征;而当卷积核过大时,提取的特征的复杂度可能远远超过卷积核的表示能力。

扩充边缘p为0,扩充边缘p指的是对输入特征图边缘用0值进行扩充,p为0意味着不扩充,步长s为1。

第一层、第三层、第五层的卷积层经过卷积操作后,均采用relu函数进行激活处理,每一个特征图在传递到relu函数之前需要增加一个偏置,relu函数的计算公式为:

其中,r(x)是激活函数值,x是输入数据,非线性激活函数relu函数可以解决梯度消失问题且可以加速模型收敛。

第二层、第四层、第六层是池化层,池化层对特征图进行下采样。

池化层有保留图像的主要特征,同时减少下一层的参数和计算量,防止过拟合的作用。常见的池化方法有两种:一种是最大池化,另一种是平均池化,本实施例采用最大池化。

池化层特征图的大小的计算式为:

其中,wo和ho是本层特征图的宽和高,wi和hi是上一层特征图的宽和高,wf和hf是卷积核的宽和高,s是步长。

每层的池化层的核的大小为2×2像素,步长s为1。

输入卷积神经网络的图像大小为64×64像素,通过计算得出,第一层的卷积层进行卷积操作后得到的特征图的大小为62×62像素,第二层的池化层经过池化后的特征图的大小为31×31像素,第三的卷积层进行卷积操作后得到的特征图的大小为29×29像素,第四层的池化层经过池化后的特征图的大小为14×14像素,第五层的卷积层进行卷积操作后得到的特征图的大小为12×12像素,第六层的池化层经过池化后的特征图的大小为6×6像素。

第七层是全连接层,该层共有256个输出神经元,全连接层中的每一个神经元与上一层的所有神经元进行全连接。

由于全连接层中的参数很多,往往会导致过拟合问题。为了有效的减轻过拟合问题,在全连接层中加入了dropout技术,dropout技术是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃,本实施例按照0.5的概率随机丢弃全连接层中的神经元。

第八层是输出层,用于进行分类。

输出层神经元的个数是河蟹需要的识别数,这里是雌雄二分类,所以神经元的个数为2。由于是二分类,因此采用sigmoid函数作为目标函数。

输出层计算卷积神经网络模型的预测值,采用sigmoid函数计算预测值,通过预测值判断河蟹的雌雄,sigmoid函数的计算公式为:

其中,f(x)为预测值,x为输入数据。

判断河蟹的雌雄的计算式为:

当预测值大于或等于0.7时,y=1,判断河蟹为雄性;当预测值小于0.7时,y=0,判断河蟹为雌性。

步骤e,将步骤c中预处理后的数据输入步骤d中构建的卷积神经网络模型,对卷积神经网络模型进行训练,具体步骤如下:

步骤一,采用高斯分布初始化方式对网络的所有权值进行初始化;

步骤二,设置卷积神经网络的迭代次数为1000次;设置卷积神经网络的学习参数,通过使用adam优化算法对卷积神经网络模型进行训练,adam优化算法是深度学习常用的学习算法,adam优化算法的动量和权重衰减分别为0.9和0.001,adam优化算法基于训练数据迭代地更新卷积神经网络权重,该卷积神经网络模型在包括14400个图像的训练数据集上训练大约1000个周期,并且小批量的批量大小设置为256,初始学习率设置为0.01。

步骤三,将步骤c中预处理后的数据输入到步骤d中构建的卷积神经网络模型;

步骤四,将输入的数据经过各层的逐层向前传播得到输出值;

步骤五,求出输出值与真实目标值之间的误差;

步骤六,采用反向传播算法将误差由最后一层反向逐层反馈,更新每层的参数,并在更新参数后再次前向传播,循环往复进行,直到卷积神经网络模型收敛;

步骤七,当误差等于或小于期望值时或者达到设定的训练次数时,结束训练。

步骤f,将步骤a中得到的测试集输入步骤e中训练好的卷积神经网络模型,识别测试集中河蟹的雌雄,具体步骤如下:

步骤一,将步骤a中得到的测试集输入步骤e中训练好的卷积神经网络模型;

步骤二,测试集数据在训练好的卷积神经网络模型中逐层向前传播得到预测值;

步骤三,当预测值大于或等于0.7时,判断河蟹为雄性;当预测值小于0.7时,判断河蟹为雌性;

步骤四,统计识别结果,完成河蟹的雌雄识别测试。

本发明对几种常见的机器学习算法在河蟹数据集上的性能进行了实验与对比,对比结果如表1:

表1不同算法的河蟹雌雄识别准确率对比

由此可见,本发明对河蟹雌雄识别的准确率高达98.90%,相比较传统的机器视觉算法,有效提高了河蟹雌雄识别的准确率。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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