基于深度学习的鱼类识别方法、介质、终端设备及装置与流程

文档序号:16136348发布日期:2018-12-01 01:02阅读:365来源:国知局

本发明涉及图像识别技术领域,特别涉及一种基于深度学习的鱼类识别方法、介质、终端设备及装置。

背景技术

随着渔业的发展,水产品消费在食物消费中的地位越来越高。消费也从温饱型转为营养型,消费者开始愿意花费更多的代价去获取更珍贵且营养价值更高的鱼产品。然而,有些鱼产品其外观十分相似(例如油鱼和鳕鱼),缺乏鱼产品专业知识的人很难将其分辨。基于此,某些不良鱼商常以低价值的鱼产品冒充高价值的鱼产品进行贩卖,以获取高额的利润。

因此,急需一种鱼类识别方法,以实现对鱼产品的类别进行识别,避免消费者因无法识别鱼产品类别而造成财产的损失。



技术实现要素:

本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种基于深度学习的鱼类识别方法,可以实现对鱼产品类别的精准识别,避免消费者因无法识别鱼产品类别而造成财产的损失。

本发明的第二个目的在于提出一种计算机可读存储介质。

本发明的第三个目的在于提出一种终端设备。

本发明的第四个目的在于提出一种基于深度学习的鱼类识别装置。

为达到上述目的,本发明第一方面实施例提出的一种基于深度学习的鱼类识别方法,包括以下步骤:对鱼类样本进行拍摄,以获取鱼类图片;根据所述鱼类图片对有鱼区域进行标定,并生成所述有鱼区域对应的描述文件,以及将所述描述文件与所述鱼类图片进行关联;根据每张所述鱼类图片以及对应的描述文件建立数据集,其中,所述数据集划分成训练集、验证集和测试集;根据所述训练集进行基准模型的训练;将所述验证集输入基准模型,以生成第一预估结果,并根据所述第一预估结果调整基准模型的参数,以生成鱼类识别模型;将所述测试集输入所述鱼类识别模型,以生成第二预估结果,并根据所述第二预估结果生成所述鱼类识别模型的泛化性能评分;根据所述泛化性能评分确定最终鱼类识别模型,并根据最终鱼类识别模型进行鱼类识别。

根据本发明实施例的基于深度学习的鱼类识别方法,首先对鱼类样本进行拍摄,获取鱼类图片;然后根据鱼类图片对有鱼区域进行标定,并生成有鱼区域对应的描述文件,以及将描述文件与鱼类图片进行关联;接着,根据每张鱼类图片以及对应的描述文件建立数据集,其中,数据集划分成训练集、验证集和测试集;数据集划分完成之后,根据训练集进行基准模型的训练;然后将验证集输入基准模型,以生成第一预估结果,并根据第一预估结果调整基准模型的参数,以生成鱼类识别模型;最后,将测试集输入鱼类识别模型,以生成第二预估结果,并根据第二预估结果生成鱼类识别模型的泛化性能评分;以及根据泛化性能评分确定最终鱼类识别模型,并根据最终鱼类识别模型进行鱼类识别;从而实现对获取到的鱼类图片进行鱼类信息的精准识别,避免消费者因无法识别鱼产品类别而造成财产的损失;同时,可识别鱼类图片中的有鱼区域,进而可根据有鱼区域的数量进行鱼类数量的统计。

另外,根据本发明上述实施例提出的基于深度学习的鱼类识别方法还可以具有如下附加的技术特征:

可选地,根据所述第一预估结果调整基准模型的参数,以生成鱼类识别模型,包括:判断所述第一预估结果与对应的鱼类图片所关联的描述文件是否一致以获得所述第一预估结果的准确率,并判断所述第一预估结果的准确率是否达到预设准确率阈值;如果所述第一预估结果的准确率未达到预设准确率阈值,则对所述基准模型的参数进行调整,以根据所述验证集对所述基准模型进行迭代训练,直至将所述第一预估结果的准确率达到预设准确率阈值的基准模型作为鱼类识别模型。

