关注微信公众号:人工智能技术与咨询。了解更多咨询

基于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^]=∑u=1mp^u(y),q^u−−−−−−−√。ρ[p^(y),q^]=∑u=1mp^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正则化来进行通道稀疏化训练。稀疏训练的目标:

L=Lloss+α∑γ∈Γf(γ),L=Lloss+α∑γ∈Γf(γ), (4)

式中:Lloss为YOLOv3网络的训练损失函数,αα为式(4)前后两项的平衡因子,f(⋅)f(⋅)是在放缩因子上的惩罚项,本文选择L1正则化即f(γ)=|γ|f(γ)=|γ|,选择次梯度下降法作为L1惩罚项的优化方法。

2) 通道剪枝

在引入放缩因子正则项进行稀疏训练之后,引入全局阈值γ^γ^来决定需要剪枝哪些特征通道,γ^γ^表示所有缩放因子值的一个比例,在具体操作中,本文剪枝掉所有小于全局阈值的通道。YOLOv3中的最大池化层和上采样层因为没有通道,所以在进行网络压缩时不对其进行考虑。接下来通过全局阈值为YOLOv3网络所有卷积层构建剪枝掩码。对于route层,将其输入层的剪枝掩码按顺序拼接,并将拼接后的掩码作为其剪枝掩码;对于shortcut层,为了与其相连层的通道数匹配,本文迭代所有和shortcut相连的卷积层掩码,并对其进行或计算从而得到最终的掩码。

3) 微调和迭代

为了补偿通道剪枝带来的算法精度下降,对剪枝后的网络进行微调。为了防止过度剪枝造成网络的退化,本文使用增量剪枝策略。

3.2   目标丢失的判断和目标重识别

传统ASMS算法在目标丢失后无后续解决方案,基于此问题,本文引入巴氏距离衡量候选区域与目标区域的相似程度,将巴氏距离作为判断跟踪效果和目标发生遮挡丢失的依据,并结合YOLOv3算法进行目标丢失后的重识别。

在跟踪时,ASMS算法以采样点为中心计算相邻区域的局部颜色概率密度,并沿概率密度梯度方向逼近梯度的最大值,直到移动的距离小于阈值,认定此时搜索框的区域为候选区域。已知候选区域的颜色概率特征为{qu}u=1,...,m{qu}u=1,...,m,目标区域的颜色概率特征为{pu}u=1,...,m{pu}u=1,...,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 CPU,GPU为GTX1060,PC机内存为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) 参数 体量
CPU GPU
YOLOv3-tiny 32.7 24.1 48 120 8.9M 33.1MB
YOLOv3 55.8 57.9 13 27 60.6M 231MB
YOLOv3-50 57.6 56.6 22 48 19.8M 91.7MB
YOLOv3-80 51.7 52.4 23 50 12.3M 46.6MB
YOLOv3-95 49.4 46.5 27 57 4.8M 18.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.786 0.0098
KCF算法 0.795 0.0073
基于YOLOv3和ASMS算法 0.805 0.0631
基于YOLOv3-95和ASMS算法 0.803 0.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.3128 0.2564 0.3397 0.0093 0.0101 0.0104
KCF算法 0.3275 0.2631 0.3463 0.0078 0.0073 0.0085
基于YOLOv3和ASMS的算法 0.6965 0.6700 0.7201 0.0626 0.0611 0.0607
基于YOLOv3-95和ASMS的算法 0.6733 0.6574 0.7196 0.0469 0.0460 0.0473
VITAL算法 0.7043 0.6852 0.7253 1.6667 1.6823 1.6295
SANet算法 0.6965 0.6700 0.7201 1.3333 1.3478 1.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日内与本号联系,我们将在第一时间删除!

