基于验证和纠错机制的视觉目标跟踪方法、智能机器人与流程

文档序号:17725455发布日期:2019-05-22 02:28阅读:282来源:国知局
基于验证和纠错机制的视觉目标跟踪方法、智能机器人与流程

本发明属于数字图像处理技术领域,尤其涉及一种基于验证和纠错机制的视觉目标跟踪方法、智能机器人。



背景技术:

目前,业内常用的现有技术是这样的:视觉目标跟踪是计算机视觉领域的重要研究课题,其主要任务是获取视频序列中感兴趣目标的位置与运动信息,为上层的语义层分析(动作识别、场景识别等)提供基础。视觉目标跟踪在智能视频监控、人机交互、自动驾驶、智能机器人等领域有广泛应用,具有很强的实用价值,因此,视觉目标跟踪算法的研究是数字图像处理中一项十分重要的工作。目标跟踪分为单目标跟踪和多目标跟踪,当前已有很多个目标跟踪算法,由于现实世界里的视频存在着多种视觉挑战,包括光照变化、尺度变化、目标遮挡、目标形变或扭曲、运动模糊、目标快速移动、平面内旋转、平面外旋转、超出视野、背景聚类和低分辨率等,因此需要提出一个更加鲁棒的视觉跟踪算法来应用在现实场景中。当前的视觉目标跟踪算法可以划分为两个分支,基于相关滤波的视觉目标跟踪算法和基于深度学习的视觉目标跟踪算法。现有技术一利用了循环矩阵的多个性质在频域中对目标进行跟踪处理,极大的提升了跟踪的速度和精确度;针对视觉目标跟踪中的尺度问题提出了dsst算法,由于构建高斯金字塔的过程比较耗费时间,随后又提出改进版的fdsst对原始算法进行了加速操作;现有技术二提出了eco算法,将深度特征和手工特征结合起来,同时采用高斯牛顿法和共轭梯度法来求解非线性最小二乘问题,使得跟踪的精度得到了大幅度的提升。这类算法具有速度快、能够处理大多数的视觉挑战等优点,但是不能很好的的处理目标遮挡、目标消失等问题。现有技术三sint算法,首次提出利用孪生网络来进行视觉目标跟踪,通过孪生网络来计算出图像patch块的相似度,最终选择得分最高的图像patch块作为最终的目标位置;接着,现有技术四提出cfnet跟踪算法,首次将相关滤波操作转换为一个网络层并将其加入到孪生网络架构中,使得基于深度学习的跟踪算法的速度得到了大幅度的提升;接着,现有技术五提出了一个实时的并行跟踪和验证框架ptav,使得该算法可以在一定程度上处理目标的局部遮挡和重出现问题。这类算法可以获得较高的跟踪精度,但是由于需要使用到深度学习,而利用深度学习进行前向和反向计算非常耗时,因此跟踪的速度成为了算法的一个瓶颈问题。然而,对于跟踪而言,本发明更多的是将其应用在现实生活中的实时场景中,这就对本发明的算法提出了速度约束。当前,解决该问题的具体思路包括:1)使用较小的神经网络;2)对深层网络进行压缩;3)在视频中的关键帧时才使用深度学习类的跟踪算法。因此,设计一个能够在速度和准确率之间折中的跟踪算法变得至关重要。

综上所述,现有技术存在的问题是:现有技术由于需要使用到深度学习,跟踪的速度成为了算法的一个瓶颈问题,设计一个能够在速度和准确率之间折中的跟踪算法变得至关重要。

由于利用深度神经网络获得一个鲁棒的特征表示,大量文献已经证实在数据充足的情况下,使用越深的神经网路越能获得更加鲁棒的特征,然后使用的网络越深的算法的处理速度就会越慢,因此需要在跟踪精度和速度之间做一个折中。解决该问题的意义包括:1)本发明跟踪算法可以应用在更多的实时应用中,包括人机交互、自动驾驶、智能视频监控等;2)利用本发明的跟踪算法搭建的跟踪系统能够极大的节约成本;3)由于本发明的跟踪框架比较灵活,用户可以根据应用的场景去选择出合适的算法。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于验证和纠错机制的视觉目标跟踪方法、智能机器人。

本发明是这样实现的,一种基于验证和纠错机制的视觉目标跟踪方法,所述基于验证和纠错机制的视觉目标跟踪方法包括:

步骤一,读取待跟踪的视频序列,对视频序列进行预处理操作;

步骤二,将预处理后的视频序列输入到一个基于相关滤波的跟踪算法中,计算出相应的scoremap,选取得分映射中具有最大数值的位置作为预测的位置,输出相应的bb;

步骤三,首次验证当前bb的可信度,即将最大的scoremap值和预设置的阈值进行比对,如果其大于该阈值,则返回相应的bb,如果小于该阈值,则进行后续的二次验证操作;