可选地,根据所述训练集进行基准模型的训练,包括:提取所述训练集中鱼类图片的图像特征,以生成特征图片,并将所述特征图片与所述鱼类图片进行关联;根据所述特征图片训练区域生成网络,以获取所述特征图片中所有候选区域及每个候选区域的可能性评分;根据所述特征图片、所有候选区域及每个候选区域的可能性评分进行基准模型的训练。

可选地,提取所述训练集中鱼类图片的图像特征,以生成特征图片,包括:通过vgg网络对所述鱼类图片进行卷积计算,以提取所述鱼类图片的特征信息;对所述特征信息进行池化处理,以生成特征图片。

可选地,对鱼类样本进行拍摄,以生成鱼类图片,包括:对鱼类样本进行不同形态和不同角度的视频拍摄,以生成样本视频;按照预设的采集频率提取所述样本视频的图像帧,以生成鱼类图片。

可选地,所述基准模型为fastrcnn模型。

为达到上述目的,本发明第二方面实施例提出的一种计算机可读存储介质,其上存储有基于深度学习的鱼类识别程序,该基于深度学习的鱼类识别程序在被处理器执行时实现如上述的基于深度学习的鱼类识别方法。

为达到上述目的,本发明第三方面实施例提出的一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于深度学习的鱼类识别程序,所述处理器执行所述基于深度学习的鱼类识别程序时实现上述的基于深度学习的鱼类识别方法。

为达到上述目的,本发明第四方面实施例提出的一种基于深度学习的鱼类识别装置,包括:采集模块,用于对鱼类样本进行拍摄,以获取鱼类图片;标定模块,用于根据所述鱼类图片对有鱼区域进行标定,并生成所述有鱼区域对应的描述文件,以及将所述描述文件与所述鱼类图片进行关联;数据处理模块,用于根据每张所述鱼类图片以及对应的描述文件建立数据集,其中,所述数据集划分成训练集、验证集和测试集;模型训练模块,用于根据所述训练集进行基准模型的训练;模型验证模块,用于将所述验证集输入基准模型,以生成第一预估结果,并根据所述第一预估结果调整基准模型的参数,以生成鱼类识别模型;模型测试模块,用于将所述测试集输入所述鱼类识别模型,以生成第二预估结果,并根据所述第二预估结果生成所述鱼类识别模型的泛化性能评分;识别模块,用于根据所述泛化性能评分确定最终鱼类识别模型,并根据最终鱼类识别模型进行鱼类识别。

根据本发明实施例提供的基于深度学习的鱼类识别装置,首先采集模块对鱼类样本进行拍摄,以获取鱼类图片;并且,标定模块根据鱼类图片对有鱼区域进行标定,并生成有鱼区域对应的描述文件,以及将描述文件与鱼类图片进行关联;然后,数据处理模块根据每张鱼类图片以及对应的描述文件建立数据集,其中,数据集划分成训练集、验证集和测试集;接着,模型训练模块根据训练集进行基准模型的训练;模型验证模块将验证集输入基准模型,以生成第一预估结果,并根据第一预估结果调整基准模型的参数,以生成鱼类识别模型;模型测试模块将测试集输入鱼类识别模型,以生成第二预估结果,并根据第二预估结果生成鱼类识别模型的泛化性能评分;最后,识别模块根据泛化性能评分确定最终鱼类识别模型,并根据最终鱼类识别模型进行鱼类识别;从而实现对获取到的鱼类图片进行鱼类信息的精准识别,避免消费者因无法识别鱼产品类别而造成财产的损失;同时,可识别鱼类图片中的有鱼区域,进而可根据有鱼区域的数量进行鱼类数量的统计。

附图说明

图1为根据本发明实施例的基于深度学习的鱼类识别方法的流程示意图;

图2为根据本发明另一实施例的基于深度学习的鱼类识别方法的流程示意图;

图3为根据本发明实施例的基于深度学习的鱼类识别装置的方框示意图;

图4为根据本发明实施例生成的鱼类图片的示意图;

图5为根据本发明实施例的vgg-16网络的结构示意图;

图6为根据本发明实施例的卷积计算方式示意图;

图7为根据本发明实施例的池化流程示意图;

图8为根据本发明实施例的区域生成网络的流程示意图;

