一种多目标跟踪方法、装置、计算机及存储介质

文档序号:9363 发布日期:2021-09-17 浏览:31次 英文

一种多目标跟踪方法、装置、计算机及存储介质

技术领域

本申请涉及一种目标跟踪方法,尤其涉及一种多目标跟踪方法、装置、计算机及存储介质,属于人工智能

技术领域

背景技术

多目标跟踪是在视频中同时跟踪多个目标,应用场景是安防和自动驾驶等,这些场景中人、车数量不确定,每个目标的特征也不确定,对这些目标进行跟踪是其他应用(如定位目标,计算目标密集程度等)的基础。和单目标跟踪不同,多目标跟踪对每个目标有唯一ID标识,在跟踪过程中要保证目标不会丢失。同时,新目标的出现和旧目标消失也是多目标跟踪要解决的问题。

目前针对多目标跟踪的研究有很多,主流的跟踪策略是DBT(基于检测的跟踪),检测模块和数据关联模块是独立的两部分,视频序列首先经过检测算法,得到目标的位置信息,在执行数据关联算法得到最终的轨迹结果。

多目标跟踪中有代表性的算法是DeepSORT 算法,该方法属于MOT(多目标跟踪)中的数据关联算法,可以结合任意检测器实现多目标跟踪。该算法结合了卡尔曼滤波算法和匈牙利算法。利用卡尔曼滤波算法预测检测框在下一帧的状态,将该状态与下一帧的检测结果进行匹配。匹配过程使用匈牙利算法,用卡尔曼滤波得到运动特征结合CNN(卷积神经网络)提取的外观特征融合到一起计算代价矩阵。

MOT的应用主要是安防和自动驾驶等场景,这些场景对算法实时性要求很高。在硬件水平固定的情况下,应该尽可能提高MOT的检测效率和检测准确率。现有技术中MOT在实际应用中会存在效率低的问题。现有的实时MOT通常只关注数据关联步骤,本质上只完成了MOT的一部分,无法真正解决效率问题。

此外,在真实场景中不同目标经常出现遮挡,这会导致MOT出现目标丢失、目标ID变化等问题。

发明内容

在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。

鉴于此,为解决现有技术中存在的目标跟踪效率低、目标容易丢失、目标ID易变化的技术问题,本发明提供了一种多目标跟踪方法、装置、计算机及存储介质,本发明通过将检测模块和数据关联模块融合到同一个神经网络中,通过共享相同的底层特征,减小计算量以缩短运行时间,检测模块和数据关联模块融合后组成新的模块,该模块称为融合检测关联模块。

融合检测关联模块输出不同目标的位置和类别信息。轨迹预测模块以这些信息为输入,学习不同类别的目标轨迹信息,提高了目标跟踪的效率以及避免目标跟踪的丢失。

一种多目标跟踪方法,包括以下步骤:

S110将视频输入至融合检测关联模块中,进行降采样处理获得特征图,将特征图输入至差异计算网络中,获得差异特征;

S120计算损失函数;

S130获得目标类别、目标位置信息和目标间的数据关联关系;并将目标位置信息输入轨迹预测模块中,利用卷积运算学习目标移动,输出预测位置信息,形成不同类别目标运动规律信息并传输至数据库和融合检测关联模块;

S140输出多目标跟踪。

优选的,步骤S110所述获得特征图的具体方法是:

1)视频经过卷积层1进行1/4降采样,得到特征图1;

2)特征图1再经过卷积层2进行1/8降采样,得到特征图2;

3)特征图2经过卷积层3进行1/16降采样,得到特征图3。

优选的,步骤S120所述计算损失函数具体包括以下三种损失函数:

1)目标分类损失函数;

2)目标位置回归损失函数;

3)多目标交叉熵损失函数。

优选的,步骤S120所述三种损失函数的计算方法具体是:

1)目标分类损失函数

其中,表示目标的真实类别标签,表示模型预测值,表示目标类别总数;表示目标类别标签表示的类别特征;表示类别特征平衡系数,用来平衡类别特征对整体损失函数的影响,取值为0.5。

开始训练时随机初始化,之后每次迭代训练更新 的值,更新公式为:

表示当前数据与类别特征的差异,表示目标类别总数,表示目标类别标签表示的类别特征,表示模型预测值;表示第次迭代时当前数据与类别特征的差异,之后将的值修正更新表示,同时用保证稳定,值取为0.5;

2)目标位置回归损失函数:

其中,表示模型目标预测值,表示目标真实值,可以取值表示检测框中心点坐标值,表示检测框宽,表示检测框高,可以回归得到目标检测框位置和大小,如果增加轨迹预测模块输出的目标预测位置,则目标位置回归损失函数变表示:

其中, 表示轨迹预测模块输出的位置,包括信息;

