一种精准检测动物个体健康的方法及系统与存储介质与流程

文档序号:27313687发布日期:2021-11-09 23:18阅读:185来源:国知局
一种精准检测动物个体健康的方法及系统与存储介质与流程

1.本发明涉及牲畜养殖监控技术领域,具体涉及一种精准检测动物个体健康的方法及系统与计算机可读存储介质。


背景技术:

2.在大规模的养殖中,饲养的牲畜圈养在一个个的栏舍内,处于防病防疫考虑,需要实时监控牲畜的健康状况。以猪群为例,需要随时监控并判断猪群的健康程度,以及是否有猪只个体死亡。采取传统人工巡查的方式,很难及时发现猪只的健康异常状况。
3.现有技术中,采用耳标标识猪只个体,并直接判断猪只个体的健康状况,但是耳标贵且易坏,同时,实际数据传输效果不佳。
4.现有的人工智能算法,可以通过学习病猪、死猪的样本去鉴别个体猪只的健康情况,但精准度有待提升,而且无法鉴别猪群整体的健康程度。


技术实现要素:

5.本发明的目的是提出一种通过计算机视觉方法精准检测动物个体健康的方法及系统与计算机可读存储介质。
6.为达到上述目的,本发明提出了一种精准检测动物个体健康的方法,所述方法包括以下步骤:获取待检测动物的初始图像;检测出每一只动物并为每一只动物分配一个动物id;跟踪每一只动物的运动轨迹并计算每一只动物的运动量;分别计算单位时长中每个栏位内全部动物的总运动量;判断每个栏位内全部动物的总运动量是否低于预设的总运动量阈值;当一个栏位内全部动物的总运动量低于预设的总运动量阈值时,找出该栏位内运动量异常的动物。
7.进一步,所述检测出每一只动物并为每一只动物分配一个动物id的步骤包括:利用深度学习的目标检测模型检测出每一只动物;为每一只动物分配一个动物id。
8.进一步,所述动物id在一个时间段内唯一地标识一只动物,其中,所述时间段为该动物不被遮挡的时长。
9.进一步,所述跟踪每一只动物的运动轨迹并计算每一只动物的运动量的步骤包括:利用深度学习的目标跟踪模型跟踪每一只动物;计算每一只动物的运动量。
10.进一步,所述总运动量阈值的设置方法采用以下两种方法中的一种:方法一,取相同的单位时长内,各个栏位内全部动物的总运动量的平均值为总运
动量阈值;方法二,取连续多个单位时长内,各个栏位内全部动物的总运动量在一个单位时长内的平均值为总运动量阈值;其中,每一个栏位内的动物数目相同。
11.进一步,所述找出该栏位内运动量异常的动物的步骤包括:计算栏位内每一只动物的运动量;将每一只动物的运动量与预设的单只动物运动量阈值比较,并判断每一只动物的运动量是否存在异常;当一只动物的运动量明显低于单只动物运动量阈值时,判定该动物为病死动物。
12.进一步,所述单只动物运动量阈值的设置方法包括以下步骤:取历史数据中相同的时间段内,各个动物的运动量的平均值为单只动物运动量阈值。
13.进一步,所述当一个栏位内全部动物的总运动量低于预设的总运动量阈值时,找出该栏位内运动量异常的动物的步骤之后,所述方法还包括:对病死动物进行识别;其中包括:依据一只动物的运动量与单只动物运动量阈值的比值,判断该动物的健康状况及健康程度。
14.以及,一种动物个体健康检测系统,所述系统包括:图像获取单元,用于获取待测动物的初始图像;第一计算单元,用于通过目标检测模型检测出每一只动物并为每一只动物分配一个动物id;第二计算单元,用于通过目标跟踪模型跟踪每一只动物的运动轨迹并计算每一只动物的运动量;数据分析处理单元,用于分析并比较各栏位中动物的总运动量数据,判断各个栏位中全部动物的总运动量是否存在异常;第三计算单元,用于识别总运动量异常的栏位中的病死动物。
15.以及,一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行实现如上所述的精准检测动物个体健康的方法。
16.上述精准检测动物个体健康的方法及系统与计算机可读存储介质中,通过计算机视觉的方法,计算栏位内的全部动物的总运动量,以判别整栏动物的健康程度。首先判断整栏动物是否存在异常,当判定一个栏位内的动物存在异常时,再对该栏位内的单只动物进行个体判断。比较单只动物的运动量,判断该栏位内的单只动物的健康状况。本发明通过使用人工智能中深度学习算法检测动物的运动量,提高了检测效率和检测的准确度,降低了动物健康状况的判错率,通过深度学习的目标检测模型和目标跟踪算法模型,更加精准地计算动物的运动量,并通过分析栏位内全部动物的总运动量和单只动物的运动量,更加精准地检测出动物的健康程度,为尽快发现病死动物,防止疫情在动物种群中蔓延提供基础数据依据。本发明降低了牲畜饲养的生产成本,实现了牲畜饲养过程的自动化。本发明的方法简单,易于实现,成本低廉,便于推广。
附图说明
17.图1是本发明实施例的精准检测动物个体健康的方法的流程图;图2是本发明实施例的一个栏位内饲养动物的初始图像的示意图;图3是本发明实施例的动物个体健康检测系统的结构示意图。
具体实施方式
18.本实施例以基于深度学习的计算机视觉的精准检测动物个体健康的方法及系统为例,以下将结合具体实施例和附图对本发明进行详细说明。
19.本发明实施例提供的一种精准检测动物个体健康的方法,请参阅图1,包括如下步骤:步骤s10,获取待检测动物的初始图像;具体地,请参阅图2,为了更好地实现对栏位内的动物的监控,需在栏位上方安装高清摄像机,以便拍摄栏位内的全部动物的运动轨迹,摄像机的安装位置应保证其能够拍摄到栏位内的全部,以免拍摄时遗漏动物,或者,动物被其他物体或者动物遮挡,影响提取的数据的完整性和准确性。
20.即步骤s10包括:通过高清摄像机采集待检测动物的图像信息。
21.步骤s20,检测出每一只动物并为每一只动物分配一个动物id;具体地,采用圈养方式饲养牲畜时,每一个栏位内都饲养有多只动物,因此需要监控每一只动物的健康状况。
22.首先对目标检测模型进行学习训练,以获得较准确的识别效果。本实施例的目标检测模型包括faster r

