基于多智能体深度增强学习的多目标跟踪方法与流程

文档序号:16090804发布日期:2018-11-27 22:59阅读:575来源:国知局

本发明涉及一种视频目标跟踪方法,具体为一种基于多智能体深度增强学习的多目标跟踪方法。



背景技术:

基于视频的多目标跟踪作为计算机视觉领域的一个热点问题,在很多应用领域有着广泛的应用,比如:自动驾驶、机器人导航、人工智能等。由于视频场景中存在大量的影响因素,如:目标的出现与消失,目标之间的频繁遮挡,多目标的外观相似,以及背景噪声等,都使得多目标跟踪仍然是一个具有挑战性的研究课题。



技术实现要素:

发明目的:为了克服现有技术中大量的干扰因素对多目标跟踪造成的影响,本发明提供一种基于多智能体深度增强学习的多目标跟踪方法。

技术方案:一种基于多智能体深度增强学习的多目标跟踪方法,包括以下步骤:

(1)利用目标检测器检测待测视频中每一帧图像中的多个目标;对于第t帧图像,目标检测器的输出结果为集合Dt,集合Dt中包含多个目标的检测结果,所述检测结果由目标框显示,单个目标的检测结果记为dt=(x,y,w,h),(x,y)为目标框的中心点坐标,w、h分别为目标框的宽度和高度;

(2)定义以下各参数:将每一个检测到的目标看作一个智能体,表示为智能体i,i∈I≡{1,...,n},n为智能体的个数;将每一帧图像看作一个环境,每个智能体采取一系列动作,定义n个智能体构成的联合动作集为A≡An,智能体i的动作a∈A≡An;每个智能体在每一帧图像的环境下所携带的信息用状态向量表达,其中,s:=(o,τ),表示n个智能体状态的集合;o表示智能体i的特征向量,智能体i的历史动作集为τ∈T;智能体从环境中得到的反馈信号由反馈函数表示,所述反馈函数为R(a,s→s′)=sign(IoU(b′,g)-IoU(b,g)),IoU(b,g)=area(b∩g)/area(b∪g),b表示当前的目标框,b′表示预测的目标框,g表示目标框的真实值,s′表示采取动作a得到的新的状态变量;

(3)通过各智能体之间的通信以及各智能体从环境中得到的反馈信号,构建深度Q-网络;构建预训练的CNN网络,CNN网络包括五个池化层和一个全连接层;将智能体i输入预训练的CNN网络中提取特征,CNN网络的输出为智能体i的状态向量s,包括特征向量和历史动作;将CNN网络输出的智能体i的状态向量送入到深度Q-网络,预测智能体i采取的动作,用动作矢量表示;将n个智能体通过相同的方法预测各自采取的动作,获得联合动作集A≡An,从而得到多目标跟踪结果;

优选的,步骤(3)中构建深度Q-网络的方法为:令智能体i的深度Q-网络方程为智能体之间的通信定义为其中,mi表示智能体i发出的消息,m-i表示第i个智能体从其他智能体收到的消息,所述消息为智能体i的状态;消息的收发采用LSTM单元;消息函数定义为m(s,a|θm);通过计算损失函数的最小值来获得参数令损失函数为计算公式为:

为智能体i从环境中得到的反馈信号,系数γ∈[0,1)。

优选的,步骤(1)中的目标检测器采用YOLO V3目标检测器。

优选的,步骤(3)中的预训练的CNN网络包括五个池化层和一个全连接层,五个池化层分别是第一池化层Conv1-2、第二池化层Conv2-2、第三池化层Conv3-3、第四池化层Conv4-3、第五池化层Conv5-3。

优选的,步骤(2)中的动作包括向右、向左、向上、向下、扩大、缩小、变宽、变高及停止。

有益效果:本发明提供一种基于多智能体深度增强学习的多目标跟踪方法,具有较高的多目标跟踪准确率、精确度,误报、漏报数较少,跟踪结果较准确。首次将多智能体深度增强学习技术应用到多目标跟踪方法中,深度增强学习可以提取目标的深度特征,利用增强学习的方法获得智能体采用的动作,预测目标下一个状态,获得目标的位置。通过YOLO V3目标检测器检测多目标,YOLO V3目标检测器是目前性能最好的实时性检测器,一方面可以保证速度,另一方面可以保证检测的准确率。将检测到的多目标看作多个智能体,然后利用深度增强学习的方法来获得多目标的联合动作集,进而完成多目标跟踪,该发明可以克服人工设计特征不够全面,不够准确的技术缺点,同时能够提升计算速度,实现实时跟踪。