3)多目标交叉熵损失函数:

其中,表示目标的真实类别标签,表示模型预测值;

其中,融合检测关联模块目的是生成目标类别、目标位置信息和目标在不同视频帧之间的trackID信息,所以损失函数也要加权求和成一个总的损失函数,因此需要计算融合检测关联模块的损失函数;

其中,融合检测关联模块的损失函数为:

其中,表示多任务权重参数,可以根据不同任务需求设置。

优选的,S230所述通过三层ConvLSTM网络学习目标移动规律,输出预测位置信息,具体是包括,第一层学习目标的特征信息;第二层学习目标在连续帧之间的位置变化信息;第三层输出预测位置信息。

包括视频输入模块、融合检测关联模块、轨迹预测模块、输出模块和存储模块;所述视频输入模块与所述融合检测关联模块和所述输出模块依次连接;所述视频输入模块与融合检测关联模块连接所述轨迹预测模块;所述轨迹预测模块连接所述存储模块;所述视频输入模块用于输入视频信息;所述融合检测关联模块用于获得目标类别、目标位置信息和目标间的数据关联关系,并将目标位置信息输出至轨迹预测模块中;所述轨迹预测模块用于获得不同类别目标运动规律信息;并将不同类别目标运动规律信息输出至存储模块和融合检测关联模块中;所述输出模块用于输出融合检测关联模块输出的目标跟踪结果;所述存储模块有用于存储不同类别目标运动规律信息。

一种计算机,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现一种多目标跟踪方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现一种多目标跟踪方法。

本发明的有益效果如下:本发明本方案将检测算法和数据关联算法融合成一个模块,减小重复计算。利用轨迹预测模块可以很好地处理困难目标的匹配问题,通过获得目标类别、目标位置信息和目标间的数据关联关系,生成trackID更稳定,可以提高前后帧同一目标识别准确度,trackID切换频繁的问题。解决了现有多目标跟踪技术存在的计算效率低实时性差的问题,同时对目标遮挡丢失有很强的鲁棒性。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本发明实施例所述的方法流程示意图;

图2为本发明实施例所述的融合检测关联模块结构示意图;

图3为本发明实施例所述的差异计算网络结构示意图;

图4为本发明实施例所述的轨迹预测模块结构示意图;

图5为本发明实施例所述的ConvLSTM模型结构示意图;

图6为本发明实施例所述的一种多目标跟踪装置结构示意图。

具体实施方式

为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

实施例1、参照图1-图3说明本实施方式,一种多目标跟踪方法,包括以下步骤:

S110将视频输入至融合检测关联模块中,进行降采样处理获得特征图,将特征图输入至差异计算网络中,获得差异特征;

其中,首先将视频输入至融合检测关联模块一次性得到目标位置和数据关联信息,融合检测关联模块的模型具体参照图2。

其中,所述进行降采样处理获得特征图的具体方法是, 假设输入视频帧的大小为1280*720(长*宽, 表示长有1280个像素点,宽有720个像素点),图像经过resize调整大小为896*896 方便后续处理。降采样过程如下:

(1)输入图像经过卷积层1(卷积核大小8*8,步长=8)进行1/4降采样,得到特征图1,大小224*224;

(2)特征图1再经过卷积层2(卷积核大小2*2,步长=2) 做1/8降采样,得到特征图2,大小112*112;

(3)随后特征图2经过卷积层3(卷积核大小2*2,步长=2),计算1/16降采样,得到特征图3,大小56*56。

至此,图像经过降采样过程获得了3种不同大小的特征图。在融合检测关联模块中每一帧图像都进行降采样计算,前后两帧的6个特征图作为输入一起传入差异计算网络中。目的是计算并融合不同尺度下的差异特征,最后用多任务学习方法同时预测得到目标类别、目标位置信息和目标间的数据关联关系。

其中,差异计算网络主要由DenseBlock和Transition两种结构构成。具体的DenseBlock由BN层+ReLU层+3*3卷积层共同构成,DenseBlock的输入和输出特征图一致。Transition由BN层+ReLU层+1*1卷积层+2*2平均池化层构成,因此特征图经过每个Transition后大小会变为原来的1/2。实际计算时,前后两帧一共6个特征图共同输入到差异计算网络中。类似于孪生网络(Siamese Network),差异计算网络也有两条通路,分别对应上一帧的3个特征图和当前帧的3个特征图。这两条通路网络结构相同,但权重不同。

(1)每条通路首先输入特征图1,大小为224*224,经过Transition1网络大小变为112*112,再传入DenseBlock1网络学习特征,得到112*112的特征;

(2)将上一步得到的特征与特征2融合相加,继续传入Transition2网络和DenseBlock2网络,得到56*56的特征;

