本发明涉及智能决策技术领域,更为具体地,涉及一种基于darkflow-deepsort的多目标追踪检测方法、装置及存储介质。
背景技术:
视觉目标追踪的方法广泛应用于人机交互、无人驾驶等领域,基于相关滤波(correlationfilter)和卷积神经网络(cnn)的跟踪方法已经占据了目标跟踪领域的大半江山。
在现存的多目标追踪方法中sort方法(simpleonlineandrealtimetracking,简单的在线和实时跟踪)取得的较好的效果。这个方法最大的特点是高效地实现了目标检测并使用卡尔曼滤波去滤波以及hungarian算法进行跟踪。
而deepsort是在sort目标追踪基础上的改进,利用原始deepsort训练高性能的的faster-rcnn模型进行目标检测,相对于sort算法减少了45%的idswitch,并且结合了深度外观信息,对遮挡目标的追踪效果有了大大提升;升高了fp,达到了最先进的在线跟踪效果。但是,用此方法的deepsort追踪时fps最高能达到15fps左右,但是平均fps仅仅能达到10左右,且实时追踪仅仅稳定在8fps左右。
所以,亟需一种提升检测速度,且不损失检测准确度的多目标追踪检测方法。
技术实现要素:
为了解决上述问题,本发明的目的是提供一种基于darkflow-deepsort的多目标追踪检测方法、装置及存储介质。
一种基于darkflow-deepsort的多目标追踪检测方法,应用于电子装置,包括以下步骤:
s110、利用yolov3算法训练得到基于darkflow的目标检测模型;
s120、将检测图像输入训练好的基于darkflow的目标检测模型,得到多个目标的表观特征;其中,所述检测图像基于对监控视频进行解码获得;
s130、将多个目标的表观特征输入训练好的基于deepsort的目标跟踪模型;所述目标跟踪模型通过多目标检测的数据集mot16challenge训练得到;
s140、利用目标跟踪模型的卡尔曼滤波器对所述监控视频进行逐帧的数据关联处理,实现所述监控视频中的多目标追踪。
进一步,优选的方法为,所述基于darkflow的目标检测模型为python模型,所述python模型通过cython将darknet网络结构转换获得。
进一步,优选的方法为,所述步骤s140具体包括:
s210、获得多目标的运动匹配度以及表观特征匹配度;其中,所述运动匹配度通过对卡尔曼滤波器获得的多目标的运动相似性进行计算获得;所述表观特征匹配度通过将所述多个目标的表观特征计算获得;s220、利用多目标的运动匹配度和表观特征匹配度,通过对所述监控视频逐帧的数据关联处理,得到目标框的匹配度;s230、选取最终匹配度达到预设匹配参数的目标框作为目标追踪结果。
进一步,优选的方法为,
对于所述步骤s120中得到的多个目标的表观特征,筛选出现次数超过设定阈值的目标,对所述目标通过级联匹配赋予其优先权。
进一步,优选的方法为,所述darkflow的网络结构中卷积层的padding均为1,池化层均为最大池化。
一种电子装置,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行基于darkflow-deepsort的多目标追踪检测方法的计算机程序,所述基于darkflow-deepsort的多目标追踪检测方法的计算机程序被所述处理器执行时实现如下步骤:
s110、利用yolov3算法训练得到基于darkflow的目标检测模型;
s120、将检测图像输入训练好的基于darkflow的目标检测模型,得到多个目标的表观特征;其中,所述检测图像基于对监控视频进行解码获得;
s130、将多个目标的表观特征输入训练好的基于deepsort的目标跟踪模型;所述目标跟踪模型通过多目标检测的数据集mot16challenge训练得到;
s140、利用目标跟踪模型的卡尔曼滤波器对所述监控视频进行逐帧的数据关联处理,实现所述监控视频中的多目标追踪。
进一步,优选的结构为,所述基于darkflow的目标检测模型为python模型,所述python模型通过cython将darknet网络结构转换获得。
进一步,优选的结构为,所述步骤140包括:
s210、获得多目标的运动匹配度以及表观特征匹配度;其中,所述运动匹配度通过对卡尔曼滤波器获得的多目标的运动相似性进行计算获得;所述表观特征匹配度通过将所述多个目标的表观特征计算获得;s220、利用多目标的运动匹配度和表观特征匹配度,通过对所述监控视频逐帧的数据关联处理,得到目标框的匹配度;s230、选取最终匹配度达到预设匹配参数的目标框作为目标追踪结果。
进一步,优选的结构为,所述darkflow的网络结构中卷积层的padding均为1,池化层均为最大池化。
根据本发明的另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括基于darkflow-deepsort的多目标追踪检测程序,所述基于darkflow-deepsort的多目标追踪检测程序被处理器执行时上述基于darkflow-deepsort的多目标追踪检测方法中的步骤。
利用上述基于darkflow-deepsort的多目标追踪检测方法、装置及存储介质,可以实现的效果如下:
1、本发明利用单假设追踪方法的卡尔曼滤波和逐帧的数据关联实现监控视频中的多目标追踪,并将yolov3算法和卡尔曼滤波结合在一起,既可以高准确率的追踪多目标,又可以避免多假设算法的随着量测数和目标数呈指数级增长带来的计算量庞大的弊端。
2、利用目标检测图像模型将运动目标在采集的运动目标图像中定位,对于连续获得的多帧连续图像,也即对视频而言,通过在每帧图像中定位运动目标,从而实现对视频中运动目标行为的跟踪检测;由于yolov3算法处理图片的速度很快,在相同条件下,基于yolov3算法训练目标检测模型对图像处理速度要比现有卷积神经网络算法训练的模型(如比r-cnn快1000倍,比fast-rcnn快100倍)的处理速度快。
3、yolov3算法移植方便,可以在各个操作系统下实现,对终端硬件的配置要求相对较低,能够较容易的在轻量级设备上实现目标检测模型的运行。
4、提取待追踪目标的表观特征进行最近邻匹配,改善了有遮挡情况下的目标追踪效果,同时,减少了目标id跳变的问题。
5、利用本发明的方法追踪视频中的目标时,在原始fps为25的视频中,不做抽帧处理的情况下,可以达到15fps,做每三帧抽帧处理时,最优可以达到20以上fps而且不会丢失跟踪目标;而对于实时摄像头追踪也能可以达到14fps以上,在保证准确度的基础上,将检测速度提升100倍。
6、针对实时录播的应用场景,本发明可在相同的精度下实现对运动目标特征的准确定位和快速识别,提高在视频领域识别的速度和精度,减少录播系统的延迟和卡顿。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
通过参考以下结合附图的说明,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为根据本发明实施例的基于darkflow-deepsort的多目标追踪检测方法的流程图;
图2根据本发明实施例的目标跟踪模型的跟踪方法的流程图;
图3根据本发明实施例的将darknet网络结构转换成python的模型结构的转换流程示意图;
图4根据本发明实施例的基于darkflow的网络结构示意图;
图5根据本发明实施例的基于darkflow-deepsort的多目标追踪检测的电子装置的结构示意图;
图6根据本发明实施例的现有的目标追踪的跟踪方法的流程框架图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出。
本发明提供一种基于darkflow-deepsort的多目标追踪检测方法、电子装置及存储介质。其中的基于darkflow-deepsort的多目标追踪检测方法,包括目标检测阶段和目标追踪阶段;涉及darkflow和deepsort两个模型,其中的darkflow模型主要用于训练样本进行行人检测,deepsort模型仅仅使用跟踪部分如卡尔曼滤波器确认轨迹等。本发明提供的基于darkflow-deepsort的多目标追踪检测方法在使用卷积神经网络提取空间特征的基础上,使用卡尔曼滤波器学习目标的运动规律,对目标的特征进行融合,对目标的位置进行预算,结合时间和空间两方面计算目标的相似度进行目标匹配,实现目标追踪的目的。
图1示出了本发明实施例的基于darkflow-deepsort的多目标追踪检测方法的流程。
如图1所示,基于darkflow-deepsort的多目标追踪检测方法,包括如下步骤:
s110、利用yolov3算法训练得到基于darkflow的目标检测模型;其中,darkflow的模型为基于yolov3算法,采用定义的二值交叉熵训练所得;而yolov3算法的时候损失函数为两部分,第一部分为类别误差,第二部分为物体位置误差,都是定义的二值交叉熵,然后取两类误差的差方和作为总的误差函数。
需要说明的是,yolov3(youonlylookoncev3)是基于darknet-53的一种目标检测算法,相较于其他的深度学习算法来说,性能上提升的最大的就是其检测速度更快,这也是我们想要采用这种方法作为本发明中多目标追踪检测中的目标检测的原因。其中,在目标检测阶段,使用yolov3算法训练的darkflow模型进行目标检测,采取darkflow网络结构作为目标检测的网络框架;在目标追踪阶段,利用python的模型完成目标追踪。
s120、将检测图像输入训练好的基于darkflow的目标检测模型,得到多个目标的表观特征。
其中,所述检测图像基于对监控视频进行解码获得;示例性的说明如下:对视频进行解码的惯用方式为隔帧解码,例如,每秒提取4帧的基础上设置解码间隔帧数,若视频fps为24,则间隔帧数为6,按照解码间隔帧数使用opencv对视频实时解码出图像。
表观特征也就是位置信息和空间特征;进一步的,所述基于darkflow的目标检测模型为python模型,python模型就是基于darkflow的目标检测模型,在目标检测这个模块下就是深度特征描述器;利用深度特征描述器进行提取表观特征。示例性的,使用8个参数
s130、将多个目标的表观特征输入训练好的基于deepsort的目标跟踪模型,所述目标跟踪模型通过多目标检测的数据集mot16challenge训练得到。而目标追踪模型就利用deepsort模型中去掉目标检测的部分,也就是包括卡尔曼滤波器及后续级联匹配。
目标跟踪模型,在于确定目标在视频帧中的位置信息,需要通过相应的目标表观特征描述方法将其中相对稳定的统计特征或某些不变的特征提取出来,通过滤波器来获取目标候选区域的响应,作为判断目标位置的标准。
基于deepsort的目标跟踪模型,是在公开的多目标检测的数据集mot16challenge上训练得到的。训练集本身是就是mot16challenge提供的比赛数据。
进一步的,基于deepsort的目标跟踪模型建立在kalman滤波器的基础上,用kalman滤波器去建立跟踪模型,然后通过darkflow实现目标检测确定表观特征进行匹配,并且对定位信息输入kalman滤波器进行跟踪。
s140、利用目标跟踪模型的卡尔曼滤波器对所述监控视频进行逐帧的数据关联处理,实现监控视频中的多目标追踪。利用单假设追踪方法的卡尔曼滤波实现多目标追踪,既可以高准确率的追踪多目标,又可以避免多假设算法的随着量测数和目标数呈指数级增长计算量庞大的弊端。
图2示出了本发明实施例的基于deepsort的目标追踪模型的工作方法的流程。
如图2所示,基于deepsort的多目标追踪检测方法,而deepsort的核心思想是单假设追踪方法,利用递归的卡尔曼滤波和逐帧的数据关联实现多目标的追踪过程。需要说明的是,deepsort引入了在行人重识别数据集(reid数据集,包含1261个人超过110万张图像,该数据集适合做行人追踪)上离线训练的深度学习模型。本发明中的基于deepsort的目标追踪模型就利用deepsort模型中去掉目标检测的部分。
在目标追踪阶段,视觉目标跟踪任务就是在给定某视频序列初始帧的目标大小与位置的情况下,预测后续帧的目标的大小与位置。而视觉目标跟踪任务流程按照框架划分,如图6所示。首先初始化目标框,在下一帧中产生众多候选框,提取这些候选框的特征,然后对这些候选框评分,最后在这些评分中找到一个得分最高的候选框作为预测的目标,或者对多个预测值进行融合得到更优的预测目标。在本发明中,目标的预测是通过卡尔曼滤波器来实现的。
其中,卡尔曼滤波(kalman)的一个典型实例是从一组有限的,包含噪声的,对物体位置的观察序列(可能有偏差)预测出物体的位置的坐标及速度。在很多工程应用(如雷达、计算机视觉)中都可以找到它的身影。同时,卡尔曼滤波也是控制理论以及控制系统工程中的一个重要课题。例如,对于雷达来说,人们感兴趣的是其能够跟踪目标。但目标的位置、速度、加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。将目标检测模型得到的目标的表观特征通过卡尔曼滤波器进行最近邻匹配;需要说明的是最近邻匹配就是根据特征的距离来找到最近的一个特征完成匹配。这个特征的位置的预测是通过kalman滤波器来完成的,然后与实际中检测到的目标的位置做最近邻匹配。
s210、获得多目标的运动匹配度以及表观特征匹配度;其中,所述运动匹配度通过对卡尔曼滤波器获得的多目标的运动相似性进行计算获得;所述表观特征匹配度通过将所述多个目标的表观特征计算获得;s220、利用多目标的运动匹配度和表观特征匹配度,通过对监控视频进行逐帧的数据关联处理,得到目标框的匹配度;s230、选取最终匹配度达到预设匹配参数的目标框作为目标追踪结果。也就是说,将目标与追踪器进行配对,更新配对成功与配对未成功的追踪,删除不满足条件的跟踪;然后对目标进行技术与画轨迹,从而完成目标的追踪动作。
需要说明的是,目标框的追踪对象可以是人,可以是动物也可以其他移动的物体。当追踪对象为人时,目标框可以称为人体框。
在具体的实施例中,通过目标框的匹配度判断完成多目标追踪,匹配度的判断分为两个部分:iou匹配以及表观特征的匹配;其中,iou的匹配,是对前后两次检测之间进行iou匹配;表观特征的匹配,是通过一个网络提取表观特征向量,当前跟踪目标与潜在的匹配对象会进行对比。计算前后两次表观特征向量平均距离小的最小值。其中,表观特征的匹配度=1-归一化平均距离的最小值。
而最终匹配度等于iou匹配值与表观特征匹配值的平均值,也就是说最终匹配度等于(iou匹配值+表观特征匹配值)/2。
预设匹配参数为最终匹配度大于0.5,且iou匹配值大于0.5;如果达到了预设匹配参数则说明匹配成功,用于追踪;否则,判定为匹配不成功。
对于更新配对成功与配对未成功的追踪,删除不满足条件的跟踪的情况具体性的示例性的说明,使用一个标准卡尔曼滤波器进行目标运动状态的预测,其中,卡尔曼滤波器为基于常量速度模型(就是指速度默认为恒定,也就是不存在加速度的模型)和线性观测模型。
卡尔曼滤波器的预测的结果为(u,v,r,h),对每一个追踪目标,记录自其上一次检测结果与追踪结果匹配之后的帧数ak·,一旦一个目标的检测结果与追踪结果正确关联之后,就将该参数ak·设置为0。其中,记录就是相当于有一个外部的记录器,或者数组去记录每一帧,每一个目标的追踪数据,卡尔曼滤波仅仅是依靠输入的各个目标的位置,然后做预测。
需要说明的是,对卡尔曼滤波器的预测值与实际检测值做比较,如果观测值与预测值相差过大,则预测不能代表观测值。
也就是说,amax为一个上限,ak·则是卡尔曼滤波器预测值与观测值不匹配的帧数值,如果ak·超过了amax,则说明卡尔曼滤波器跟踪效果不好了。则认为对该目标的追踪过程已结束,便不再继续跟踪。也就是说,跟踪过程结束是指对一个目标我们进行了跟踪但是后续卡尔曼滤波器不能准确的预测新的位置之后,我们认为跟踪结束了。
其中,对新目标出现的判断则是,如果某次检测结果中的某个目标始终无法与已经存在的追踪器(已存在的追踪器就是之前检测到的,现在正在跟踪目标的追踪器)进行关联,那么则认为可能出现了新目标。
如果连续的3帧中潜在的新的追踪器(新的追踪器就是针对新的出现的目标,能够连续三帧关联预测结果和检测结果,则认为是新的追踪器。)对目标位置的预测结果都能够与检测结果正确关联,那么则确认是出现了新的运动目标。
如果不能达到该要求,则认为是出现了“虚警”,需要删除该运动目标;也就是说,删除该运动目标时指,对于一个新的检测模型检测到的目标其连续三帧内不能完成匹配,我们就认为这个目标不是跟踪目标(可能来源于检测误差),删除这个目标。
一个新的目标的出现会先与已经存在的追踪器做匹配,看是否属于之前正在跟踪的目标,如果不是,则认为是可能出现了新的目标,需要创建新的追踪器。
在本发明的一个具体实施例中,对于所述步骤s120中得到的多个目标的表观特征,筛选出现次数超过设定阈值的目标,对所述目标通过级联匹配赋予其优先权。其中,出现次数的设定阈值一般设定为3次。
进一步的,在级联匹配的最后阶段,为了缓解因为表观突变或者部分遮挡导致的较大变化,可以对unconfirmed和age=1的未匹配轨迹进行基于iou的匹配。
通过级联匹配对频繁出现的目标赋予优先权是针对一个目标被长时间遮挡的状态设置的。其中,当一个目标长时间被遮挡之后,卡尔曼滤波预测的不确定性就会大大增加,状态空间内的可观察性就会大大降低。
假如此时两个追踪器竞争同一个检测结果的匹配权,往往遮挡时间较长的那条轨迹的马氏距离更小,使得检测结果更可能和遮挡时间较长的那条轨迹相关联,这种不理想的效果往往会破坏追踪的持续性。
也就是说,假设本来协方差矩阵是一个正态分布,那么连续的预测不更新就会导致这个正态分布的方差越来越大,那么离均值欧氏距离远的点可能和之前分布中离得较近的点获得同样的马氏距离值。所以本发明中使用了级联匹配(matchingcascade)来对更加频繁出现的目标赋予优先权。
需要说明的是,级联匹配的意思就是将各种匹配方式相结合(如iou匹配或特征匹配),通过级联的方式(即一个匹配方式接一个匹配方式)进行匹配;或者,进一步的先加入挑选准则,然后进行对应的匹配。
在一个具体的实施例中,采用第二种级联方式,也就是说,先加入挑选准则,然后进行对应的匹配动作。因此,先加入了一个时间点序列,优先从出现频率高的目标上进行挑选,然后进入匹配机制,从而使得长时间被遮挡的目标较难被优先匹配,即对更加频繁出现的目标赋予优先权。
具体算法参见论文simpleonlineandrealtimetrackingwithadeepassociationmetric;nicolaiwojke,alexbewley,dietrichpaulus,universityofkoblenz-landau
图3示出了本发明实施例的将darknet网络结构转换成python的模型结构的转换流程;
如图3所示,将darknet网络结构转换成python的模型结构的转换流程,包括如下步骤:
也就是说通过darkflow将darknet翻译为tensorflow所使用的流;darkflow将darknet翻译为tensorflow的过程。
通过cython我们将原基于c的darknet网络结构转换成python的模型结构方便供deepsort使用。同时,也可以生成tensorflow使用的pb模型结构供其他的算法使用。
图4示出了本发明实施例的基于darkflow的网络结构;
如图4所示,darkflow的网络结构如下:
在darkflow网络结构中所有卷积层的padding均为1,池化层均为最大池化。其他的参数如步长,卷积核尺寸,滤波器的个数,均如图所示。
最开始是卷积核为(3*3)filter个数为32的卷积层;接着是一个步长为2,池化大小为2的最大池化;之后是一个卷积核为(3*3)filter个数为64的卷积层,跟着一个步长为2,大小为2的最大池化。
之后的网络结构比较类似,都是先进行一个卷积核为(3*3)filter个数为n的卷积层,其中n为上一次大的卷积结构的filter个数的二倍。然后进行一个卷积核为(1*1)filter个数为n/2的卷积,再进行一个卷积核为(3*3)filter个数为n的卷积层,最后进行一次最大池化。形成一个大的卷积结构。该卷积结构一共进行4次,在最后一次时去掉池化层,接上两个对应的卷积层。
与上述基于darkflow-deepsort的多目标追踪检测方法相对应,本发明还包括基于darkflow-deepsort的多目标追踪检测系统,其中包括:
包括目标检测模型训练单元,用于利用yolov3算法训练得到基于darkflow的目标检测模型;
表观特征确定单元,用于将检测图像输入训练好的基于darkflow的目标检测模型,得到多个目标的表观特征;其中的检测图像基于对监控视频进行解码获得;
目标追踪模型训练单元,通过多目标检测的数据集mot16challenge训练得到目标跟踪模型,将多个目标的表观特征输入训练好的基于deepsort的目标跟踪模型。
目标获取单元,利用目标跟踪模型的卡尔曼滤波器对所述监控视频进行逐帧的数据关联处理,实现监控视频中的多目标追踪。
其中,多目标检测单元和多目标追踪单元的具体实现功能与实施例中基于darkflow-deepsort的多目标追踪检测方法的对应的步骤一一对应,本实施例不一一详述。
图5是本发明一实施例提供的电子装置逻辑结构的示意图。
如图5所示,该实施例的电子装置50包括处理器51、存储器52以及存储在存储器52中并可在处理器51上运行的计算机程序53。处理器51执行计算机程序53时实现实施例中基于darkflow-deepsort的多目标追踪检测方法的各个步骤,例如图1所示的步骤s110至s140。或者,处理器51执行基于darkflow-deepsort的多目标追踪检测方法时实现上述各装置实施例中各模块/单元的功能。
示例性的,计算机程序53可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器52中,并由处理器51执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序53在电子装置50中的执行过程。例如,计算机程序53可以被分割成多目标检测单元和多目标追踪单元,其功能作用在实施例中有详细描述,在此不一一赘述。
电子装置50可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。电子装置50可包括,但不仅限于,处理器51、存储器52。本领域技术人员可以理解,图5仅仅是电子装置50的示例,并不构成对电子装置50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器51可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以是电子装置50的内部存储单元,例如电子装置50的硬盘或内存。存储器52也可以是电子装置50的外部存储设备,例如电子装置50上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器52还可以既包括电子装置50的内部存储单元也包括外部存储设备。存储器52用于存储计算机程序以及电子设备所需的其他程序和数据。存储器52还可以用于暂时地存储已经输出或者将要输出的数据。
本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例中基于darkflow-deepsort的多目标追踪检测方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述基于darkflow-deepsort的多目标追踪检测系统中各模块/单元的功能,为避免重复,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
如上参照图1-图6以示例的方式描述根据本发明的基于darkflow-deepsort的多目标追踪检测方法、电子装置及存储介质。但是,本领域技术人员应当理解,对于上述本发明所提出的基于darkflow-deepsort的多目标追踪检测方法、装置及存储介质,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。