掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及计算机图像学技术领域,更具体的涉及一种基于深度学习算法的羊只个体身份识别方法。

背景技术

在现代化的养殖与育种工作中,畜牧业作为农业发展中至关重要的一个分支,特别是对于中国西北地区来说,提高畜牧业的智慧发展程度更是提高农村经济和农业生活水平的关键,智慧养殖中对个体进行实时检测和识别是亟需解决的首要问题。通过对动物个体或群体的实时信息掌握,可以预警突发事件;也可以通过构建不同的评价指标实时掌握动物个体的健康状况,同时,个体识别也是实现大数据管理蓄种的基础技术之一。

牲畜的传统身份标记方法分为具有永久性损伤的刻烙印法、耳标的外置标签法及外置的RFID设备标签等方法。传统标记动物方法,无论是刻耳烙印或者是耳标的外置等方法都容易对动物造成不同程度的伤害,例如传统的刻烙印法,对动物的刺激性很大,从而会对牲畜造成一定的伤害;另外,耳标外置标签法,不仅会造成动物的耳部易发生感染,也会因为动物本身的活动性导致耳标丢失等问题。

发明内容

本发明实施例提供一种基于深度学习算法的羊只个体身份识别方法,用以解决上述背景技术中存在的问题。

本发明实施例提供一种基于深度学习算法的羊只个体身份识别方法,包括:

采用SSD网络预训练模型,对羊只个体的数据集进行边界框检测,并对边界框进行切割处理;

采用迁移学习的预训练模型Resnet18,对羊只个体特征进行学习;

采用三元组损失函数与交叉熵损失函数的联合优化损失函数,对羊只个体进行身份识别;其中,采用实验对比方法,确定最佳的联合优化损失函数的系数。

进一步地,所述SSD网络预训练模型,包括:

第一部分卷积层为VGG-16,用于提取低尺度的特征映射图;

第二部分为连接上一部分网络输出的特征映射图,通过卷积神经网络输出4个高尺度的特征信息,用于提取高尺度的特征映射图;

最后一部分是预测高尺度的特征映射图中每个点的矩形框信息和所属类信息。

进一步地,本发明实施例提供的基于深度学习算法的羊只个体身份识别方法,还包括:采用Fancy PCA方式对切割后的数据集进行扩容处理:

根据三元组损失函数所需的数据组对,将切割后的数据集组合为positive数据对及negative数据对。

进一步地,所述预训练模型Resnet18,包括:

预训练模型Resnet18为羊只身份识别的初始化网络;

网络结构ResNet18,数字代表的是网络深度,这里的18为17层卷积层和1层全连接层,不包括池化层和BN层。

进一步地,所述联合优化损失函数为:

loss

式中,loss

进一步地,所述采用实验对比方法,确定最佳的联合优化损失函数的系数,包括:

对三元组损失函数、交叉熵损失函数、联合优化损失函数的实验数据进行对比,找到最佳训练的三元组损失函数的系数、交叉熵损失函数的系数的比例关系。

进一步地,所述三元组损失函数的系数λ选取0.5;所述交叉熵损失函数的系数η选取0.5。

本发明实施例提供一种基于深度学习算法的羊只个体身份识别方法,与现有技术相比,其有益效果如下:

本发明选择了“无接触,低成本,高收益,无伤害”的深度学习方法,优于传统的动物个体标记识别的办法;对羊只个体图像采用SSD作图像处理,从而提高数据集的质量,尽可能缩小无关背景的影响;采用基于Triplet-Loss与CrossEntropy-Loss联合优化的方法,使得网络在多个函数联合优化下增强了其表征能力,寻找到了针对羊只个体优化能力最佳的损失函数组合;在Triplet-Loss的hard-batch组合问题上,利用了YOLOv3和孪生网络采用实验证实羊只个体之间不仅面部图像的相似度高的问题,也证明了其本身物种具有高相似度的特点,从而不需要再单独制作hard-batch;不仅为相似度高的动物个体提供了一种新的解决方案,极大节省养殖人员的时间成本与经济成本之外也很好的保护了羊只个体的身体健康,实用性好,值得推广。

附图说明