(3)同样的,将上一步的特征和特征图3进行融合相加,传入DenseBlock3网络,进一步学习特;

(4)上一帧和当前帧分别得到一个56*56的特征图,两个特征图作差得到差异特征,大小为56*56。

S120计算损失函数;由于网络目标是一次得到目标类别、目标位置信息和目标数据关联关系,即跟踪过程中的trackID信息,因此需要计算损失函数。

其中,计算损失函数具体包括以下三种损失函数:

1)目标分类损失函数;

2)目标位置回归损失函数;

3)多目标交叉熵损失函数。

其中, 目标分类损失函数计算方法具体是:

其中,表示目标的真实类别标签,表示模型预测为正样本的概率,表示目标类别总数;表示目标类别标签为的类别特征;表示类别特征平衡系数,用来平衡类别特征对整体损失函数的影响,取值为0.5。

开始训练时随机初始化,之后每次迭代训练更新 的值,更新公式为:

表示当前数据与类别特征的差异,表示目标类别总数,表示目标类别标签表示的类别特征,表示模型预测值;表示第次迭代时当前数据与类别特征的差异,之后将的值修正更新表示,同时用保证稳定,值取为0.5;

其中,目标位置回归损失函数:

其中,表示模型目标预测值,表示目标真实值,可以取值表示检测框中心点坐标值,表示检测框宽,表示检测框高,可以回归得到目标检测框位置和大小,如果增加轨迹预测模块输出的目标预测位置,则目标位置回归损失函数变表示:

其中, 表示轨迹预测模块输出的位置,包括信息。

其中,多目标交叉熵损失函数:

其中,表示目标的真实类别标签,表示模型预测值;

其中,融合检测关联模块目的是生成目标类别、目标位置信息和目标在不同视频帧之间的trackID信息,所以损失函数也要加权求和成一个总的损失函数,因此需要计算融合检测关联模块的损失函数;

其中,融合检测关联模块的损失函数为:

其中,表示多任务权重参数,可以根据不同任务需求设置。

S130获得目标类别、目标位置信息和目标间的数据关联关系;并将目标位置信息输入轨迹预测模块中,利用卷积运算学习目标移动,输出预测位置信息,形成不同类别目标运动规律信息并传输至数据库和融合检测关联模块;

数据关联目标是得到前后视频帧中目标trackID信息,如上一帧中出现一辆红色车,在当前帧中也有这辆红色车,我们可以通过数据关联判断这两个车是同一个trackID。要想同一物体在不同帧中有相同的trackID,模型应该判断相同物体比不同物体在空间上更接近,现有技术中MOT中常见做法是使用triplet损失函数,这种方法的缺点是模型训练不稳定,因此选择将每一个trackID视为一类物体,通过预测图像中目标的trackID分类可以得到不同帧之间同一个物体的trackID,进而实现目标跟踪。

具体算法实现过程为:将差异特征后接一个全连接层,全连接层节点个数N 表示最多有N个不同的trackID(N为超参数,可根据场景需要进行修改,通常取值N=20000)。分类流程是当检测到目标时,对目标分类。如果该目标之前已经存在,则会正确分类到对应的trackID,否则该目标为新目标,分类标签为-1,此时应更新全连接层参数,新增一个trackID 确保在后续的分类过程中能识别出该物体。同时模型参数更新过程中会遗忘长时间未检测到的trackID,保证模型记录的trackID总数不会超过N的值。

S150输出多目标跟踪。

实施例2、参照图4说明本实施方式,一种多目标跟踪方法,还包括轨迹预测模块,轨迹预测模块可以学习不同类别目标历史轨迹信息。轨迹预测模块模型结构具体参照图4。LSTM结构是处理时序数据的经典网络结构,而ConvLSTM是将LSTM结构和卷积(convolution)结合在一起构成的网络结构,模型结构具体参照图5所示,其中,表示时刻的输入,表示时刻的输入,表示时刻的输出,表示时刻的输出,表示时刻的输出,不仅可以建立时序关系,而且可以发挥卷积的特点对图像局部空间特征进行刻画。

S210将目标位置信息输入轨迹预测模块中,计算LSTM中的输出变量C和H;模型以连续图像帧序列为输入,如Xt和Xt+1为连续两帧输入,分别计算C(cell output)和H(hiddenstate);C(cell output)和H(hidden state)为LSTM中输出变量。

其中,C在LSTM中表示细胞单元,用来存储时序信息中长期记忆;H表示隐藏单元,用来存储时序信息中近期记忆。

S220利用卷积运算通过过去时刻输入的C和H估计目标时刻的C和H;

S230通过三层ConvLSTM网络学习目标移动规律,输出预测位置信息,形成不同类别目标运动规律信息;

