CN116798066A - 一种基于深度度量学习的羊只个体身份识别方法和系统 - Google Patents

一种基于深度度量学习的羊只个体身份识别方法和系统 Download PDF

Info

Publication number
CN116798066A
CN116798066A CN202310116544.3A CN202310116544A CN116798066A CN 116798066 A CN116798066 A CN 116798066A CN 202310116544 A CN202310116544 A CN 202310116544A CN 116798066 A CN116798066 A CN 116798066A
Authority
CN
China
Prior art keywords
sheep
loss
network model
training
sheep individual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310116544.3A
Other languages
English (en)
Inventor
王美丽
张飞宇
尚诚
李延华
胡建宏
张宏鸣
李书琴
王小龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwest A&F University
Original Assignee
Northwest A&F University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwest A&F University filed Critical Northwest A&F University
Priority to CN202310116544.3A priority Critical patent/CN116798066A/zh
Publication of CN116798066A publication Critical patent/CN116798066A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种基于深度度量学习的羊只个体身份识别方法和系统,其涉及计算机视觉技术。该方法包括:通过对单个羊只侧视图像数据的采集,使用YOLOv5检测模型对采集到的数据预处理并通过多种方式进行数据增强;构建使用关键部位注意力引导机制的身份识别网络结构,采用TinyNet轻量型网络作为骨干网络,设计特征融合模块将全局特征与关键局部特征融合,对羊只个体特征进行学习,设计自定义池化头输出特征向量;结合交叉熵、三元组与一致性联合损失函数监督网络学习,可以使识别网络更加关注图像中的重要区域;最后将模型进行部署。本发明以“无接触,无伤害,低成本,高效率”的原则实现羊只个体身份识别。

Description