图1为本发明实施例提供的一种基于深度学习算法的羊只个体身份识别方法流程图。

具体实施方式

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

参见图1,本发明实施例提供一种基于深度学习算法的羊只个体身份识别方法,该方法包括:

步骤1:采用SSD网络预训练模型,对羊只个体的数据集进行边界框检测,并对边界框进行切割处理;

步骤2:采用Fancy PCA方式对切割后的数据集进行扩容处理。

步骤3:采用迁移学习的预训练模型Resnet18,对羊只个体特征进行学习。

步骤4:采用三元组损失函数与交叉熵损失函数的联合优化损失函数,对羊只个体进行身份识别;其中,采用实验对比方法,确定最佳的联合优化损失函数的系数。

对于上述步骤1~4的具体说明如下:

对于步骤1:为减少图片背景信息的干扰,并尽可能地保证羊只个体的身体特征信息完整,首先通过对SSD网络检测后的目标进行切割重新形成数据集,SSD的第一部分卷积层为VGG-16,主要目的为提取低尺度的特征映射图;第二部分为连接上一部分网络输出的特征映射图,通过卷积神经网络输出4个高尺度的特征信息,主要任务为提取高尺度的特征映射图;最后一部分是预测特征映射图中每个点的矩形框信息和所属类信息。对应的损失函数由预测框位置的损失和预测类的损失组成。采用SSD网络预训练模型,对羊只个体的数据集进行初步的检测,在检测出羊只个体的同时,对个体进行边界框的切割处理。

其中,SSD全称Single Shot MultiBox Detector,是目前为止主要的目标检测算法。

对于步骤2:根据三元组损失函数所需的数据组对,将切割后的数据集组合为positive数据对及negative数据对。

对于步骤3:由于本发明的对象羊只个体存在个体间相似度高的特点,所以网络层次的深度对于本发明的训练是十分必要的,但是,为了避免较深层次的网络结构带来的梯度消失和梯度爆炸的问题,选取残差神经网络。羊只的身份识别使用预训练网络即Resnet18初始化网络,并非随机初始化,剩余训练参数采用网络默认值。网络结构ResNet18,数字代表的是网络的深度,这里的18为17层卷积层和1层全连接层,不包括池化层和BN层(Batch Normalization,批归一化)。

对于步骤4:联合损失函数将多类损失函数结合起来,对整体结果起到联合优化效果,本发明采用Triplet-Loss与CrossEntropy-Loss联合优化的方式,使得网络在多个函数联合优化下,提高表征能力,公式如下:

公式(1)中的loss

分别对损失函数为Triplet-Loss、CrossEntropy-Loss以及联合损失函数时进行了实验对比,并确定联合损失函数下的λ与η的最佳系数。

由于羊好动的特点,对数据采集造成了困难,本发明利用Triplet-Loss三元组训练方式增大有效训练次数的方式进行解决;并且针对多分类问题,也利用了CrossEntropy-Loss作为损失函数得到解决。

针对羊只个体特征适用的三元组损失函数与交叉熵损失函数组合而成的联合损失函数,结合调参得到最终的训练结果,实现基于深度学习的羊只个体智能识别,其中包含:深度学习;迁移学习;调参;联合损失函数;实验对比;从而实现模型识别的方法。

综上所述,本发明相较于传统方法,本发明选择了“无接触,低成本,高收益,无伤害”的深度学习方法,优于传统的动物个体标记识别的办法;本发明不仅为相似度高的动物个体提供了一种新的解决方案,极大节省养殖人员的时间成本与经济成本之外也很好的保护了羊只个体的身体健康,实用性好,值得推广。本发明对于羊只个体,能够自动高效进行基于图像的智能识别,从而节省了专业养殖人员人工标记的时间成本与标记成本之外,以“无接触,低成本,高收益,无伤害”的原则不伤害羊只个体的同时,提出了羊只个体身份识别的深度学习思路,为相似度高的动物个体身份识别也提供了研究思路。

以上公开的仅为本发明的几个具体实施例,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围内。

相关技术
  • 一种基于深度学习算法的羊只个体身份识别方法
  • 基于深度学习的个体身份识别方法
技术分类

06120112900208