其中,第一层学习目标的特征信息;第二层学习目标在连续帧之间的位置变化信息;第三层输出预测位置信息。

S240将不同类别目标运动规律信息分别传输至数据库和融合检测关联模块。目标运动时通常发生被遮挡的情况,当目标被遮挡时,融合检测关联模块无法识别当前帧的图像信息时,可以通过轨迹预测模型训练得到的不同类别目标运动规律信息预测图像下一帧的运动轨迹。

在交通监控场景中摄像头视角一般固定不变,因此摄像头拍摄的画面中车辆轨迹具有一定相似性。这种规律可通过特殊的神经网络结构自动学习得到。轨迹学习预测模块还可以将学到的运动规律信息保存至数据库长期存储,当融合检测关联模块需要用到这些运动规律信息时可以随时调用。

在训练学习目标运功规律后,输入一帧图像,和当前目标的位置信息,轨迹预测模型可以输出该目标在下一时刻的位置信息,包括x, y, w, h。预测的目标位置可以加入到融合检测关联模块的目标位置损失函数中,提高位置识别准确度。

轨迹预测模块对不同类别的目标有不同的位置预测,可选择将输出结果保存在数据库中,用于融合检测关联模块利用这些信息。

以下对本实施例或附图中出现的英文进行解释

1)ConvLSTM-Encode:卷积长短时记忆编码层;

2)ConvLSTM-Position:卷积长短时记忆位置层;

3)ConvLSTM-Decode:卷积长短时记忆解码层;

4)trackID:同一目标应在不同帧中有相同的trackID;

5)CNN:Convolutional Neural Network卷积神经网络。关键参数为卷积核的大小和步长,卷积核大小影响该卷积核在图像中的影响范围,步长影响卷积核每次移动的距离。

实施例3、参照图6说明本实施例,本实施例的一种多目标跟踪装置,包括视频输入模块、融合检测关联模块、轨迹预测模块、输出模块和存储模块;所述视频输入模块与所述融合检测关联模块和所述输出模块依次连接;斯拍摄及融合检测关联模块连接所述轨迹预测模块;所述轨迹预测模块连接所述存储模块;所述视频输入模块用于输入视频信息;所述融合检测关联模块用于获得目标类别、目标位置信息和目标间的数据关联关系,并将目标位置信息输出至轨迹预测模块中;所述轨迹预测模块用于获得不同类别目标运动规律信息;并将不同类别目标运动规律信息输出至存储模块和融合检测关联模块中;所述输出模块用于输出融合检测关联模块输出的目标跟踪结果;所述存储模块有用于存储不同类别目标运动规律信息。

视频输入模块将视频输入至融合检测关联模块,融合检测关联模块获得目标类别、目标位置信息和目标间的数据关联关系,同时将目标位置信息传输至轨迹预测模块,将目标类别和目标间的数据关联关系传输至输出模块中;轨迹预测模块根据接收的目标位置信息获得不同类别目标运动规律信息,同时将目标运动规律信息传输至存储模块和融合联合检测关联模块;当融合检测关联关联模块目标跟踪丢失时,可以通过目标运动规律信息预测下一视频帧。

本发明的关键技术在于:

1.本发明将检测算法和数据关联算法融合成一个模块,减小重复计算,只用一次计算就可以得到目标位置信息和连续帧之间的数据关联信息。

2.检测关联模块,学习视频帧多尺度信息,在不同尺度进行差异化特征学习,在此基础上又进行不同尺度特征融合。最后利用多任务学习方法输出最终结果。

3.轨迹预测模块可以学习历史轨迹信息,帮助预测目标轨迹,避免因为遮挡而导致的目标丢失。

4.本发明通过将检测模块和数据关联模块融合到同一个神经网络中,通过共享相同的底层特征,减小计算量以缩短运行时间,

传统DeepSort算法运行帧数26FPS(FPS,是每秒可检测多少帧,FPS越高说明算法越快,是衡量算法执行速度的标准), 本发明算法运行帧数33FPS。

本发明的计算机装置可以是包括有处理器以及存储器等装置,例如包含中央处理器的单片机等。并且,处理器用于执行存储器中存储的计算机程序时实现上述的基于CREO软件的可修改由关系驱动的推荐数据的推荐方法的步骤。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

计算机可读存储介质实施例

本发明的计算机可读存储介质可以是被计算机装置的处理器所读取的任何形式的存储介质,包括但不限于非易失性存储器、易失性存储器、铁电存储器等,计算机可读存储介质上存储有计算机程序,当计算机装置的处理器读取并执行存储器中所存储的计算机程序时,可以实现上述的基于CREO软件的可修改由关系驱动的建模数据的建模方法的步骤。

所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:高空抛物检测方法和装置、设备及计算机存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!