首页> 中国专利> 一种基于残差网络和迁移学习的小样本鱼识别方法及系统

一种基于残差网络和迁移学习的小样本鱼识别方法及系统

摘要

本发明公开了一种基于残差网络和迁移学习的小样本鱼识别方法,包括如下步骤:构造小样本学习模型,使用预处理后的预训练数据集对模型进行预训练;使用测试集测试模型得到对于鱼类种类的识别精度、召回率和F1值,若识别精度、召回率和F1值达到预设的基准值,即将模型部署至在线识别平台;用户打开在线识别平台,选择本地鱼类图像进行上传至服务器,等待反馈;在服务器后端对本地鱼类图像进行预处理;对预处理后的本地鱼类图像进行特征提取和映射,之后与各类别中心进行度量,判断类别;服务器将识别结果信息返回前端,显示在识别结果页。本发明的方法和系统能精确地辨别复杂多样的鱼类品种,具有很强的便捷性。

著录项

  • 公开/公告号CN112200211A

    专利类型发明专利

  • 公开/公告日2021-01-08

    原文格式PDF

  • 申请/专利权人 南京农业大学;

    申请/专利号CN202010691155.X

  • 发明设计人 袁培森;薛铭家;

    申请日2020-07-17

  • 分类号G06K9/62(20060101);G06K9/46(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构32204 南京苏高专利商标事务所(普通合伙);

  • 代理人柏尚春

  • 地址 210095 江苏省南京市玄武区卫岗1号

  • 入库时间 2023-06-19 09:29:07

说明书

技术领域

本发明涉及一种小样本鱼识别方法及系统,尤其涉及一种基于残差网络和迁移学习的小样本鱼识别方法及系统。

背景技术

鱼类识别在环境保护、科研和经济领域都有着重大的意义,但由于鱼类身处水下环境,其图像采集难度较大,加之鱼类种类之间所具有的类内差异性和类间相似性,使得鱼类识别成为了一项富有挑战性的细粒度图像分类问题。

目前尚无专门进行鱼类识别的软件产品。在动物品种识别方面,现有动物识别在线、百度识图等软件,但这些软件都未对鱼类识别提供有效的解决方法。

上述软件缺乏针对鱼类图像的深层次特征提取技术,很难精确地辨别复杂多样的鱼类品种;并且这些软件必须要通过大量的标注数据集才可具备有限数量的鱼类品种识别能力,不具备很强的便捷性。

发明内容

发明目的:本发明的第一目的为提供一种精确地辨别复杂多样的鱼类品种、很强的便捷性的基于残差网络和迁移学习的小样本鱼识别方法,本发明的第二目的为提供一种基于残差网络和迁移学习的小样本鱼识别系统。

技术方案:本发明的基于残差网络和迁移学习的小样本鱼识别方法,包括如下步骤:

(1)构造小样本学习模型,使用预处理后的预训练数据集对模型进行预训练;

(2)对鱼类数据集按类别划分为训练集、验证集和测试集;

(3)使用训练集和验证集,按照小样本学习的元训练模式训练模型进行训练,当损失值收敛后,停止训练;

(4)使用测试集测试模型得到对于鱼类种类的识别精度、召回率和F

(5)用户打开在线识别平台,选择本地鱼类图像进行上传至服务器,等待反馈;

(6)在服务器后端对本地鱼类图像进行预处理;

(7)对预处理后的本地鱼类图像进行特征提取和映射,之后与各类别中心进行度量,判断类别;

(8)服务器将识别结果信息返回前端,显示在识别结果页。

进一步地,步骤(1)中,预处理包括如下步骤:

(1)将预训练数据集的所有图片转换为0-3通道的RGB图像;

(2)将RGB图像调整为统一尺寸;

(3)将调整后的RGB图像以中心为原点,进行随机裁剪;

(4)对所有图像进行正则化。

步骤(1)中,小样本学习模型包括块、批归一化层、激活层和最大池化层。每个块内均包含残差块。

残差块使用有参网络层,来学习输入、输出之间的残差,计算公式如下:

F(x,W

式中,W

步骤(7)中,通过批归一化层,对提取的特征向量进行归一化处理,计算公式如下:

式中,E(x)和Var[x]分别为输入数据的均值和方差,y为网络层输出,x为网络层输入,ε为防止除零参数,γ与β为仿射变换参数。

步骤(7)中,使用Relu函数,对提取的特征向量进行非线性的映射,计算公式如下:

f(x)=max(0,x),

式中,f(x)为Relu函数,x为网络层输入。

步骤(7)中,在最大池化层,通过对邻域特征点取最大值的方式,对提取到的特征向量进行过滤。

步骤(7)中,映射完成后,通过将映射完成的各类别所有样本数据取均值,形成各类别的均值中心,计算公式如下:

式中,S

优选的,小样本学习采用的数据集为mini-ImageNet。

本发明的基于残差网络和迁移学习的小样本鱼识别系统,包括特征提取和映射模块、类别判断模块和在线识别平台,特征提取和映射模块提取鱼类数据集中的支撑集样本,生成对应的特征向量文件;类别判断模块提取特征向量文件,形成各类别均值中心;在线识别平台上传要查询的鱼类图像。

有益效果:与现有技术相比,本发明具有如下显著优点:通过深层次的特征提取,解决了鱼类种类之间相似性高,种内差异性强的分类难点;通过迁移学习的方式,解决了模型训练时数据集规模较小的问题;并通过小样本学习的方法,解决了对训练时未标号的鱼类类别进行识别的问题,为鱼类识别问题提供了有效的解决方案。

附图说明

图1为图像预处理流程图;

图2为网络模型整体结构;

图3为残差块结构;

图4为鱼类识别过程示意图;

图5为最大池化示意图;

图6为迁移学习过程;

图7为在线鱼类识别流程;

图8为在线鱼类品种识别平台图像输入页;

图9为在线鱼类品种识别平台显示结果页;

图10为各部件连接关系;

图11为工作流程图。

具体实施方式

下面结合实施例对本发明的技术方案作进一步说明。

本发明的基于残差网络和迁移学习的小样本鱼识别方法,包括如下步骤:

一、数据预处理

如图1所示,为了让小样本学习模型学到真实、一致的图像特征,需要对输入图像进行预处理操作,使网络更便于对这些图像进行分析。预处理操作可分为裁剪、格式转换、图像增强等,一般的卷积神经网络,均要求将所有图像的维度和通道数进行统一。本研究中的图像预处理步骤分为以下几步:

(1)将所有图片转换为3通道的RGB图像;

(2)将所有图片的尺寸统一调整为224*224;

(3)将调整后的图片以中心为原点,进行随机裁剪;

(4)对所有图像进行正则化,降低网络模型过拟合的可能性。

二、小样本学习模型

小样本学习(Few-shot learning)是近年来深度学习领域的研究热点之一,其仿照人类对于未见过新事物的判别方式,在训练中通过包含不同类别的元任务,学习类别判断的共性过程,因而经过训练的小样本学习模型,不仅可以对训练中的类别进行判断,也可以在近观察数张图像样本后,对训练中未见过的新类别进行判断,具备了传统深度学习模型所不具备的强大泛化能力,有效地解决了目标领域数据缺乏的问题。

根据实现方式的不同,小样本学习方法可分为基于微调的方法、基于记忆的方法和基于度量的方法,本发明所设计的小样本学习模型,为基于度量的小样本学习模型。

1、模型整体结构

本发明所设计的网络模型共包含四个基本单元,即块(Block),每个块内均包含一个残差块(内含4个卷积层)、一个Batchnorm层、激活层和一个最大池化层,其整体结构如图2所示。

2、残差块结构

其中,用于深层次特征提取的残差块结构如图3所示:

一般的卷积层会直接通过训练,学习输入x与输出H(x)之间的关系,即式(1):

x→H(x) (1)

而残差块则致力于使用如上的有参网络层,来学习输入、输出之间的残差,即式(2):

F(x,W

其中W

x→F(x,W

其中x这一部分为直接取自输入的恒等映射,而F(x,W

3、模型参数

本发明模型中各层的参数如下表所示:

表2网络模型参数

三、鱼类识别

小样本学习的训练和测试过程分别称为元训练和元测试。元训练阶段被分解为多个元任务,每个元任务中抽取若干个类别的若干个图像样本,其中的少量图像样本作为支撑集;另外一些作为验证集,网络模型通过观察支撑集中的样本,来对验证集中的样本进行类别判断。本研究的网络模型在面对鱼类识别问题时,首先通过将支撑集样本进行特征提取和映射,形成对应类别的均值中心,随后让验证集样本通过与这些均值中心的距离度量,判断其类别。如图4所示:

1、特征提取和映射

在每次元任务中,采集N×(K+Q)个数据,其中N为类别数目,K为支撑集样本,Q为验证集样本。采集完成并进行预处理之后,将支撑集中的样本作为输入图像进入网络模型,在每一个块内通过残差块进行特征提取。当输入图像通过每一个卷积层时,其通道数c、宽度w和高度h都会根据网络参数进行变化,如式(4)至(5):

c

w

h

其中o为卷积核数目,p为边缘扩充,k为卷积核大小,s为步长。

随后,通过BatchNorm层,其通过式(7)对数据进行归一化处理:

其中E(x)和Var[x]分别为输入数据的均值和方差。之后通过激活层,其使用Relu函数,给提取到的特征向量进行一次非线性的映射,如式(8):

f(x)=max(0,x) (8)

随后通过最大池化层,其通过对邻域特征点取最大值的方式,对提取到的特征向量进行过滤,降低特征提取的误差,如图5所示。

池化层的运算方法和卷积层基本相同,只是不再改变图像的通道数,如式(9)和(10)。

w

h

2、类别判断

在依次通过网络模型的4个块后,输入数据将从原来的D维变为N维,即被映射至N维的嵌入空间。如式(11):

f

其中f

映射完成后,通过将映射完成的各类别所有样本数据取均值,形成各类别的均值中心。如式(12):

其中S

在确定每个类的均值中心后,将验证集数据样本通过嵌入函数映射到嵌入空间,由于训练当中验证集的数据已经标记了类别,将通过其与各类别均值中心的欧式距离测算,得出其属于自身类别的概率,即式(13):

欧式距离的公式即式(14):

d=sqrt((x

通过在数个元任务中重复上述类别判断过程,网络模型的所有卷积层和Batchnorm 层将不断地被优化,这使得同类别样本在映射到嵌入空间后,处于更为相近的位置,进而形成更具代表性的均值中心,实现更准确的类别判断。

三、迁移学习

迁移学习(Transfer learning)是一种通过迁移已有的知识,来解决目标领域中标注样本较少的问题的方法。其中最为直接的方法是基于模型的迁移学习方法,其一般流程如下:

(1)采用样本量丰富的数据集,对网络模型进行预训练,调整各网络层参数;

(2)使用目标领域的数据集对新的网络模型进行训练,训练过程中对部分网络层进行微调。

图6为本研究的迁移学习过程:

本研究采用小样本学习中常用的数据集——mini-ImageNet,对模型进行预训练,预训练的过程同样遵照小样本学习的元训练模式。在预训练过程中,对所有可学习网络层,即所有的卷积层和Batchnorm层进行调整;预训练完成后,使用鱼类数据集继续对模型进行训练,并在训练过程中仅微调网络模型最后一块的卷积层和Batchnorm层。由于预训练阶段同样为小样本学习,此时的网络模型便可在鱼类数据集上更快地得到收敛,并获得更好地分类效果。

四、在线鱼类识别平台

本发明采用Flask框架,将所设计的小样本学习网络模型进行部署,设计制作在线鱼类识别平台。该平台进行在线识别的过程可分为如下几步:

(1)使用者进入平台,点击“浏览”按钮,选择本地图像进行输入;

(2)网页前端通过POST请求,将输入图像传输至后端;

(3)后端通过request请求读取输入图像,并进行预处理;

(4)使用训练好的模型对图像类别进行判断,使用render_tamplate返回识别结果;

(5)识别结果页显示结果。

本发明的在线鱼类识别处理流程如图7所示。

在线鱼类品种识别平台的图像输入页界面如图8所示。使用者通过点击“浏览”按钮,可打开文件对话框,并从对话框上传本地图片,上传成功后,图片的地址将显示在“浏览”按钮左侧的文件信息框中,若使用者想要更改输入图片,再次点击“浏览”按钮重新进行上传即可。上传完成后,点击“识别”按钮,即开始对输入图片进行识别。

在线鱼类品种识别平台的结果页界面如图9所示。“识别结果”下方的“种类名称”显示识别出的种类名称,其下方显示该种类示例图片,图片下方依次显示score值以及识别时长。若使用者需要重新选择图片进行识别,可点击“重新识别”按钮,即可再度跳转到图像输入页,通过输入图像进行识别。

2、各部件连接关系或位置关系:

鱼类识别系统的各部件关系如图10所示。首先将构建的小样本学习模型通过迁移学习后,部署到鱼类识别系统;随后将鱼类数据集中的支撑集样本加载入特征提取和映射模块,生成对应的特征向量文件;随后这些特征向量文件进入类别判断模块,形成各类别均值中心;在线识别平台上传要查询的鱼类图像;特征提取和映射模块将查询图像转化为特征向量文件;类别判断模块通过将该特征向量文件与各类别均值中进行距离度量,判断该图像所属类别;识别完成后,在线识别平台跳转至识别结果页,显示识别结果。

如图11所示,本发明的工作流程图包括如下步骤:

(1)构造小样本学习模型,使用预处理后的预训练数据集对模型进行预训练;

(2)对鱼类数据集按类别划分为训练集、验证集和测试集。其中训练集共包含50个类别,3320张图像;验证集包含30个类别,1917张图像;测试集共包含20个类别, 1121张图像,共计100个类别,6358张;

(3)使用预处理后的训练集和验证集,按照小样本学习的元训练模式训练模型,当损失值收敛后,停止训练;

(4)使用预处理后的测试集测试模型的识别效果,若识别效果良好,即将模型部署至在线识别平台;

(5)用户打开在线识别平台,选择本地鱼类图像进行上传至服务器,等待反馈;

(6)在服务器后端对图像进行预处理;

(7)对图像进行特征提取和映射,之后与各类别中心进行度量,判断类别;

(8)服务器将识别结果信息返回前端,显示在识别结果页。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号