首页> 中国专利> 基于深度学习的动物姿态识别方法、系统及存储介质

基于深度学习的动物姿态识别方法、系统及存储介质

摘要

本发明公开了基于深度学习的动物姿态识别方法、系统及存储介质,方法包括:获取待识别动物图片;将待识别动物图片输入神经网络模型,获得与待识别动物图片对应的动物关键点骨骼结构;将动物关键点骨骼结构输入分类器,获得与动物关键点骨骼结构对应的动物姿态。利用摄像头和训练好的神经网络模型来完成动物的姿态识别,识别速度快、效率高、价格低廉、准确度高且非常适用于大规模舍饲养殖。

著录项

  • 公开/公告号CN113221704A

    专利类型发明专利

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

    原文格式PDF

  • 申请/专利权人 陕西科技大学;

    申请/专利号CN202110482156.8

  • 申请日2021-04-30

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

  • 代理机构61263 西安鼎迈知识产权代理事务所(普通合伙);

  • 代理人李振瑞

  • 地址 710000 陕西省西安市未央区陕西科技大学西安校区

  • 入库时间 2023-06-19 12:07:15

说明书

技术领域

本发明涉及畜牧养殖技术领域,特别涉及基于深度学习的动物姿态识别方法、系统及存储介质。

背景技术

目前,在我国的大部分地区,畜牧养殖业,例如对牛、山羊等的养殖快速发展,畜牧养殖模式逐渐由个体农户养殖转变为集中舍饲养殖,形成联产合作社的养殖模式,即将不同农户的畜牧交由专业养殖公司集中养殖,养殖效益由养殖公司和农户比例分配。在以上养殖模式中,为了更加科学地养殖,需要对畜牧动物的姿势行为进行实时记录和分析,并判断动物的状态。

目前关于动物行为的识别和预测主要分为两大类:一类是通过给每只动物身上佩戴传感器,通过传感器识别每只动物的各种姿态;另一类是通过传统的图像处理技术来实现动物行为识别的目的。第一类方法存在程序复杂、费用昂贵且传感器容易脱落的问题,不适用于大规模的舍饲养殖,而第二类方法存在识别准确率不高的问题。

发明内容

本发明实施例提供了基于深度学习的动物姿态识别方法、系统及存储介质,用以解决现有技术中传感器识别技术不适用于大规模养殖,以及采用图像处理技术识别动物姿态的方法准确不高的问题。

一方面,本发明实施例提供了基于深度学习的动物姿态识别方法,包括:

获取待识别动物图片;

将待识别动物图片输入神经网络模型,获得与待识别动物图片对应的动物关键点骨骼结构;

将动物关键点骨骼结构输入分类器,获得与动物关键点骨骼结构对应的动物姿态。

在一种可能的实现方式中,神经网络模型可以通过以下方法获得:获取已标注动物图片,已标注动物图片中包括对动物图片中骨骼关键点的位置标注;建立初始神经网络模型;利用已标注动物图片对初始神经网络模型进行训练,获得神经网络模型。

在一种可能的实现方式中,在获取已标注动物图片,已标注动物图片中包括对动物图片中骨骼关键点的位置标注之前,还可以包括:对动物图片进行预处理。

在一种可能的实现方式中,对动物图片进行预处理,可以包括:将获取的视频图像转换为图片,将转换后的图片与其他图片一起保存,组成动物图片;对保存的动物图片进行筛选,去除不符合要求的图片;对筛选后的动物图片裁剪为统一大小;对裁剪后的动物图片进行旋转、平移和遮挡处理;对旋转、平移和遮挡处理后的动物图片进行对比度改变处理。

在一种可能的实现方式中,在建立初始神经网络模型之前,还可以包括:对已标注动物图片进行乱序处理;按照预先设定的比例将乱序处理后的已标注动物图片分为训练集和验证集;利用已标注动物图片对初始神经网络模型进行训练,获得神经网络模型,可以包括:利用训练集对初始神经网络模型进行训练,获得神经网络模型;利用已标注动物图片对初始神经网络模型进行训练,获得神经网络模型之后,还可以包括:利用验证集对神经网络模型进行验证。

