一种基于多核异构平台的检测跟踪算法优化方法与流程

文档序号:19741546发布日期:2020-01-18 05:18阅读:195来源:国知局
一种基于多核异构平台的检测跟踪算法优化方法与流程
本发明涉及一种深度学习领域的检测跟踪算法优化硬件实现,尤其是涉及一种基于多核异构平台的检测跟踪算法优化方法。
背景技术
:基于深度学习的检测跟踪技术是各类应用技术的基础,比如现在应用广泛的公交校车数人头、人脸识别等应用都需要检测跟踪技术。但是现有的检测跟踪算法存在一些问题:计算在传统cpu平台上进行,存在计算速度慢的问题、检测、跟踪可能将无语义的对象识别检测出来。这些问题影响了检测跟踪的计算速度以及准确率。如何利用多核异构深度学习计算平台,进行深度学习检测和传统的目标跟踪算法进行嵌入式平台的实时计算,是本专利的核心。技术实现要素:在一种基于多核异构平台的跟踪检测算法优化实现中,遇到的问题有:如何设计高效的流水线技术,实现检测跟踪算法的高效调度?如何对对象信息进行高效存储,提高计算效率?如何针对多核异构平台进行分布式计算?如何针对过滤器设计加速算法,减少过滤器调用的计算次数?为解决上述问题,本发明提供一种基于多核异构平台的检测跟踪算法优化方法,包括如下步骤:步骤(1)、首先对输入的分辨率1920×1080高清图像采用gc620图形加速器进行图像的缩放,这里缩放成两个输出分辨率图像,一是分辨率300×300,用于检测器进行检测;二是缩放到分辨率720×576,用于跟踪器在缩放的图像上进行跟踪;跟踪是指在某一帧中给个矩阵框,比如说第一帧里面有个人,我们把这个人用矩形框框起来。这个人在后续几帧里面都会出现,跟踪的作用就是使用算法在后续帧中能紧紧跟住这个框。跟踪器就是实现这个跟踪功能的算法模块;这块可参考如下内容:视觉目标(单目标)跟踪任务就是在给定某视频序列初始帧的目标大小与位置的情况下,预测后续帧中该目标的大小与位置。输入初始化目标框,在下一帧中产生众多候选框(motionmodel),提取这些候选框的特征(featureextractor),然后对这些候选框评分(observationmodel),最后在这些评分中找一个得分最高的候选框作为预测的目标(predictiona),或者对多个预测值进行融合(ensemble)得到更优的预测目标。视觉目标跟踪方法根据观测模型是生成式模型或判别式模型可以被分为生成式方法(generativemethod)和判别式方法(discriminativemethod)。本专利中所采用的基于相关滤波(correlationfilter)的kernelcorrelationfilter(kcf)算法。相关滤波(correlationfilter):相关滤波源于信号处理领域,相关性用于表示两个信号之间的相似程度,通常用卷积表示相关操作。那么基于相关滤波的跟踪方法的基本思想就是,寻找一个滤波模板,让下一帧的图像与我们的滤波模板做卷积操作,响应最大的区域则是预测的目标。根据这一思想先后提出了大量的基于相关滤波的方法,如最早的平方误差最小输出和(mosse)利用的就是最朴素的相关滤波思想的跟踪方法。随后基于mosse有了很多相关的改进,如引入核方法(kernelmethod)的csk,kcf等都取得了很好的效果,特别是利用循环矩阵计算的kcf,跟踪速度进一步提升。步骤(2)、将分辨率300×300的图像送入cadencec5硬件上运行的cnn检测器mobilenet_ssd网络上进行对象检测;其中,cadence是一家公司,cnn是卷积神经网络的意思,cadence的卷积神经网络计算核c5;mobilenet_ssd是实现检测功能的一个网络,检测主要是在一个图片里面将人、车等对象检测提取出来;检测器是指实现检测功能的算法模块;步骤(3)、将检测器输出的对象和缓存的对象进行匈牙利算法关联,匈牙利算法在cadencep6上进行;其中,关联:比如现在有前后两帧的图像,前一帧将图像的对象检测出来,后面一帧将也将对象检测出来,但是这两个对象有可能是同一个物体,匈牙利算法关联主要是用于将两个相邻帧的同一个物体将其关联,也就是将两个帧的同一个对象关联起来。p6是一个计算机视觉的计算核,是cadence公司的一个硬件计算核;计算核:硬件计算单元。p6也是cadence公司的一个硬件,可以认为是类似cpu的一个处理单元。步骤(4)、针对关联上的对象,利用分类器进行分类,判断是否属于感兴趣的对象类别中。如果不属于感兴趣对象类别,则将该对象去除。感兴趣对象类别:是指人、车、非机动车这些对象;步骤(5)、针对未关联上的对象,利用kcf核关联滤波跟踪算法进行跟踪,跟踪得到当前帧中最相似对象所处的位置;最相似这里可以这么理解:kcf会产生如下的相应输出,最相似的就是响应输出最大位置的那个点。下表1是响应输出的表格;0.20.20.50.20.20.30.30.60.30.30.40.410.40.40.60.60.40.60.6步骤(6)、根据关联和kcf核关联滤波跟踪算法关联的轨迹,通过检测的分类得分以及矩形框的面积优选出轨迹上最优的目标对象。并将最优的目标对象送入后续的操作,比如结构化等。最优的目标:检测类别得分越高和矩形框面积越大的目标认为是最优目标。作为优选的,在步骤(1)中图像缩放,主要包括如下步骤:确定源图像到目标图像的缩放倍数,根据缩放倍数采用bilinear方法进行缩放操作。作为优选的,步骤(2)中图像检测的方法,包括如下步骤:对缩放后的图像300×300进行归一化预处理操作,然后输入到mobilenetv1和ssd结合的mobilenetssd网络进行感兴趣对象检测,对检测的输出框采用非极大值拟制(nms)优化输出最终的感兴趣对象框。作为优选的,在步骤(4)中的分类器的算法步骤如下:将图像中的对象框缩放到196×196分辨率图像,将196×196的图像送入到resenet10搭建的分类器进行分类,如果过滤得到的不是感兴趣对象,需要将该对象删除;如果该对象是由跟踪得到,且响应图的次大值/响应图的最大值的比值小于某一阈值,则进行分类器过滤;否则改对象认为是感兴趣目标,不进行分类器过滤。作为优选的,在步骤(5)中图像跟踪的方法,包括以下步骤:(1)获取第一帧图像,根据不同尺度的局部图像块的外观模型集合成图像整体字典,计算局部图像块的稀疏系数;(2)采集图像的当前状态为候选目标,建立粒子滤波器和相似度函数,通过当前状态粒子滤波器框架中的相似度函数,计算候选目标的估计位置;(3)以候选目标的估计位置为依据,进行局部图像块的稀疏系数重算,完成目标最后的定位位置。作为优选的,步骤(6)中目标优选的方法,包括以下步骤:通过关联和kcf核滤波跟踪算法关联的目标轨迹,通过检测的类别得分以及矩形框的面积大小优选出轨迹上最优的目标对象;检测类别得分越高和矩形框面积越大的目标认为是最优目标。在步骤(3)中的匈牙利算法的步骤如下:通过上一帧的对象矩形框和当前帧对象矩形框的intersectionofunion(iou)来构建效益矩阵;对效益矩阵的矩阵做变换,使得各行各列中都出现0元素,变换方法是效益矩阵每行的元素减去该行的最小元素;再将所得的效益矩阵每列的元素减去该列的最小元素;然后对该效益矩阵进行循环迭代求解最优匹配,将上一帧的对象框和当前帧的对象框进行最优匹配。作为优选的,在步骤(3)中的匈牙利算法的步骤如下:通过上一帧的对象矩形框和当前帧对象矩形框的intersectionofunion(iou)来构建效益矩阵;对效益矩阵的矩阵做变换,使得各行各列中都出现0元素,变换方法是效益矩阵每行的元素减去该行的最小元素;再将所得的效益矩阵每列的元素减去该列的最小元素;然后对该效益矩阵进行循环迭代求解最优匹配,将上一帧的对象框和当前帧的对象框进行最优匹配。在步骤(3)中的匈牙利算法的原理如下:其中,二分图的基本概念:意思就是所有的点分成了2个集合x,y;每个集合中的顶点相互间没有边;一个无向图g=<v,e>,如果存在两个集合x,y,使得x∪y=v,x∩y=φ,并且每一条边e={x,y};每条边的权重通过矩形框的intersectionofunion(iou)计算获得。有x∈x,y∈y,则称g为一个二分图(bipartitegraph);常用来表示一个二分图;若对x中任一x及y中任一y;恰有一边e∈e,使e={x,y},则称g为完全二分图(completebipartitegraph);二分图的性质:定理:无向图g为二分图的充分必要条件是,g至少有两个顶点,且其所有回路的长度均为偶数;匹配:设g=为二分图,如果并且m中没有任何两边有公共端点。m=φ时称m为空匹配;盖点:若m是二分图的一个匹配,将m中的边多所关联的顶点称为盖点,其余则为未盖点;交错轨:若一条路径上属于m的边和不属于m的边交替出现,则称该路径为交错轨;增广路径:若路径p是一条起始点和终点都是未盖点的交错轨,那么p称为m的增广路径;最大匹配:g的所有匹配中边数最多的匹配称为最大匹配。与现有技术相比,本发明一种基于多核异构平台的跟踪检测算法优化,具有如下有益效果:利用对象检测的帧级流水和目标跟踪的对象级流水,提高了计算效率。将缓存对象信息保存在片上sram中,增大计算效率。利用多核异构平台,对过滤器这一模块在c5和p6上进行分布式计算,提高计算效率。利用kcf响应值,进一步降低对分类过滤器的计算需求。附图说明附图1示出了多核异构平台计算架构框图。附图2示出了检测跟踪算法整体框架图。附图3示出了多核异构架构流水调度图。附图4示出了kcf响应值与分类过滤器判决策略图。附图5示出了匈牙利算法的二分图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明公开的测跟踪算法优化实现是基于多核异构平台上进行的,多核异构平台主要包括:p6、c5、两个dsp核、gc620graphics、以及中天c-sky的cpu(ck860)。每个核上进行计算的任务在图1中已经详细的介绍,p6主要进行过滤器、匈牙利算法关联和跟踪器的计算;c5主要进行检测器和过滤器的计算;gc620主要进行从1080p图像到720×576和300×300的缩放操作;cpu主要进行调度以及目标管理的操作。算法的框架图如图2所示,算法框架图的具体描述在技术方案简介中已经说明,这里不再描述。算法的调度如图3所示,这里所进行的调度优化主要有:1.帧级和对对象级的混合流水调度框架。针对检测器,由于是在整帧上进行,采用的是帧级调度方法;针对途中的每个对象,进行缩放、分类过滤、跟踪等步骤,采用的是对象级流水。2.为了进一步提高硬件的使用效率,在检测器和跟踪器中间会插入对象buffer,用于对象buffer的缓冲,不需要对象在当前帧做完,当前帧的对象可以延迟几帧进行跟踪和分类过滤,使得硬件计算效率提高。kcf响应值与分类过滤器判决策略如图4所示,通过跟踪器的响应图的最大值和次大值的比例关系来确定是否进行分类过滤。如果大于某一阈值的话,则认为跟踪的结果比较可靠,不需要送入过滤器进行分类过滤,否则认为跟踪的结果不可靠,跟踪的结果需要进行分类过滤。各个核心模块在多核异构平台上的计算时间下表2所示。其中图像缩放,可以采用如下方法,包括如下步骤:确定源图像到目标图像的缩放倍数,根据缩放倍数采用bilinear方法进行缩放操作。其中图像跟踪的方法,包括以下步骤:(1)获取第一帧图像,根据不同尺度的局部图像块的外观模型集合成图像整体字典,计算局部图像块的稀疏系数;(2)采集图像的当前状态为候选目标,建立粒子滤波器和相似度函数,通过当前状态粒子滤波器框架中的相似度函数,计算候选目标的估计位置;(3)以候选目标的估计位置为依据,进行局部图像块的稀疏系数重算,完成目标最后的定位位置。其中的匈牙利算法的原理如下:其中,二分图的基本概念:意思就是所有的点分成了2个集合x,y;每个集合中的顶点相互间没有边;一个无向图g=<v,e>,如果存在两个集合x,y,使得x∪y=v,x∩y=φ,并且每一条边e={x,y};每条边的权重通过矩形框的intersectionofunion(iou)计算获得。有x∈x,y∈y,则称g为一个二分图(bipartitegraph);常用来表示一个二分图;若对x中任一x及y中任一y;恰有一边e∈e,使e={x,y},则称g为完全二分图(completebipartitegraph);二分图的性质:定理:无向图g为二分图的充分必要条件是,g至少有两个顶点,且其所有回路的长度均为偶数;匹配:设g=为二分图,如果并且m中没有任何两边有公共端点。m=φ时称m为空匹配;盖点:若m是二分图的一个匹配,将m中的边多所关联的顶点称为盖点,其余则为未盖点;交错轨:若一条路径上属于m的边和不属于m的边交替出现,则称该路径为交错轨;增广路径:若路径p是一条起始点和终点都是未盖点的交错轨,那么p称为m的增广路径;最大匹配:g的所有匹配中边数最多的匹配称为最大匹配。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1