2021-11-05深度学习相关推荐

  1. HALCON 21.11:深度学习笔记---语义分割/边缘提取(12)

    HALCON 21.11:深度学习笔记---语义分割/边缘提取(12) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语 ...

  2. HALCON 21.11:深度学习笔记---对象检测, 实例分割(11)

    HALCON 21.11:深度学习笔记---对象检测, 实例分割(11) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在 ...

  3. HALCON 21.11:深度学习笔记---分类(10)

    HALCON 21.11:深度学习笔记---分类(10) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何在训练和推理阶段使用基于深度学习的分类. 基于深度学习的分类是一种对一 ...

  4. HALCON 21.11:深度学习笔记---异常检测(9)

    HALCON 21.11:深度学习笔记---异常检测(9) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的异常检测. 通过异常检测,我们想要检测图像是否包含 ...

  5. HALCON 21.11:深度学习笔记---模型(8)

    HALCON 21.11:深度学习笔记---模型(8) HALCON 21.11.0.0中,实现了深度学习方法. 本章阐述了HALCON中深度学习(DL)模型的一般概念和数据处理. 从概念上讲,HAL ...

  6. HALCON 21.11:深度学习笔记---术语表(7)

    HALCON 21.11:深度学习笔记---术语表(7) HALCON 21.11.0.0中,实现了深度学习方法.下面,我们将描述深度学习环境中使用的最重要的术语: anchor (锚) Anchor ...

  7. HALCON 21.11:深度学习笔记---有监督训练(6)

    HALCON 21.11:深度学习笔记---有监督训练(6) HALCON 21.11.0.0中,实现了深度学习方法.不同的DL方法有不同的结果.相应地,它们也使用不同的衡量标准来确定网络的" ...

  8. HALCON 21.11:深度学习笔记---设置超参数(5)

    HALCON 21.11:深度学习笔记---设置超参数(5) HALCON 21.11.0.0中,实现了深度学习方法.关于超参数的有关设置内容如下: 不同的DL方法是为不同的任务设计的,它们的构建方式 ...

  9. HALCON 21.11:深度学习笔记---网络和训练过程(4)

    HALCON 21.11:深度学习笔记---网络和训练过程(4) HALCON 21.11.0.0中,实现了深度学习方法.关于网络和训练过程如下: 在深度学习中,任务是通过网络发送输入图像来执行的.整 ...

  10. HALCON 21.11:深度学习笔记---Data(数据)(3)

    HALCON 21.11:深度学习笔记---Data(数据)(3) HALCON 21.11.0.0中,实现了深度学习方法.其中,关于术语"数据"的介绍如下: 术语"数据 ...

最新文章

  1. Java Properties 类
  2. hadoop java client_hadoop3 Java client客户端kerberos认证
  3. 泊松分布与正太分布在指导武器理论方面的使用
  4. c语言115写成16进制,C语言指针问题
  5. hihocoder1718 最长一次上升子序列
  6. 家电换新就现在 国美发放“年中惠民消费大补贴”
  7. h3c交换机配置远程管理_高手给说下H3C交换机如何配置telnet远程登录
  8. C语言开发笔记(三)自加和自减
  9. MyBatis框架学习笔记04:利用MyBatis实现条件查询
  10. 批处理(bat)实现SQLServer数据库备份与还原
  11. List中对象model的排序问题
  12. 手握14万,博越是最佳选?这车配钢炮动力,可双屏互动,不香?
  13. shift and算法
  14. 【渝粤题库】国家开放大学2021春2605经济法律基础题目
  15. 小米主题显示服务器不可用,小米主题商店 小米主题怎么混搭
  16. Linux下关闭udhcpc客户端时,通知服务器释放租约
  17. iPad中国内地商标权诉讼调查
  18. E-牛牛小数点_牛客练习赛89(数学)
  19. WIN7无线网卡开软AP的方法
  20. Mysql内核查询成本计算

热门文章

  1. Linux内核奔溃分析
  2. 解读Android 4.0 Camera原生应用程序的设计思路
  3. 十三、Vuex学习笔记
  4. 十、CSS三行代码实现 溢出的文字省略号显示(white-space: nowrap;overflow: hidden;text-overflow: ellipsis;)
  5. LeetCode 756. 金字塔转换矩阵(回溯)
  6. LeetCode MySQL 1158. 市场分析 I
  7. 程序员面试金典 - 面试题 16.26. 计算器(栈)
  8. LeetCode 1184. 公交站间的距离
  9. opensip db mysql_opensip和opensip_cp安装配置
  10. python的指针跟c的区别_ctypes中的LP_x*指针和*p指针有什么区别?(以及与结构的奇怪交互)...