在一种可能的实现方式中,建立初始神经网络模型,可以包括:采用YOLO算法识别已标注动物图片中的动物个体;采用VGGNet网络提取识别到的动物个体的特征;采用改进的Opepose网络提取特征中的关键点坐标位置,获得已标注动物图片的关键点骨骼结构。

另一方面,本发明实施例提供了基于深度学习的动物姿态识别系统,包括:

图片获取模块,用于获取待识别动物图片;

骨骼获取模块,用于将待识别动物图片输入神经网络模型,获得与待识别动物图片对应的动物关键点骨骼结构;

姿态分类模块,用于将动物关键点骨骼结构输入分类器,获得与动物关键点骨骼结构对应的动物姿态。

另一方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器执行上述的方法。

另一方面,本发明实施例中需要采集和处理大量的彩色图片,需要一个良好的存储系统用于数据存储,将历史的资料和摄像头新拍摄的图片保存起来,用于本发明系统的检测判断。本实例中,采用计算机配备GPU作为整体的运算处理中心,为了保证存储足够大,需要外置硬盘存储器。

另一方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有多条计算机指令,多条计算机指令用于使计算机执行上述的方法。

另一方面,本发明实施例提供了一种计算机程序产品,计算机程序被处理器执行时实现上述的方法。

另一方面,本发明实施例的计算机程序采用python语言、Tensorflow框架编写成,该程序通过以上所述的计算机和GPU处理器进行采集图片中动物的姿态识别和处理。

本发明中的基于深度学习的动物姿态识别方法、系统及存储介质,具有以下优点:

利用摄像头和训练好的神经网络模型来完成动物的姿态识别,识别速度快、效率高、价格低廉、准确度高且非常适用于大规模舍饲养殖。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例提供的基于深度学习的动物姿态识别方法的流程图;

图2为本发明第二实施例提供的基于深度学习的动物姿态识别方法的流程图;

图3为本发明第二实施例提供的对已标注动物图片中的骨骼关键点的位置标注示意图;

图4为本发明第三实施例提供的基于深度学习的动物姿态识别方法的流程图;

图5为本发明第四实施例提供的基于深度学习的动物姿态识别方法的流程图;

图6为本发明第五实施例提供的基于深度学习的动物姿态识别方法的流程图;

图7为本发明第六实施例提供的基于深度学习的动物姿态识别方法的流程图。

具体实施方式

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

现有技术中,识别动物姿态的方式有两类,一类是通过给每只动物身上佩戴三维加速度传感器、六轴加速度传感器等传感器,通过传感器识别每只动物的各种姿态;另一类是通过传统的图像处理技术来对采集的动物图片进行分割并提取动物的大致轮廓和体态特征达到实现动物姿态识别的目的。显然,第一类方法需要给每只动物佩戴相关的传感器并分别采集其数据,程序复杂、费用昂贵且传感器容易脱落,并不适用于大规模的舍饲养殖,而第二类方法需要提取动物的轮廓和体态特征,这些数据并不能很好的体现动物的姿态,造成识别结果不准确。

针对现有技术中的问题,本发明提供了基于深度学习的动物姿态识别方法、系统及存储介质,包括:获取待识别动物图片;将待识别动物图片输入神经网络模型,获得与待识别动物图片对应的动物关键点骨骼结构;将动物关键点骨骼结构输入分类器,获得与动物关键点骨骼结构对应的动物姿态。利用摄像头和训练好的神经网络模型来完成动物的姿态识别,识别速度快、效率高、价格低廉、准确度高且非常适用于大规模舍饲养殖。

图1为本发明第一实施例提供的基于深度学习的动物姿态识别方法的流程图。本发明实施例提供的基于深度学习的动物姿态识别方法,包括:

S100、获取待识别动物图片。

示例性地,可以通过处在固定位置的图像采集装置,例如摄像头,采集待识别动物图片,采集的图片应保证具有较高的清晰度,且不重复。

S101、将待识别动物图片输入神经网络模型,获得与待识别动物图片对应的动物关键点骨骼结构。

示例性地,神经网络模型用于提取待识别动物图片的骨骼关键点位置,然后基于提取的骨骼关键点位置确定对应的动物关键点骨骼结构。由于动物的姿态由骨骼状态,即动物关键点骨骼结构决定,因此获得动物关键点骨骼结构即可确定相应的动物姿态。