步骤四,二次验证当前bb的可信度,即将没有通过验证的bb输入预训练好的孪生网络中,获得当前bb与初始的bb之间的相似度得分,如果该得分大于预设的阈值,返回当前的bb,否则,进行后续的纠错操作;

步骤五,将没有通过验证的bb输入到纠错模块中,通过纠错方法来获取到一个更加准确的bb,将其作为最终的结果输出;

步骤六,获取视频序列的下一帧图像,重复进行步骤二-步骤五的操作,直到整个视频终止为止。

进一步,所述步骤二中使用改进版eco-hc算法作为cftracker:

(1)分解卷积:

使用滤波集合f1,...,fd中的一个子集f1,...,fc,其中c<d,通过公式实现卷积的分解;

(2)eco-hc对应的loss为:

(3)eco-hc使用高斯牛顿算法和共轭梯度法来优化二次子问题,第i次的高斯牛顿子问题:

(4)通过对sample分类简化训练集,通过混合高斯模型将样本进行分类,得到不同的component;

(5)采用新的模型更新策略,更新间隔为6。

进一步,所述步骤三中验证操作包括:

(1)利用相关滤波类跟踪器获得在特定序列上面的得分映射图;

(2)通过多次试验获得一个比较合适的判决阈值;

(3)进行首次验证,即判断获得的得分映射的最大值是否超过设定的阈值,如果超过该阈值,返回该bb作为输出结果,否则进行后面二次验证;

(4)选择一个预训练好的基于孪生网络的跟踪算法,这里使用的是改进版的sint算法;

(5)将初始帧的bb和当前帧预测的bb同时输入到该孪生网络中,然后进行前向运算,从而获得相应的相似度得分值;

(6)设置一个合适的相似度阈值,并将当前的相似度值和阈值进行比较,如果大于该阈值,返回该bb作为输出结果,否则进行后面的纠错模块。

进一步,所述步骤五中纠错方法包括:

(1)利用跟踪算法获得上一帧的bb;

(2)利用跟踪算法获得当前帧的bb;

(3)连接上一帧的bb和当前帧的bb的中心点坐标,获得一段线段,以线段的中心为圆心,线段的一半长为半径画一个圆;

(4)将该圆上距离水平直线0°、90°、180°、270°的这几个点作为搜索区域的中心,分别在这4个区域利用基于孪生网络的算法重新计算出4个bb;

(5)利用孪生网络计算这4个bb与初始帧bb的相似度,选择具有最大相似度的bb作为最终的预测结果。

本发明的另一目的在于提供一种应用所述基于验证和纠错机制的视觉目标跟踪方法的基于验证和纠错机制的视觉目标跟踪系统,所述基于验证和纠错机制的视觉目标跟踪系统包括:

cftracker模块,利用相关滤波跟踪算法获得一个初始的bb;

verification模块,通过双层验证机制来判断预测的bb是否准确;

errorcorrection模块,通过基于孪生网络的跟踪器来获得更加准确的bb。

本发明的另一目的在于提供一种应用所述基于验证和纠错机制的视觉目标跟踪方法的智能视频监控平台。

本发明的另一目的在于提供一种应用所述基于验证和纠错机制的视觉目标跟踪方法的人机交互平台。

本发明的另一目的在于提供一种应用所述基于验证和纠错机制的视觉目标跟踪方法的自动驾驶控制系统。

本发明的另一目的在于提供一种应用所述基于验证和纠错机制的视觉目标跟踪方法的智能机器人。

为了验证改进算法的效果,本发明在多个跟踪数据集上面进行了测试,包括otb50、otb100、tc128和uav123,跟踪算法中常用的评估指标包括precsionplot,这个指标表示的是跟踪算法预测的中心点坐标和gt给出的中心点坐标之间的偏差;而successplot这个指标表示的是预测的bb和gt给出的bb之间的交叠比。具体的测试结果如下所示:

图1展示了改进的跟踪算法在otb50数据集上的性能表现,左图表示的是precisionplot曲线,右图表示的是successplot曲线。图中atvc表示的是改进的算法,本发明将atvc与12个经典的跟踪算法进行了比较,包括kcf、dsst、meem、muster、samf、fdsst、srdcf、staple、cnn-svm、cfnet、ptav和eco-hc。观察图6可知,针对successplot指标而言,atvc和eco-hc相比性能提升了1.4%。

图2展示了改进的跟踪算法在otb100数据集上的性能表现,左图表示的是precisionplot曲线,右图表示的是successplot曲线。图中atvc表示的是改进的算法,本发明将atvc与13个经典的跟踪算法进行了比较,包括kcf、dsst、meem、muster、samf、fdsst、srdcf、bacf、staple、cnn-svm、cfnet、ptav和eco-hc。观察图6可知,针对precisionplot指标而言,atvc和eco-hc相比性能提升了1.7%;atvc在successplot上和eco-hc相比提升了2%。