图9为根据本发明实施例的候选区域示意图;

图10为根据本发明实施例的基准模型参数初始化流程示意图;

图11为根据本发明实施例的训练数据构成示意图;

图12为根据本发明实施例的数据结构示意图;

图13为根据本发明实施例的全连接层提速示意图;

图14为根据本发明实施例的区域生成网络与基准模型联合训练示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

在实际生活中,基于消费者对于鱼产品的认知不足;常有不良鱼商通过以次充好赚取高额利润,进而使得消费者的财产受到损失。本发明实施例提供的基于深度学习的鱼类识别方法,首先通过获取鱼类图片,并对鱼类图片中的有鱼区域进行标定,然后生成有鱼区域的描述文件;以及根据描述文件和有鱼区域生成数据集,接着根据数据集进行模型的训练,获取鱼类识别模型;并根据最终鱼类识别模型进行鱼类识别;从而实现对获取到的鱼类图片进行鱼类信息的精准识别,避免消费者因无法识别鱼产品类别而造成财产的损失;同时,可识别鱼类图片中的有鱼区域,进而可根据有鱼区域的数量进行鱼类数量的统计。

为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

图1为本发明实施例提供的基于深度学习的鱼类识别方法的流程示意图,如图1所示,该基于深度学习的鱼类识别方法,包括以下步骤:

s101,对鱼类样本进行拍摄,以获取鱼类图片。

其中,对鱼类样本进行拍摄,以获取鱼类图片的方式有多种。例如,直接对鱼类样本进行拍摄,以获取鱼类图片。

作为一种示例,对鱼类样本进行不同形态和不同角度的视频拍摄,以生成样本视频;按照预设的采集频率提取样本视频的图像帧,以生成鱼类图片。

其中,不同形态的视频拍摄指的是对鱼类样本的不同形态进行视频拍摄。该形态包括但不限于鱼类样本鱼鳍展开形态、鱼鳍不展开形态、鱼类样本正面形态,鱼类样本反面形态等。不同角度的视频拍摄的方式有多种;例如,通过调整摄像机的角度进行鱼类样本不同角度的视频拍摄;或者,通过将鱼类样本进行不同角度的固定,并通过转盘按照一定速率进行旋转,然后通过固定的摄像机位对鱼类样本进行视频拍摄。例如,生成的鱼类图片如图4所示。

s102,根据鱼类图片对有鱼区域进行标定,并生成有鱼区域对应的描述文件,以及将描述文件与鱼类图片进行关联。

其中,根据鱼类图片对有鱼区域进行标定的方式有多种,例如,通过人工判断有鱼区域进而对有鱼区域进行目标框标定。

需要说明的是描述文件包括但不限于文件目录、图片名称、目标框信息以及鱼类信息等。

s103,根据每张鱼类图片以及对应的描述文件建立数据集,其中,数据集划分成训练集、验证集和测试集。

也就是说,在完成对鱼类图片的有鱼区域的标定以及对应描述文件的生成之后,根据已标定的鱼类图片及其对应的描述文件建立数据集,并将数据集划分成训练集、验证集和测试集。

其中,数据集的划分方式可以有多种,例如,将数据集进行三等分,进而形成训练集、验证集和测试集。

作为一种示例;对数据集进行划分以生成训练与验证总和文本文件、训练文本文件、验证文本文件和测试文本文件。

其中,训练与验证总和文本文件为训练文本文件与验证文本文件的总和;训练与验证总和文本文件为数据集的70%,测试文本文件为数据集的30%,训练文本文件为训练与验证总和文本文件的70%,验证文本文件为训练与验证总和文本文件的30%。

s104,根据训练集进行基准模型的训练。

其中,根据训练集进行基准模型的训练的方式有多种,例如,以预训练模型提取训练集中鱼类图片的图像特征,并结合svm分类算法进行基准模型的训练。

作为一种示例,通过vgg-16网络提取训练集中鱼类图片的图像特征,以生成特征图片,并根据特征图片进行区域生成网络的训练;然后根据特征图片以及区域生成网络通过fasterrcnn算法进行基准模型的训练。