S102、将动物关键点骨骼结构输入分类器,获得与动物关键点骨骼结构对应的动物姿态。

示例性地,以山羊为例,动物姿态包括站立姿态、趴跪姿态、采食姿态和跳跃姿态。其中,站立姿态下的动物关键点骨骼结构无特殊之处。趴跪姿态下的动物关键点骨骼结构中,山羊四肢的左前膝和左前蹄、右前膝和右前蹄、左后膝和左后蹄、右后膝和右后蹄的骨骼关键点在纵向上的距离骤减,且均基本处在同一水平线上。采食姿态下的动物关键点骨骼结构中,头部骨骼关键点纵向高度急剧下降,一般情况会略低于颈部骨骼关键点。跳跃姿态下的动物关键点骨骼结构中,头、颈、前膝、前蹄的骨骼关键点都会不同程度抬高,且这些骨骼关键点在纵向上也有明显变化。

可见,动物的每种姿态都在关键点骨骼结构上存在很明显的特征,因此通过对这些特征的总结,建立与各个特征对应的分类器,即可使用这些分类器对确定的动物关键点骨骼结构进行分类,获得与动物关键点骨骼结构的动物姿态。

采用以上技术方案后,本发明实施例提供的基于深度学习的动物姿态识别方法,具有以下优点:

1、可以自动识别动物的姿态行为,极大地提高了识别效率和速度。

2、采用了摄像头获取动物图片,仅仅通过图像就可以判断动物的不同姿态行为,相比现有技术极大地缩减了成本。

3、可以通过提取的动物骨骼关键点,组合排列出动物的基本骨架和运动状态,清晰地了解动物的不同姿态。

4、可以根据动物骨骼的关节关系识别站立、趴跪、采食、跳跃等多种行为姿态。

图2为本发明第二实施例提供的基于深度学习的动物姿态识别方法的流程图。在一种可能的实施例中,S101中的神经网络模型通过以下方法获得:S200、获取已标注动物图片,已标注动物图片中包括对动物图片中骨骼关键点的位置标注;S201、建立初始神经网络模型;S202、利用已标注动物图片对初始神经网络模型进行训练,获得神经网络模型。

示例性地,在深度学习方法中数据集的标注情况直接影响模型的检测结果,因此标注显得尤为重要。仍然以山羊为例,动物图片中骨骼关键点包括:头、颈、左前胸、右前胸、左前膝、右前膝、左前蹄、右前蹄、臀、左后大腿、右后大腿、左后膝、右后膝、左后蹄以及右后蹄,共计15个骨骼关键点,如图3所示。对于其他动物,可以适应性的确定相应的骨骼关键点。应注意,标注中需要注意其规范性,对于同一部位的点应该具有特征的一致性,在特征一致的情况下每个位置的标注应该足够准确,不可以随意标注,对于某个位置特征不明显或者遮挡严重的应该放弃标注,否则会降低训练的准确性。

已标注动物图片中不仅包含了对骨骼关键点位置的标注,而且包括对动物个体的位置标注。个体位置标注就是将动物图片中的所有动物都标注出来,可以通过轮廓线或矩形框等方式进行个体标注,以将动物和背景区分开,方便后续的处理操作。

在获取动物图片时,可以使用摄像头、照相机和手机等多种设备进行图片采集。同时,为了保证数据集足够大,需要多人进行采集,注意采集的数据中包含有动物的多种行为姿态。为了扩大该方法适用条件,需要进行不同天气、不同光照、不同遮挡状况等多种情况下的数据采集。为了保证该方法适用性,需要进行多方位多角度的数据采集,切忌同一条件下采集大量相似图片。数据采集虽然简单,但是需要格外注意以上几个点,提高该方法的适用性。

图4为本发明第三实施例提供的基于深度学习的动物姿态识别方法的流程图。在一种可能的实施例中,在S200、获取已标注动物图片,已标注动物图片中包括对动物图片中骨骼关键点的位置标注之前,还包括:S300、对动物图片进行预处理。

示例性地,由于采用摄像头、照相机和手机等设备获取动物图片时,拍摄条件和环境都存在不可控因素,会导致获取的动物图片不能完全应用在后续的处理操作中,因此需要对初期获取的动物图片进行预处理,提高最终动物姿态识别结果的准确性。