cnn、yolo(you only look once)、ssd(single shot multibox defender)等,其原理大致为:获取大量具有目标物体的训练图像,再将所述训练图像输入到目标检测模型,通过目标检测模型提取目标物体的图像特征,并对目标物体及其图像特征进行分类;最后对目标检测模型学习训练效果进行评估,这里选择目标检测模型的loss值进行判断,不同的目标检测模型对与loss值有不同,一般在0.4以下,loss 值越小,目标图像检测的精度越高。
23.以yolo v3目标检测模型为例,yolo采用一步算法实现目标检测,是一种端到端的目标检测模型。yolo算法的基本思想是:直接将原始图片分割成互不重合的小方块,卷积后形成特征图,特征图的每个元素对应原始图片中的一个小方块,然后用每个元素预测那些中心点在该小方格内的目标,即通过特征提取网络对输入特征提取特征,得到特定大小的特征图输出,输入图像分成13
×
13的grid cell,真实框中object的中心坐标落在grid cell中,由该grid cell来预测该object。
24.yolo v3不仅检测速度快、准确率高,而且在yolo的基础上进行改进,增强了对小物体的检测能力。yolo v3使用darknet

53作为整个网络的分类骨干部分提取图像特征。darknet

53主要由3
ꢀ×ꢀ
3和1
×ꢀ
1的卷积核以及类似 resnet中的跳过连接构成,具有更低的bflop(十亿次浮点数运算),且能以2倍的速度得到相同的分类准确率。
25.yolov3还借鉴了金字塔特征图思想,特征图的输出维度为n
×
n
×
[3
×
(4+1+80)],其中,n
×
n为输出特征图格点数,一共3个anchor框,每个框有4维预测框数值tx,ty,tw,th,
1维预测框置信度,80维物体类别数。所以第一层特征图的输出维度为8
×8×
255。
[0026]
yolo v3总共输出3个特征图,第一个特征图下采样32倍,第二个特征图下采样16倍,第三个特征图下采样8倍。输入图像经过darknet

53(无全连接层),再经过yoloblock生成特征图,第一,经过3*3卷积层、1*1卷积之后生成第一特征图,第二,经过1*1卷积层加上采样层,与darnet