s105,将验证集输入基准模型,以生成第一预估结果,并根据第一预估结果调整基准模型的参数,以生成鱼类识别模型。

也就是说,将验证集输入基准模型,基准模型根据验证集中包含的鱼类图片以及对应的描述文件输出第一预估结果,然后根据第一预估结果对基准模型的参数进行调整,以生成鱼类识别模型。

其中,根据第一预估结果对基准模型的参数进行调整的方式有多种。例如,首先判断第一预估结果的是否正确,并对判断结果为否的第一预估结果进行存储,根据不正确的第一预估结果进行基准模型的参数调整。

s106,将测试集输入鱼类识别模型,以生成第二预估结果,并根据第二预估结果生成鱼类识别模型的泛化性能评分。

其中,泛化性能指的是机器学习算法对于新鲜样本的适应能力。通过测试集对鱼类识别模型的泛化性能进行进一步地检验,可验证鱼类识别模型的优劣。从而筛选出最优的鱼类识别模型。

s107,根据所述泛化性能评分确定最终鱼类识别模型,并根据最终鱼类识别模型进行鱼类识别。

即言,在确定最终鱼类识别模型之后,即可根据最终鱼类识别模型进行鱼类识别。具体地,可获取鱼类图片,并将鱼类图片输入最终鱼类识别模型,最终鱼类识别模型根据鱼类图片输出有鱼区域及其对应的鱼类信息。其中,鱼类信息包括但不限于鱼类类别、类别概率、鱼类习性、鱼类烹饪方法等。

根据本发明实施例的基于深度学习的鱼类识别方法,首先对鱼类样本进行拍摄,获取鱼类图片;然后根据鱼类图片对有鱼区域进行标定,并生成有鱼区域对应的描述文件,以及将描述文件与鱼类图片进行关联;接着,根据每张鱼类图片以及对应的描述文件建立数据集,其中,数据集划分成训练集、验证集和测试集;数据集划分完成之后,根据训练集进行基准模型的训练;然后将验证集输入基准模型,以生成第一预估结果,并根据第一预估结果调整基准模型的参数,以生成鱼类识别模型;最后,将测试集输入鱼类识别模型,以生成第二预估结果,并根据第二预估结果生成鱼类识别模型的泛化性能评分;以及根据泛化性能评分确定最终鱼类识别模型,并根据最终鱼类识别模型进行鱼类识别;从而实现对获取到的鱼类图片进行鱼类信息的精准识别,避免消费者因无法识别鱼产品类别而造成财产的损失;同时,可识别鱼类图片中的有鱼区域,进而可根据有鱼区域的数量进行鱼类数量的统计。

图2为本发明另一实施例的基于深度学习的鱼类识别方法的流程示意图,如图2所示,该基于深度学习的鱼类识别方法包括以下步骤:

s201,对鱼类样本进行不同形态和不同角度的视频拍摄,以生成样本视频。

s202,按照预设的采集频率提取样本视频的图像帧,以生成鱼类图片。

作为一种示例,在获取到鱼类样本之后,将鱼类样本放置与转盘中,旋转转盘的同时进行视频拍摄,以生成样本视频。其中,鱼类样本的放置可采用不同的角度,并且鱼类样本的形态可包含多种形态(例如,鱼鳍展开、鱼鳍不展开、正面、反面等)。然后,按照预设的采集频率提取样本视频的图像帧,以生成鱼类图片,

s203,根据鱼类图片对有鱼区域进行人工标定,并生成有鱼区域对应的xml文件,以及将xml文件与鱼类图片进行关联。

其中,根据鱼类图片对有鱼区域进行人工标定有多种方式。

作为一种示例,可手工标定有鱼区域的目标框,并为每个目标框标记对应的标签。其中,标签包括但不限于鱼类的类别信息。如此,可方便对不同类别的鱼类图片进行分别存储。

s204,根据每张鱼类图片以及对应的xml文件建立数据集,其中,数据集划分为训练集、验证集和测试集。

s205,提取训练集中鱼类图片的图像特征,以生成特征图片,并将特征图片与鱼类图片进行关联。

其中,提取训练集中鱼类图片的图像特征的方式有多种。例如,通过方向梯度直方图(hog)特征进行鱼类图片的图像特征的提取。