图3展示了改进的跟踪算法在tc128数据集上的性能表现,左图表示的是precisionplot曲线,右图表示的是successplot曲线。图中atvc表示的是改进的算法,本发明将atvc与7个经典的跟踪算法进行了比较,包括kcf、struck、meem、staple、srdcf、eco-hc和ptav。观察图6可知,针对precisionplot指标而言,atvc和ptav相比性能提升了1.4%;atvc在successplot上和eco-hc相比提升了1.8%。

图4展示了改进的跟踪算法在uav123数据集上的性能表现,左图表示的是precisionplot曲线,右图表示的是successplot曲线。图中atvc表示的是改进的算法,本发明将atvc与10个经典的跟踪算法进行了比较,包括kcf、dsst、meem、muster、samf、srdcf、struck、cfnet、staple和bacf。观察图6可知,针对successplot指标而言,atvc和srdcf相比性能提升了2.8%。

图5展示了改进的跟踪算法在9个具有较大视觉挑战的视频序列上的性能表现,图中将15种经典的跟踪算法和改进的跟踪算法atvc在这9个视频序列上的跟踪效果进行了展示,观察可知,改进后的跟踪算法就有能够更好的处理目标的快速移动、目标的运动模糊、目标的扭曲和目标的旋转等,同时,改进后的算法具有重新跟踪目标的能力。

综上所述,本发明的优点及积极效果为:本发明可以在速度和准确率之间进行折中,即在保证速度的同时提高了跟踪的速度,满足了现实中很多实时场景的需求;提出的双层验证模块可以准确高效的区分出简单和复杂的视频序列,然后使用基于相关滤波的跟踪器来处理简单的视频序列,使用基于孪生网络的跟踪器来处理复杂的视频序列,充分发挥相关滤波和深度学习的优势;提出的纠错模块思路简单,但是可以极大的提升跟踪算法的性能,同时,由于该模块具有很强的通用性,因此可以集成到任意一个跟踪器中。改进后的算法在多个视觉目标跟踪数据集中取得较大的性能提升,包括otb50、otb100、tc128、uav123等。

附图说明

图1是本发明实施例提供的改进的视觉目标跟踪算法在otb50数据集上的测试效果。

图2是本发明实施例提供的改进的视觉目标跟踪算法在otb100数据集上的测试效果。

图3是本发明实施例提供的改进的视觉目标跟踪算法在tc128数据集上的测试效果。

图4是本发明实施例提供的改进的视觉目标跟踪算法在uav123数据集上的测试效果。

图5是本发明实施例提供的改进的视觉目标跟踪算法效果图。

图6是本发明实施例提供的基于验证和纠错机制的视觉目标跟踪方法流程图。

图7是本发明实施例提供的基于验证和纠错机制的视觉目标跟踪方法实现流程图。

图8是本发明实施例提供的biker序列的验证得分。

图9是本发明实施例提供的errorcorrection模块框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对现有技术由于需要使用到深度学习,跟踪的速度成为了算法的一个瓶颈问题,设计一个能够在速度和准确率之间折中的跟踪算法变得至关重要。本发明的方法是通过在跟踪算法框架中加入目标验证和目标纠错模块,使得改进后的视觉目标跟踪算法可以很好的处理目标遮挡、目标丢失、目标重出现等多个视觉挑战,同时可以应用在需要实时的跟踪场景中去。

下面结合附图对本发明的应用原理作详细的描述。

如图6所示,本发明实施例提供的基于验证和纠错机制的视觉目标跟踪方法包括以下步骤:

s101:读取待跟踪的视频序列,对视频序列进行预处理操作;

s102:将预处理后的视频序列输入到一个基于相关滤波的跟踪算法中,计算出相应的scoremap,选取得分映射中具有最大数值的位置作为预测的位置,输出相应的bb;

s103:首次验证当前bb的可信度,即将最大的scoremap值和预设置的阈值进行比对,如果其大于该阈值,则返回相应的bb,如果小于该阈值,则进行后续的二次验证操作;

s104:二次验证当前bb的可信度,即将没有通过验证的bb输入预训练好的孪生网络中,获得当前bb与初始的bb之间的相似度得分,如果该得分大于预设的阈值,返回当前的bb,否则,进行后续的纠错操作;

s105:将没有通过验证的bb输入到纠错模块中,通过特定的纠错方法来获取到一个更加准确的bb,将其作为最终的结果输出;

s106:获取视频序列的下一帧图像,重复进行s102-s105的操作,直到整个视频终止为止。

下面结合附图对本发明的应用原理作进一步的描述。

如图7所示,整个跟踪算法由3个模块组成,包括cftracker、verification和errorcorrection。在具体的实施过程中,对于cftracker而言,需要具备以下的特性:1)具有较快的跟踪速度;2)可以处理简单的视觉挑战,最终选择了性能优异的eco-hc算法作为cftracker。