53网络的中间层输出结果进行拼接,产生第二特征图。同样的循环之后产生第三特征图。
[0027]
yolo v3的concat操作源于densenet网络的设计思路,将特征图按照通道维度直接进行拼接,例如8*8*16的特征图与8*8*16的特征图拼接后生成8*8*32的特征图。
[0028]
yolo v3的上采样层(upsample)作用是将小尺寸特征图通过插值等方法,生成大尺寸图像。例如使用最近邻插值算法,将8*8的图像变换为16*16。上采样层不改变特征图的通道数。
[0029]
所述步骤s20还包括:步骤s21,利用深度学习的目标检测模型检测出每一只动物;步骤s22,为每一只动物分配一个动物id。
[0030]
具体地,在一个时间点,一个动物id唯一地标识一只动物,当yolo v3目标检测模型检测到一只动物,自动标注边界框及动物id。
[0031]
步骤s30,跟踪每一只动物的运动轨迹并计算每一只动物的运动量;具体地,在动物饲养过程中,采用多目标跟踪模型同时记录多个动物的运动量,多目标跟踪,即multiple object tracking(mot),主要任务中是给定一个图像序列,找到图像序列中运动的物体,并将不同帧的运动物体进行识别,也就是给定一个确定准确的id,当然这些物体可以是任意的,如行人、车辆、各种动物等。
[0032]
以多目标跟踪模型sort为例,sort利用强大的cnn检测器的检测结果来进行多目标跟踪,使用基于卡尔曼滤波(kalman filter)与匈牙利算法(hungarian algorithm)的方法来进行跟踪,其中,匈牙利算法是一种寻找二分图的最大匹配的算法,是一种在寻找前后两帧的若干目标的匹配最优解的一种算法。而卡尔曼滤波是一种运动模型,用来对目标的轨迹进行预测,并且使用确信度较高的跟踪结果进行预测结果的修正,是控制领域常用的一种算法。
[0033]
在具体的跟踪过程中,sort引入了线性速度模型与卡尔曼滤波来进行位置预测,先进行位置预测然后再进行匹配。在无合适匹配检测框的情况下,运动模型的结果可以用来预测物体的位置。
[0034]
所述步骤s30还包括:步骤s31,利用深度学习的目标跟踪模型跟踪每一只动物;步骤s32,计算每一只动物的运动量。
[0035]
具体地,目标跟踪模型跟踪并记录每一个动物id的运动轨迹、运动时长,并计算每一个动物id的运动量。
[0036]
步骤s40,分别计算单位时长中每个栏位内全部动物的总运动量;具体地,以圈养方式饲养牲畜时,通常是将多个动物分别放置于多个栏位内,每个栏位内的动物的数量与动物个体的大小、生长阶段等多种因素有关,为便于监控和计算,需将同种类、个体大小相近、生长阶段相同的动物放置于一个栏位内。
[0037]
为便于比较不同栏位内动物的总运动量,通常采用单位时长内的累计值,如:一小时或者一天。
[0038]
优选地,累计计算每一个栏位内全部动物的一天的总运动量,或者,取同一天的同一个时段的每一个栏位内全部动物的运动量进行累计。
[0039]
步骤s50,判断每个栏位内全部动物的总运动量是否低于预设的总运动量阈值;具体地,本实施例的监控方法中,首先以栏位为单位,检测栏位内全部动物的总运动量是否异常,然后在总运动量异常的栏位内找出运动量异常的动物个体。其中,对于预设的总运动量阈值的选取,可以采用不同的计算方法,采用以下两种方法中的一种:方法一,取相同的单位时长内,各个栏位内全部动物的总运动量的平均值为总运动量阈值;具体地,这种取值方法要求相互比较的各个栏位内的动物的数量相同、动物的个体大小相近、动物饲养阶段相同,以保证相互比较的各个栏位内的动物的总运动量在正常情况下,数值不出现大幅波动。
[0040]
方法二,取连续多个单位时长内,各个栏位内全部动物的总运动量在一个单位时长内的平均值为总运动量阈值;具体地,以历史数据为基础,计算单位时长内栏位内全部动物均为健康状态时的总运动量值,以此为比较的阈值。
[0041]
优选地,方法二适用于无同种类的栏位的情形,将一个栏位内的全部动物的总运动量与其历史数据做比较,以判断是否存在异常。
[0042]
具体地,方法二中,由于同一栏位内的动物的数目不同,可以采用数值加权,以确保检测结果准确有效。
[0043]
步骤s60,当一个栏位内全部动物的总运动量低于预设的总运动量阈值时,找出该栏位内运动量异常的动物;具体地,饲养的动物通常以其运动量判断其健康状况,一个栏位内全部动物的总运动量低于预设的阈值,即可判定该栏位内存在运动量异常的动物。
[0044]
当判定一个栏位内存在运动量异常的动物时,依据目标跟踪模型sort的跟踪计算的结果,可以找出该运动量异常的动物,所述步骤s60还包括:步骤s61,算栏位内每一只动物的运动量;步骤s62,将每一只动物的运动量与预设的单只动物运动量阈值比较,并判断每一只动物的运动量是否存在异常;步骤s63,当一只动物的运动量明显低于单只动物运动量阈值时,判定该动物为病死动物。
[0045]
进一步地,所述单只动物运动量阈值的设置方法包括以下步骤:取历史数据中相同的时间段内,各个动物的运动量的平均值为单只动物运动量阈值。
[0046]
具体地,单只动物的运动量阈值可以取历史数据中同时间段的同种动物的运动量量的平均值,以避免在疫情在动物群体中快速蔓延影响数据的准确性。
[0047]
具体地,在本实施例实施的过程中,由于目标跟踪模型sort的局限性,当被检测的动物被遮挡后,跟踪目标丢失,该被检测的动物再次被检测到时,目标检测模型会为该动物
重新分配一个动物id,为了保证跟踪计算结果的准确性,对目标跟踪模型sort的跟踪过程做时间段切割,以保证在一个时间段内所有的待检测动物的动物id都保持不变。
[0048]
具体地,所述时间段的切割原则为:全部待检测动物均未被遮挡,且每个所述动物id在此时间段内唯一的标识一只动物。
[0049]
具体地,步骤s63中所述一只动物的运动量明显低于单只动物运动量阈值,依据异常动物的运动量与所述单只动物运动量阈值的比值,可以判定该异常动物的健康程度,比值越小,该异常动物的健康程度越差,比值为零时,该动物可判定病死动物。
[0050]
步骤s70,对病死动物进行识别分析。
[0051]
具体地,调用病死动物识别算法,对异常动物进行深入分析。
[0052]
依据一只动物的运动量与单只动物运动量阈值的比值,判断该动物的健康状况及健康程度。
[0053]
以及,请参阅图3,示出一种动物个体健康检测系统,所述系统包括:图像获取单元10,用于获取待测动物的初始图像;第一计算单元20,用于通过目标检测模型检测出每一只动物并为每一只动物分配一个动物id;第二计算单元30,用于通过目标跟踪模型跟踪每一只动物的运动轨迹并计算每一只动物的运动量;数据分析处理单元40,用于分析并比较各栏位中动物的总运动量数据,判断各个栏位中全部动物的总运动量是否存在异常;第三计算单元50,用于识别总运动量异常的栏位中的病死动物。
[0054]
以及,本发明还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行实现如上所述的精准检测动物个体健康的方法。
[0055]
上述精准检测动物个体健康的方法及系统与计算机可读存储介质中,通过计算机视觉的方法,计算栏位内的全部动物的总运动量,以判别整栏动物的健康程度。首先判断整栏动物是否存在异常,当判定一个栏位内的动物存在异常时,再对该栏位内的单只动物进行个体判断。比较单只动物的运动量,判断该栏位内的单只动物的健康状况。本发明通过使用人工智能中深度学习算法检测动物的运动量,提高了检测效率和检测的准确度,降低了动物健康状况的判错率,通过深度学习的目标检测模型和目标跟踪算法模型,更加精准地计算动物的运动量,并通过分析栏位内全部动物的总运动量和单只动物的运动量,更加精准地检测出动物的健康程度,为尽快发现病死动物,防止疫情在动物种群中蔓延提供基础数据依据。本发明降低了牲畜饲养的生产成本,实现了牲畜饲养过程的自动化。本发明的方法简单,易于实现,成本低廉,便于推广。
[0056]
需要说明的是,本发明并不局限于上述实施方式,根据本发明的创造精神,本领域技术人员还可以做出其他变化,这些依据本发明的创造精神所做的变化,都应包含在本发明所要求保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1