CN115830490A - 一种群养生猪多目标跟踪及行为统计方法 - Google Patents
一种群养生猪多目标跟踪及行为统计方法 Download PDFInfo
- Publication number
- CN115830490A CN115830490A CN202211386127.2A CN202211386127A CN115830490A CN 115830490 A CN115830490 A CN 115830490A CN 202211386127 A CN202211386127 A CN 202211386127A CN 115830490 A CN115830490 A CN 115830490A
- Authority
- CN
- China
- Prior art keywords
- frame
- track
- model
- yolox
- detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种群养生猪多目标跟踪及行为统计方法,包括如下步骤:S1:建立群养生猪的视频数据集,构建YOLOX‑X模型,所述YOLOX‑X模型依次包括特征提取主干网络,中间多尺度特征融合网络,目标检测定位和行为识别网络三个部分;S2:构建YOLOX‑X+ByteTrack模型,所述YOLOX‑X+ByteTrack模型包括YOLOX‑X模型、卡尔曼滤波、IoU匹配算法、匈牙利匹配算法和轨迹的创建、删除和合并;S3:在YOLOX‑X+ByteTrack模型中设计猪只锚框和轨迹插值后处理策略,获得改进的YOLOX‑X+ByteTrack模型;S4:采用改进的YOLOX‑X+ByteTrack模型对群养生猪进行目标追踪和行为统计。本发明能够有效改进ID频繁错误变换,提升跟踪器的准确度,保持优秀的检测跟踪速度,生成每头猪只的行为与健康情况分析表,实现群养猪场的猪只多类行为的实时监控与快速准确跟踪。
Description
技术领域
本发明涉及农业计算机视觉的猪行为识别领域,尤其涉及一种群养生猪多目标跟踪及行为统计方法。
背景技术
畜牧业是中国国民经济的基础产业,其中,生猪养殖业是畜牧业的支柱产生,在国民经济中占据着举足轻重的地位。猪只的健康情况决定着生猪养殖业的发展与经济效益,多数生猪疾病的临床或亚临床体征表现之前常伴随行为异常,故对猪只的运动、饮食等行为的监测有助于判断猪只健康情况。目前,随着图像处理技术的发展,人工观察与计算机视觉融合监测是大型猪场的主要管理方式,其需要一定的劳动力,同时借助智能耳标(猪只身份识别),采用计算机辅助手段实现半自动化监测猪只行为状态。在真实养殖猪场中,由于光照变化与猪群的密集遮挡,容易造成目标漏检和误检,导致跟踪中猪只目标ID错误频繁跳变,降低跟踪性能。因此,为实现高效全自动监控猪只健康情况,开发稳定高效多目标跟踪技术,完成猪场猪只健康自动诊断和智能监测,对实现生猪智慧养殖具有重要意义。
在群养猪多目标跟踪方面,目前主要采用传统的目标检测和多目标跟踪方法。公开号CN113947617A公开一种基于长短记忆的哺乳仔猪多目标跟踪方法,利用神经网络对连续图像哺乳仔猪进行目标ID匹配获得跟踪结果,在固定场景下克服小猪运动不规律、身体形变较大、扎堆、难重新识别等困难,自动识别跟踪哺乳仔猪,解决猪场饲养环境下饲养员长时间巡查猪群疲惫造成判断不准确的问题。公开号CN113763429A公开一种基于视频的猪只行为识别系统及方法。首先,根据群养猪栏内猪只的视频图像信息,使用检测模型检测视频图像中猪只目标位置,用多目标跟踪算法对检测到的猪只目标进行跟踪。然后,利用关键点检测模型预测猪只行为类别。最后,根据预测的猪只行为类别进行记录与提示,极大地节省了人工劳动成本。公开号CN113486813A公开一种猪只重识别方法,基于深度学习建立猪只识别模型,并根据识别结果建立猪只档案表,根据猪只实时视频进行猪只重识别,获取重识别结果,并根据重识别结果更新猪只档案表,解决了现有技术存在的人力成本投入高、工作量大、效率低下、跟踪容易失效以及准确性低的问题。目前,在视频监控中,利用多目标跟踪技术,实现群养环境下猪个体的快速准确检测和各种行为识别的研究较少,因此,设计实现基于多目标跟踪的群养生猪行为识别模型,对大规模生猪养殖自动化具有重要的研究意义。
发明内容
本发明旨在至少在一定程度上解决相关技术中的问题之一。为此,本发明的目的在于提供一种群养生猪多目标跟踪及行为统计方法,能够有效改进ID频繁错误变换,提升跟踪器的准确度,保持优秀的检测跟踪速度,生成每头猪只的行为与健康情况分析表,实现群养猪场的猪只多类行为的实时监控与快速准确跟踪。
为了实现上述目的,本申请采用如下技术方案:一种群养生猪多目标跟踪及行为统计方法,包括如下步骤:
S1:建立群养生猪的视频数据集,构建YOLOX-X模型,所述YOLOX-X模型依次包括特征提取主干网络,中间多尺度特征融合网络,目标检测定位和行为识别网络三个部分;
S2:构建YOLOX-X+ByteTrack模型,所述YOLOX-X+ByteTrack模型包括YOLOX-X模型、卡尔曼滤波、IoU匹配算法、匈牙利匹配算法和轨迹的创建、删除和合并;
S3:在YOLOX-X+ByteTrack模型中设计猪只锚框和轨迹插值后处理策略,获得改进的YOLOX-X+ByteTrack模型;
S4:采用改进的YOLOX-X+ByteTrack模型对群养生猪进行目标追踪和行为统计。
进一步的,步骤S1中建立群养生猪的视频数据集包括:
S11:将所述视频数据集中猪的行为标注为躺卧、站立、饮食和其他四种类别;将所述视频数据集分为训练集和测试集。
进一步的,步骤S1中构建YOLOX-X模型具体包括:
S12:构建YOLOX-X模型的特征提取主干网络,所述特征提取主干网络由Focus网络组件和四个Dark网络块融合;
S13:构建中间多尺度特征融合网络,对特征提取主干网络,利用自顶向下的FPN层和自底向上的PAN层结构,融合不同尺寸特征图的语义信息和位置信息;
S14:构建目标检测定位和行为识别网络,实现多目标的检测与分类。
进一步的,步骤S2中构建YOLOX-X+ByteTrack模型具体包括:
S21:将YOLOX-X模型输出的目标检测结果分为高分检测框和低分检测框;
S22:构建卡尔曼滤波器,运用卡尔曼滤波预测每一帧图像的猪只检测框在下一帧图像中的位置;
S23:利用IoU匹配算法和匈牙利匹配算法对模型每一帧图像的猪只检测框与现有轨迹进行匹配,分配ID号;
S24:对模型中的轨迹进行创建、删除和合并。
进一步的,步骤S21中将YOLOX-X目标检测结果分为高分和低分检测框具体包括:
S211:将训练集中的图片输入到YOLOX-X模型中,得到不同置信度的检测框,同时设置检测框的高分框阈值和低分框阈值;
S212:检测结果中,检测框置信度值大于高分框阈值,将检测框放入高得分检测框集合;检测框置信度值小于高分框阈值,并且大于低分框阈值,则将检测框放入低得分检测框集合,并过滤掉背景。
进一步的,步骤S22具体包括:
S221:卡尔曼滤波预测:首先计算检测框和轨迹框的均值误差m,然后将协方差N映射到检测空间;m和N的计算公式分别为:
m=p-Hy,
N=HSHT+R,
其中,p为k+1帧检测到的检测框均值,H称为测量矩阵,y,S为第k帧轨迹框预测阶段的均值和协方差矩阵;R为检测器的噪声矩阵;其中,轨迹框指的是当前帧之前的检测框,即内部算法预测出来的检测框。
S222:计算卡尔曼增益K:其计算公式为:
K=SHTN-1,
S223:根据卡尔曼滤波增益K,进行均值和协方差的更新:其计算公式为:
xk+1=y+Km,
Sk+1=(I-KH)S,
其中,xk+1和Sk+1为第k+1帧轨迹框更新之后的均值和协方差状态矩阵,I为可变参数,本试验中I=1。
进一步的,步骤S23具体包括:
S231:首次IoU匹配:计算出高得分检测框集合与轨迹集合的IoU距离矩阵,其中IoU计算公式为:
其中,A和B分别表示高分框和预测轨迹框;
S232:第二次IoU匹配:对于成功匹配的轨迹,更新其卡尔曼滤波,并放入当前帧轨迹集合中;对未能够成功匹配的轨迹放入第一次关联未能匹配的轨迹集合Tremain中,未能够成功匹配的高得分检测框放入第一次关联未能匹配的检测框集合Dremain中;
S233:匈牙利匹配:计算低得分检测框与Tremain轨迹集合的IoU距离矩阵,用未能够成功匹配的轨迹放入丢失轨迹集合Tlost中,未能够成功匹配的低得分检测框直接删除;对于成功匹配的轨迹,更新其卡尔曼滤波,并放入当前帧轨迹集合中。
进一步的,步骤S24具体包括:
S241:轨迹创建:对于Dremain中的检测框,若置信度值大于跟踪得分阈值,则为其创建一个新的轨迹,并且合并入当前帧轨迹集合中,否则不做处理;
S242:轨迹删除:对于保留在Tlost里的轨迹,若超出预设帧数,则认为其为丢失轨迹并删除;
S243:轨迹合并:返回当前帧的所有轨迹集合,将其作为下一帧图像的已有轨迹集合,进行卡尔曼滤波预测下一帧轨迹,最后输出轨迹集合。
进一步的,步骤S3具体包括:
S31:在YOLOX-X+ByteTrack模型中,增加变量classes,且变量classes=4,分别表示猪只躺卧、站立、饮食和其他四种类别;
S32:针对猪只形状,设计检测框及其比例,确保符合猪只长宽大小;
S33:设计并实现BYTE数据关联的轨迹插值后处理策略:
假设轨迹T在t1帧和t2帧之间因遮挡处于丢失状态,若当前轨迹T恰好处于第t帧(t1<t<t2),此时轨迹T的插值框可以由以下公式计算得到:
式中,Bt表示第t帧的轨迹框坐标,,Bt1表示第t1帧的轨迹框坐标,Bt2表示第t2帧的轨迹框坐标。
进一步的,步骤S4具体包括:
S41:统计出群养猪视频中每头猪只个体的行为时间;具体包括:
S411:构建视频序列处理模型,以每a分钟时间段为采用频率,随机采取b分钟监控视频样本进行多目标跟踪;
S412:根据视频序列处理模型,统计出群养生猪视频中每头猪只的躺卧时间、饮食时间、站立时间和其他时间;通过利用每天的采样视频,统计出每头猪只24小时的各个行为时间,处理完所有视频段;
S42:根据设定的每种行为阈值,生成每天每头猪只的行为与健康情况分析。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本发明在基本的ByteTrack算法上进行改进,有效改进遮挡造成的ID错误变换,提升跟踪器的准确度,保持优秀的检测跟踪速度,实现实际养猪场的猪只多类行为的实时监控与快速准确跟踪。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
附图中:
图1为YOLOX-X模型的结构示意图;
图2为ByteTrack模型的结构示意图;
图3为YOLOX-X+ByteTrack模型的建立过程;
图4为YOLOX-X数据集的目录结构图;
图5为YOLOX-X+ByteTrack模型的其中一个识别结果;
图6为YOLOX-X+ByteTrack模型的另外一个识别结果;
图7为改进的YOLOX-X+ByteTrack模型的其中一个识别结果;
图8为改进的YOLOX-X+ByteTrack模型的另外一个识别结果;
图9为每天每头猪只行为统计分析流程图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。以下描述中,需要理解的是,“前”、“后”、“上”、“下”、“左”、“右”、“纵”、“横”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“头”、“尾”等指示的方位或位置关系为基于附图所示的方位或位置关系、以特定的方位构造和操作,仅是为了便于描述本技术方案,而不是指示所指的机构或元件必须具有特定的方位,因此不能理解为对本发明的限制。
还需要说明的是,除非另有明确的规定和限定,“安装”、“相连”、“连接”、“固定”、“设置”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。当一个元件被称为在另一元件“上”或“下”时,该元件能够“直接地”或“间接地”位于另一元件之上,或者也可能存在一个或更多个居间元件。术语“第一”、“第二”、“第三”等仅是为了便于描述本技术方案,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,由此,限定有“第一”、“第二”、“第三”等的特征可以明示或者隐含地包括一个或者更多个该特征。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、机构、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
实施例1
如附图1所示,一种群养生猪多目标跟踪及行为统计方法,包括如下步骤:
S1:基于群养生猪的视频数据集,构建YOLOX-X模型。YOLOX-X模型依次包括特征提取主干网络,中间多尺度特征融合网络,目标检测定位和行为识别网络三个部分。将猪的行为,分为躺卧、站立、饮食和其他四种类别;其中,基于群养生猪的视频数据集具体包括:
S11:采集自然场景下群养生猪的视频数据,其中,视频数据包括白天与夜间、猪只拥挤与稀疏、猪只活动频繁与较少三种场景下的群养生猪视频。并对视频数据集中的图像进行高斯噪声、高斯模糊、明度调节、饱和度调节和色调调整增强处理;S11具体包括:
S111:采集自然场景下群养生猪的视频数据,其中,视频数据包括白天与夜间、猪只拥挤与稀疏、猪只活动频繁与较少三种场景下的群养生猪视频;
S112:将获取的群养生猪视频切割为图像,对图像进行类别标注,形成所述视频数据集;
S113:将视频数据集划分为两类:训练集和测试集;其中,训练集用于建立模型,测试集测试建立的模型;
S114:对视频数据集中的图像进行高斯噪声、高斯模糊、明度调节、饱和度调节和色调调整,调整之后的图像并入视频数据集中。
S12:如图1所示,构建YOLOX-X模型的特征提取主干网络,其由Focus网络组件和四个Dark网络块融合;S12具体包括:
S121:将训练集中图像输入Focus网络,输入图像是尺寸为640×640像素大小,通道数为3的RGB图像,Focus网络通过切片(slice)操作得到四张互补的特征图,然后通过Concat拼接得到新的特征图;具体的,Focus网络对数据集进行特征提取过程中,将图片尺寸进行了缩小,输入通道进行了扩充,即原始图像尺寸为640×640像素大小,通道数为3,经过Focus网络结构则变成320×320像素大小,通道数为32的特征图;
S122:将特征图输入Dark2、Dark3、Dark4块网络结构,其中包括CBS深度学习网络结构、CSP深度学习网络结构。其中,CBS深度学习网络结构由卷积层(Conv)、批归一化层(BN)和激活函数层(SiLU)构成,CSP深度学习网络结构包含CSP1_x和CSP2_x,其中CSP1_x的x表示包含x个残差结构,CSP2_x的x表示包含x个CBS深度学习网络结构。如附图1所示,ResUnit表示残差结构,可以让网络构建的更深,add表示张量相加;CSP1_x由2个CBS深度学习网络结构融合x个残差结构(Res Unit)构成,CSP2_x由2个CBS深度学习网络结构融合x个CBS深度学习网络结构构成;
S123:将S212中生成的特征图输入Dark5块结构,其中的SPP深度学习网络结构采用CBS深度学习网络结构结合最大池化(Maxpool)方式,进行多尺度特征融合;具体的,对40×40×256的特征图使用一个1×1卷积将通道数减半,然后经过5×5,9×9和13×13三个不同尺寸大小的最大池化层操作,最后通过一个1×1卷积操作获得20×20×512的特征图。
S13:如图1所示,构建中间多尺度特征融合网络,对特征提取主干网络,利用自顶向下的FPN层和自底向上的PAN层结构(PAFPN),融合不同尺寸特征图的语义信息和位置信息;S13具体包括:
S131:基于主干网络的特征映射,FPN利用CBS深度学习网络结构结合上采样操作,将深层的语义特征和浅层位置特征进行融合,增强多尺度特征的语义能;
S132:基于多尺度语义特征,PAN把浅层的定位信息传导到深层,增强多尺度特征的定位能力,通过PAFPN网络,生成20×20×512、40×40×256、80×80×128三种特征图。
S14:如图1所示,构建目标检测定位和行为识别网络,实现多目标的检测与分类;S14具体包括:
S141:构建三个解耦(Decoupled Head)头部分支。首先用CBS深度学习网络结构对Dark3、Dark4和Dark5进行降维,然后分别通过两个分支,每个分支利用两个CBS深度学习网络结构,其中一个CBS深度学习网络结构通过一个卷积层和Sigmoid函数,另一个CBS深度学习网络结构通过两个分支,其中一个分支包含一个卷积层和Sigmoid函数,另一个分支包含一个卷积层,然后,将特征图在三个分支中进行Concat融合,通过三个解耦的三个分支分别构成20×20×9,40×40×9和80×80×9特征信息;
S142:每个解耦头包括多个CBS深度学习网络结构、卷积层和Sigmoid函数,三个解耦头分别经过Concat操作和Reshape操作,最后进行Concat融合,采用标签分配,将预测框和目标框相关联;
S143:头部类别损失和目标损失分别使用BCEWithLogitsLoss和GIoU_Loss计算。BCEWithLogitsLoss公式如下:
Loss(xi,yi)=-wi[yilog(sigmoid(xi))+(1-yi)log(1-sigmoid(xi))]
其中,xi表示预测值,yi表示真实值,wi为权重,i为标签类别。
GIoU_Loss函数如下:
S2:构建ByteTrack模型。所述ByteTrack模型包括卡尔曼滤波、IoU匹配算法、匈牙利匹配算法和轨迹的创建、删除和合并;模型如图2所示,首先将模型的目标检测结果分为高分检测框Dhigh和低分检测框Dlow,通过卡尔曼滤波预测当前对象在下一视频帧中的位置,然后利用匈牙利匹配算法对预测框和检测框进行匹配,最后是对匹配完毕后,得到新的一组轨迹并更新卡尔曼滤波的参数。更具体的,步骤S2具体为:
S21:将YOLOX-X目标检测结果分为高分检测框Dhigh和低分检测框Dlow;S21具体包括:
S211:将图片输入到YOLOX-X模型中,得到不同置信度的检测框,同时设置检测框的置信度阈值,即高分框阈值和低分框阈值。
S212:检测结果中,检测框置信度值大于高分框阈值,将检测框放入高得分检测框集合Dhigh中。检测框置信度值小于高分框阈值,并且大于低分框阈值,则将检测框放入低得分检测框集合Dlow中,并过滤掉背景。
S22:构建卡尔曼滤波器,运用卡尔曼滤波预测每一帧图像的猪只检测框在下一帧图像中的位置;S22具体包括:
S221:卡尔曼滤波预测:首先计算检测框和轨迹框的均值误差m,然后将协方差N映射到检测空间;m和N的计算公式分别为:
m=p-Hy,
N=HSHT+R,
其中,p为k+1帧检测到的检测框均值,H称为测量矩阵,y,S为第k帧轨迹框预测阶段的均值和协方差矩阵;R为检测器的噪声矩阵;
S222:计算卡尔曼增益K:其计算公式为:
K=SHTN-1,
S223:根据卡尔曼滤波增益K,进行均值和协方差的更新:其计算公式为:
xk+1=y+Km,
Sk+1=(I-KH)S,
其中,xk+1和Sk+1为第k+1帧轨迹框更新之后的均值和协方差状态矩阵,I为可变参数,本试验中I=1。
S23:利用IoU匹配算法和匈牙利匹配算法对模型每一帧图像的猪只检测框与现有轨迹进行匹配,分配ID号;S23具体包括:
S231:首次IoU匹配:计算出Dhigh高分框与轨迹集合的IoU距离矩阵,其中IoU计算公式为:
其中,A和B分别表示高分框和预测轨迹框;
S232:第二次IoU匹配:对于成功匹配的轨迹,更新其卡尔曼滤波,并放入当前帧轨迹集合中。对未能够成功匹配的轨迹放入Tremain(第一次关联未能匹配的轨迹集合)中,未能够成功匹配的高得分检测框放入Dremain(第一次关联未能匹配的检测框集合)中;
S233:匈牙利匹配:计算Dlow低分框与Tremain轨迹集合的IoU距离矩阵,用未能够成功匹配的轨迹放入Tlost(丢失轨迹集合)中,未能够成功匹配的低得分检测框直接删除,这个检测框被认为是背景框。对于成功匹配的轨迹,更新其卡尔曼滤波,并放入当前帧轨迹集合中。
S24:对模型中的轨迹进行创建、删除和合并;S24具体包括:
S241:轨迹创建:对于Dremain中的检测框,若置信度值大于跟踪得分阈值,则为其创建一个新的轨迹,并且合并入当前帧轨迹集合中,否则不做处理;
S242:轨迹删除:对于保留在Tlost里的轨迹,若超出30帧,则认为其为丢失轨迹并删除;
S243:轨迹合并:返回当前帧的所有轨迹集合,将其作为下一帧图像的已有轨迹集合,进行卡尔曼滤波预测下一帧轨迹,最后输出轨迹集合。
S3:构建改进的YOLOX-X+ByteTrack模型。改进的YOLOX-X+ByteTrack模型包括设计适合猪只锚框和轨迹插值后处理策略;S3具体包括:
S31:在YOLOX-X+ByteTrack模型中,增加变量classes,且变量classes=4,分别表示猪只躺卧、站立、饮食和其他四种类别;
S32:针对猪只形状,设计适合群养生猪的检测框,改进其比例,符合猪只长宽大小
S33:设计并实现BYTE数据关联的轨迹插值后处理策略,其工作原理为:假设轨迹T在t1帧和t2帧之间因遮挡处于丢失状态,若当前轨迹T恰好处于第t帧(t1<t<t2),此时轨迹T的插值框可以由以下公式计算得到:
式中,Bt表示第t帧的轨迹框坐标(包含四个值,分别是左上角的坐标x1,y1和右下角的坐标x2,y2),Bt1表示第t1帧的轨迹框坐标,Bt2表示第t2帧的轨迹框坐标。与此同时,需要设置一个超参数σ,表示执行插值的最大帧数间隔,这意味着只有当t2-t1<σ时才执行轨迹插值。
S4:构建统计分析模块,计算每栏每天每头猪只,四种不同行为的时间,并根据设定阈值,生成每头猪只的行为与健康情况分析表;S4具体包括:
S41:统计出群养猪视频中每头猪只个体的行为时间;S41具体包括:
S411:构建视频序列处理模型,以每10分钟时间段为采用频率,随机采取1分钟监控视频样本进行多目标跟踪,每小时采样6分钟;
S412:根据视频序列处理模型,统计出群养生猪视频中每头猪只的四种行为(躺卧时间、饮食时间、站立时间、其他时间)时间。通过利用每天的采样视频,统计出每头猪只24小时的各个行为时间,处理完所有视频段。
S42:根据设定的每种行为阈值,生成每天每头猪只的行为与健康情况分析。
S42具体包括:
S421:建立生猪每种行为时间阈值范围。依据猪只品种不同及其不同年龄段,设定猪只正常的躺卧时间在[14-20]小时间,饮食时间为[2-5]小时间,站立时间为[2-3]小时间,其他时间为[0-2]小时间;
S422:根据每头猪每天的行为活动时间统计数据,实现每天每头猪只的健康情况生成表。
实施例2
更具体的,在实施例1的基础上,视频数据集的形式数据集包含不同日龄、大小、数量和不同环境的猪只视频,每个视频段的分辨率为2688×1520,帧率5帧/秒。数据集均为俯拍视频片段,由于摄像头高度及其焦距的影响,不可避免拍摄到猪圈外的物品,因此,在试验中采用视频裁剪方法将视角固定为猪圈内,以减少外部环境的影响。
获得视频数据后,利用FFmpeg软件完成对视频段的剪辑,从中截取猪只稠密、稀疏、白天、黑夜的视频段,其中,根据观察,将猪只个数较多且猪只黏连遮挡情况较为严重的视频分为稠密视频,反之为稀疏视频。最终完成15个时长为1分钟,帧率为5帧/秒的小视频段。15个视频的环境如表1所示,这15个视频段中有5个视频的拍摄时间段为黑夜,10个视频的拍摄时间为白天,有4个视频的猪只数量少于10头,11个视频的猪只数量大于10头。这些视频段中都包含猪只的躺卧、饮食、站立或其它一系列行为,以满足实验要求。然后,利用DarkLabel软件对数据进行标注,当完成所有的数据标注后,分配11个视频段作为训练集,4个视频段分为测试集。
表1视频环境
在具体实施过程中,采用基于改进ByteTrack算法实现群养生猪行为识别和多目标跟踪。训练模型的软件环境包括:服务器的操作系统为64位Linux系统Ubuntu18.04,编程语言为Python3.7,深度学习框架为Pytorch1.9.1,CUDA版本11.1。CPU为12th Gen Intel(R)i9-12900KF,GPU为RTX 3090,内存为32G。
在具体实施过程中,基于改进ByteTrack算法的跟踪模型建立主要涉及数据集制作、构建检测模型、构建跟踪模型和模型优化四个步骤,如图3所示。首先对15个视频文件利用DarkLabel进行标注获取标注文件,然后利用Python脚本对标注文件进换为json格式,完成YOLOX-X的标注数据集,之后在检测网络训练过程中,将YOLOX-X数据集送入训练网络中得到检测模型的输出结果,最后对检测模型、改进ByteTrack跟踪模型及其组合完成最终优化。
数据集的目录结构如图4所示,在根目录下创建Dataset文件夹,分为Images、Datapath和Annotations三个文件夹,其中Datapath为数据集的映射文件,表示哪些图片是用来测试,哪些图片用来训练的,其包括图片相应的路径,Images和Annotations分别存放图片和对应的json标注文件,在这两个文件夹下再分成训练集和测试集。
实验中,改进的YOLOX-X+ByteTrack模型采用11个视频训练和4个视频测试。测试视频分别为0102、0402、0602和1502,其中0102的猪只数量少于10头且为白天环境,0402、0602和1502的猪只数量均多于10头,其中0402和0602为白天环境,1502为黑夜环境,将采用平均数比率(Identification F1,IDF1)、大多数跟踪(Mostly Tracked,MT)、误报数(FalsePositives,FP)、身份切换(ID Switch,IDs)、多目标跟踪精度(Multiple Object TrackingAccuracy,MOTA)和多目标跟踪准确度(Multiple Object Tracking Precision,MOTP)进行综合评价。其中,IDF1、IDs和MOTA重要地反映跟踪器的性能,IDF1和MOTA数值数值越高,性能越好,IDs值越小,性能越好。
YOLOX-X检测模型在测试集的结果如表2所示,其中测试图片为1200张,其中各类别的准确率均超过92%,召回率均超过88%,mAP均超过95%,F1均超过0.82。平均准确率达到94.2%,平均召回率达到89.7%,平均mAP达到96.9%,平均F1值达到0.88。可以发现,YOLOX-X检测模型的指标较好,能达到很好的猪只检测水平。
表2 YOLOX-X模型的检测结果
在具体实施过程中,设置轨迹分数阈值设为0.76,匹配阈值设为0.98,输入图像大小为1344×506,YOLOX-X+ByteTrack模型的测试结果如表3所示。该方法在MOTA和IDF1分别取得95.3%和93.9%,说明跟踪器对于猪舍场景中,对于群养生猪具有较好的效果。在IDs上,其值为13,说明模型能持续跟踪,性能稳定。综合其他指标结果,该跟踪器适用群养生猪环境下多目标跟踪。
表3 YOLOX-X+ByteTrack模型的测试结果
在具体实施过程中,改进ByteTrack模型的测试结果如表4所示。可以发现,0102、0402、0602这三个测试视频的IDF1值在92%至93%之间,说明三个视频对目标保持轨迹的时间良好,而1502测试视频的识别精确率、识别召回率和IDF1分数均达到98%以上,保持目标跟踪的时间更长。所有测试视频平均IDF1达到了94.5%,表明,整体上模型算法的轨迹跟踪性能较为优秀。在精确率Prcn与召回率Rcll方面,所有测试视频平均值分别为97.8%和98.0%,说明模型能够准确地识别出猪只目标。在MT和ML上,所有视频都达到最佳,表明所有轨迹都能在80%的时间以上被正确跟踪到,跟踪持续性没有过大的偏差。在IDs指标方面,四个视频的IDs总数只有9,而1502视频段的IDs为0,表明改进ByteTrack跟踪模型在密集和遮挡复杂环境下,能对目标持续跟踪,不存在丢失,跟踪性能稳定。同时,测试视频在MOTA指标的结果均在90%以上,平均达到95.8%,表明模型算法对检测目标的准确性和保持轨迹稳定性很好,在MOTP的结果平均在0.189,表明位置误差较小。综上所述,改进的多目标跟踪模型无论在识别目标的准确度,还是保持轨迹持续性和稳定性,都表现得十分出色。
表4改进的YOLOX-X+ByteTrack模型的测试结果
在具体实施过程中,YOLOX-X+ByteTrack模型的部分结果如图5-6所示;改进的YOLOX-X+ByteTrack模型的部分结果如图7-8所示。其中,图5和图7为视频段0102的第264帧图片,图6和图8为视频段0402的第117帧图片。附图5-8实验中,在测试阶段对ByteTrack进行多目标跟踪优化,将检测器中检测到的猪只行为标注为躺卧(lie)、站立(stand)、饮食(eat)和其他(other)类别信息加入跟踪器中,实现多行为类别的跟踪效果。图5和图7对比发现,发现当ID为4的猪只被ID为1的猪只遮挡时,经过改进的YOLOX-X+ByteTrack的轨迹插值处理之后,其跟踪结果仍然能保留ID为4,没有发生ID切换的情况。图6和图8对比发现,可以观察到经过改进的YOLOX-X+ByteTrack的轨迹插值处理之前ID为11的猪只被ID为15的猪只遮挡后轨迹框丢失,而插值处理后没有造成丢失的情况。
统计分析模块中生成每天每头猪只的行为时间,根据设定阈值,统计分析模块生成每个猪只的行为与健康情况分析,流程如图9所示。具体步骤如下:
(a)以每10分钟时间段为采用频率,随机采取1分钟监控视频样本进行多目标跟踪,将所有样本输入到视频序列处理模型中,并将猪只行为分为躺卧、饮食、站立、其他四类。
(b)单个采样视频处理结束得到每帧中每个猪只的行为时间,将其统计出采样视频中每头猪个体的行为时间。
(c)根据上一步中生成采样视频中每个猪只的行为时间,分别为躺卧时间、饮食时间、站立时间、其他时间,通过一天的采样视频统计出每头猪只24小时的各个行为时间,处理完所有视频段。
(d)将上一步生成的每头猪只24小时中各种行为的时间,根据设定的每种行为阈值,其阈值设置为:猪只正常的躺卧时间在[14-20]小时间,饮食时间为[2-5]小时间,站立时间为[2-3]小时间,其他时间为[0-2]小时间。生成每天每头猪只的行为与健康情况分析。
可以理解的,以上实施例仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,可以对上述技术特点进行自由组合,还可以做出若干变形和改进,这些都属于本发明的保护范围;因此,凡跟本发明权利要求范围所做的等同变换与修饰,均应属于本发明权利要求的涵盖范围。
Claims (10)
1.一种群养生猪多目标跟踪及行为统计方法,其特征在于,包括如下步骤:
S1:建立群养生猪的视频数据集,构建YOLOX-X模型,所述YOLOX-X模型依次包括特征提取主干网络,中间多尺度特征融合网络,目标检测定位和行为识别网络三个部分;
S2:构建YOLOX-X+ByteTrack模型,所述YOLOX-X+ByteTrack模型包括YOLOX-X模型、卡尔曼滤波、IoU匹配算法、匈牙利匹配算法和轨迹的创建、删除和合并;
S3:在YOLOX-X+ByteTrack模型中设计猪只锚框和轨迹插值后处理策略,获得改进的YOLOX-X+ByteTrack模型;
S4:采用改进的YOLOX-X+ByteTrack模型对群养生猪进行目标追踪和行为统计。
2.根据权利要求1所述的一种群养生猪多目标跟踪及行为统计方法,其特征在于,步骤S1中建立群养生猪的视频数据集包括:
S11:将所述视频数据集中猪的行为标注为躺卧、站立、饮食和其他四种类别;将所述视频数据集分为训练集和测试集。
3.根据权利要求1所述的一种群养生猪多目标跟踪及行为统计方法,其特征在于,步骤S1中构建YOLOX-X模型具体包括:
S12:构建YOLOX-X模型的特征提取主干网络,所述特征提取主干网络由Focus网络组件和四个Dark网络块融合;
S13:构建中间多尺度特征融合网络,对特征提取主干网络,利用自顶向下的FPN层和自底向上的PAN层结构,融合不同尺寸特征图的语义信息和位置信息;
S14:构建目标检测定位和行为识别网络,实现多目标的检测与分类。
4.根据权利要求1所述的一种群养生猪多目标跟踪及行为统计方法,其特征在于,步骤S2中构建YOLOX-X+ByteTrack模型具体包括:
S21:将YOLOX-X模型输出的目标检测结果分为高分检测框和低分检测框;
S22:构建卡尔曼滤波器,运用卡尔曼滤波预测每一帧图像的猪只检测框在下一帧图像中的位置;
S23:利用IoU匹配算法和匈牙利匹配算法对模型每一帧图像的猪只检测框与现有轨迹进行匹配,分配ID号;
S24:对模型中的轨迹进行创建、删除和合并。
5.根据权利要求4所述的一种群养生猪多目标跟踪及行为统计方法,其特征在于,步骤S21中将YOLOX-X目标检测结果分为高分和低分检测框具体包括:
S211:将训练集中的图片输入到YOLOX-X模型中,得到不同置信度的检测框,同时设置检测框的高分框阈值和低分框阈值;
S212:检测结果中,检测框置信度值大于高分框阈值,将检测框放入高得分检测框集合;检测框置信度值小于高分框阈值,并且大于低分框阈值,则将检测框放入低得分检测框集合,并过滤掉背景。
6.根据权利要求4所述的一种群养生猪多目标跟踪及行为统计方法,其特征在于,步骤S22具体包括:
S221:卡尔曼滤波预测:首先计算检测框和轨迹框的均值误差m,然后将协方差N映射到检测空间;m和N的计算公式分别为:
m=p-Hy,
N=HSHT+R,
其中,p为k+1帧检测到的检测框均值,H称为测量矩阵,y,S为第k帧轨迹框预测阶段的均值和协方差矩阵;R为检测器的噪声矩阵;
S222:计算卡尔曼增益K:其计算公式为:
K=SHTN-1,
S223:根据卡尔曼滤波增益K,进行均值和协方差的更新:其计算公式为:
xk+1=y+Km,
Sk+1=(I-KH)S,
其中,xk+1和Sk+1为第k+1帧轨迹框更新之后的均值和协方差状态矩阵,I为可变参数,本试验中I=1。
7.根据权利要求4所述的一种群养生猪多目标跟踪及行为统计方法,其特征在于,步骤S23具体包括:
S231:首次IoU匹配:计算出高得分检测框集合与轨迹集合的IoU距离矩阵,其中IoU计算公式为:
其中,A和B分别表示高分框和预测轨迹框;
S232:第二次IoU匹配:对于成功匹配的轨迹,更新其卡尔曼滤波,并放入当前帧轨迹集合中;对未能够成功匹配的轨迹放入第一次关联未能匹配的轨迹集合Tremain中,未能够成功匹配的高得分检测框放入第一次关联未能匹配的检测框集合Dremain中;
S233:匈牙利匹配:计算低得分检测框与Tremain轨迹集合的IoU距离矩阵,用未能够成功匹配的轨迹放入丢失轨迹集合Tlost中,未能够成功匹配的低得分检测框直接删除;对于成功匹配的轨迹,更新其卡尔曼滤波,并放入当前帧轨迹集合中。
8.根据权利要求4所述的一种群养生猪多目标跟踪及行为统计方法,其特征在于,步骤S24具体包括:
S241:轨迹创建:对于Dremain中的检测框,若置信度值大于跟踪得分阈值,则为其创建一个新的轨迹,并且合并入当前帧轨迹集合中,否则不做处理;
S242:轨迹删除:对于保留在Tlost里的轨迹,若超出预设帧数,则认为其为丢失轨迹并删除;
S243:轨迹合并:返回当前帧的所有轨迹集合,将其作为下一帧图像的已有轨迹集合,进行卡尔曼滤波预测下一帧轨迹,最后输出轨迹集合。
9.根据权利要求4所述的一种群养生猪多目标跟踪及行为统计方法,其特征在于,步骤S3具体包括:
S31:在YOLOX-X+ByteTrack模型中,增加变量classes,且变量classes=4,分别表示猪只躺卧、站立、饮食和其他四种类别;
S32:针对猪只形状,设计检测框及其比例,确保符合猪只长宽大小;
S33:设计并实现BYTE数据关联的轨迹插值后处理策略:
假设轨迹T在t1帧和t2帧之间因遮挡处于丢失状态,若当前轨迹T恰好处于第t帧(t1<t<t2),此时轨迹T的插值框可以由以下公式计算得到:
式中,Bt表示第t帧的轨迹框坐标,,Bt1表示第t1帧的轨迹框坐标,Bt2表示第t2帧的轨迹框坐标。
10.根据权利要求1所述的一种群养生猪多目标跟踪及行为统计方法,其特征在于,步骤S4具体包括:
S41:统计出群养猪视频中每头猪只个体的行为时间;具体包括:
S411:构建视频序列处理模型,以每a分钟时间段为采用频率,随机采取b分钟监控视频样本进行多目标跟踪;
S412:根据视频序列处理模型,统计出群养生猪视频中每头猪只的躺卧时间、饮食时间、站立时间和其他时间;通过利用每天的采样视频,统计出每头猪只24小时的各个行为时间,处理完所有视频段;
S42:根据设定的每种行为阈值,生成每天每头猪只的行为与健康情况分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211386127.2A CN115830490A (zh) | 2022-11-07 | 2022-11-07 | 一种群养生猪多目标跟踪及行为统计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211386127.2A CN115830490A (zh) | 2022-11-07 | 2022-11-07 | 一种群养生猪多目标跟踪及行为统计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115830490A true CN115830490A (zh) | 2023-03-21 |
Family
ID=85526921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211386127.2A Pending CN115830490A (zh) | 2022-11-07 | 2022-11-07 | 一种群养生猪多目标跟踪及行为统计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115830490A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703983A (zh) * | 2023-06-14 | 2023-09-05 | 石家庄铁道大学 | 联合遮挡目标检测及目标跟踪方法 |
CN117079195A (zh) * | 2023-10-13 | 2023-11-17 | 中国科学技术大学 | 一种基于图像视频的野生动物识别方法和系统 |
CN117611380A (zh) * | 2024-01-24 | 2024-02-27 | 中国水产科学研究院黄海水产研究所 | 一种鱼类疾病预警方法及系统 |
CN117726296A (zh) * | 2023-12-21 | 2024-03-19 | 岭南现代农业科学与技术广东省实验室河源分中心 | 一种基于ai视频处理的智慧农业管理系统及方法 |
CN118397566A (zh) * | 2024-06-24 | 2024-07-26 | 湘江实验室 | 基于时间维度的生猪异常行为监测方法 |
-
2022
- 2022-11-07 CN CN202211386127.2A patent/CN115830490A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703983A (zh) * | 2023-06-14 | 2023-09-05 | 石家庄铁道大学 | 联合遮挡目标检测及目标跟踪方法 |
CN116703983B (zh) * | 2023-06-14 | 2023-12-19 | 石家庄铁道大学 | 联合遮挡目标检测及目标跟踪方法 |
CN117079195A (zh) * | 2023-10-13 | 2023-11-17 | 中国科学技术大学 | 一种基于图像视频的野生动物识别方法和系统 |
CN117079195B (zh) * | 2023-10-13 | 2024-02-23 | 中国科学技术大学 | 一种基于图像视频的野生动物识别方法和系统 |
CN117726296A (zh) * | 2023-12-21 | 2024-03-19 | 岭南现代农业科学与技术广东省实验室河源分中心 | 一种基于ai视频处理的智慧农业管理系统及方法 |
CN117726296B (zh) * | 2023-12-21 | 2024-05-24 | 岭南现代农业科学与技术广东省实验室河源分中心 | 一种基于ai视频处理的智慧农业管理系统及方法 |
CN117611380A (zh) * | 2024-01-24 | 2024-02-27 | 中国水产科学研究院黄海水产研究所 | 一种鱼类疾病预警方法及系统 |
CN118397566A (zh) * | 2024-06-24 | 2024-07-26 | 湘江实验室 | 基于时间维度的生猪异常行为监测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115830490A (zh) | 一种群养生猪多目标跟踪及行为统计方法 | |
CN110147771B (zh) | 基于母猪关键部位与环境联合分区的母猪侧卧姿态实时检测系统 | |
Guzhva et al. | Feasibility study for the implementation of an automatic system for the detection of social interactions in the waiting area of automatic milking stations by using a video surveillance system | |
Wang et al. | Towards re-identification for long-term tracking of group housed pigs | |
CN115223191A (zh) | 一种群养生猪行为的识别和跟踪方法 | |
CN115830078A (zh) | 生猪多目标跟踪及行为识别方法、计算机设备与存储介质 | |
CN112883915A (zh) | 一种基于迁移学习的麦穗自动识别方法和系统 | |
Li et al. | Y-BGD: Broiler counting based on multi-object tracking | |
Rodriguez et al. | Automated video monitoring of unmarked and marked honey bees at the hive entrance | |
Chae et al. | Identifying the mating posture of cattle using deep learning-based object detection with networks of various settings | |
Guo et al. | Video-based detection and tracking with improved re-identification association for pigs and laying hens in farms | |
Wang et al. | Automatic identification and analysis of multi-object cattle rumination based on computer vision | |
Wu et al. | Super-resolution fusion optimization for poultry detection: a multi-object chicken detection method | |
Xingshi et al. | Light-weight recognition network for dairy cows based on the fusion of YOLOv5s and channel pruning algorithm. | |
Nasiri et al. | An automated video action recognition-based system for drinking time estimation of individual broilers | |
Avanzato et al. | Dairy cow behavior recognition using computer vision techniques and CNN networks | |
CN113627255B (zh) | 一种小鼠行为量化分析方法、装置、设备及可读存储介质 | |
CN109002791B (zh) | 一种基于视频自动跟踪奶牛反刍行为的系统及方法 | |
TW202309776A (zh) | 智慧養殖魚隻數量估算方法及系統 | |
Peixoto et al. | Mice tracking using the YOLO algorithm | |
Han et al. | Social Behavior Atlas: A computational framework for tracking and mapping 3D close interactions of free-moving animals | |
Myint et al. | Development of a real-time cattle lameness detection system using a single side-view camera | |
CN116168332B (zh) | 跛行检测方法、设备及存储介质 | |
Geng et al. | Motion focus global–local network: Combining attention mechanism with micro action features for cow behavior recognition | |
Saenong et al. | Identification of Poultry Reproductive Behavior Using Faster R-CNN with MobileNet V3 Architecture in Traditional Cage Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |