基于改进yolox与deepsort的鱼群跟踪方法
技术领域
1.本发明涉及目标识别与多目标跟踪的技术领域,尤其是指一种基于改进yolox与deepsort的鱼群跟踪方法。
背景技术:2.鱼类行为学是一种基础性研究,其行为特征对鱼类的繁育、养殖、环境监测等有着重要的指示作用。其中游泳行为是鱼类行为学研究一项重要内容,同时也是鱼类在水体中重要的生命活动之一,对鱼类的洄游、索饵、繁殖及逃避敌害等均具有重要生物学意义(钟金鑫等,2013),同时鱼类游泳习性对其养殖模式和养殖设施规格的选择具有重要指导意义。而目前,研究游泳行为主要依靠人工统计为主,由于鱼群游动速度快且鱼群间会出现遮挡现象会对人工统计有很大干扰,费时费力,导致人工统计效率低、准确率不高;并且人工观察并不能精准地量化鱼的游泳速度等行为参数,也会一定程度会干扰鱼的行为,导致统计结果存在较大误差。
3.目前在鱼群跟踪方法中,公开号cn106529434a专利基于视觉注意力模型进行鱼群个体目标跟踪。公开号cn103955688a专利通过极值检测和局部区域椭圆拟合对鱼头区域进行定位和相关参数估算,然后结合卡尔曼预测和特征匹配对鱼群进行跟踪。
4.在实验室环境中,空间较小,鱼群会存在集群行为,鱼群间容易发生遮挡,导致在跟踪过程中存在目标id大量互换的情况,而且现有的方法比较依赖阈值分割等传统方法,跟踪精度并不高,因此针对跟踪鱼群遇到的问题,deepsort的跟踪算法基础上设计了一种基于改进yolox与deepsort的鱼群跟踪方法,提出了公平匹配及自适应特征更新策略,提高了在实验室环境中鱼群的跟踪精度。
技术实现要素:5.本发明的目的在于减轻研究员的劳动强度,精准地量化鱼群的行为参数,提出了一种基于改进yolox与deepsort的鱼群跟踪方法,其考虑了俯拍时鱼群集群行为带来的遮挡问题,对遮挡的情况在yolox模型采用soft-nms方法提高遮挡场景下的召回率;并在deepsort目标匹配时采取公平匹配策略替代级联匹配,忽略取决于遮挡时间长短的轨迹优先级匹配,使得在固定数量的场景下轨迹与目标同一优先级公平匹配;在更新阶段采取自适应特征更新策略对轨迹特征集选择性更新,保证特征集中特征的独立性,既提高了遮挡情况下id的准确率,又减少了跟踪的idswitch。
6.为实现上述目的,本发明所提供的技术方案为:基于改进yolox与deepsort的鱼群跟踪方法,包括以下步骤:
7.s1、获取视频数据,并使用阈值分割的方法进行辅助标注得到训练的数据集;
8.s2、对数据集进行数据增强,并训练yolox模型、判断遮挡的二分类模型cnn
occ
与reid模型,同时将yolox模型的推理阶段改为soft-nms;
9.s3、根据限定的鱼群数量初始化特征集,利用deepsort来保存外观特征与位置信
息;将yolox模型的检测结果送入deepsort进行两阶段的目标匹配,第一阶段是采用了公平匹配策略的外观特征匹配,第二阶段是iou匹配,其中,所述公平匹配策略的外观特征匹配是由reid模型提取外观特征后将特征与特征集所保存的外观特征进行同一优先级匹配;经过两阶段的目标匹配后输出当前帧的跟踪结果,并在更新阶段中采取自适应更新特征集策略更新目标特征集,其中,所述自适应更新特征集策略是利用cnn
occ
判断目标是否存在遮挡现象并选择是否更新至特征集上。
10.进一步,所述步骤s1具体步骤如下:
11.s11、使用一个能够容纳实验箱的大纸皮箱,实验箱上方架设横杠供摄像头以俯拍视角拍摄实验箱中鱼群,为了提供稳定均匀的光源,需要在摄像头上方架设led白光灯,并在led白光灯与摄像头之间放入柔光纸发散光线;
12.s12、借助海康威视摄像头获取俯拍实验箱的视频,采集的数据包括全天24小时的鱼群活动视频数据;
13.s13、在视频数据中随机裁剪视频片段构建数据集;
14.s14、对于数据集中图像,使用二值化阈值分割算法将鱼群与背景分割后得到二值化矩阵,利用opencv开源计算机开源视觉库中计算二值化矩阵的连通域算法得到连通域,其中连通域即为一片连通的区域;将连通域的外接矩形作为鱼的包围框,最后保存成yolo格式,并使用labelimg标注工具对鱼群交叉这难分割开的数据进行人工纠正。
15.进一步,在步骤s2中,所述yolox模型是选用anchor-free的目标检测算法yolox作为鱼类的检测模型,采用学习率warmup策略和mosaic、mixup数据增强的方法提高模型的精度,并使用soft-nms替换掉nms,以提高遮挡情况下模型的召回率;所述判断遮挡的分类模型cnn
occ
使用resnet-18作为基础网络,并使用copy-paste的数据增强方法增加遮挡的样本数;所述reid模型以resnet-18作为基础网络,使用旋转、翻折的数据增强提高模型的精度。
16.进一步,在步骤s3中,假定在实验箱中有n条鱼,限制deepsort最多只能存在n条轨迹,在目标匹配的第一阶段,将级联匹配替换为公平匹配策略,即reid模型会提取当前帧b个目标的外观特征向量,将n条轨迹的特征集与b个外观特征向量进行余弦距离计算,得到n*b代价矩阵后进行匈牙利算法分配目标与对应的轨迹;在目标匹配的第二阶段,对第一阶段没匹配成功的轨迹与目标进行iou匹配,对b个目标与上一帧所保存的位置信息计算iou矩阵,再使用匈牙利算法对iou矩阵进行目标分配;
17.在目标更新阶段,设置一个阈值参数t,计算检测框两两间的iou得到矩阵m
iou
,在m
iou
找出iou》t的检测框,利用cnn
occ
判断检测框内是否存在遮挡,若不存在,则令其特征更新至轨迹特征集上,反之,则舍弃。
18.本发明与现有技术相比,具有如下优点与有益效果:
19.1、本发明利用机器学习的方法实现鱼群多目标跟踪,克服传统人工监测方式耗时、耗力的缺点。
20.2、本发明通过计算鱼群跟踪轨迹对游泳行为等进行量化,可以获取高精度的行为信息并为科研人员提供理论数据支撑。
21.3、本发明提出了利用阈值分割辅助标注的方法进行数据标注,大大地减少了标注的工作量,节省时间。
22.4、本发明提出了将改进yolox与deepsort结合起来的多目标跟踪框架,用以针对
固定目标数量的场景下提高了跟踪精度,该框架具有通用性,可用于不同鱼群自动跟踪。
23.5、本发明提出了在目标更新的阶段,利用cnn
occ
判断鱼群遮挡的方法以保持目标更新的外观特征集的独立性,大幅降低了id交换频率与次数,为探索鱼群的高精度多目标跟踪及其精准量化行为方法提供了新思路。
附图说明
24.图1为本发明方法逻辑流程示意图。
25.图2为本发明制作数据集流程图。
26.图3为本发明算法设计图。
27.图4是改进前与改进后视频帧的结果对比图。
具体实施方式
28.下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
29.参见图1所示,本实施例提供了一种基于改进yolox与deepsort的鱼群跟踪方法,该方法可解决鱼群聚集时给跟踪带来的困难,以实现鱼群多目标跟踪高精度跟踪,减轻研究员的劳动强度,精准地量化鱼群的行为参数。该方法基于ubuntu16.04操作系统开发,在pytorch深度学习框架平台使用nvidia geforce rtx 980ti gpu对模型进行训练与测试,其具体实现步骤如下:
30.s1、架设拍摄环境和设备,采集鱼群实验期间的片段,包括以下步骤:
31.s11、使用一个可以容纳实验箱的大纸皮箱,实验箱上方架设横杠供摄像头以俯拍视角拍摄实验箱中鱼群;为了提供稳定均匀的光源,需要在摄像头上方架设led白光灯,并在led白光灯与摄像头之间放入柔光纸发散光线;
32.s12、分六组实验同时进行,采用海康威视摄像头在同一高度对实验箱进行俯拍,分别获取六组包含了四条不同食性的实验鱼的视频,视频帧分辨率为1920*1080像素,帧率为25帧/秒。
33.s2、使用阈值分割算法辅助标注鱼体,制作数据集,具体如下:
34.s21、将视频随机裁剪选取20个片段,其中选取13个片段,每段15秒,作为测试集,其余作为模型的训练集;
35.s22、使用二值化阈值分割算法将鱼群与背景分割后得到二值化矩阵,见图2中a所示,利用opencv开源计算机开源视觉库中计算二值化矩阵的连通域算法得到连通域,见图2中b所示,连通域即为一片连通的区域;将连通域的外接矩形作为鱼的包围框,见图2中c所示,最后保存成yolo格式,并使用labelimg标注工具对鱼群交叉等较难分割开的数据进行人工纠正。
36.s23、使用copy-paste进行数据扩增,将s22中阈值分割后的图像中随机选取一条鱼的掩膜,经过随机旋转、翻折后粘贴到另一条鱼上,达到增加交叉遮挡复杂样本的目的。
37.s3、训练yolox模型、判断遮挡的二分类模型cnn
occ
与reid模型,同时将yolox模型的推理阶段改为soft-nms,具体如下:
38.本方法在ubuntu16.04操作系统下,基于nvidia gtx 980ti的gpu硬件平台上搭建
pytorch深度学习框架训练yolox模型、cnn
occ
、reid模型;
39.a、cnn
occ
使用resnet-18作为基础网络,在已标注的包围框中筛选裁剪出存在iou的包围框图像,再通过人工判断包围框内图像是否遮挡情况,遮挡情况则标记该图像为“1”,否则标记为“0”。
40.b、yolox模型训练
41.为了平衡速度与精度,选用anchor-free的目标检测算法yolox作为鱼类的检测模型,并在训练阶段使用mixup、mosaic等数据增强方法,模型训练200个epoch。
42.在遮挡情况下,检测框有大部分的重叠,使用非极大抑制(nms)会将检测框重叠大于重叠阈值k的检测框抑制,导致了遮挡情况下检测框重叠度高的鱼漏检,为了提高检测的召回率,提高跟踪精度,在yolox模型推理阶段将nms替换成soft-nms,soft-nms会在非极大抑制的同时考虑得分和边框之间的重合程度,提高遮挡情况下模型的召回率。其中边框重叠度iou、soft-nms计算公式如下:
[0043][0044][0045]
其中,b
p
与bq表示包围框p、q的面积,si表示第i个检测框置信度得分,k表示设置的重叠阈值。
[0046]
c、reid模型训练
[0047]
以resnet-18作为基础网络训练,使用旋转、翻折等数据增强提高模型的精度。
[0048]
s4、根据限定的鱼群数量初始化特征集,利用deepsort来保存外观特征与位置信息;如图3所示,将yolox模型的检测结果送入deepsort进行两阶段的目标匹配,第一阶段是采用了公平匹配策略的外观特征匹配,第二阶段是iou匹配,其中,所述公平匹配策略的外观特征匹配是由reid模型提取外观特征后将特征与特征集所保存的外观特征进行同一优先级匹配;经过两阶段的目标匹配后输出当前帧的跟踪结果,并在更新阶段中采取自适应更新特征集策略更新目标特征集,其中,所述自适应更新特征集策略是利用cnn
occ
判断目标是否存在遮挡现象并选择是否更新至特征集上。
[0049]
在实验室环境中,鱼群数量是已知且可控的变量,可作为先验条件;假定在实验箱中有n条鱼,限制deepsort最多只能存在n条轨迹,在目标匹配的第一阶段,将级联匹配替换为公平匹配策略,即reid模型会提取当前帧b个目标的外观特征向量,将n条轨迹的特征集与b个外观特征向量进行余弦距离计算,得到n*b代价矩阵后进行匈牙利算法分配目标与对应的轨迹;在目标匹配的第二阶段,对第一阶段没匹配成功的轨迹与目标进行iou匹配,对b个目标与上一帧所保存的位置信息计算iou矩阵,再使用匈牙利算法对iou矩阵进行目标分配。
[0050]
由于鱼群会出现交叉交叠等遮挡场景,在遮挡场景下目标更新会出现两条或多条鱼的外观特征,当更新其外观特征会使得破坏了轨迹中的特征集独立性,导致后续会在目标匹配阶段造成目标匹配时计算相似度矩阵带来干扰;考虑到这种情况下采用自适应更新特征集策略:在目标更新阶段,设置一个阈值参数t,计算检测框两两间的iou得到矩阵m
iou
,
在m
iou
找出iou》t的检测框,利用cnn
occ
判断检测框内是否存在遮挡,若不存在,则令其特征更新至轨迹特征集上,反之,则舍弃。
[0051]
步骤s4的具体步骤过程如下:
[0052]
s41、采取公平匹配策略进行目标匹配,首先需要进行人工观察获取鱼群数量n,限定deepsort存在n组track进行目标匹配。将每帧检测结果与n组track进行目标匹配,该匹配过程是使用reid模型提取当前每一个检测框的外观外观特征向量,与这n组track所保存的特征集计算外观外观特征向量的余弦距离最小值得到外观特征矩阵cos_cost_matrix,其中余弦距离是一种用来衡量不同个体间的相似程度的相似度计算方法,余弦距离越小表示两者间越相似。其中余弦距离计算公式如下:
[0053][0054]
式中,a,b表示两个体间外观特征向量,θ为余弦角度。
[0055]
在cos_cost_matrix中,进行运动信息的筛选,对于每个track,利用卡尔曼滤波器根据上一帧跟踪框信息预测当前帧的跟踪框与当前帧的检测框计算两者间马氏距离,对于马氏距离超于设定阈值则将cos_cost_matrix对应元素置为无穷大,最终经过运动信息筛选后得到cost_matrix。cost_matrix作为匈牙利算法的输入,得到track和检测目标结果的匹配结果。
[0056]
s42、对于上一步没有匹配成功的track和检测结果通过计算预测框与检测框位置信息计算iou矩阵,对于iou矩阵中元素大于设置的阈值时,对应位置的iou矩阵的元素也置为无穷大后,再次进行匈牙利算法匹配。
[0057]
s43、将s41、s42的结果相加得到最后目标匹配结果。
[0058]
s44、根据iou矩阵和判断遮挡的二分类模型cnn
occ
的自适应目标更新策略对每个track的特征集进行更新,具体方式如下:在iou矩阵中筛选出iou》t的两两检测框,将检测框内的图像输入到判断遮挡的二分类模型cnn
occ
中,模型输出判断是否有遮挡情况,判断为有遮挡则不更新其外观特征,若判断为无遮挡,更新其外观特征至对应的track的特征集。
[0059]
s45、循环上述s41-s44,直到视频最后一帧。
[0060]
改进对比如图4所示,图4中a、c左上角表示跟踪过程中的两帧间的遮挡情况,如图4中b所示,在遮挡后会发生idswitch的情况;本发明在遮挡情况下可以保证track特征集的独立性,提高个体跟踪精度,如图4中d所示,本发明能很好地解决粘连遮挡后idswitch问题。因此,本发明可以保证每条鱼id准确稳定地进行跟踪。
[0061]
下面详细说明本发明上述鱼群跟踪方法的实验结果:
[0062]
本发明采用常用的4个评价指标对测试集的检测结果进行统计,分别为准确率p(precision)、召回率r(recall)、身份识别f1值idf1(identification f1-score)、多目标跟踪准确率mota(multiple object tracking accuracy),其公式定义如公式(1)-(4)所示:
[0063][0064]
[0065][0066][0067]
式中,tp(true positive)为图像中目标被模型预测为正的正样本个数,fp(false positive)为图像中目标被模型预测为正的负样本个数,fn(false negative)为图像中目标被模型预测为正的负样本个数,idtp为跟踪框中真正的id数,idfn为跟踪框中假负的id数,idfp为跟踪框中假正的id数。
[0068]
采用上述公式对测试集进行计算,统计结果如表1所示。
[0069]
基准的deepsort方法和本发明提出的方法对比结果如下表1所示,相比基准的deepsort方法,本发明提出的方法检测效果更好,跟踪准确率更高。
[0070]
表1结果对比
[0071]
方法precisionrecall
↑
idf1↑
mota
↑
基准的deepsort99.899.293.398.8本发明99.899.799.599.3
[0072]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
技术特征:1.基于改进yolox与deepsort的鱼群跟踪方法,其特征在于,包括以下步骤:s1、获取视频数据,并使用阈值分割的方法进行辅助标注得到训练的数据集;s2、对数据集进行数据增强,并训练yolox模型、判断遮挡的二分类模型cnn
occ
与reid模型,同时将yolox模型的推理阶段改为soft-nms;s3、根据限定的鱼群数量初始化特征集,利用deepsort来保存外观特征与位置信息;将yolox模型的检测结果送入deepsort进行两阶段的目标匹配,第一阶段是采用了公平匹配策略的外观特征匹配,第二阶段是iou匹配,其中,所述公平匹配策略的外观特征匹配是由reid模型提取外观特征后将特征与特征集所保存的外观特征进行同一优先级匹配;经过两阶段的目标匹配后输出当前帧的跟踪结果,并在更新阶段中采取自适应更新特征集策略更新目标特征集,其中,所述自适应更新特征集策略是利用cnn
occ
判断目标是否存在遮挡现象并选择是否更新至特征集上。2.根据权利要求1所述的基于改进yolox与deepsort的鱼群跟踪方法,其特征在于,所述步骤s1具体步骤如下:s11、使用一个能够容纳实验箱的大纸皮箱,实验箱上方架设横杠供摄像头以俯拍视角拍摄实验箱中鱼群,为了提供稳定均匀的光源,需要在摄像头上方架设led白光灯,并在led白光灯与摄像头之间放入柔光纸发散光线;s12、借助海康威视摄像头获取俯拍实验箱的视频,采集的数据包括全天24小时的鱼群活动视频数据;s13、在视频数据中随机裁剪视频片段构建数据集;s14、对于数据集中图像,使用二值化阈值分割算法将鱼群与背景分割后得到二值化矩阵,利用opencv开源计算机开源视觉库中计算二值化矩阵的连通域算法得到连通域,其中连通域即为一片连通的区域;将连通域的外接矩形作为鱼的包围框,最后保存成yolo格式,并使用labelimg标注工具对鱼群交叉这难分割开的数据进行人工纠正。3.根据权利要求1所述的基于改进yolox与deepsort的鱼群跟踪方法,其特征在于,在步骤s2中,所述yolox模型是选用anchor-free的目标检测算法yolox作为鱼类的检测模型,采用学习率warmup策略和mosaic、mixup数据增强的方法提高模型的精度,并使用soft-nms替换掉nms,以提高遮挡情况下模型的召回率;所述判断遮挡的分类模型cnn
occ
使用resnet-18作为基础网络,并使用copy-paste的数据增强方法增加遮挡的样本数;所述reid模型以resnet-18作为基础网络,使用旋转、翻折的数据增强提高模型的精度。4.根据权利要求1所述的基于改进yolox与deepsort的鱼群跟踪方法,其特征在于,在步骤s3中,假定在实验箱中有n条鱼,限制deepsort最多只能存在n条轨迹,在目标匹配的第一阶段,将级联匹配替换为公平匹配策略,即reid模型会提取当前帧b个目标的外观特征向量,将n条轨迹的特征集与b个外观特征向量进行余弦距离计算,得到n*b代价矩阵后进行匈牙利算法分配目标与对应的轨迹;在目标匹配的第二阶段,对第一阶段没匹配成功的轨迹与目标进行iou匹配,对b个目标与上一帧所保存的位置信息计算iou矩阵,再使用匈牙利算法对iou矩阵进行目标分配;在目标更新阶段,设置一个阈值参数t,计算检测框两两间的iou得到矩阵m
iou
,在m
iou
找出iou>t的检测框,利用cnn
occ
判断检测框内是否存在遮挡,若不存在,则令其特征更新至轨迹特征集上,反之,则舍弃。
技术总结本发明公开了一种基于改进YOLOX与DeepSORT的鱼群跟踪方法,包括:获取视频数据,并使用阈值分割的方法进行辅助标注得到训练的数据集;对数据集进行数据增强,并训练YOLOX模型、判断遮挡的二分类模型CNN
技术研发人员:薛月菊 区铭强 郑婵 王峡锐 李程鹏
受保护的技术使用者:华南农业大学
技术研发日:2022.07.29
技术公布日:2022/12/1