作为一种示例,如图5所示,通过vgg-16网络进行图像特征的提取。其中,vgg-16网络包括13个卷积层和3个全连接层,卷积层的卷积核大小均为3*3,例如,conv3-256表示有3*3大小的卷积核。

其中,卷积是一种常用计算方式,为了清楚地描述卷积计算过程,我们首先对图像的每个像素进行编号,并使用p(i,j)表示图像的第i行第j列元素。卷积核的每个权值都编号w(k,m)以表示第k行第m列的权值,用b表示卷积核的偏置项,卷积核的大小为n*n。使用g(i,j)表示第i行第j列元素对输出矩阵的每个元素进行编号。使用f表示激活函数(激活函数一般选择relu函数),然后,使用以下公式来计算卷积:

如图6所示,我们用一个简单的例子来描述如何计算卷积。然后,我们抽象出卷积层的一些重要概念和计算。假设有一个5*5大小的图像,它与3*3卷积核(滤波器)进行卷积并希望获得3*3特征图。其计算公式如下:

如图7所示,卷积层之后的池化层的主要作用是下采样,采用的方法是去掉输出中不重要的样本数据,从而可以进一步减少参数的数量。最大池化是在n*n大小样本中采用最大值之后的样本值。

全连接层的神经元与上一层的所有神经元相连接,用来做最后的分类工作,这里主要做的是特征提取的工作,故该层被放置到后续操作当中。

s206,根据特征图片训练区域生成网络,以获取特征图片中所有候选区域及每个获选区域的可能性评分。

作为一种示例,如图8所示,首先通过输入图像经过若干层卷积层得到一个特征图像,然后在这个特征图像的基础之上生成候选区域。具体的,先使用一个3*3大小的滑动窗口将局部特征图像转化为一个低维特征(256维,这里的低维不是相对于窗口大小,而是相对于一个最大尺寸的卷积核大小,也就是宽度和高度的乘积,很明显256维是较小的)。一共有k个anchor,那么cls预测层就会有2k个输出(是否为候选区域,每一个anchor分为目标和背景),reg层就会有4k个输出(对应候选区域的k个边框,每个anchor都有[x,y,w,h]对应4个偏移量)。

如图9所示,为了规定anchor的尺寸和位置,在fasterrcnn中只需要找出大致的一个位置,后面的精确位置以及尺寸的确定都可以在此基础上完成。fasterrcnn中对其做了三个方面的固定:第一、固定尺度变化,一共有三种尺度;第二、固定宽高比例尺度变化,一共有三种宽高比例;第三、固定采样方式,即按照第一、第二两点进行采样。这样一来就不用像之前的方法一样先训练一个目标检测的网络,然后再对整张图片滑窗判断,进而降低了任务复杂度,加快了训练的时间。每一个anchor对应着与滑动窗口具有相同的中心的不同大小和不同宽高比例的矩形框,这种特征提取和区域生成网络的选择方法具有位移不变性的优点。

设计好区域生成网络(rpn)之后,接下来就是如何去训练这个rpn了。对于正负样本的划分而言,首先考察训练集中的每一张图片,事先人工标记了实际目标位置框,然后进行如下操作:

(1)对于每一个人工标定的目标位置区域,计算与其重叠比例最大的anchor,并将其记为正样本,要确保每一个标签至少对应一个anchor正样本;

(2)对于剩下的anchor,假设这个anchor与某个标签区域重叠的比例大于0.7的话,将其记为正样本(anchor与标签是多对一的关系),否则的话这个比例小于0.3,就需要将其标记为负样本;

(3)对于前两步剩下来的anchor抛弃不用;

(4)跨越图像边界的anchor抛弃不用。

选择好了正负样本集的划分,接下来就可以开始正式训练区域生成网络了。和其他网络一样,rpn的损失函数就是分类误差和正样本的窗口位置偏差,定义好损失函数之后就可以利用常规的bp算法训练这个rpn就可以了。

rpn的损失函数:

其中,pi表示是一个物体的概率与不是一个物体的概率,ti代表预测输出这anchor的4个坐标位置(x,y,w,h);i表示第i个anchor,当anchor是正样本时pi*=1,,负样本则为0。ti*表示一个与正样本anchor相关的人工标记目标区域坐标;

x,y,w,h分别表示box的中心坐标和宽高,x、xa、x*分别表示predictedbox、

anchorbox、groundtruthbox(y、w、h同理)。ti表示predictbox相对于anchorbox的偏移,ti*表示groundtruebox相对于anchorbox的偏移,学习目标自然就是让前者接近后者的值。

s207,根据特征图片、所有候选区域及每个候选区域的可能性评分进行基准模型的训练。

作为一种示例,可先将参数初始化,并对数据进行分层处理;然后训练数据的构成,最后对数据分类以及位置进行调整。

具体地:

(a)参数初始化

如图10所示,网络除去末尾部分,在imagenet上训练1000类分类器。结果参数作为相应层的初始化参数。其余参数随机初始化。其中,pool1至pool5为卷积以及池化步骤;convmap即经卷积和池化后生成的特征图片。

(b)分层数据

在调优训练时,每一个mini-batch中首先加入n张完整图片,而后加入从n张图片中选取的r个候选框。这r个候选框可以复用n张图片前5个阶段的网络特征。实际选择n=2,r=128。

(c)训练数据构成

n张完整图片以50%概率水平翻转。r个候选框的构成方式,如图11所示。

(d)分类与位置调整

数据结构

如图12所示,第五阶段的特征输入到两个并行的全连层中(称为multi-task)。

cls_score层用于分类,输出k+1维数组p,表示属于k类和背景的概率。

bbox_prdict层用于调整候选区域位置,输出4*k维数组t,表示分别属于k类时,应

该平移缩放的参数。

代价函数:

loss_cls层评估分类代价。由真实分类uu对应的概率决定:

lcls=-logpu

loss_bbox评估检测框定位代价。比较真实分类对应的预测参数tutu和真实平

移缩放参数为vv的差别:

g为smoothl1误差,对outlier不敏感:

总代价为两者加权和,如果分类为背景则不考虑定位代价:

全连接层提速

分类和位置调整都是通过全连接层(fc)实现的,设前一级数据为xx后一级为yy,全连接层参数为w,尺寸u×v。一次前向传播(forward)即为:

y=wx

计算复杂度为u×v。

将w进行svd分解,并用前t个特征值近似:

w=uσvt≈u(:,1:t)·σ(1:t,1:t)·v(:,1:t)t

原来的前向传播分解成两步:

y=wx=u·(σ·vt)·x=u·z

计算复杂度变为u×t+v×t。

在实现时,相当于把一个全连接层拆分成两个,中间以一个低维数据相连。如图13所示。

s208,将验证集输入基准模型,以生成第一预估结果。

s209,判断第一预估结果与对应的鱼类图片所关联的描述文件是否一致以获得第一预估结果的准确率,并判断第一预估结果的准确率是否达到预设准确率阈值。

s210,如果第一预估结果的准确率未达到预设准确率阈值,则对基准模型的参数进行调整,以根据验证集对基准模型进行迭代训练,直至将第一预估结果的准确率达到预设准确率阈值的基准模型作为鱼类识别模型。

其中,通过验证集对基准模型进行验证的方式有多种,例如:留一交叉验证的方式,k折交叉验证方式等。

作为一种示例,如图14所示,通过vgg-16网络提取鱼类图片的图像特征,以生成特征图片;并将特征图片标记为参数集合s0。然后,开始对区域生成网络以及fastrcnn模型进行迭代训练,

首先,根据参数集合s0进行区域生成网络的训练,利用区域生成网络提取s0的候选区域;然后,根据参数集合s0以及候选区域训练fastrcnn模型,得出的参数集合记为s1;接着,根据参数集合s1进行区域生成网络的训练利用区域生成网络提取s1的候选区域;然后,根据参数集合s1以及候选区域训练fastrcnn模型,得出的参数集合记为s2。如此,对区域生成网络以及fastrcnn模型进行两次迭代训练,以完成区域网络以及fastrcnn模型的训练。