附图说明

图1为本发明方法的整体框图;

图2为多智能体深度增强学习的目标跟踪方法的示意图;

图3为多智能体深度增强学习的目标跟踪方法的详细示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明。

基于多智能体深度增强学习的多目标跟踪方法,包括以下步骤:

(1)如图1所示,利用YOLO V3目标检测器检测待测视频中每一帧图像中的多个目标;对于第t帧图像,目标检测器的输出结果为集合Dt,集合Dt中包含多个目标的检测结果,所述检测结果由目标框显示,单个目标的检测结果记为dt=(x,y,w,h),(x,y)为目标框的中心点坐标,w、h分别为目标框的宽度和高度;

(2)定义以下各参数:将每一个检测到的目标看作一个智能体,表示为智能体i,i∈I≡{1,...,n},n为智能体的个数;将每一帧图像看作一个环境,每个智能体采取一系列动作,定义n个智能体构成的联合动作集为A≡An,智能体i的动作a∈A≡An;每个智能体在每一帧图像的环境下所携带的信息用状态向量表达,其中,s:=(o,τ),表示n个智能体状态的集合;o表示智能体i的特征向量,智能体i的历史动作集为τ∈T;智能体从环境中得到的反馈信号由反馈函数表示,所述反馈函数为R(a,s→s′)=sign(IoU(b′,g)-IoU(b,g)),IoU(b,g)=area(b∩g)/area(b∪g),b表示当前的目标框,b′表示预测的目标框,g表示目标框的真实值,s′表示采取动作a得到的新的状态变量;

(3)通过各智能体之间的通信以及各智能体从环境中得到的反馈信号,构建深度Q-网络;构建预训练的CNN网络,CNN网络包括五个池化层和一个全连接层,五个池化层分别是第一池化层Conv1-2、第二池化层Conv2-2、第三池化层Conv3-3、第四池化层Conv4-3、第五池化层Conv5-3;将智能体i输入预训练的CNN网络中提取特征,CNN网络的输出为智能体i的状态向量s,包括特征向量和历史动作;将CNN网络输出的智能体i的状态向量送入到深度Q-网络,预测智能体i采取的动作,包括向右、向左、向上、向下、扩大、缩小、变宽、变高及停止九个参数,用动作矢量表示,记为{right,left,up,down,scale up,scale down,fatter,taller,stop},如图2所示;将n个智能体通过相同的方法预测各自采取的动作,获得联合动作集A≡An,从而得到多目标跟踪结果,如图3所示。

其中,构建深度Q-网络的方法为:令智能体i的深度Q-网络方程为智能体之间的通信定义为其中,mi表示智能体i发出的消息,m-i表示第i个智能体从其他智能体收到的消息,所述消息指智能体i的状态信息,消息的收发采用LSTM单元,具体如图3所示,消息函数定义为m(s,a|θm);通过计算损失函数的最小值来获得参数令损失函数为计算公式为:

为智能体i从环境中得到的反馈信号,系数γ∈[0,1)。

为了验证本方法的效果,进行了如下对比实验:

实验采用Windows 10操作系统,用MATLAB R2016b作为软件平台,计算机的主要配置为Intel(R)Core(TM)i7-4712MQ CPU@3.40GHz(with 32G memory),带有TITAN X GPU(12.00GB memory)。选用大型数据库MOT Challenge benchmark对实验进行验证,与其他五种目前性能比较好的跟踪方法进行比较,分别是:MDPSubCNN、RNN-LSTM、SiameseCNN、LP_SSVM、LSTM_DRL。我们选用CLEAR MOT矩阵中的五个指标对算法进行对比评估,分别为多目标跟踪准确率the multiple object tracking accuracy(MOTA)、多目标跟踪精确度the multiple object tracking precision(MOTP)、误报false positive(FP)、漏报false negative(FN)和标识切换identity switches(IDS),对比数据见表1。由表1可见,采用本实施例的方法MADRL相比较其他五种方法,具有较高的多目标跟踪准确率、精确度,误报、漏报数较少,说明该方法受多目标跟踪场景中各干扰因素的影响较小,跟踪结果较准确。

表1

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