对于verification模块而言,其作用是验证cftracker输出的bb是否有效,即区分出简单和复杂的视频帧序列。那么需要设计一个可靠高效的验证机制,最终使用了双层的验证机制。对于cftracker预测出的bb而言,先进行第一轮的验证,即使用cftracker计算出的得分映射图。由于大多数的相关滤波类的跟踪算法都会在视频帧中的初始帧上面使用余旋窗做高斯标签,算法的后期都会计算出相应的得分映射图,在大多数情况下,得分映射图中得分最大的位置即为跟踪目标所在的位置,即得分映射表可以作为一个难易验证的机制。但是当视频序列中的目标出现大量的遮挡或者目标出现短时间或者长时间的消息时,该类跟踪算法仍然会将得分映射图中的最大值作为跟踪的目标位置,这样就会导致目标跟丢或者跟错目标,即如果仅仅依赖于得分映射来区分简单和复杂的视频序列,会在很大程度上发生误判,误将简单的视频序列判断复杂的视频序列,过多的使用基于深度学习的算法进行跟踪,会大大降低跟踪速度,并不符合设计初衷。除此之外,为了能够准确的区分出简单和复杂的视频序列,增加了一个双层验证机制,即使用孪生网络来验证预测的bb与初始帧的bb之间的相似度,如果它们的相似度很高,则认为预测的bb是需要跟踪的目标,否则不是需要跟踪的目标,进而需要执行后续的errorcorrection操作。

如图8所示,图8的上图表示的是不同的视频帧与其对应的最大得分映射值之间的曲线;图8的下图展示出对应的视频序列帧以及相应帧获得的最大得分映射值。图8中需要跟踪的目标是一个骑着自行车的小男孩的头部,在第31帧时,由于待跟踪的目标只是发生了一些微弱的变化,cftracker计算出的最大得分映射值为0.4749;在第63帧时,由于待跟踪的目标发生了剧烈的变化,包括快速运动、运动模糊等多个视觉挑战,cftracker计算出的最大得分映射为0.1146,与31帧相比发生了极大的变化;在第70帧和第71帧时,cftracker获得类似的得分;而在第83帧时,由于待跟踪的目标已经发生了翻转,而且待跟踪的目标比较小,利用hog算法已经不能获得足够鲁棒的特征表示,因此最终只能获得0.0899的得分,在当前帧中其它颜色的bb表示的是使用的errorcorrection算法重新获得的多个bb,蓝色的bb表示的是最终的选择的结果。通过图8的分析可以得出如下结论:

(1)在大多数情况下,得分映射图可以作为一个难易判别标准;

(2)当待跟踪的目标发生微弱的变化时,简单高效的cftracker就可以给出准确的bb,但是当待跟踪的目标发生了剧烈的变化时,cftracker可能会给出错误的bb,从而导致目标丢失或者跟错目标,这时就需要使用基于深度学习的跟踪算法重新获得一个准确的bb;

(3)跟踪阈值的选取,需要在多个跟踪视频上面进行尝试,最终选择一个合适的阈值。

对于errorcorrection模块而言,其作用是利用基于深度学习的跟踪算法在短时间内获得一个更加准确的bb,可以在一定程度上重新跟踪上丢失的或者长时间遮挡的目标。对于跟踪算法而言,目标跟丢有多个原因,包括获得的特征不够鲁棒、误差累计等。有一个众所周知的常识,对于误差而言,不可能消除它,但是可以去尽可能的缩小误差。如果可以在每一帧中获得一个更加准确的bb,那么就可以在一定程度上减缓误差的累积,从而获得更准确的跟踪结果。除此之外,目标的重新跟踪也是一个关键的问题,即一个跟踪算法可以在目标跟丢后在很短的时间内重新跟上目标。但是值得一提的是,跟丢的目标一般都在目标搜索区域的附近,如果可以在更大的图像范围内进行搜索,就有可能重新跟上目标,但是扩大搜索区域意味着需要花费更多的时间,因此设计一个简单高效的纠错模块变得极其重要。

图9展示了errorcorrection的实现流程:

步骤1:利用跟踪算法获得上一帧的bb;

步骤2:利用跟踪算法获得当前帧的bb;

步骤3:连接上一帧的bb和当前帧的bb的中心点坐标,获得一段线段,以线段的中心为圆心,线段的一半长为半径画一个圆;

步骤4:将该圆上距离水平直线0°、90°、180°、270°的这几个点作为搜索区域的中心,分别在这4个区域利用基于孪生网络的算法重新计算出4个bb;

步骤5:利用孪生网络计算这4个bb与初始帧bb的相似度,选择具有最大相似度的bb作为最终的预测结果。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1