本节将基于运动方向预测的目标检测与跟踪以及基于自适应检测的目标跟踪算法模型进行训练和测试,并进行相关的实验结果与分析。为了保证本节设计的网络模型的有效性,选用两个公开的目标跟踪benchmark数据集OTB和VOT进行训练和测试。使用tensorflow深度学习框架搭建运动方向预测模型,caffe深度学习框架搭建目标检测模型,用8核3.4 GHz Inter Core i7-3770和NVIDIA TITAN X GPU进行相关模型的训练及测试。运动方向预测模型中LSTM的隐藏层有128个节点,学习率初始化为0.001并且呈指数衰减,衰减系数是0.9。运动方向预测模块和目标检测模块分别训练,两个模块的训练及测试数据集如表3-2所示。
表3-2 训练及测试数据集的分配策略
1.运动方向预测模型
使用两层LSTM设计的运动方向预测模型,上一节中介绍了设计的四个模型,分别称为模型1、模型2、模型3和模型4。模型1是输入15个先前帧的方向信息输出预测的下一个15帧的运动方向的分类模型;模型2将模型1中的分类模型替换为回归模型;模型3是输入15个先前帧的方向及速度信息,输出预测的下一帧的运动方向的分类模型;模型4是输入15个先前帧的方向及速度信息,输出预测的下一帧的运动方向的回归模型。下面分别从精度和速度两个方面对四个模型进行测试,实验对比结果如表3-3所示。
从表3-3可以看出模型3比模型1的精度高(0.246),速度快(67 fps),由于忽略了冗余信息的预测。与模型4相比,虽然速度下降了7 fps,但是预测精度提高了0.012,同时模型3仍然可以达到实时的速度,因此选择模型3用于整个目标检测与跟踪系统的设计。
表3-3 四个运动方向预测模型的精度与速度对比
2.基于运动方向预测的目标检测与跟踪
用OTB的测试集测试基于运动方向预测的目标检测与跟踪模型,并且与benchmark中以及当前的一些跟踪器进行性能对比,其中TLD、ROLO、TCNN和MDNet是基于深度学习的tracking-by-detection算法,其余的是传统的benchmark跟踪算法,精确度图及成功率图如图3-15所示。其中成功率图(Success plots)括号里的数字表示的是曲线下围成的面积(AUC),即成功率,精确度图(Precision plots)括号里的数字表示的是分数阈值等于20个像素点的精确度。与KCF、ROLO、Siamese等跟踪器的精确度和成功率的对比如表3-4所示。
图3-15 OTB测试集上基于运动方向预测的目标检测与跟踪模型的精确度图及成功率图
表3-4 基于运动方向预测的目标检测与跟踪模型与其他跟踪模型的精确度和成功率对比
续表
一个好的跟踪器不仅要有好的精度,还要具备实时的跟踪速度。将本节跟踪算法与Struck、ROLO、KCF、Siam FC、TCNN和MDNet这几种跟踪算法进行运行时间的对比实验,实验结果如表3-5所示。其中运行时间只包括算法前向传播的时间。
表3-5 不同跟踪器的运行时间的对比
从图3-15和表3-4可以看出本节设计的跟踪算法达到了0.826的精确度和0.622的成功率,在公开的benchmark数据集上取得了比较不错的效果,高于SiamFC等一些经典的跟踪算法,但是低于TCNN和MDNet等一些顶尖的跟踪算法,在精度上还有很大的提升空间。然而由表3-5可以看出TCNN、MDNet等顶尖的跟踪算法只有1.5 fps和1 fps的跟踪速度,远远达不到实时的要求,本节设计的跟踪算法在具有不错的跟踪精度的同时,可以达到41 fps的跟踪速度,满足实时的跟踪系统的要求。因此,综合精度和速度这两个因素考虑,本节设计的基于运动方向预测的目标检测与跟踪算法具有一定的优势。
另外,在VOT2016上进行了性能测试,对比实验结果如表3-6所示。
表3-6 VOT2016测试集上跟踪器性能测试对比
通过上面实验结果可以看出,不论是失败率(Failure Rate)、准确性排名(Acc.Rank)、鲁棒性排名(Rob.Rank)、最终排名(Final Rank)还是重叠率(Overlap),本节的跟踪算法都取得了优于上述几种跟踪算法的性能。
图3-16和图3-17是OTB数据集和VOT数据集上跟踪的可视化结果示例图,其中方框是预测的目标所在位置。
图3-16 OTB数据集上跟踪的可视化结果示例图
图3-17 VOT数据集上跟踪的可视化结果示例图
3.基于ShuffleNet的目标检测模块(www.xing528.com)
用OTB的测试集测试本节中设计的使用模型压缩的检测模块的基于循环神经网络的目标检测与跟踪网络模型的性能,并且与benchmark中以及当前的一些跟踪器进行性能对比,精确度图及成功率图如图3-18所示。
图3-18 OTB测试集上图3-11 网络模型的精确度图及成功率图
与KCF、ROLO、Siamese等跟踪器的精确度和成功率的对比如表3-7所示。
表3-7 图3-11中的跟踪模型与其他跟踪模型的精确度和成功率对比
同时,为了测试使用模型压缩的方法是否对减少模型参数以及加快检测速度有所帮助,对系统运行时间进行了对比实验分析,实验结果如表3-8所示。
表3-8 不同跟踪器的运行时间对比
从图3-18和表3-6可以看出使用基于ShuffleNet的目标检测模块的跟踪算法达到了0.834的精确度和0.629的成功率,高于使用基于VGGNet的目标检测模块的跟踪算法。同时由表3-7可以看出,算法的运行速度比上一节设计的算法快了6 fps,证明使用模型压缩的方法确实对减少模型参数、降低计算量以及提升检测速度有所帮助。
4.基于自适应检测的目标跟踪算法
由前文介绍的网络框架可知,需要确定一个预测边界框与真实边界框的阈值α,因此对使用不用大小阈值的跟踪器的精确度进行实验对比分析,其中α的取值范围为0.1~1.0,取值间隔为0.1,实验对比结果如表3-9所示。这里α值为0.0是指完全由确定的感兴趣区域初始化相关滤波器,得到的响应峰值位置为预测的目标所在位置,而不在感兴趣区域内进行检测,α值为1.0是指预测边界框与真实边界框完全重合,即为直接在感兴趣区域内进行检测的跟踪算法。
表3-9 不同α值的基于自适应检测的目标跟踪算法精度对比
由表3-9可以看出,当α值小于0.7时,随着α值的增加,算法精度随着升高,当β值大于0.7时,算法精度随着α值的增加而降低,当α值为0.7时,基于自适应检测的目标跟踪算法精确度最高,因此选用0.7作为预测边界框与真实边界框的IoU的阈值。用OTB的测试集测试基于自适应检测的目标跟踪算法的性能,并且与benchmark中以及当前的一些跟踪器进行性能对比,其中TLD、ROLO、TCNN和MDNet是基于深度学习的tracking-by-detection算法,其余的是传统的benchmark跟踪算法精确度图及成功率图如图3-19所示。
图3-19 OTB测试集上基于自适应检测的目标跟踪算法的精确度图及成功率图
与ROLO、Siamese、TCNN及MDNet等跟踪器的精确度和成功率的对比如表3-10所示。
表3-10 基于自适应检测的目标跟踪器与其他跟踪器的精确度和成功率对比
另外,为了测试加入相关滤波的思想对于提高跟踪算法的速度是否有所帮助,系统运行时间进行了对比实验分析,实验结果如表3-11所示。
表3-11 基于自适应检测的目标跟踪器与其他跟踪器的系统运行时间对比
由图3-19和表3-10可以看出使用相关滤波思想的跟踪算法达到了0.869的精确度和0.645的成功率,明显高于基于循环神经网络的只依赖于检测的跟踪算法。同时由表3-11可以看出,算法的运行速度比之前的算法快了42 fps。虽然基于自适应检测的目标跟踪算法精度仍低于TCNN和MDNet等一些顶尖的跟踪算法,在精度上还有很大的提升空间,但是TCNN、MDNet等顶尖的跟踪算法只有1.5 fps和1 fps的跟踪速度,远远达不到实时的要求,然而使用相关滤波思想的PDT跟踪算法可以达到超实时的跟踪速度,因此证明使用相关滤波思想的方法对提升跟踪性能、减小对目标检测的依赖以及提升跟踪速度有所帮助。
同时,对未使用方向预测模型做时序预测的KCF跟踪算法和使用方向预测模型做时序预测的KCF跟踪算法做了性能对比测试。其中未使用方向预测模型做时序预测的KCF跟踪算法是用视频序列第一帧初始化,后续每一帧将位置更新到响应峰值处,使用方向预测模型做时序预测的KCF跟踪算法用确定的感兴趣区域初始化相关滤波器,后续每一帧将位置更新到下一帧通过方向预测模型确定的感兴趣区域处。实验结果如图3-20所示。
图3-20 使用与未使用方向预测模型的KCF算法的精确度图及成功率图
从图3-20可以看出,使用方向预测模型确定的感兴趣区域初始化的KCF跟踪算法达到了0.729的精确度和0.576的成功率,均高于原始的KCF跟踪算法,即证明了利用LSTM做时序预测的重要性和有效性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。