一种基于深度度量学习的羊只个体身份识别方法和系统
技术领域
本发明涉及计算机视觉技术领域,特别涉及一种基于深度度量学习的羊只个体身份识别方法和系统。
背景技术
农业是推进社会发展和进步的基础产业,其中,养殖业作为畜牧业的重要组成部分,在整个农业生产中具有重要的地位。近年来,智慧农业精准养殖的快速发展,传统畜牧业的养殖模式与方式也随之转变,从最初的小规模,依靠人工观察和经验管理的方式,逐渐向大规模、自动化和科学化管理的现代养殖方式转变,成为行业发展的趋势。智慧养殖中对牲畜个体进行实时检测和身份识别是急需要解决的问题。
牲畜的传统身份标记方法如刻烙印法、耳标法及RFID设备标签法等,容易对动物造成不同程度的伤害。
随着计算机视觉,模式识别等技术的发展,使用基于图像处理和深度学习的方法对图像中的动物个体进行识别,将成为现代化畜牧领域的研究重点。目前深度学习的动物身份识别多使用分类方法,但由于现有网络模型过于庞大,从而导致识别准确率低。
发明内容
基于此,有必要针对背景技术中,存在现有网络模型过于庞大而使识别准确率不够高的技术问题,提供一种基于深度度量学习的羊只个体身份识别方法和系统。
本发明实施例提供一种基于深度度量学习的羊只个体身份识别方法,该方法包括:
获取羊只个体身份数据集;所述数据集包括:训练集、检索集;
构建羊只个体身份识别网络模型;所述羊只个体身份识别网络模型包括:用于全局特征提取的TinyNet轻量型网络,用于将全局特征与关键部位局部特征融合的特征融合模块,及用于关注不同细粒度区域并输出特征向量的的自定义池化层模块;
通过交叉熵损失、三元组损失和一致性损失构成的联合损失函数,并结合训练集,对羊只个体身份识别网络模型进行训练;
将检索集和待测试图像均输入羊只个体身份识别网络模型中,获得检索数据特征向量和测试数据特征向量;并计算检索数据特征向量和测试数据特征向量之间的相似度,相似度最高的检索集中图像与待测试图像为同一身份。
进一步地,所述获取羊只个体身份数据集,包括:
采集羊只的侧视视频并分帧为图像数据;
采用YOLOv5目标检测网络,对图像数据进行羊只检测,并截取检测到的羊只图像构成羊只个体身份数据集;并对所述数据集进行人工筛选,构建训练集、检索集和测试集。
进一步地,所述获取羊只个体身份数据集,还包括:
通过反转、旋转、调整对比度、调整亮度的方式,对羊只个体身份数据集进行数据增强处理。
进一步地,所述自定义池化层模块,包括:依次连接的广义均值池化层、Hardswish激活函数、全连接层和BN层。
进一步地,所述特征融合模块,包括:
所述TinyNet轻量型网络的特征提取层输出F经过转置矩阵分别与k个关键点信息H通过哈达玛积融合得到fL,将融合特征进行对齐成为KFA,该操作为将特征向量的焦点转移到关键线索部位区域的池化操作。
进一步地,所述联合损失函数为:
Lossall=Lossce+aⅹLosskd+bⅹLosstri
其中,Lossall为联合损失函数,Lossce为交叉熵损失,Losskd为一致性损失,Losstri为三元组损失,a和b为权重参数,且a为0.2,b为0.8。
进一步地,所述对羊只个体身份识别网络模型进行训练,包括:
每个批次随机选择一个羊只样本作为锚定样本Anchor,同批次同类别的另一个样本作为正样本Positive,不同类别的样本作为负样本Negative;
利用羊只个体身份识别网络模型提取特征并映射到高维空间上,分别计算Anchor和正负样本之间的欧式距离,损失函数的优化方向为减少Anchor和正样本之间的距离并增大与负样本之间的距离,实现同类间特征间隔小于不同类间特征间隔。
使用联合损失函数训练网络,得到最佳网络模型权重;并通过联合损失函数对羊只个体身份识别网络模型进行训练以实现联合优化。
进一步地,一种基于深度度量学习的羊只个体身份识别方法,还包括:
将羊只个体身份识别网络模型从PyTorch的pth格式转化为NVIDIA的TensorRT格式以进行轻量化部署。
本发明实施例提供的一种基于深度度量学习的羊只个体身份识别系统,其包括:
图像采集单元,用于获取羊只个体身份数据集;所述数据集包括:训练集、检索集;
模型构建单元,用于构建羊只个体身份识别网络模型;所述羊只个体身份识别网络模型包括:用于全局特征提取的TinyNet轻量型网络,用于将全局特征与关键部位局部特征融合的特征融合模块,及用于关注不同细粒度区域并输出特征向量的的自定义池化层模块;
模型训练单元,用于通过交叉熵损失、三元组损失和一致性损失构成的联合损失函数,并结合训练集,对羊只个体身份识别网络模型进行训练;
身份识别单元,用于将检索集和待测试图像均输入羊只个体身份识别网络模型中,获得检索数据特征向量和测试数据特征向量;并计算检索数据特征向量和测试数据特征向量之间的相似度,相似度最高的检索集中图像与待测试图像为同一身份。
进一步地,一种基于深度度量学习的羊只个体身份识别系统,还包括:
轻量化部署单元,用于将羊只个体身份识别网络模型从PyTorch的pth格式转化为NVIDIA的TensorRT格式以进行轻量化部署。
本发明实施例提供的上述基于深度度量学习的羊只个体身份识别方法和系统,与现有技术相比,其有益效果如下:
本发明选择了“无接触,无伤害,低成本,高效率”的基于计算机视觉的深度度量学习方法实现羊只个体身份识别,避免了传统方法对羊只造成可能的伤害。具体地,所设计的身份识别网络,使网络更加关注图像中的重要区域;采用联合损失函数的优化方式引导网络学习特征提取能力,避免陷入过拟合。即基于度量的方法在大规模数据情况下准确率更高,本发明旨在解决现有网络模型过于庞大准确率不高的问题,在实际场景中更适合推广应用,对促进羊只个体身份识别技术的发展与应用具有现实意义。
还有,对羊只个体图像采用YOLOv5目标检测方法,减少背景信息的干扰,通过多种数据增强方式,提高数据集质量,解决数据集数据不平衡、训练容易过拟合等问题。
还有,经过格式转换后部署时运行速度高。该方法准确率高、效率高,经过测试,本方法的识别准确率为96.1%,模型大小为5.6MB,可以代替大量人工劳动,节省养殖成本,为相关禽畜的身份识别研究提供了思路,值得推广。
附图说明
图1为一个实施例中提供的一种基于深度度量学习的羊只个体身份识别方法流程图;
图2为一个实施例中提供的羊只个体身份识别模型结构示意图;
图3为一个实施例中提供的自定义池化层结构图;
图4为一个实施例中提供的实验结果可视化图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例1:
本发明实施例的目的是提供一种高准确率、高效率的羊只个体身份识别方法,其能够方便经济的对羊只进行身份检测和识别。下面结合附图和具体实施方式对该方法进一步详细说明。参见图1,该方法的具体步骤如下:
步骤1:构建羊只个体身份数据集,包含数据采集、预处理、人工筛选、数据增强和划分数据集的流程。
具体的,设置一个单只羊可通过的通道,在通道一侧布置相机,距离通道约1米,分别在早、中、晚三个时间段进行拍摄,拍摄时使用视频模式,帧率为25FPS分辨率为1080P,采集单个羊只的侧视视频并分帧为图像数据,对采集的数据使用YOLOv5目标检测网络进行羊只检测,并截取检测到的羊只图像。YOLO是一种基于候选区的单阶段目标检测算法,是目前最主要的目标检测算法,YOLOv5的网络结构包括输入端、特征提取骨干网络、特征融合模块Neck和检测模块Prediction,具有检测精度高、推理速度快、易部署的特点。对截取出的羊只图像进行人工筛选,构建训练集、检索集和测试集,并通过反转、旋转、调整对比度、调整亮度的方式进行数据增强,解决数据集数据不平衡、训练容易过拟合等问题,增强网络模型的适应性和泛化能力。
步骤2:构建羊只个体身份识别网络模型,该模型使用TinyNet作为骨干网络,通过骨骼关键点检测模型引入关键点部位额外信息辅助监督,使用关键部位特征对齐模块,将关键部位特征与全局特征进行融合,自定义池化头输出图像的特征向量。
具体的,该网络模型结构如图2所示,骨干网络TinyNet的输出特征维度为2048。然后输入到自定义池化层模块中,如图3所示,自定义池化层由广义均值池化、Hardswish激活函数、全连接层和BN层组成,输出特征向量维度为512,该模块可以关注不同细粒度的重要区域,从而提升检索准确率。设计特征融合模块,通过预测关键部位信息辅助模型对图片进行空间对齐。骨干网络的特征提取层输出F经过转置矩阵分别与k个关键点信息H通过哈达玛积融合得到fL;进一步的,将融合特征进行对齐成为KFA,如公式(1)(2)所示:
ai,j为相似度得分,fF为融合后的特征,该操作可以看作将特征向量的焦点转移到关键线索部位区域的池化操作。除了使用注意力机制学习关键部位语义特征外,为了对高相似度样本做细粒度分类,使用三元组损失监督全局特征fG和局部关键特征fP的融合特征向量,实现两个分支的联合优化。在此分支上fl,k不再进行平均池化操作,而是进入池化模块对特征进行降维提取特征向量,与全局特征向量fG融合。融合起到辅助特征对齐的作用,驱动全局特征的不同通道组聚焦于不同的羊体部位。
步骤3:采用交叉熵、三元组与一致性联合损失函数监督网络学习特征提取能力,通过实验对比确定最佳参数设置。
具体的,交叉熵损失多应用于于图像多分类任务,由于身份识别训练集有明确的身份类别数,因此可以将识别任务看作分类任务;一致性损失多应用于知识蒸馏中任务中,指导学生网络学习教师网络中的重要知识;三元组损失:该损失多应用与度量学习中,核心思想是使同类样本之间聚拢,不同类样本之间分散。联合损失函数如公式(3)所示:
Lossall=Lossce+aⅹLosskd+bⅹLosstri (3)
其中,Lossall为联合损失函数,Lossce为交叉熵损失,Losskd为一致性损失,Losstri为三元组损失,a和b为权重参数,通过实验对比确定最佳参数,a为0.2,b为0.8。
在训练过程中,每个批次随机选择一个羊只样本作为锚定样本(Anchor),同批次同类别的另一个样本作为正样本(Positive),不同类别的样本作为负样本(Negative)。利用网络模型提取特征将其映射到高维空间上,分别计算Anchor和正负样本之间的欧式距离,损失函数的优化方向为减少Anchor和正样本之间的距离并增大与负样本之间的距离,实现同类间特征间隔小于不同类间特征间隔,从而使模型能够提取有效的羊只特征。使用该损失函数训练网络,得到最佳网络模型权重。联合损失函数将上述损失函数结合起来,对整体特征的学习和网络模型训练起到联合优化的效果。
步骤4:计算测试数据特征向量和检索数据特征向量的相似度,相似度使用欧式距离计算,从大到小进行排序后,得到相似度最高的身份信息。
具体的,首先需要通过识别网络获得所有检索集图像的特征向量,然后将待测试图像输入到识别网络中得到特征向量,再与检索集特征向量计算相似度,并进行排序,相似度高的检索集图像即与测试图像为同一身份,实验结果可视化如图4所示。
步骤5:将模型由PyTorch的pth格式转化为NVIDIA的TensorRT格式,进行轻量化部署。
具体的,TensorRT是NVIDIA开发的针对GPU的高性能深度学习推理的加速库,具有高吞吐、低延迟的特点。通过张量融合和层间融合,可以有效优化模型对GPU带宽和显存的占用;通过数据精度校准将模型参数转换为FP16精度,可以有效提高推理速度。PyTorch框架训练的pth模型无法直接被TensorRT解析,需要先转换为开放神经网络交换格式。ONNX为模型提供开源格式,它提供了可扩展计算图模型的定义,以及内置运算符和标准数据类型的定义。可以很方便的将PyTorch模型转换为ONNX格式,然后再转换为TensorRT格式。部署时模型需要运行在TensorRT Runtime环境中,通过PythonAPI调用。
还有,本发明解决其技术问题所采用的设备方案是:硬件采用含有NVIDIA GPU的计算设备,采用Ubuntu 20.04操作系统和PyTorch深度学习框架,摄像头为微软Azure。
综上所述,本发明相较于传统方法,选择了“无接触,无伤害,低成本,高效率”的基于计算机视觉的方法。针对多数身份识别网络计算量大,识别准确度低,难以在实际场景中应用等问题,通过关键点检测引入额外的语义信息,提出了一种基于深度度量思想的羊只个体身份识别方法。该方法识别准确率为96.1%,模型大小为5.6MB,轻量且准确率高适合实际应用场景。本发明不仅实现了羊只身份的快速获取方法,也为相关禽畜身份识别提供了一个方向,同时也节约了相关养殖人员的时间和劳动成本,提高了动物福利,值得推广。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于深度度量学习的羊只个体身份识别方法,其特征在于,包括:
获取羊只个体身份数据集;所述数据集包括:训练集、检索集;
构建羊只个体身份识别网络模型;所述羊只个体身份识别网络模型包括:用于全局特征提取的TinyNet轻量型网络,用于将全局特征与关键部位局部特征融合的特征融合模块,及用于关注不同细粒度区域并输出特征向量的的自定义池化层模块;
通过交叉熵损失、三元组损失和一致性损失构成的联合损失函数,并结合训练集,对羊只个体身份识别网络模型进行训练;
将检索集和待测试图像均输入羊只个体身份识别网络模型中,获得检索数据特征向量和测试数据特征向量;并计算检索数据特征向量和测试数据特征向量之间的相似度,相似度最高的检索集中图像与待测试图像为同一身份。
2.如权利要求1所述的基于深度度量学习的羊只个体身份识别方法,其特征在于,所述获取羊只个体身份数据集,包括:
采集羊只的侧视视频并分帧为图像数据;
采用YOLOv5目标检测网络,对图像数据进行羊只检测,并截取检测到的羊只图像构成羊只个体身份数据集;并对所述数据集进行人工筛选,构建训练集、检索集和测试集。
3.如权利要求2所述的基于深度度量学习的羊只个体身份识别方法,其特征在于,所述获取羊只个体身份数据集,还包括:
通过反转、旋转、调整对比度、调整亮度的方式,对羊只个体身份数据集进行数据增强处理。
4.如权利要求1所述的基于深度度量学习的羊只个体身份识别方法,其特征在于,所述自定义池化层模块,包括:依次连接的广义均值池化层、Hardswish激活函数、全连接层和BN层。
5.如权利要求1所述的基于深度度量学习的羊只个体身份识别方法,其特征在于,所述特征融合模块,包括:
所述TinyNet轻量型网络的特征提取层输出F经过转置矩阵分别与k个关键点信息H通过哈达玛积融合得到fL,将融合特征进行对齐,该操作为将特征向量的焦点转移到关键线索部位区域的池化操作。
6.如权利要求1所述的基于深度度量学习的羊只个体身份识别方法,其特征在于,所述联合损失函数为:
Lossall=Lossce+aⅹLosskd+bⅹLosstri
其中,Lossall为联合损失函数,Lossce为交叉熵损失,Losskd为一致性损失,Losstri为三元组损失,a和b为权重参数,且a为0.2,b为0.8。
7.如权利要求1所述的基于深度度量学习的羊只个体身份识别方法,其特征在于,所述对羊只个体身份识别网络模型进行训练,包括:
每个批次随机选择一个羊只样本作为锚定样本Anchor,同批次同类别的另一个样本作为正样本Positive,不同类别的样本作为负样本Negative;
利用羊只个体身份识别网络模型提取特征并映射到高维空间上,分别计算Anchor和正负样本之间的欧式距离,损失函数的优化方向为减少Anchor和正样本之间的距离并增大与负样本之间的距离,实现同类间特征间隔小于不同类间特征间隔。
使用联合损失函数训练网络,得到最佳网络模型权重;并通过联合损失函数对羊只个体身份识别网络模型进行训练以实现联合优化。
8.如权利要求1所述的基于深度度量学习的羊只个体身份识别方法,其特征在于,还包括:
将羊只个体身份识别网络模型从PyTorch的pth格式转化为NVIDIA的TensorRT格式以进行轻量化部署。
9.一种基于深度度量学习的羊只个体身份识别系统,其特征在于,包括:
图像采集单元,用于获取羊只个体身份数据集;所述数据集包括:训练集、检索集;
模型构建单元,用于构建羊只个体身份识别网络模型;所述羊只个体身份识别网络模型包括:用于全局特征提取的TinyNet轻量型网络,用于将全局特征与关键部位局部特征融合的特征融合模块,及用于关注不同细粒度区域并输出特征向量的的自定义池化层模块;
模型训练单元,用于通过交叉熵损失、三元组损失和一致性损失构成的联合损失函数,并结合训练集,对羊只个体身份识别网络模型进行训练;
身份识别单元,用于将检索集和待测试图像均输入羊只个体身份识别网络模型中,获得检索数据特征向量和测试数据特征向量;并计算检索数据特征向量和测试数据特征向量之间的相似度,相似度最高的检索集中图像与待测试图像为同一身份。
10.如权利要求9所述的基于深度度量学习的羊只个体身份识别系统,其特征在于,还包括:
轻量化部署单元,用于将羊只个体身份识别网络模型从PyTorch的pth格式转化为NVIDIA的TensorRT格式以进行轻量化部署。
CN202310116544.3A 2023-02-15 2023-02-15 一种基于深度度量学习的羊只个体身份识别方法和系统 Pending CN116798066A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310116544.3A CN116798066A (zh) 2023-02-15 2023-02-15 一种基于深度度量学习的羊只个体身份识别方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310116544.3A CN116798066A (zh) 2023-02-15 2023-02-15 一种基于深度度量学习的羊只个体身份识别方法和系统

