本发明属于群羊智能化养殖,具体为一种利用计算机视觉、深度学习技术定位群羊尾部和利用容差扩展技术截取群羊尾部光流图的方法。
背景技术:
1、母羊进入发情前期,开始出现精神兴奋,时常在圈舍内走动,频频摇尾,但不接受公羊爬跨。母羊进入发情期,开始追逐公羊,时常用颈或躯体依傍公羊,发情强烈时愿意接受公羊爬跨。母羊进入发情后期,精神开始安静,食欲开始恢复。利用计算机视觉技术及时、准确地掌握复杂活动环境下母羊发情信息,使母羊在最佳受孕时间进行交配,可节约人工操作成本,提高母羊受孕率,缩短产犊间隔,最大程度提高羊场生产效益。
2、目前,对动物的发情行为检测方法主要基于视频帧检测爬跨行为,然而爬跨行为的出现标志着母羊已经进入发情期,此类方法不能及时发现处于发情前期的母羊并调整羊只以待交配。因此,识别复杂活动环境下母羊发情前期的摇尾行为十分必要。在群养环境中,群羊时常走动且活动范围大,母羊的尾巴短而小,提取摇尾行为的特征时还受到母羊整体运动的影响。因此,提出一种利用计算机视觉技术在群羊中定位所有羊只的尾部区域,同时根据定位结果在光流图上截取所有羊只的尾部光流图的方法十分重要,这是获取母羊尾部运动信息、检测母羊摇尾行为的基础。
技术实现思路
1、本发明旨在解决如何根据骨架关键点信息定位群羊尾部位置并截取尾部光流图这一问题,以实现在复杂养殖环境中定位群羊尾部位置,获得群羊尾部运动信息。
2、技术方案:
3、一种群养母羊尾部光流图自动提取方法,它包括以下步骤:
4、s1、于母羊集中发情月份在羊场采集多只母羊活动视频数据并对数据进行预处理,获得群羊图像数据集d;
5、s2、基于群羊图像数据集d构建群羊羊体骨架关键点检测模型;
6、s3、采集视频数据,使用群羊羊体骨架关键点检测模型获得每只羊的羊体目标框坐标信息和羊体骨架关键点坐标信息,根据此信息进行容差扩展,算得每只羊的尾部坐标信息;
7、s4、将视频rgb数据转换成光流数据,根据s3计算所得的尾部位置坐标信息在光流数据上截取尾部光流图。
8、优选的,s1具体包括:
9、s1-1、用摄像头以侧俯视视角采集羊圈中的群羊活动视频;
10、s1-2、对采集到的群羊视频进行分帧、筛选、滤波降噪、旋转翻转操作,构建群羊图像数据集d。
11、优选的,s2中所述群羊羊体骨架关键点检测模型采用yolov8-pose、deeppose、deeplabcut、rtmpose或hrnet算法构建。
12、作为一种实施方式,s2中所述群羊羊体骨架关键点检测模型的构建步骤具体包括:
13、s2-1、为得到羊的尾部图,确定所需提取的羊体骨架关键点,包括h、b、t1、t2共4个关键点,其中:h位于羊体头骨位置,b位于羊体胸椎与腰椎连接位置,t1位于羊体荐骨位置,t2位于羊体尾椎末端位置;
14、s2-2、将步骤s1获得的群羊图像数据集d按8:2的比例划分为训练集d_train和测试集d_test;
15、s2-3、对训练集d_train进行羊体目标框标注,在群羊图像中为每只羊绘制一个矩形边界框,类别为sheep,标记出羊的位置;
16、s2-4、对训练集d_train中每个羊体边界框内进行羊体骨架关键点标注,标记出羊体头骨位置h,羊体胸椎与腰椎连接位置b,羊体荐骨位置t1,羊体尾椎末端位置t2;
17、s2-5、训练集d_train中每个图像文件生成json文件,包含图像文件名、每只羊的目标框坐标位置、每只羊的目标框内各关键点的名称及坐标;
18、s2-6、选用yolov8-pose训练已标注好的训练集d_train,得到群羊羊体骨架关键点检测模型;
19、s2-7、将s2-2划分好的d_test输入到训练好的群羊羊体骨架关键点检测模型,评估此模型的性能指标。
20、优选的,s3具体包括:
21、s3-1、采集视频数据,使用群羊羊体骨架关键点检测模型获得每一帧每只羊的目标框坐标位置、每只羊的目标框内各关键点的名称及坐标;
22、s3-2、计算每帧每只羊目标框x和y方向上的偏移量;
23、s3-3、如果模型检测时,某一帧某只羊的目标框内羊体尾椎末端位置t2未被检测到,则记录为上一帧该只羊尾椎末端位置t2的坐标信息;
24、s3-4、对每一帧每只羊的羊体尾椎末端位置坐标点进行容差扩展,计算其尾部坐标信息:
25、(1)如果羊体尾椎末端靠近羊体目标框的左右上下边界框中的一条或两条,则在羊体尾椎末端的另外三个或两个方向进行容差扩展,在t2坐标点上增加x和y方向上的偏移量;
26、(2)如果羊体尾椎末端居于羊体目标框的中间,则羊体尾椎末端的四个方向进行容差扩展,在t2坐标点上增加x和y方向上的偏移量。
27、具体的,s3-2中计算第n帧第i只羊目标框的偏移量offset_xn,i和offset_yn,i,计算公式如下:
28、offset_xn,i=1/5(xn,i,2-xn,i,1)
29、offset_yn,i=1/5(yn,i,2-yn,i,1)
30、其中,(xn,i,1,yn,i,1)为第n帧第i只羊的目标框左上角坐标点,(xn,i,2,yn,i,2)为第n帧第i只羊的目标框右下角坐标点。
31、具体的,s3-4中,第i只羊的目标框内羊体尾椎末端位置t2坐标点记作(xn,i,3,yn,i,3),计算第n帧第i只羊的尾部坐标信息包括:
32、(1)如果|xn,i,3-xn,i,1|<offset_xn,i,且|yn,i,3-yn,i,1|<offset_yn,i,则第n帧第i只羊的尾部是由左上角坐标为(xn,i,1,yn,i,1)、右下角坐标为(xn,i,3+offset_xn,i,yn,i,3-offset_yn,i)所围矩形包含的区域;
33、(2)如果|xn,i,3-xn,i,1|<offset_xn,i,且|yn,i,3-yn,i,2|<offset_yn,i,则第n帧第i只羊的尾部是由左上角坐标为(xn,i,1,yn,i,3+offset_yn,i)、右下角坐标为(xn,i,3+offset_xn,i,yn,i,2)所围矩形包含的区域;
34、(3)如果|xn,i,3-xn,i,1|<offset_xn,i,|yn,i,3-yn,i,1|>offset_yn,i且|yn,i,3-yn,i,2|>offset_yn,i,则第n帧第i只羊的尾部是由左上角坐标为(xn,i,1,yn,i,3+offset_yn,i)、右下角坐标为(xn,i,3+offset_xn,i,yn,i,3-offset_yn,i)所围矩形包含的区域;
35、(4)如果|xn,i,3-xn,i,2|<offset_xn,i,且|yn,i,3-yn,i,1|<offset_yn,i,则第n帧第i只羊的尾部是由左上角坐标为(xn,i,2-offset_xn,i,yn,i,1)、右下角坐标为(xn,i,2,yn,i,3-offset_yn,i)所围矩形包含的区域;
36、(5)如果|xn,i,3-xn,i,2|<offset_xn,i,且|yn,i,3-yn,i,2|<offset_yn,i,则第n帧第i只羊的尾部是由左上角坐标为(xn,i,3-offset_xn,i,yn,i,3+offset_yn,i)、右下角坐标为(xn,i,2,yn,i,2)所围矩形包含的区域;
37、(6)如果|xn,i,3-xn,i,2|<offset_xn,i,|yn,i,3-yn,i,1|>offset_yn,i且|yn,i,3-yn,i,2|>offset_yn,i,则第n帧第i只羊的尾部是由左上角坐标为(xn,i,3-offset_xn,i,yn,i,3+offset_yn,i)、右下角坐标为(xn,i,2,yn,i,3-offset_yn,i)所围矩形包含的区域;
38、(7)如果|xn,i,3-xn,i,1|>offset_xn,i,|xn,i,3-xn,i,2|>offset_xn,i,|yn,i,3-yn,i,1|>offset_yn,i且|yn,i,3-yn,i,2|>offset_yn,i,则第n帧第i只羊的尾部是由左上角坐标为(xn,i,3-offset_xn,i,yn,i,3+offset_yn,i)、右下角坐标为(xn,i,3+offset_xn,i,yn,i,3-offset_yn,i)所围矩形包含的区域。
39、本发明的有益效果
40、本发明将关键点检测算法应用于群羊的尾部位置定位,实现了在复杂养殖环境下确定群羊尾部的位置信息,并在光流图中自动定位并截取群羊的尾部框图。本发明公开的技术便于后续在尾部光流图中提取尾部运功信息,为基于计算机视觉的群养环境下母羊摇尾行为识别提供了技术支持,可帮助养殖业快速、准确地掌握母羊的发情信息,在畜牧养殖智能化技术领域具有广泛的应用前景。
1.一种群养母羊尾部光流图自动提取方法,其特征在于它包括以下步骤:
2.根据权利要求1所述的方法,其特征在于s1具体包括:
3.根据权利要求1所述的方法,其特征在于s2中所述群羊羊体骨架关键点检测模型采用yolov8-pose、deeppose、deeplabcut、rtmpose或hrnet算法构建。
4.根据权利要求3所述的方法,其特征在于s2中所述群羊羊体骨架关键点检测模型的构建步骤具体包括:
5.根据权利要求1所述的方法,其特征在于s3具体包括:
6.根据权利要求1所述的方法,其特征在于s3-2中计算第n帧第i只羊目标框的偏移量offset_xn,i和offset_yn,i,计算公式如下:
7.根据权利要求1所述的方法,其特征在于s3-4中,第i只羊的目标框内羊体尾椎末端位置t2坐标点记作(xn,i,3,yn,i,3),计算第n帧第i只羊的尾部坐标信息包括: