wap手机网站,软件公司找项目,求职招聘网站开发,购物商城名字大全关注微信公众号#xff1a;人工智能技术与咨询。了解更多咨询
基于YOLOv3 和ASMS 的目标跟踪算法
人工智能技术与咨询 3天前
本文来自《光电工程》#xff0c;作者吕晨等
1. 引言
目标跟踪一直是计算机视觉的重要应用领域和研究热点。随着硬件设施的完善和人工智能技术… 关注微信公众号人工智能技术与咨询。了解更多咨询
基于YOLOv3 和ASMS 的目标跟踪算法
人工智能技术与咨询 3天前
本文来自《光电工程》作者吕晨等
1. 引言
目标跟踪一直是计算机视觉的重要应用领域和研究热点。随着硬件设施的完善和人工智能技术的发展目标跟踪技术也变得愈发重要。目前目标跟踪已在智能人机交互[1]、交通领域和军事领域占据重要地位。然而目标跟踪也面临着外观形变、光照变化、尺度变化、快速运动的运动模糊和目标遮挡等[2]导致的目标丢失问题。
目标跟踪方法就工作原理[3]可分为生成式模型和判别式模型生成式模型有光流法[4]、粒子滤波[5]、Meanshift[6]算法等判别式模型包括MIL[7](multiple instance learning)、TLD[8](tracking learning detection)、支持向量机[9]等经典的目标跟踪算法。传统Meanshift算法采用目标的颜色概率直方图作为搜索特征通过不断迭代Meanshift向量使得算法收敛于目标的真实位置因其计算量不大具有较好的实时性。但由于在跟踪过程中窗口尺度保持不变当目标尺度有所变化时跟踪就会失败。ASMS[10](adaptive scale meanshift)算法在经典Meanshift框架下加入了尺度估计引入尺度不剧变和可能偏最大两个先验作为正则项从而实现了尺度自适应同时增强了算法的鲁棒性。但是ASMS算法仍需手动圈取感兴趣区域属于半自动跟踪算法且缺失在目标丢失后的后续处理。
为了实现跟踪的有效性和鲁棒性深度学习算法已广泛应用于目标跟踪领域。常见的算法主要分为两种一种是基于候选区域这种方法需要先获取候选区域然后进行分类如R-CNN[11](region convolutional neural networks)、Fast R-CNN[12]、Faster R-CNN[13]等算法。另一种是单次目标跟踪算法该方法直接在网络中提取特征来预测物体分类和位置如YOLO[14](you only look once)和SSD[15](single shot multibox detector)。相比较于基于候选区域的算法单次目标跟踪算法的实时性更高可以避免背景错误, 学习到物体的泛化特征。YOLOv3[16](you only look once version 3)是基于YOLOv1和v2[17]的改进版本采用Darknet-53作为新的主干网络借鉴了ResNet的残差结构去掉池化层和全连接层通过改变卷积核的步长来实现张量的尺寸变化在保持速度优势的前提下提升了预测精度尤其是加强了对小物体的识别能力。在SSD的基础上衍生出DSSD[18](deconvolutional single shot detector)和FSSD(feature fusion single shot multibox detector)算法[19]。DSSD是利用反卷积将特征图进行上采样与原始的特征图进行融合然后混合后的特征图输入感知器网络进行预测解决了SSD对于小目标物体的检测效果依然不够理想的缺点。FSSD算法提出了一种特征融合的方式利用得到的特征图重新进行下采样得到不同的特征图尺度输入感知器网络进行预测。
YOLOv3算法相较DSSD和FSSD算法具有更高的精确性和实时性所以本文选择YOLOv3算法与ASMS算法相结合并引入实时跟踪效果判断机制以解决目标受到物体遮挡或快速运动而导致的丢失问题。并且为了提升算法运行速度降低算法对于硬件的要求对YOLOv3进行剪枝。
2. 相关工作
2.1 YOLOv3前景检测算法介绍
YOLOv3保留了前两代算法用网格来划分输入图片区域每块区域单独检测目标的思想延续了v2版本使用BN(batch normalization)做正则化的方法把BN层和LeakyReLU层连接到每一层卷积层之后采用端到端训练省去了在每一个独立学习任务执行之前所做的数据标注。
YOLOv3的检测框架图如图 1所示。 图 1. YOLOv3的检测框架图
Figure 1. Block diagram of YOLOv3 下载: 全尺寸图片 幻灯片
YOLOv3对边界框进行预测时采用逻辑回归在预测进行之前对锚框包围的部分进行一个目标性评分以去掉不必要的锚框减少计算量。
由于在进行目标跟踪时只需要判断出前景和背景即可无需对目标进行更进一步的种类划分所以本文将逻辑回归Softmax的输出由80个种类更改为前景和背景两种。
2.2 ASMS跟踪算法介绍
ASMS是基于Meanshift算法的一种改进算法加入了尺度估计引入尺度不剧变和可能偏最大两个先验作为正则项主要解决了Meanshift预测边框不能自适应的问题并且使得范围估计更加具有鲁棒性。ASMS算法通过最小化候选区域与目标区域颜色特征的Hellinger距离并使用Meanshift迭代候选区域使得两者匹配从而完成跟踪。
候选区域和目标区域的Hellinger距离计算如下
H[p^(y),q^]1−ρ[p^(y),q^]−−−−−−−−−−−√,H[p^(y),q^]1−ρ[p^(y),q^],(1)
其中
ρ[p^(y),q^]∑u1mp^u(y),q^u−−−−−−−√。ρ[p^(y),q^]∑u1mp^u(y),q^u。(2)
上式中目标区域特征u∈{1,...,m}u∈{1,...,m}的概率为q^uq^u候选区域的特征概率为p^u(y)p^u(y)。
本文为了使距离度量结果更加直观以及便于对候选区域和目标区域的相似度展开分析和对目标丢失条件进行评判使用Bhattacharyya距离(即上式(2))作为距离度量公式使式(2)最大化并通过Meanshift迭代得到新的候选区域坐标和边框尺度。
3. 基于YOLOv3和ASMS的目标跟踪算法
本文所研究的是在摄像头和背景均固定的情况下运动物体的跟踪问题由YOLOv3算法检测出的前景区域通过非极大抑制确定目标框将运动目标直接作为ASMS算法的初始目标区域并对目标进行跟踪即可实现算法的全自动运行。在跟踪过程中实时判断跟踪效果当候选区域与实际目标产生较大偏差或发生遮挡时使用YOLOv3算法对目标进行更新从而提升算法跟踪精度解决了目标丢失的问题。在对YOLOv3和ASMS算法进行联合时为了提升算法的运算速度实现实时性要求减少算法的参数量以及体量本文对YOLOv3算法进行模型剪枝。
3.1 YOLOv3剪枝
模型压缩是一种重新调整深度模型所需资源消耗的有效工具该方法可以精简网络结构减少参数, 压缩网络体量提升算法的运行速度。现有的模型压缩方法主要包括模型剪枝[20-21]、参数量化[22]、动态计算[23]等。模型剪枝可在权重[24]、核、通道和层这些不同级别实现。本节将具体讨论YOLOv3模型剪枝方法。
通道剪枝虽然是一种粗粒度的压缩方法但较其他方法来说十分有效且不需要专用的软件和硬件与之匹配。本文采用该方法来精简网络对YOLOv3算法进行压缩直接在批量归一化(BN)层选用尺度因子作为信道放缩因子并且通过在这些放缩因子上使用L1正则项训练网络以实现通道稀疏化减少YOLOv3模型尺寸及计算复杂性。
通过通道剪枝可得到一个更紧凑和有效的卷积通道配置从而减少参数提升算法运行效率。且卷积神经网络的计算量主要来自卷积层减少卷积层通道可节约运行时间同时降低算法对于硬件的要求。按图 2所示的步骤获得剪枝后的YOLOv3。 图 2. 通过稀疏训练和通道剪枝获得剪枝后的YOLOv3
Figure 2. YOLOv3 pruned through sparse training and channel pruning 下载: 全尺寸图片 幻灯片
剪枝主要分为以下几个迭代步骤1) 对YOLOv3网络进行稀疏训练2) 剔除对模型推理不重要的成分即得分较少的部分本文使用的方法主要是指卷积层通道3) 微调剪枝模型以弥补潜在的暂时性能下降。
1) 稀疏训练
为了对深度模型的通道进行剪枝需要为每个通道分配一个放缩因子对通道进行选择。对于YOLOv3网络而言除了输入卷积层没有BN层以外其他卷积层均包含BN层BN层的计算式
zoutγzin−μBσ2B√εβ,zoutγzin−μBσB2εβ,(3)
其中μBμB和σBσB分别是输入特征的均值和标准差γγ代表可训练的比例因子ββ表示偏差本文直接将γγ参数作为通道的放缩因子和重要性评估指标。为了更好地判别通道的重要性本文通过对γγ使用L1正则化来进行通道稀疏化训练。稀疏训练的目标
LLlossα∑γ∈Γf(γ),LLlossα∑γ∈Γf(γ),(4)
式中Lloss为YOLOv3网络的训练损失函数αα为式(4)前后两项的平衡因子f(⋅)f(⋅)是在放缩因子上的惩罚项本文选择L1正则化即f(γ)|γ|f(γ)|γ|选择次梯度下降法作为L1惩罚项的优化方法。
2) 通道剪枝
在引入放缩因子正则项进行稀疏训练之后引入全局阈值γ^γ^来决定需要剪枝哪些特征通道γ^γ^表示所有缩放因子值的一个比例在具体操作中本文剪枝掉所有小于全局阈值的通道。YOLOv3中的最大池化层和上采样层因为没有通道所以在进行网络压缩时不对其进行考虑。接下来通过全局阈值为YOLOv3网络所有卷积层构建剪枝掩码。对于route层将其输入层的剪枝掩码按顺序拼接并将拼接后的掩码作为其剪枝掩码对于shortcut层为了与其相连层的通道数匹配本文迭代所有和shortcut相连的卷积层掩码并对其进行或计算从而得到最终的掩码。
3) 微调和迭代
为了补偿通道剪枝带来的算法精度下降对剪枝后的网络进行微调。为了防止过度剪枝造成网络的退化本文使用增量剪枝策略。
3.2 目标丢失的判断和目标重识别
传统ASMS算法在目标丢失后无后续解决方案基于此问题本文引入巴氏距离衡量候选区域与目标区域的相似程度将巴氏距离作为判断跟踪效果和目标发生遮挡丢失的依据并结合YOLOv3算法进行目标丢失后的重识别。
在跟踪时ASMS算法以采样点为中心计算相邻区域的局部颜色概率密度并沿概率密度梯度方向逼近梯度的最大值直到移动的距离小于阈值认定此时搜索框的区域为候选区域。已知候选区域的颜色概率特征为{qu}u1,...,m{qu}u1,...,m目标区域的颜色概率特征为{pu}u1,...,m{pu}u1,...,m计算候选区域与目标区域的相似度如式(2)所得结果ρ[p^(y),q^]ρ[p^(y),q^]越大则表示两者距离越相近。
对照跟踪效果和实际巴氏距离数值当巴氏距离 0.8时可取得较好跟踪效果此时ASMS算法跟踪框能紧密贴合检测目标当巴氏距离 0.5时跟踪框与检测目标发生较大偏移或尺度过大从而包含过多的背景信息。本文将0.7作为判断目标丢失的阈值这样可以保证较高的跟踪精度又不会过多调用剪枝后的YOLOv3算法影响算法实时性。当ρ[p^(y),q^]0.7ρ[p^(y),q^]0.7时则判断在当前帧下目标跟踪成功下一帧继续使用ASMS算法进行跟踪若ρ[p^(y),q^]0.7ρ[p^(y),q^]0.7则为跟踪失败。
考虑到一般情况下目标的速度不会发生突变而是处于匀速运动或匀加速运动中利用被遮挡前的序列图像中目标的位置信息可二次拟合出位置和帧数的关系并对被遮挡的目标进行位置预估与剪枝后的YOLOv3算法所检测的前景进行比较进而重新定位跟踪框的位置。
3.3 算法步骤
本文提出基于YOLOv3和ASMS的跟踪算法实现了ASMS算法的全自动跟踪并且解决了目标发生遮挡后丢失的问题提升了ASMS的跟踪精度和鲁棒性。具体算法步骤如下
输入视频帧
输出目标位置
1) 开始
2) 获取视频序列帧图像并使用剪枝后的YOLOv3算法对首帧图像进行前景检测将检测出的目标区域信息保存
3) 选取下一帧执行后续操作
4) 使用ASMS算法读取前景目标信息并进行目标跟踪同时通过巴氏距离判断跟踪效果和目标是否发生遮挡
5) 判断巴氏距离计算结果是否 0.7
6) 如果 0.7则认为跟踪成功读取下一帧视频并用ASMS算法继续跟踪
7) 若 0.7则认为跟踪失败使用遮挡前的序列图像中目标位置信息二次拟合出位置和帧数的关系并对被遮挡的目标进行位置预估与剪枝后的YOLOv3算法所检测的前景进行比较重新定位前景区域并将前景区域信息传递给ASMS算法进行跟踪
8) 反复执行3)~7)直到视频结束
9) 结束。
算法流程图如图 3所示。 图 3. 基于YOLOv3和ASMS的跟踪算法流程图
Figure 3. The tracking algorithm flow chart based on YOLOv3 and ASMS 下载: 全尺寸图片 幻灯片
4. 实验仿真对比
实验硬件平台采用Intel(R) Core(TM)i5-7500 3.40 Hz CPUGPU为GTX1060PC机内存为16 GB。实验先对改进后的YOLOv3算法进行了验证通过对YOLOv3、YOLOv3-tiny和剪枝的YOLOv3算法进行对比说明了改进后YOLOv3算法的优越性。之后选用在有遮挡和无遮挡情况下的视频进行实验仿真以检测联合跟踪算法。在对比算法方面本文分别尝试了YOLOv3、YOLOv3-tiny和联合剪枝YOLOv3算法与ASMS算法并与KCF(kernelized correlation filters)算法[25]、VITAL(visual tracking via adversarial learning)算法[26]和SANet(structure aware network)算法[27]进行了对比。测试视频帧率为30 f/s视频帧大小为1960×1080视频时长均为10 s。实验结果将从精确度和实时性两个方面进行量化对比。
4.1 实验1
在本实验中数据库采用YOLOv3作者使用的COCO数据库。主要在0.5交并比(IOU)时对YOLOv3、YOLOv3-tiny和剪枝的YOLOv3算法针对目标检测在精确度、mAP、速度(f/s)方面进行了验证并对网络的体量进行比较。本文在对YOLOv3进行稀疏训练时迭代次数设置为100平衡因子α的值需由网络搜索得到本文设置为0.0001。其余超参数与正常训练无异本文选用DarkNet中的默认配置动量参数设置为0.9权重衰减正则项为0.0005初始学习率为0.001在40000到45000的迭代步骤中衰减10倍。进行剪枝时分别将γ^γ^设置为50%、80%和95%对应的剪枝率分别为50%、80%和95%。通过剪枝得到更紧凑的模型后进行微调[20]本文使用与正常训练相同的超参数对剪枝模型再训练即将迭代次数设置为100动量参数设置为0.9权重衰减正则项为0.0005初始学习率为0.001在40000到45000的迭代步骤中衰减10倍。并将微调后得到的模型分别称为YOLOv3-50、YOLOv3-80和YOLOv3-95(如表 1所示)。
表 1. 对比模型和剪枝模型评价结果
Table 1. Evaluation results of comparison model and pruning model
模型精确度mAP速度/(f/s)参数体量CPUGPUYOLOv3-tiny32.724.1481208.9M33.1MBYOLOv355.857.9132760.6M231MBYOLOv3-5057.656.6224819.8M91.7MBYOLOv3-8051.752.4235012.3M46.6MBYOLOv3-9549.446.527574.8M18.7MB| Show Table DownLoad: CSV
在本文实验中分别通过剪枝得到了YOLOv3-50、YOLOv3-80和YOLOv3-95对应剪枝率分别是50%、80%和95%。在只使用CPU运算的情况下剪枝后的运行时间比YOLOv3减少了39.7%42.8%和49.9%。YOLOv3-95在与YOLOv3接近的精确度的情况下实时性达到了27 f/s是YOLOv3算法的2倍在加入GPU计算后YOLOv3-95达到了57 f/s可完全满足实时性的要求实现在线检测。剪枝后的模型参数量分别比YOLOv3减少60.2%、79.7%和92.0%体量比YOLOv3减少60.3%、79.8%和91.9%。随着剪枝率的提升网络的检测精确度有一定程度下降但是YOLOv3-95在参数和体量远小于YOLOv3-tiny的情况下精确度比其提升51%。由于YOLOv3-tiny的网络较浅就运行时间来说YOLOv3-tiny要短。根据实验对比及以上分析可得出YOLOv3-95在保证精度基本不下降的情况下运行时间最短参数量和体量最小剪枝效果达到最优所以本文在下面的实验中将YOLOv3-95算法与ASMS算法相结合以提升联合算法的性能。
4.2 实验2
为了检测联合算法的效果采用行人视频对不同算法进行对照本文使用跟踪区域与前景目标之间的巴氏距离来表示算法的跟踪精度巴氏距离数值越大说明目标框圈定区域与前景目标区域重合度越高进而表明算法的跟踪准确率越高实时性通过有效跟踪时间内的每帧平均运行时间来衡量。分别用传统ASMS算法、KCF算法、基于YOLOv3和ASMS算法、基于YOLOv3-95和ASMS算法共四种算法进行实验。算法均采用矩形框来对前景进行跟踪传统ASMS算法和KCF算法在手动圈动目标后进行跟踪基于YOLOv3和ASMS算法、基于YOLOv3-95和ASMS算法可自动检测前景目标进行跟踪。
视频选取前景无遮挡的情况由于实验各算法均能实现对移动前景目标的实时跟踪只是在跟踪过程中跟踪框的大小和位置有一定差异本文仅对联合YOLOv3-95和ASMS算法的跟踪效果进行展示。图 4是行人途中无遮挡视频序列的第69帧104帧和第239帧(对应图片从左到右)。 图 4. 联合YOLOv3-95和ASMS算法的跟踪效果
Figure 4. The tracking performance of algorithm based on YOLOv3-95 and ASMS 下载: 全尺寸图片 幻灯片
传统ASMS和KCF算法跟踪边界框选定的范围更大。由表 2可知改进后的算法较ASMS算法在跟踪精度上有一定提升基于YOLOv3和ASMS算法对于测试视频分别提升了2.4%基于YOLOv3-95和ASMS算法提升了2.1%原因是在引入跟踪效果判断机制后算法对于出现ASMS在视频的某些帧中跟踪效果不理想检测框与实际前景目标的巴氏距离 0.7的情况调用了YOLOv3-95算法进行目标重新定位从而提升了算法的准确度。基于YOLOv3-95和ASMS算法精度比基于YOLOv3和ASMS算法略低的原因是经过剪枝后的YOLOv3-95虽然运行速度提升了两倍但对于目标检测的精度有所下降从而导致联合算法的平均巴氏距离数值有所降低。在实时性方面传统算法的运行速度要更快。
表 2. 算法对比表
Table 2. Comparison among different algorithms
算法平均巴氏距离单帧平均耗时/s传统ASMS算法0.7860.0098KCF算法0.7950.0073基于YOLOv3和ASMS算法0.8050.0631基于YOLOv3-95和ASMS算法0.8030.0463| Show Table DownLoad: CSV
4.3 实验3
视频选取行人、动物、小车三种前景有遮挡的情况。分别使用传统ASMS算法和KCF算法、基于YOLOv3和ASMS算法、基于YOLOv3-95和ASMS算法和近年在遮挡情况下跟踪效果较优的VITAL算法、SANet算法进行实验。使用精确度和实时性来评价算法性能。行人视频在159帧发生遮挡到200帧时目标遮挡结束。动物视频从103帧开始发生遮挡到257帧时目标遮挡结束。小车实验视频在100帧发生遮挡到194帧时目标遮挡结束。图 5(a)、6(a)、7(a)分别是行人中途被遮挡视频序列的第97帧、201帧和210帧。图 5(b)、6(b)、7(b)分别是动物中途被遮挡视频序列的第93帧、201帧和277帧。图 5(c)、6(c)、7(c)分别是小车中途被遮挡视频序列的第96帧、173帧和273帧。所有的测试视频中传统ASMS算法和KCF算法在目标发生遮挡时虽仍能进行跟踪但随着目标遮挡范围的增加跟踪精度直线下降跟踪框与实际目标产生较大偏移匹配程度变差直到最后彻底丢失目标。ASMS算法在目标被遮挡后虽然跟踪框进行了尺度和位置变换如图 5所示但在目标走出遮挡范围后仍无法对其进行准确定位跟踪失败。KCF算法的情况也是如此。而基于YOLOv3-95和ASMS算法能够在存在遮挡的情况下准确地实现前景目标的稳定跟踪。在目标被遮挡后通过计算巴氏距离判定ASMS算法跟踪失败采用YOLOv3算法对目标进行重新定位。在目标从遮挡区域走出时YOLOv3算法识别出目标并将目标区域传递给ASMS算法并继续使用ASMS算法进行跟踪。基于YOLOv3和ASMS算法、VITAL算法和SANet算法的方法与基于YOLOv3-95和ASMS算法的方法从跟踪效果方面分析相差不大本文不做赘述。 图 5. 传统ASMS算法的跟踪效果。(a) 行人(b) 动物(c) 小车
Figure 5. Tracking performance of the ASMS algorithm. (a) Pedestrian; (b) Animal; (c) Car 下载: 全尺寸图片 幻灯片 图 6. KCF算法跟踪效果。(a) 行人(b) 动物(c) 小车
Figure 6. Tracking performance of the KCF algorithm. (a) Pedestrian; (b) Animal; (c) Car 下载: 全尺寸图片 幻灯片 图 7. 基于YOLOv3-95和ASMS算法的跟踪效果。(a) 行人(b) 动物(c) 小车
Figure 7. Tracking performance of the algorithm based on YOLOv3-95 and ASMS. (a) Pedestrian; (b) Animal; (c) Car 下载: 全尺寸图片 幻灯片
图 8为本次实验行人视频中传统ASMS算法、KCF算法基于YOLOv3-95和ASMS算法候选区域和目标区域巴氏距离的变化曲线图其中横坐标为视频的序列帧数纵坐标为巴氏距离结果。ASMS算法和KCF算法在目标发生遮挡后跟踪精度骤降大部分被遮挡后目标完全丢失出现了算法失效的情况。由图 8可以观察到在159帧至200帧由于目标被遮挡从而无法通过算法定位。ASMS算法从159帧目标发生遮挡开始巴氏距离数值骤减线段发生阶跃式跌落在跟踪了5帧之后巴氏距离降至最低值在164帧时目标彻底丢失。KCF算法与ASMS算法情况大致相同虽较ASMS算法跟踪效果有一些增强在目标发生遮挡后巴氏距离数值减少比ASMS算法缓慢一些但在跟踪了8帧之后也丢失了目标。联合YOLOv3-95和ASMS算法在目标发生遮挡阶段调用YOLOv3-95算法对目标进行检测在目标有遮挡情况下仍能进行较长时间跟踪且跟踪精度优于ASMS和KCF算法直至目标将要完全被遮挡时才发生丢失。并在201帧时目标从遮挡区域走出后经过YOLOv3-95算法的重新定位确定目标位置计算此时搜索窗锁定的区域与真实目标的巴氏距离并判断是否超过阈值在204帧时巴氏距离数值 0.7继续使用ASMS算法进行跟踪。而传统ASMS算法和KCF算法目标受遮挡丢失在201帧目标再次出现后也无后续解决方案。对于动物和小车改进算法也能很好地进行目标丢失后的重跟踪在此不做赘述。 图 8. 巴氏系数的曲线变化图
Figure 8. Bhattacharyya coefficient curves of different algorithms 下载: 全尺寸图片 幻灯片
图 9为行人视频中基于YOLOv3-95和ASMS算法、VITAL算法和SANet算法候选区域和目标区域巴氏距离的变化曲线图。由图 9可以观察到三种算法的巴氏距离走向基本一致在未发生遮挡时三种算法均能很好地对目标进行跟踪当目标发生遮挡时三种算法均有很强的鲁棒性直至目标将要被完全遮挡前跟踪框均能较好地跟踪目标。当目标走出遮挡区域三种算法都能立即识别并完成跟踪。 图 9. 巴氏系数的曲线变化图
Figure 9. Bhattacharyya coefficient curves of different algorithms 下载: 全尺寸图片 幻灯片
表 3为各算法的性能对比进行定量分析可知在实时性方面基于YOLOv3和ASMS算法相较于传统ASMS和KCF算法而言运行速度较慢是因为算法提出了新的功能采用巴氏距离判断和YOLOv3检测算法耗时主要体现在前景自动识别和在目标丢失后通过YOLOv3算法对目标的重新定位所以相较于传统算法来说联合算法的复杂度更高单帧处理的耗时更长基于YOLOv3和ASMS算法三组测试视频的平均运行速度为16.3 f/s基于YOLOv3-95和ASMS算法的平均运行速度为21.4 f/s比其运行速度提升了31.2%说明了剪枝的有效性。VITAL和SANet算法三组测试视频单帧视频平均耗时分别为1.33 s和1.65 s耗时是本文基于YOLOv3-95和ASMS算法的26.6倍和33倍。在精确度方面本文算法虽稍逊色于VITAL算法和SITN算法但比传统ASMS算法和KCF算法在有遮挡的情况下的精确度提升了2倍很好地解决了目标丢失问题。
表 3. 算法对比表
Table 3. Comparison among different algorithms
算法平均巴氏距离单帧平均耗时/s行人动物小车行人动物小车ASMS算法0.31280.25640.33970.00930.01010.0104KCF算法0.32750.26310.34630.00780.00730.0085基于YOLOv3和ASMS的算法0.69650.67000.72010.06260.06110.0607基于YOLOv3-95和ASMS的算法0.67330.65740.71960.04690.04600.0473VITAL算法0.70430.68520.72531.66671.68231.6295SANet算法0.69650.67000.72011.33331.34781.3256| Show Table DownLoad: CSV
基于YOLOv3-95和ASMS算法除了可以应用于目标发生遮挡情况对于目标运动过快导致目标丢失的场景也同样适用处理机制与目标被遮挡场景一致。当目标运动过快时当前帧的初始搜索窗口不包含运动目标则ASMS算法无法迭代出目标的精确位置这一过程与目标受到遮挡时的场景类似。基于YOLOv3-95和ASMS的算法先使用YOLOv3-95算法对下一帧进行目标重检测准确定位后再将目标信息传递给ASMS算法继续跟踪。
5. 结论
本文针对传统算法在目标丢失后无法进行后续跟踪的问题提出了一种基于YOLOv3和ASMS的目标跟踪算法可应用于目标受到遮挡或发生快速运动导致搜索窗口不包含运动目标等场景。通过YOLOv3算法检测出前景目标然后采用ASMS算法进行后续跟踪和更新但是该算法时间复杂度较高所以本文继而对网络进行剪枝得到了YOLOv3-50、YOLOv3-80和YOLOv3-95通过联合YOLOv3-95和ASMS最终得到了本文提出的基于YOLOv3和ASMS的目标跟踪算法并将测试结果与其他主流算法的结果进行分析和对比可知本文算法不仅实现了全自动跟踪还解决了跟踪目标丢失问题提升了算法精度和运行速度证明了该算法具有抗干扰能力强、鲁棒性高、计算速度快、效率高、实时性好的优点。虽然基于YOLOv3和ASMS的目标跟踪算法能更好地适应目标跟踪任务但是其仍具有只能对单个目标进行跟踪且应用场景简单的缺点未来将会重点对跟踪算法部分进行改进以实现对多目标的精确跟踪适用于更为复杂的场景。 【转载声明】转载目的在于传递更多信息。如涉及作品版权和其它问题请在30日内与本号联系我们将在第一时间删除