s211,将测试集输入鱼类识别模型,以生成第二预估结果,并根据第二预估结果生成鱼类识别模型的泛化性能评分。

s212,根据泛化性能评分确定最终鱼类识别模型,并根据最终鱼类识别模型进行鱼类识别。

综上所述,根据本发明实施例的基于深度学习的鱼类识别方法,首先通过vgg-16网络进行鱼类图片的图像特征的提取,并生成特征图片;然后根据特征图片进行区域生成网络的训练,以及根据特征图片和区域生成网络进行基准模型的训练;接着通过验证集进行基准模型输出的预估结果准确率的判断,并根据预估结果准确率进行基准模型参数的调整,以及将准确率达到要求的基准模型确定为鱼类识别模型;最后通过测试集进行鱼类识别模型泛化性能的测试,并根据泛化性能确定最终的鱼类识别模型,以通过最终的鱼类识别模型进行鱼类识别;从而实现对获取到的鱼类图片进行鱼类信息的精准识别,避免消费者因无法识别鱼产品类别而造成财产的损失;同时,可识别鱼类图片中的有鱼区域,进而可根据有鱼区域的数量进行鱼类数量的统计。

为了实现上述实施例,本发明实施例提出的一种计算机可读存储介质,其上存储有基于深度学习的鱼类识别程序,该基于深度学习的鱼类识别程序在被处理器执行时实现如上述的基于深度学习的鱼类识别方法。

为了实现上述实施例,本发明实施例提出的一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的基于深度学习的鱼类识别程序,处理器执行基于深度学习的鱼类识别程序时实现上述的基于深度学习的鱼类识别方法。

图3为本发明实施例提供的一种基于深度学习的鱼类识别装置的方框示意图,如图3所示,该基于深度学习的鱼类识别装置,包括:采集模块10,标定模块20,数据处理模块30,模型训练模块40,模型验证模块50,模型测试模块60,识别模块70。

其中,采集模块10,用于对鱼类样本进行拍摄,以获取鱼类图片。

标定模块20,用于根据鱼类图片对有鱼区域进行标定,并生成有鱼区域对应的描述文件,以及将描述文件与鱼类图片进行关联。

数据处理模块30,用于根据每张鱼类图片以及对应的描述文件建立数据集,其中,数据集划分成训练集、验证集和测试集。

模型训练模块40,用于根据训练集进行基准模型的训练。

模型验证模块50,用于将验证集输入基准模型,以生成第一预估结果,并根据第一预估结果调整基准模型的参数,以生成鱼类识别模型。

模型测试模块60,用于将测试集输入鱼类识别模型,以生成第二预估结果,并根据第二预估结果生成鱼类识别模型的泛化性能评分。

识别模块70,用于根据泛化性能评分确定最终鱼类识别模型,并根据最终鱼类识别模型进行鱼类识别。

根据本发明实施例提供的基于深度学习的鱼类识别装置,首先采集模块对鱼类样本进行拍摄,以获取鱼类图片;并且,标定模块根据鱼类图片对有鱼区域进行标定,并生成有鱼区域对应的描述文件,以及将描述文件与鱼类图片进行关联;然后,数据处理模块根据每张鱼类图片以及对应的描述文件建立数据集,其中,数据集划分成训练集、验证集和测试集;接着,模型训练模块根据训练集进行基准模型的训练;模型验证模块将验证集输入基准模型,以生成第一预估结果,并根据第一预估结果调整基准模型的参数,以生成鱼类识别模型;模型测试模块将测试集输入鱼类识别模型,以生成第二预估结果,并根据第二预估结果生成鱼类识别模型的泛化性能评分;最后,识别模块根据泛化性能评分确定最终鱼类识别模型,并根据最终鱼类识别模型进行鱼类识别;从而实现对获取到的鱼类图片进行鱼类信息的精准识别,避免消费者因无法识别鱼产品类别而造成财产的损失;同时,可识别鱼类图片中的有鱼区域,进而可根据有鱼区域的数量进行鱼类数量的统计。

需要说明的是,前述对于图1实施例所述的基于深度学习的鱼类识别方法的解释说明同样适用于该实施例的基于深度学习的鱼类识别装置,此处不再赘述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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