Publications (1)

Publication Number Publication Date
CN116798066A true CN116798066A (zh) 2023-09-22

Family

ID=88038092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310116544.3A Pending CN116798066A (zh) 2023-02-15 2023-02-15 一种基于深度度量学习的羊只个体身份识别方法和系统

Country Status (1)

Country Link
CN (1) CN116798066A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117475480A (zh) * 2023-12-07 2024-01-30 北京积加科技有限公司 一种基于图像识别的多宠物喂食方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117475480A (zh) * 2023-12-07 2024-01-30 北京积加科技有限公司 一种基于图像识别的多宠物喂食方法及装置

Similar Documents

Publication Publication Date Title
Andrea et al. Precise weed and maize classification through convolutional neuronal networks
CN108805070A (zh) 一种基于嵌入式终端的深度学习行人检测方法
Li et al. A multi-scale cucumber disease detection method in natural scenes based on YOLOv5
CN105654141A (zh) 基于Isomap和SVM算法的俯视群养猪个体识别方法
Ma et al. Basic motion behavior recognition of single dairy cow based on improved Rexnet 3D network
Li et al. Cow individual identification based on convolutional neural network
CN110059765A (zh) 一种矿物智能识别分类系统与方法
CN114550212A (zh) 一种基于轻量级模型的羊脸检测与识别方法
CN116798066A (zh) 一种基于深度度量学习的羊只个体身份识别方法和系统
CN116295022A (zh) 一种基于深度学习多参数融合的猪只体尺测量方法
CN113435254A (zh) 一种基于哨兵二号影像的耕地深度学习提取方法
Shang et al. Identifying rumen protozoa in microscopic images of ruminant with improved YOLACT instance segmentation
Ma et al. Pig face recognition based on improved YOLOv4 lightweight neural network
Zhang et al. A high-precision facial recognition method for small-tailed Han sheep based on an optimised Vision Transformer
CN114022688A (zh) 一种实时的牲畜身份识别方法
CN111968147B (zh) 一种基于关键点检测的乳腺癌病理图像综合分析系统
Kashyap et al. Multi-crop leaf disease detection using deep learning methods
Wang et al. Optimized lightweight CA-transformer: Using transformer for fine-grained visual categorization
CN113792807B (zh) 皮肤病分类模型训练方法、系统、介质和电子设备
CN113743251B (zh) 一种基于弱监督场景的目标搜索方法及装置
Gao et al. Adaptive cow movement detection using evolving spiking neural network models
Mei et al. A Method Based on Knowledge Distillation for Fish School Stress State Recognition in Intensive Aquaculture.
Pho et al. Segmentation-driven hierarchical retinanet for detecting protozoa in micrograph
Zhang et al. An underwater fish individual recognition method based on improved YoloV4 and FaceNet
Zuo et al. An attention-based lightweight residual network for plant disease recognition

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination