本发明涉及畜牧业信息,更具体的,涉及一种基于目标跟踪的猪只行为节律分析方法及系统。
背景技术:
1、种猪的行为包括饮食、排泄、发情等。各类行为在养殖过程中随着环境、时间等因素的变化而发生有节律性的变动,称为行为节律。种猪的行为节律分析可以作为种猪生长健康状况的判断依据,为筛选优良种猪、适时配种提供选择依据,并且可以有效预防异常情况的发生,提高繁殖率、降低养殖成本,在规模化养殖中具有重要意义。
2、目前已有的猪只行为监测方法主要分为传统的人工监测方法和智能化监测方法。传统的人工监测方法主要是通过人工定期巡查监测猪只行为,但人工巡查费时费力,且难以及时发现猪只异常行为。而智能化监测方法包含两种手段,一种是通过耳标等接触式传感器监测,利用机器学习方法对接触式传感器收集到的猪只个体信息进行处理,从而分析出行为规律,但是传感器的安装容易使猪只产生应激反应,同时非常容易出现损坏脱落和反应不灵敏的情况;另一种是通过摄像头等非接触式传感器监测,结合计算机视觉技术对拍摄的视频进行猪只行为识别。有较多学者运用后者的方法展开研究,董力中等人通过对猪只关键点进行检测以识别猪只饮食、躺卧、站立等行为,但是这种方法不能很好的区分相似行为;涂淑琴等人对跟踪到的单帧图像利用目标检测技术识别站立、饮食、行走等行为,这种方法有可能造成连贯性行为识别错误;kaifeng zhang等人利用双流卷积网络模型充分提取时间和空间行为特征来识别猪只的连贯性复杂行为,但是该方法仅能实现对单头猪的识别。
3、现有技术主要问题有:人工巡查费时费力,发现问题不及时且高度依赖观察人员的主观判断;耳标等接触式传感器安装容易使猪只产生应激反应,并且有损坏脱落或反应不灵敏的风险;利用单帧图像识别连贯性的复杂行为准确率低,有可能造成行为识别错误;已有的猪只视频跟踪算法对遮挡场景的处理鲁棒性差,容易出现漏检、匹配错误等情况,且不能很好地区分相似的行为。
4、现有专利有一种群体环境中多猪体运动轨迹提取和行为分析方法,包括下述步骤:改进已知的单目标跟踪算法,提出群体环境中同时跟踪多头生猪的算法;根据跟踪结果,提取每头猪每帧的中心点坐标,绘制每头猪的运动轨迹图和瞬时速度图;根据猪体的跟踪得到的目标框,提取感兴趣区域,分割出每头猪的目标轮廓,判断猪体当前形态特征为站立或趴卧;联合猪体运动轨迹、运动速度、轮廓形态,结合猪体运动规律和专家建议,判断每头猪在每个时间段的运动行为,主要包括:猪体站立、趴卧、缓慢行走、快速跑动、异常躁动。
5、然而现有群体环境中多猪体运动轨迹提取和行为分析方法依然存在依赖人工判断的问题,如何发明一种不依赖人工的基于目标跟踪的猪只行为节律分析方法,是本技术领域亟需解决的技术问题。
技术实现思路
1、本发明为了解决现有种猪行为节律分析技术依赖人工判断的问题,提供了一种不依赖人工的基于目标跟踪的猪只行为节律分析方法及系统,其具有安全稳定,准确可靠的特点。
2、为实现上述本发明目的,采用的技术方案如下:
3、一种基于目标跟踪的猪只行为节律分析方法,包括以下步骤:
4、s1.采集猪栏内所有猪只的视频信息;
5、s2.训练猪只检测模型,根据视频信息,通过猪只检测模型进行猪只检测;
6、s3.通过多目标跟踪算法,结合猪只检测模型检测结果,对猪只进行多目标跟踪,获得猪只位置变化轨迹;
7、s4.根据猪只位置变化轨迹,分别对猪只进行简单行为以及复杂行为的识别;
8、s5.分析所有种猪个体简单行为和复杂行为一天内的变化规律,进一步分析猪只行为节律分析,从而判断猪只健康状态信息。
9、优选的,所述的步骤s2中,训练猪只检测模型,根据视频信息,通过猪只检测模型进行猪只检测,具体为:构建猪只检测数据集,并通过猪只检测数据集训练一个基于yolov7网络的猪只检测模型,使用猪只检测模型,基于yolov7网络的目标检测算法,对视频中的猪只进行个体检测和头尾检测,分别得到猪只的运动信息和位置信息。
10、进一步的,所述的步骤s3中,通过多目标跟踪算法,结合猪只检测模型检测结果,对猪只进行跟踪,获得猪只位置变化轨迹,具体步骤为:
11、s301.将resnet34深度残差网络代替原deepsort中的特征提取网络,得到改进后的deepsort网络;
12、s302.通过改进后的deepsort网络提取视频中的猪只的外观特征;
13、s303.根据位置信息和提取的外观特征,改进后的deepsort网络采用卡尔曼滤波算法预测猪只的轨迹,得到轨迹列表;
14、s304.对改进后的deepsort网络进行二次改进,使其永不删除未匹配的确认态轨迹;根据运动信息,二次改进后的deepsort网络利用匈牙利算法将轨迹列表中的轨迹和猪只进行匹配。
15、更进一步的,所述的步骤s304中,利用匈牙利算法将轨迹列表中的轨迹和猪只进行匹配,具体步骤为:
16、s3101.通过对运动信息和外观特征计算其代价矩阵,将轨迹列表中的确认态轨迹和检测框进行级联匹配;
17、s3102.对不确认态轨迹和s3101中未成功匹配的确认态轨迹进行iou匹配。
18、更进一步的,所述的步骤s3101中,将轨迹列表中的确认态轨迹和检测框进行级联匹配后,可得到三种情况:第一种,轨迹和检测框匹配,代表跟踪成功,此时将检测框通过卡尔曼滤波更新对应的轨迹;第二种,检测框未匹配;第三种,轨迹未匹配。
19、更进一步的,所述的步骤s3102中,对不确认态轨迹和s3101中未成功匹配的确认态轨迹进行iou匹配,所述的未成功匹配的确认态轨迹包括检测框未匹配和轨迹未匹配的确认态轨迹;iou匹配后,同样可得到三种情况:第一种,轨迹和检测框匹配,代表跟踪成功,此时将检测框通过卡尔曼滤波更新对应的轨迹;第二种,检测框未匹配;第三种,轨迹未匹配;
20、对于第二种和第三种情况,设猪只总数不变,设置变量n,若为第一秒内,则n为检测器检测到的猪只数目;若超过第一秒,则n为前一秒所有帧检测到猪只数的平均数:
21、
22、其中,k为每一帧检测到的猪只数目,r为每秒的总帧数,s为此时是否为第一秒,若为第一秒,则s=1,若不是第一秒,则s=1;
23、对于第二种情况中iou匹配后检测框未匹配的轨迹,首先判断其是否产生新轨迹,如果轨迹条数小于n,则产生新轨迹,保留该轨迹,参与下一轮的iou匹配;反之不产生,且将未检测的框重新进行级联匹配,且增大马氏距离的距离阈值m,使其和最近的轨迹匹配:
24、
25、其中,n为第n轮,m(n)为第n轮匹配马氏距离的距离阈值,m(n-1)为上一轮马氏距离的距离阈值;
26、对于iou匹配后轨迹未匹配的轨迹,若该轨迹为不确认态,则直接删除轨迹,若为确认态,则保留该轨迹,继续进行下一轮的iou匹配。
27、更进一步的,所述的步骤s4中,根据猪只位置变化轨迹,分别对猪只进行简单行为以及复杂行为的识别;所述的步骤s4的具体步骤为:
28、s401.构建猪只行为识别数据集;在yolov7网络中加入一个实例分割头,得到yolov7-mask网络,将猪只行为识别数据集输入yolov7-mask网络中,训练一个猪只行为识别模型;使用训练好的猪只行为识别模型,通过实例分割算法根据猪只的运动信息、位置信息、位置变化轨迹进行简单行为的识别,得到猪只简单行为信息,所述的猪只简单行为信息包括猪只对应的视频帧数、猪只id、位置、简单行为;
29、s402.对获取到的猪只简单行为信息进行数据清洗;
30、s403.根据清洗后的数据,结合视频信息,进行猪只的复杂行为识别。
31、更进一步的,所述的简单行为包括躺卧、站立行为;所述的复杂行为包括运动、睡觉;所述的运动包括饮食、排泄、发情、爬跨行为;步骤s403中,猪只的复杂行为识别,具体为:
32、识别猪只的运动行为:
33、s4101.判定猪只是否为站立行为,若是则继续判断是否为运动行为;
34、s4102.计算两帧之间头部中心点的欧式距离即为相邻两帧的运动距离d:
35、
36、其中,n为第n帧,x()和y()分别为当前帧的头部中心点坐标,x(-1)和y(-1)分别为上一帧的头部中心点坐标;
37、计算猪只在视频的连续帧t内运动距离之和s,用一段时间t内每相邻两帧猪只头部中心点的欧氏距离之和作为猪只运动距离s:
38、
39、其中,t为视频的连续帧数,d为两帧之间头部中心点的欧氏距离;
40、判定猪只在连续帧t内运动距离之和s是否大于设定的第一阈值th,若是则判断为运动行为;
41、识别猪只的饮食行为和排泄行为:
42、s4201.判定猪只是否为运动行为,若是则继续判断猪只的饮食行为和排便行为;
43、s4202.判断猪只的头部中心点与食槽的欧式距离在视频的连续帧t内是否小于设定的第二阈值f,若是则判断为饮食行为;判断猪只的尾部中心点与排便槽的欧式距离在连续帧t内是否小于设定的第三阈值p,若是则判断为排便行为;
44、识别猪只的睡觉行为:
45、s4301.判定猪只是否为躺卧行为,若是则继续判断是否为睡觉行为;
46、s4302.判定猪只是否在连续帧t内运动距离sl小于设定的第四阈值w,若是则判断是否为睡觉行为;
47、识别猪只的爬跨行为:
48、s4401.判定是否存在二只猪只参与行为,若是则继续判断猪只的爬跨行为;
49、s4402.判定是否存在一只猪处于躺卧行为,一只猪处于运动行为,若是则继续判断猪只的爬跨行为;
50、s4403.判断在视频的连续帧t内,两只猪的身体中心点欧式距离是否小于第五阈值c,若是则判断为爬跨行为;
51、识别猪只的发情行为:
52、s4501.判定猪只是否在一段时间t内出现至少一次爬跨行为,若是则继续判断猪只的发情行为;
53、s4502.判定在一段时间t内该猪只是否存在没有饮食或少量饮食的情况,若是则判断是否为发情行为。
54、更进一步的,所述的步骤s5中,结合猪只位置变化轨迹,分析所有种猪个体简单行为和复杂行为一天内的变化规律,进一步分析猪只行为节律分析,从而判断猪只健康状态信息,具体为:
55、s501.统计一天中猪只每秒的行为;
56、s502.统计种猪个体一天中睡觉、运动行为的时长及次数;
57、s503.将一天中每个猪只的各种行为的次数或时长分别输入dbscan聚类算法进行聚类,若划分为一类,则猪只个体均为正常;若划分为多类,则说明猪只出现健康异常状况。
58、一种基于目标跟踪的猪只行为节律分析系统,包括数据采集模块、目标检测模块、多目标跟踪模块、行为识别模块、行为节律分析模块;
59、所述的数据采集模块用于采集猪栏内所有猪只的视频信息;
60、所述的目标检测模块用于训练猪只检测模型,根据视频信息,通过猪只检测模型进行猪只检测;
61、所述的多目标跟踪模块用于通过多目标跟踪算法,结合猪只检测模型检测结果,对猪只进行跟踪,获得猪只位置变化轨迹;
62、所述的行为识别模块用于根据猪只位置变化轨迹,分别对猪只进行简单行为以及复杂行为的识别;
63、所述的行为节律分析模块用于分析所有种猪个体简单行为和复杂行为一天内的变化规律,进一步分析猪只行为节律分析,从而判断猪只健康状态信息。
64、本发明的有益效果如下:
65、本发明提出了采集猪栏内所有猪只的视频信息、训练猪只检测模型、通过多目标跟踪算法对猪只个体进行跟踪、根据猪只位置变化轨迹,分别对猪只进行简单行为以及复杂行为的识别,实现了对于猪只行为的智能识别和分析,解决了现有种猪行为节律分析技术依赖人工判断的问题,且具有安全稳定,准确可靠的特点。