一种基于人工智能对反刍动物发情行为识别的方法
技术领域
本发明涉及反刍动物发情监测技术领域,尤其是涉及一种基于人工智能对反刍动物发情行为识别的方法。
背景技术
在反刍动物的繁育养殖场(犊牛,羊羔)和产奶养殖场(奶牛,奶山羊)的运营中,繁殖管理是很重要的一个环节。以牛为例,一般母牛的理想繁殖周期为1年1胎,包括280天的妊娠期,以及30-60天的空怀期。空怀期结束后,预备母牛在发情时对其进行人工授精,进行下一轮的繁殖。母牛的平均发情周期为21天,错过一次发情,想要进行人工授精就得等待下一次发情周期的到来。因此,为了持续地维持正常的生产水平,及时准确地对母牛发情进行检测变得尤为重要。
对于繁育养殖场而言,错过一次母牛的发情,就无法对预备母牛及时地进行人工授精,只能等待下一个发情周期的到来;对于奶牛养殖场而言,在母牛生下小牛以后,如果无法及时在休养(一般为30-60天)之后及时准确地检测出发情行为,就会增加空怀天数。每增加一天预备母牛的空怀天数,就会增加饲料成本。饲养的母牛数量越多,由此造成的经济损失就越大。
母牛发情的表现可以总结为两类:主要标志与二级标志。主要标志为站立发情,即发情母牛接受其他牛的爬跨(mounting),并且站立不动。二级标志包括发情母牛对其它牛只有爬跨行为,外阴红肿且有粘液分泌的量增加,坐立不安,活动量大增等行为特征。因此,对母牛发情行为及时准确的检测是成功配种的关键。
近些年来随着科技的进步,许多对母牛发情检测的工具及设备相继问世,如利用压力检测母牛被爬跨的发情检测器,以及通过声音,体温识别的发情检测系统等等。这些系统都为母牛的发情检测提供了技术支持,可是问题缺陷也很明显,一是很多检测系统无法做到实时的检测,二是随着饲养母牛总数的增加,养殖场的运营成本也在直线上升,这些缺陷使得其难以在养殖场中大面积推广使用。
而到目前为止,使用最多的方法依然是人工对母牛整体的观察法及计步器法。人工观察法的准确率在50%至70%之间,由于人工成本的原因,此方法通常在一天之中设置固定的时间进行观察,所以在观察时间之外进行的母牛发情很难被检测到,整体母牛的发情检测率会大幅。并且随着饲养母牛总数的增加,全面进行人工观察法的难度进一步增加,检出率进一步降低。而计步器法是结合计步器辅助系统对母牛活动量进行检测,根据活动量的变化来推算出母牛的发情。前人的研究表明,基于这种计步器辅助系统的监测方法准确率在51%到87%之间,但是每头牛都需要安装独立的设备,饲养的母牛总数越大,对养殖场的运营的负担越重。
所以既能保持较高的母牛发情识别准确率,又能及时地将每一头母牛的发情状态告知给养殖场工作人员,同时又能以比较低廉的价格在养殖场中方便地进行使用,这样的识别检测方案在养殖场的可持续发展中显得尤为重要。
发明内容
为了解决上述问题,本发明提供一种基于人工智能对反刍动物发情行为识别的方法,将母牛发情的主要标志及二级标志同时进行监测分析,大幅度提高了发情监测的全面性与准确性。
本发明为了实现上述目的具体采用以下技术方案:
一种基于人工智能对反刍动物发情行为识别的方法,包括如下步骤:
A.从俯视角度拍摄反刍动物的图片,并对图片中的反刍动物进行标记;
B.利用少样本学习方法对图片进行处理,建立评估预测模型;
C.利用摄像设备采集反刍动物的视频资料,并在对视频资料中的反刍动物进行标记,然后利用评估预测模型对视频资料中的反刍动物行为进行分析;
D.根据分析结果确定反刍动物是否发情。
更进一步地,所述反刍动物的标记方法如下:在反刍动物的头部、颈部、臀部三个位置进行标记,并同时对反刍动物进行身份标记。
更进一步地,所述评估预测模型输出的分析结果为第一种或第二种,或者第一种与第二种同时输出,其中,第一种为:反刍动物一天内爬跨的次数及每次爬跨的持续时间;第二种为:反刍动物单位时间内的移动距离。
更进一步地,所述反刍动物是否爬跨根据其头部、颈部、臀部的相对位置来进行判断,当反刍动物的颈部、臀部连线与另一反刍动物的头部、颈部、臀部的连线有重合,则可判定该反刍动物在爬跨。
更进一步地,所述反刍动物的移动距离通过如下方法进行计算:
选取反刍动物的头部、颈部、臀部中的任意一个点作为参考点,当反刍动物为直线移动时,移动距离X1为参考点在移动前与移动后所在位置之间的直线距离;
当反刍动物为转向移动时,反刍动物在移动前的头部、颈部、臀部连线记为基准线,反刍动物在移动后的头部、颈部、臀部连线记为判断线,从判断线上的参考点作一与基准线相交的垂线,该垂线的长度记为X1',该垂足与基准线上的参考点之间的长度记为X2',则X1=X1'+X2'。
更进一步地,所述步骤D中判断反刍动物是否发情的方法有以下两种:
方法一:确定一个时间长度t作为单位时间,在单位时间内对反刍动物的活动量进行监测,得到该单位时间内反刍动物的活动量T0;并采集监测前m天内的数据作为数据储备,计算前m天单位时间内的平均活动量mean,以及前m天的活动量标准差STD0,如果T0>mean+nSTD0,则认定反刍动物处于发情状态;
其中,n为调节系数,且n≥1,n为自然数;
方法二:若b1B1+b2B2+b3B3+b4B4+b5B5+b6B6>=100,则认定反刍动物发情;
若b1B1+b2B2+b3B3+b4B4+b5B5+b6B6>=50,则认定反刍动物疑似发情;
其中,B1=5,B1为反刍动物在单位时间内发生间歇性移动;B2=10,B2为反刍动物被爬跨但站立时间小于3s;B3=10,B3为反刍动物与动物有接触,但是不爬跨;B4=15, B4为反刍动物将腮托置于其它动物身体上;B5=35,B5为反刍动物尝试爬跨其它动物; B6=100,B6为反刍动物接受爬跨并且站立不动时间>=3s;b1为单位时间内B1对应行为累计出现的次数;b2为单位时间内B2对应行为累计出现的次数;b3为单位时间内B3对应行为累计出现的次数;b4为单位时间内B4对应行为累计出现的次数;b5为单位时间内B5对应行为累计出现的次数;b6为单位时间内B6对应行为累计出现的次数。。
更进一步地,所述步骤D可单独采用方法一或方法二对反刍动物的发情行为进行识别,也可以同时使用方法一、方法二进行相互验证识别。
更进一步地,所述步骤C中,在采集反刍动物的视频资料时,可采用Supervisely平台对反刍动物进行标记。
更进一步地,所述反刍动物包括繁育母牛、奶牛、山羊及绵羊。
本发明的有益效果如下:
1.本发明将反刍动物的头部、颈部和臀部位置作为判定是否有爬跨行为的关键点,比起别的判定方法简化了很多关键点,导致在使用深度学习预测的时候,大大减少了运算量,使得本发明的方法可以不使用云服务,仅在具有边缘部署的情况下实时识别牛的发情行为;而反刍动物养殖一般是在比较偏远的山区或者农村进行,这些地方网络条件较差,本发明对其具有良好的适应性,对于反刍动物养殖具有极强的现实意义;
2.本发明除了关键点提取的时候使用了少样本深度学习外,仅仅使用了简单计算来判定反刍动物的爬跨行为、计算反刍动物移动的距离,大大提高了整个系统的边缘预测的速度,降低了系统的内存需求;
3.本发明通过大量的实验得出了爬跨的次数和持续时间、反刍动物移动的距离与反刍动物是否发情的相关关系,可以更为准确的判断反刍动物的发情情况,相对本发明而言,现有的大部分判定方法只关注反刍动物是否有爬跨的行为,或者只关注反刍动物走了多少步数,本发明将二者结合,经过多次试验发现,本发明的识别方法准确率高达85%-95%,大幅提高了对反刍动物发情监测的全面性与准确性;
4.本发明实施的成本低廉,且可监控范围大,能有效降低反刍动物发情监测的成本,提升养殖场收益。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是母牛爬跨状态示意图;
图2是母牛托腮状态示意图;
图3是直线移动距离计算示意图;
图4是转向移动距离计算示意图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“上”、“下”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连通”应做广义理解,例如,可以是固定连通,也可以是可拆卸连通,或一体地连通;可以是机械连通,也可以是电连通;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例
本实施例提供一种基于人工智能对反刍动物发情行为识别的方法,具体包括如下步骤:
A.从俯视角度拍摄反刍动物的图片,并对图片中的反刍动物进行标记,标记时对反刍动物的头部,颈部,臀部进行标记,同时标记反刍动物的身份(ID),以便对其进行跟踪;
B.利用少样本学习方法对图片进行处理,建立评估预测模型,该评估预测模型可以得到反刍动物的头部、颈部、臀部位置,并可进行跟踪;
在模型建立后,评估模型的准确度,如果准确度达到要求,就可以进行下一步,如果未达到要求,则重复之前步骤,并增加标记的图片数量对模型进行训练;
其中,少样本学习方法(Few-shot learning)是一种现有的深度学习方法,其能通过少量已经标记的样本图片进行训练后,高准确率地为剩余的大量图片进行自动标记。本发明的模型建立主要依赖于Meta-learning(元学习)进行,将一些已经标记好的反刍动物图片作为task进行学习训练,建立评估预测模型。
C.利用摄像设备采集反刍动物的视频资料,并在采集时对反刍动物进行标记,然后利用评估预测模型对视频资料中的反刍动物行为进行分析;
其中,摄像设备可以为能标记对象的视频监控设备,也可以采用普通的摄像设备拍摄视频,并在Supervisely平台上进行标记。
D.根据分析结果确定反刍动物是否发情,其中判定的方法有二种:
方法一(活动量监测法):确定一个时间长度t作为单位时间,单位时间t的长度可以根据牧场条件及反刍动物的情况而进行设置,在单位时间内对反刍动物的活动量进行监测,得到该单位时间内反刍动物的活动量T0;并采集监测前m天内的数据作为数据储备,计算前m天单位时间内的平均活动量mean,以及前m天的活动量标准差STD0,如果T0>mean+nSTD0,则认定反刍动物处于发情状态;
其中,n为调节系数,且n≥1,n为自然数;n倍的标准偏差值表示为现在的运动量T0比前m天的活动量平均值提高的程度,从而推断出此活动量T0是否显著增加。该数值n可根据每个牧场的实际情况进行具体调节,即在其它的方法判定之下为发情时期时,得出T0与前m天活动量平均值之差为几个标准差的值,这个数值可应用于下次的发情监测中来进行判断,其中,在确定n值时,可以采集该牧场的多个判断例来确定n的取值区间,并从该取值区间内选取准确率最高的值作为下次监测的n 值。而发明人多次实验发现,大部分牧场的n值均为3,即当n取3时,适应性较好。
方法二(计分法):若b1B1+b2B2+b3B3+b4B4+b5B5+b6B6>=100,则认定反刍动物发情;
若b1B1+b2B2+b3B3+b4B4+b5B5+b6B6>=50,则认定反刍动物疑似发情;
其中,B1=5,B1为反刍动物在单位时间内发生间歇性移动;B2=10,B2为反刍动物被爬跨但站立时间小于3s;B3=10,B3为反刍动物与动物有接触,但是不爬跨;B4=15, B4为反刍动物将腮托置于其它动物身体上(如图2所示);B5=35,B5为反刍动物尝试爬跨其它动物;B6=100,B6为反刍动物接受爬跨并且站立不动时间>=3s;b1为单位时间内B1对应行为累计出现的次数;b2为单位时间内B2对应行为累计出现的次数; b3为单位时间内B3对应行为累计出现的次数;b4为单位时间内B4对应行为累计出现的次数;b5为单位时间内B5对应行为累计出现的次数;b6为单位时间内B6对应行为累计出现的次数,本处的单位时间可以根据牧场的实际条件及反刍动物的特点进行设置。
其中,在实际使用过程中,可以单独使用方法一或方法二进行判断,也可以将方法一与方法二结合进行进行判断,以提高判断的准确率。
在单独使用方法一时,评估预测模型主要给出如下分析结果:反刍动物一天内爬跨的次数及每次爬跨的持续时间;爬跨认定以反刍动物的头部、颈部、臀部位置为准,当反刍动物的颈部、臀部连线与另一反刍动物的头部、颈部和臀部的连线有重合时,则判定为爬跨。
在单独使用方法二时,评估预测模型主要给出如下分析结果:反刍动物单位时间内移动的距离;在计算移动距离时,选取反刍动物的头部、颈部、臀部中的任意一个点作为参考点,如图,3所示,当反刍动物为直线移动时,移动距离X1为参考点在移动前(大的圆圈)与移动后(小的圆圈)所在位置之间的直线距离;
当反刍动物为转向移动时,如图4所示,反刍动物在移动前的头部1、颈部2、臀部3连线记为基准线,反刍动物在移动后的头部1'、颈部2'、臀部3'连线记为判断线,从判断线上的参考点作一与基准线相交的垂线,该垂线的长度记为X1',该垂足与基准线上的参考点之间的长度记为X2',则X1=X1'+X2'。
如果方法一与方法二同时使用,则评估预测模型给出两种分析结果即可。
其中,本发明中的反刍动物可以为繁育母牛、奶牛、山羊及绵羊等常见反刍动物,以下以母牛为例,对发明的识别方法进行进一步地详细说明。
本发明在韩国的Kiri牧场,选取了75头母牛来进行发情行为监测,将每25头母牛作为一组分开喂养,共分为3组,其中,监测期间,母牛的喂养都按照肉牛饲养标准进行饲喂,自由采食,自由饮水,并且每组同时使用本发明的方法、人眼观察法、计步器法对母牛行情行为进行监测。
1.利用本发明的方法进行监测时,具体操作如下:
首先对俯视角度拍摄的牛图片进行标记,标记其头部、颈部、臀部,并连线;
使用基于少量数据的深度学习方法(Few-shot learning)进行处理,得到可以预测牛的头部、颈部、臀部位置,并进行跟踪的预训练模型;
评估模型的准确度,如果准确的达到要求,进行下一步,如果不行则重复之前操作,并增加标记的图片数量;
通过预测,如图1,我们可以通过俩头牛的,头部,颈部和臀部的相对位置可以知道俩头牛,是否进行爬跨的动作,颈部和臀部的连线与另一头牛的头部和颈部和臀部的连线有重合则判定在爬跨,并且计算一天内,一次爬跨持续的时间和爬跨进行的次数;
通过预测每一头牛的头部、颈部和臀部的连线,计算单位时间内移动的总距离(三个点都在移动则判定牛在移动),如果是直线移动则如图3,计算X1的绝对值作为移动的距离。如果进行转向移动则如图4一样分别计算X1'和X2'的绝对值,然后将二者相加得到X1;
利用方法一来对母牛的发情情况进行判定时,单位时间t取值为2h,并且天数 m取值为10天,并且本次实验的牧场经测算,得到的n值为3;
利用方法二计算分值来判断反刍动物是否发情时,本次的单位时间取值为30min,即以30min为一个周期来对母牛的发情情况进行判定;
将方法一与方法二的判定结果进行综合来对母牛的发情情况进行判定,如果两种方法均认定为不发情,则以此为判定结果,认定母牛未发情,其它结果情况均认定为发情,可以有效避免出现漏判的情况,提高发情识别的准确率。
2.利用人眼观察法观察母牛发情情况时,由工人每天早中晚各对母牛观察一次来确定母牛是否发情。
3.利用计步器监测母牛发情情况时,在每头母牛的腿上都固定一个计步器来计算母牛的运动步数,通过步数的增加来判断母牛的发情状况。
以下表1来对母牛发情情况的监测结果进行详细说明:
表1母牛发情监测准确率记录表
计步器法及人眼观察法是目前最为常用的两种监测方法,其它方法一般因为使用条件限制、成本高昂或准确率过低等原因,较少被使用,而通过上表的比较可以看出,本发明的监测方法相对于人眼观察法及计步器法而言,在准确率上具有大幅提升,使得反刍动物的发情监测更为全面、准确;并且相对于计步器法而言,操作更为简单,在大型牧场进行使用时成本更为低廉,具有广阔的市场前景。
以上所述,仅为本发明的较佳实施例,并不用以限制本发明,本发明的专利保护范围以权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。