一种基于YOLOv7网络和Deepsort网络的猕猴检测方法

文档序号:33383699发布日期:2023-03-08 07:07阅读:23来源:国知局
一种基于YOLOv7网络和Deepsort网络的猕猴检测方法
一种基于yolov7网络和deepsort网络的猕猴检测方法
技术领域
1.本发明涉及图像处理和计算机视觉领域,具体涉及一种基于yolov7网络和deepsort网络的猕猴检测方法。


背景技术:

2.随着监控设备的简化和普及,监控视频的数量与日俱增,尤其在动物行为学实验中,要从海量的监控录像中获取有用的信息,在以往只能通过人工以倍速观看录像录像并记录,但显然这种方式耗费人力和时间成本。现有的检测器大致可以分为两阶段(例如,faster-rcnn)和单阶段(例如,yolo)。两阶段检测器首先在图像上生成可能是目标的区域建议框(proposals),并在分类阶段对这些建议框进行分类和微调以贴合目标轮廓。单阶段检测器则不会给出区域建议框,直接在原图上生成物体的类别概率和位置坐标,经过单次检测就能得到最终结果。通常两阶段检测器精度更高而速度较慢,单阶段检测器速度很快而精度较低。但随着检测技术的更新,目前单阶段检测器不仅速度优于两阶段,精度也相差无几。
3.目标跟踪(object tracking)是计算机视觉领域的重要问题。近年来基于检测的目标跟踪(tracking by detection)愈发受到关注,它是目标检测的后续任务,以视频序列作为输入,经过目标定位、特征提取、数据关联、轨迹更新得到一个或多个目标的预测框以及id,deepsort正是这类方法。
4.传统的2d卷积神经网络计算速度快,但是无法捕捉时间关系。基于3d卷积神经网络的方法能够取得良好的性能但是计算量大,部署成本高。


技术实现要素:

5.发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于yolov7网络和deepsort网络的猕猴检测方法,本发明基于单阶段目标检测算法,结合tsm时序转移模块提取目标视频序列的时空信息,提高对猕猴检测的精度,在目标检测输出位置串联deepsort算法对结果再处理优化输出结果,解决视频目标检测特征选择困难和识别率不高、受图像中亮度、对比度变化和阴影影响、以及笼子遮挡影响下检测精度不高的问题。
6.技术方案:本发明的一种基于yolov7网络和deepsort网络的猕猴检测方法,包括以下步骤:步骤s1、输入视频序列到网络利用opencv工具包抓取视频的视频帧并返回帧图像,按照原视频序列的顺序将所有帧图像分别进行resize处理(例如可以resize到640x640),并将resize处理后的帧图像依次输入到yolov7网络;如图3所示,由于现有yolov7的backbone只能提取单张图像的信息,即便是相邻图像也不会有任何交集,但在视频目标检测中,输入的相邻图像通常是非常相似的,因此如果在相邻图像上进行信息交互,在相邻图像上交换信息应该会得到更鲁棒的视频特征,因此
本发明从yolov7网络的backbone层中的p2层开始,每一层bconv层均包括shiftconv卷积层、bn层和激活函数;步骤s 2、通过yolov7网络对输入的帧图像进行提取特征对于输入到backbone层的帧图像,由shiftconv层根据设置batch大小(≥2)选择若干张帧图像交换通道信息,接着经yolov7网络的head层输出三层不同尺寸大小的特征图,经过卷积得到输出处理后的特征图;最后在处理后的特征图上预测边界框得到预测结果;本步骤冲保留yolov7中head层原有结构设计,输出的三个不同尺度的特征图用来预测,不同尺寸的特征图拥有不同大小的感受野,融合三种尺度能处理大中小不同尺度的目标预测;上述提取特征的过程中由shiftconv层来在相邻图像上交换信息,提取视频序列中不同帧图像的时序信息;步骤s3、建立猕猴运动轨迹路径将预测结果再次作为输入信息送入deepsort网络中为每一个目标分配id,然后为每个目标的边界框bbox 单独建立轨迹路径,接着连接成一个bbox序列并去除远离轨迹路径的异常bbox,deepsort网络最终按顺序输出每帧图像的目标bbox预测框,进而得到一个预测框序列;本发明通过将yolov7输出结果输入到deepsort网络中,进一步强调连续帧间的时序关系,我们只利用deepsort根据空间位置和时序关系建立轨迹路径,而不对deepsort做任何改动;步骤s 4、对步骤s3所得预测框序列进行缺失值的检测和处理,该方法基于运动物体的位置在时间-空间上连续的假设,不限于猕猴检测,可以扩展到其他运动物体的位置或轨迹校验。
7.进一步地,所述步骤s1中yolov7网络中backbone层包括若干bconv层、e-elan层以及mpconv层,yolov7网络中采用silu函数作为激活函数,e-elan层以及mpconv层作为特征网络。
8.进一步地,所述shiftconv卷积层的slice大小为4,交换比例为1/4,并且保持原来的输入维度和输出维度不变。例如,每个输出(x,y,w,h,o)均包含坐标位置和前后背景,anchor数量为3,则每一层的输出为(1+5)x3 = 18,在乘上特征图大小就是检测器的最终输出;由于一般检测器输出得到bbox坐标仅依赖于单张图像,这种预测只依靠单张图像没有考虑视频序列的时序信息,因此将检测器的输出再次送入deepsort网络;通过deepsort网络对预测的bbox序列进行匹配分类,为每个目标分配唯一的id并建立各自的轨迹路径,把单张图像的预测结果关联起来对每一帧的结果进行修正得到最终的输出。
9.本发明中默认待检测的动物目标会呈现在每一帧图像上,若存在帧图像中没有预测框,则认为该帧图像存在目标但是由于检测器的原因没有成功输出预测结果,接着采用线性插值法补齐该帧图像的预测框;同时,根据预测框的x方向以及y方向的坐标和速度信息来判断是否存在错检,如果存在错检,则删除错检的结果并以线性插值法填充值。
10.有益效果:与现有技术相比,本发明具有以下优点:(1)本发明采用将时序移位模块tsm插入到二维卷积神经网络中,沿时间维度移动部分通道,从而方便相邻帧之间的信息交换,实现零计算和零参数的时间建模,实现在线视
频识别的13毫秒和35毫秒的低延迟;(2)本发明将yolov7网络与tsm时序转移模块相结合来提取目标视频序列的时空信息,提高对猕猴视频检测的精度,在检测输出位置串联deepsort算法对输出结果再处理优化,解决现有视频目标检测特征选择困难和识别率不高、受图像中亮度、对比度变化和阴影影响、以及笼子遮挡影响下检测精度不高的问题。
附图说明
11.图1 为本发明的整体检测流程图;图2为本发明中的shiftconv层示意图;图3为现有yolov7网络结构模型图;图4为本发明改进的yolov7模型图;图5为本发明完整的框架图;图6为网络提取的特征图以及可视化结果。
具体实施方式
12.下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
13.如图1所示,本发明的一种基于yolov7网络和deepsort网络的猕猴检测方法,包括以下步骤:步骤s1、输入视频序列到网络利用opencv工具包抓取视频的视频帧并返回帧图像,按照原视频序列的顺序将所有帧图像分别进行resize处理,并将resize处理后的帧图像依次输入到yolo网络;如图2和图4所示,从yolo v7网络的backbone层中的p2层开始,每一层bconv层均包括shiftconv卷积层、bn层和激活函数;不同于在网络级别上对输出结果做融合,此处改进的yolo v7网络在网络结构上融合有tsm模块(shiftconv卷积层),更新网络结构以获取高质量的时空特征;步骤s 2、通过yolov7对输入图像进行提取特征对于输入到backbone层的帧图像,由shiftconv层根据设置batch大小选择若干张帧图像交换通道信息,接着经yolov7网络的head层输出三层不同尺寸大小的特征图,经过卷积得到输出处理后的特征图;最后在处理后的特征图上预测边界框得到预测结果;本实施例设置batch size=8,即在八张连续图像上交换时间信息,提取时空特征;步骤s3、建立猕猴运动轨迹路径将预测结果再次作为输入信息送入deepsort网络中为每一个目标分配id,然后为每个目标的边界框bbox 单独建立轨迹路径,接着连接成一个bbox序列并去除远离轨迹路径的异常bbox,deepsort网络最终按顺序输出每帧图像的目标bbox预测框,进而得到一个预测框序列;步骤s 4、对步骤s3所得预测框序列进行缺失值的检测和处理。
14.如图5所示,本发明首先选择需要检测的动物目标运动视频,裁剪需要的长度根据提示在弹出的窗体上框选检测的范围(即目标可能出现的区域),不框选则默认全图检测,
完成框选后网络会对图像进行裁剪,将裁剪后的图像resize到指定大小输入到检测器(改进后的yolov7网络)中,经过一阶段检测直接输出目标类别和预测框坐标以及置信度分数。然后将检测器的检测结果输入deepsort网络,通过deepsort进行轨迹关联:deepsort网络接收一阶段检测器的输出作为输入后,为每一个目标设置id,并在连续帧之间建立轨迹路径,如果对应id的目标预测框偏离匹配的轨迹路径,则放弃该预测框,deepsort会根据过去帧的预测值给出当前帧的估计值并把这个值作为当前帧的预测框输出,这样就保证了每一帧的预测都在匹配的轨迹路径上;deepsort网络的最终输出是对应每帧图像的目标bbox预测框,按视频顺序输出即可得到预测框序列,由于改进后的yolov7网络(检测器)仍然有可能存在错检漏检情况,若存在错检漏检,则采用线性插值的方法补齐缺失值。
15.实施例1:本实施例对猕猴进行目标运动检测,主要采集两个地点、13只猴一共五天的录像视频。
16.在测试时,对每只猕猴每个时间段都截取1min片段,让测试集尽可能存在光照、遮挡等多种干扰因素,考虑到猕猴在笼子里运动频率不高,以5fps的帧率从视频切片输出视频帧进行标注,每张图像只标注一个矩形框并给出类别id。最后使用的训练集包含10只猴约6000张图像,测试集3只猴约8000张图像,注意本实施例没有让训练使用的猕猴和测试使用的猕猴重复,使得本实施例在面对不同场景或不同猕猴时,具有较高的鲁棒性。
17.本实施例对每张测试图像人工标注的真值框和yolo网络输出的预测框的交并比设定阈值,大于阈值认为检测成功否则检测失败,最后检测成功的图像占所有测试图像的比例就是成功率。
18.本实施例的具体实施过程和结果如图6所示,图6的第一行是从猕猴视频中按固定间隔抽取的视频帧图像,本实施例设置每5帧取一张;图6第二行是这些图像帧经过backbone提取到的特征图,图中越亮的位置表示激活越高;图6第三行是网络在特征图上进行预测输出的预测框位置。
19.本实施例最后还将上述测试集在现有yolov5、yolov7(图3所示)、faster-rcnn、retinanet和monkettrail分别做了成功率试验,试验结果显示yolov5为64.6%, 现有yolov7为76.8%,faster-rcnn为63.8%, retinanet为71.0%, monkeytrail为58.9%;而本发明改进后的yolov7动物目标运动检测成功率则为83.1%。本发明解决当前行为学实验中大量猕猴视频数据等待分析记录,人工观看录像耗费时间成本太高的问题。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1