图5为本发明第四实施例提供的基于深度学习的动物姿态识别方法的流程图。在一种可能的实施例中,S300、对动物图片进行预处理,包括:S400、将获取的视频图像转换为图片,将转换后的图片与其他图片一起保存,组成动物图片;S401、对保存的动物图片进行筛选,去除不符合要求的图片;S402、对筛选后的动物图片裁剪为统一大小;S403、对裁剪后的动物图片进行旋转、平移和遮挡处理;S404、对旋转、平移和遮挡处理后的动物图片进行对比度改变处理。

示例性地,在S400中,各种采集设备获取的并不一定全部都是图片格式文件,可能也存在视频格式的文件,因此首先需要将这些视频格式的文件转换为图片格式的文件,具体可以按照1秒每帧的要求将视频图像转换为图片文件。S401中,筛选图片是为了增加神经网络模型的适用性,实验表明模糊图像会极大降低检测效果;而大量相似度过高的图片会降低神经网络模型适用性,只有在相似的环境下才能发挥较好的性能,因此需要剔除类似图片。而在S402中,裁剪图片的大小是根据所建立的初始神经网络模型结构等多方面因素取值,对动物图片裁剪后,得到的动物图片大小统一为432*368。在S403和S404中,采集的动物图片是多种多样的,因此需要扩大图片的数量和类型,本发明实施例中采用图片的旋转、平移和遮挡等简单方法制作数据集;而采集的动物图片光线强度并不一致,需要调节图片的对比度状况。

图6为本发明第五实施例提供的基于深度学习的动物姿态识别方法的流程图。在一种可能的实施例中,在S201、建立初始神经网络模型之前,还包括:S500、对已标注动物图片进行乱序处理;S501、按照预先设定的比例将乱序处理后的已标注动物图片分为训练集和验证集。

S202、利用已标注动物图片对初始神经网络模型进行训练,获得神经网络模型,包括:S502、利用训练集对初始神经网络模型进行训练,获得神经网络模型。

在S202、利用已标注动物图片对初始神经网络模型进行训练,获得神经网络模型之后,还包括:S503、利用验证集对神经网络模型进行验证。

示例性地,在S500中,对已标注动物图片进行乱序处理,能够保证已标注动物图片的随机性,避免因已标注动物图像之间的关联关系对最终的识别结果造成不利影响。

在S501和S503中,使用验证集来验证神经网络模型,可以在实际应用该神经网络模型之前确保其是有效且可靠的。具体地,可以将神经网络模型输出的动物关键点骨骼结构与已标注动物图片中的骨骼关键点位置进行比较,确定多次验证得到的神经网络模型的输出准确度,如果该输出准确度达到或者超过设定的阈值,则认为验证通过。如果验证未通过,则继续准备已标注动物图片,并对神经网络模型进行训练,知道通过验证。

图7为本发明第六实施例提供的基于深度学习的动物姿态识别方法的流程图。在一种可能的实施例中,S201、建立初始神经网络模型,可以包括:采用YOLO算法识别已标注动物图片中的动物个体;采用VGGNet网络提取识别到的动物个体的特征;采用改进的Opepose网络提取特征中的关键点坐标位置,获得已标注动物图片的关键点骨骼结构。

示例性地,使用YOLO算法检测动物个体时,可以将动物个体使用标记框框选出来,YOLO算法是最经典的单阶段目标检测算法之一,可以实时完成目标检测功能。在提取动物个体的特征时,使用VGGNet网络的前10层进行图形特征提取工作,VGGNet网络使用3*3的小型卷积核减少参数的数量、增强非线性映射能力,提高了网络表达能力。

本发明还提供了基于深度学习的动物姿态检测系统,该系统包括:

图片获取模块,用于获取待识别动物图片;

骨骼获取模块,用于将待识别动物图片输入神经网络模型,获得与待识别动物图片对应的动物关键点骨骼结构;

姿态分类模块,用于将动物关键点骨骼结构输入分类器,获得与动物关键点骨骼结构对应的动物姿态。

本发明还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器执行上述的方法。

本发明还提供了一种计算机可读存储介质,计算机可读存储介质中存储有多条计算机指令,多条计算机指令用于使计算机执行上述的方法。

本发明还提供了一种计算机程序产品,计算机程序被处理器执行时实现上述的方法。

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

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号