基于Mask R-CNN的多目标跟踪算法
第59卷 第3期
吉林大学学报(理学版)V o l .59 N o .3 2021年5月J o u r n a l o f J i l i nU n i v e r s i t y (S c i e n c eE d i t i o n )M a y  2021d o i :10.13413/j .c n k i .j
d x b l x b .2020193基于M a s kR -C N N 的多目标跟踪算法
张彩丽1,刘广文1,詹 旭1,史浩东2,才 华1,
3,李英超2(1.长春理工大学电子信息工程学院,长春130022;2.长春理工大学光电工程学院,长春130022;3.长春中国光学科学技术馆,长春130117)摘要:针对目前多目标跟踪算法在面对目标频繁遮挡时跟踪效果较差的问题,提出采用
M a s kR -C N N 作为检测器,根据检测结果利用K a l m a n 滤波器预测下帧图像中跟踪目标的位
置,用改进匈牙利算法进行数据关联,并利用轨迹修正方案应对轨迹中断问题.将该算法在
MO T 16数据集的各测试集上进行实验,实验结果表明,该算法目标跟踪准确率为55.1%,且针对目标被遮挡问题效果较好.关键词:机器视觉;目标跟踪;匈牙利算法;深度学习
中图分类号:T P 391  文献标志码:A  文章编号:1671-5489(2021)03-0609-10
M u l t i p l eO b j e c t T r a c k i n g A l g
o r i t h mB a s e d o n M a s kR -C N N Z H A N GC a i l i 1,L I U G u a n g w e n 1,Z H A N X u 1,S H IH a o d o n g 2,C A IH u a 1,3,L IY i n g c h a o 2(1.S c h o o l o f E l e c t r o n i c I n f o r m a t i o nE n g i n e e r ,C h a n g c h u nU n i v e r s i t y o f S c i e n c e a n dT e c h n o l o g y ,C h a n g
c h u n 130022,C h i n a ;2.S c h o o l o f O p t o -E l e c t r o n i cE n g i n e e r ,C h a n g c h u nU n i v e r s i t y o f S c i e n c e a n dT e c h n o l o g y ,C h a n g
c h u n 130022,C h i n a ;3.C h a n g c h u nC h i n aO p t i c a lS c i e n c e a n dT e c h n o l o g y M u s e u m ,C h a n g c h u n 130117,C h i n a )A b s t r a c t :A i m i n g a t t h e p r o b l e mt h a t t h e c u r r e n tm u l t i p l e o b j e c t t r a c k i n g a l g o r i t h mh a
d p o o r t r a c k i n g
e
f f e c t i nt h ef a c eo f f r e q u e n t t a r
g e to c c l u s i o n ,u s i n g M a s k R -C N N a sad e t e c t o r ,a c c o r d i n g t
ot h e d e t e c t i o n r e s u l t s ,t h eK a l m a n f i l t e rw a s u s e d t o p r e d i c t t h e p o s i t i o no f t h e t r a c k i n g t a r g e t i n t h e n e x t f r a m e i m a g e a n d t h e i m p r o v e dH u n g a r i a na l g o r i t h m w a su s e d f o r d a t a a s s o c i a t i o n ,a n d t h e t r a j e c t o r y c o r r e c t i o ns c h e m ew a su s e dt od e a lw i t ht h e p r o b l e m o f t r a j e c t o r y i n t e r r u p t i o n .T h ea l g o r i t h m w a s e x p e r i m e n t e do ne a c ht e s ts e to f MO T 16d a t a s e t ,t h ee x p e r i m e n t a l r e s u l t ss h o wt h a t t h et r a c k i n g a c c u r a c y o f t h e a l g o r i t h mi s 55.1%,a n d t h e e f f e c t o f t a r g e t o c c l u s i o n i s b e t t e r .K e y w o r d s :m a c h i n e v i s i o n ;t a r g e t t r a c k i n g ;H u n g a r i a na l g o r i t h m ;d e e p l e a r n i n g 收稿日期:2020-07-07.
第一作者简介:张彩丽(1995 ),女,汉族,硕士研究生,从事机器视觉与目标跟踪的研究,E -m a i l :c a i l i _c u s t @s i n a .c o m.通信
作者简介:刘广文(1971 ),男,汉族,博士,副教授,从事信号与信息处理技术的研究,E -m a i l :l g w e n _2003@126.c o m.基金项目:国家自然科学基金(批准号:u 1731240)和吉林省科技发展计划项目(批准号:20170203005G X ).0 引 言
目标跟踪是计算机视觉领域中的一个重要研究方向,在军事和民用领域应用广泛,如视频监控㊁人机交互㊁无人驾驶㊁虚拟现实和增强现实及医学图像处理等.目标跟踪包括单目标跟踪和多目标跟踪.单目
标跟踪可通过目标的表观建模或者运动建模,处理光照㊁形变㊁遮挡等问题;而多目标跟踪问题较复杂,除单目标跟踪遇到的问题外,还要考虑目标间的关联匹配问题,且在多目标跟踪任务中经常会遇到目标的频繁遮挡㊁轨迹开始终止时刻未知㊁目标过小㊁表观相似㊁目标间交互㊁低帧率
016吉林大学学报(理学版)第59卷等问题.
多目标跟踪主要目的为在给定的图像序列中,到该图像序列中的运动物体,并将不同帧图像中的运动物体一一对应,然后给出这些不同物体的运动轨迹.根据是否应用检测可将多目标跟踪分为基于检测的跟踪与基于首帧图像框选的跟踪.基于首帧图像框选的跟踪无法跟踪首帧图像外新出现的目标,所以其应用场景有限;随着近年检测技术的不断发展,检测精确度与准确度都在逐步提高,从而使基于检测的跟踪成为首选.如连续能量函数最小化算法(MT T)[1],其从运动的整体性出发,将跟踪问题视为一个能量最小化问题,先结合检测结果提出一个较贴合运动特征的能量函数,然后求得该能量函数的最优解,即为跟踪结果.
多目标跟踪的目标物体可以是任意的,如行人㊁车辆㊁运动员㊁各种动物等,而目前研究最多的是行人跟踪,所以本文的研究对象也设定为行人.对于行人多目标跟踪的两个重要问题为:行人目标可能具有相似性和行人目标可能出现被遮挡问题.这两个问题都可由高准确率的检测器与高准确率数据关联解决.
近年来,随着深度学习技术的发展,其不仅应用于检测和识别中,而且也越来越多地应用于基于检测的跟踪算法中.利用深度学习得到精确的检测结果,使最终的跟踪结果更准确.如W o j k e等[2]提出了结合深度数据关联度量方法的简易实时在线目标追踪算法(D e e p S o r t),该算法使用卷积神经网络(C N N)提取检测结果,并通过运动信息与目标外观信息进行数据关联,最后利用级联匹配完成长时间的多目标跟踪;V o i g t l a e n d e r等[3]提出了双匹配注意网络在线多目标跟踪算法,该算法将单目标跟踪与数据关联相结合,使用时间注意网络对不同的目标分配不同的注意力分数,最后使用空间注意力网络处理嘈杂检测和遮挡问题;之后,V o i g t l a e n d e r等[4]又提出了多目标跟踪与分割算法(MO T S),该算法创建了一个像素标记的跟踪数据集,并且提出一种新的多目标跟踪度量指标,最终使用一种联合处理检测㊁跟踪和分割与单一卷积网络的基线方法,实现长时间的多目标跟踪.由于目前的多目标跟踪算法大部分是基于检测的跟踪,检测器和数据关联的优劣将对最终跟踪结果有重要影响.
基于深度学习的目标检测算法主要分为两类:t w o-s t a g e算法和o n e-s t a g e算法.其中,t w o-s t a g e 算法是基于候选区域的目标检测算法,经典方法包括R-C N N[5],F a s tR-C N N[6],F a s t e rR-C N N[7]和M a s kR-C N N[8]等;o n e-s t a g e算法是基于回归的端到端目标检测算法,主流方法有Y O L O[9],S S D[10]和D S O D[11]算法等.这两种目标检测算法之间的主要区别在于其是否分为两个阶段进行检测,前者由检测和分类两个阶段组成,后者则将这两个阶段融合到一个阶段进行.在性能上,o n e-s t a g e网络速度快,但t w o-s t a g e网络准确率更高.为了多目标跟踪结果的准确性,本文选用t w o-s t a g e网络中的M a s kR-C N N作为检测网络.
数据关联优化算法可在当前帧图像到来时就给出当前帧图像检测结果与已有跟踪目标轨迹的关联匹配结果,而不利用未来帧图像的信息,从信号处理的角度即相当于一种滤波操作.目前常用的目标关联方法有最近邻算法㊁概率数据关联算法㊁多假设多帧分配算法㊁匈牙利算法等.但这些数据关联算法在面对高相似度和遮挡问题时,效果均不佳,可能会出现跟踪失败的结果.
本文采用改进匈牙利算法作为数据关联算法,针对发生遮挡的物体采用级联匹配方式.首先使用M a s kR-C N N[8]检测待跟踪目标,再利用K a l m a n滤波器预测下帧图像中跟踪目标的位置与边界框大小;然后采用改进匈牙利算法进行数据关联,确定行人目标的运动轨迹;最后针对发生遮挡的物体加入跟踪轨迹修正方案.
1算法设计
为提高多目标跟踪的跟踪准确度及应对遮挡问题时有较好的跟踪效果.本文使用M a s kR-C N N 作为检测器,检测出当前帧图像中不同大小的行人目标并确定对应的检测框坐标及可信度;将检测器检测的本帧结果输入到K a l m a n滤波器中预测下帧图像中行人目标的位置与边界框大小;采用改进匈牙利算法利用检测结果与预测结果做数据关联,以做到更好的匹配;针对发生遮挡的物体加入跟踪轨迹修正方案,以实现最终有效准确地跟踪.最终实现了55.1%的跟踪准确度且针对遮挡问题效果较好.
1.1 目标检测网络
M a s kR -C N N 深度神经网络由许多基础网络层组成,主要有卷积层㊁池化层㊁激活函数层㊁B a t c h n o r m l i z a t i o n 层以及全连接层等.本文选用M a s kR -C N N 网络作为检测器,在F a s t e rR -C N N 的基础上,加入M a s kb r a n c h (F C N )用于生成物体的掩模(o b j e c tm a s k ),同时把R o I p o o l i n g 修改成R
o I A l i g n 用于处理m a s k 与原图中物体对不齐的问题.M a s kR -C N N 整体结构如图1所示.图1 M a s kR -C N N 整体结构
F i g
.1 O v e r a l l s t r u c t u r e o fM a s kR -C N N 由图1可见,卷积神经网络(C N N )部分使用深度残差网络(R e s N e t 101)
进行一系列卷积操作提取图像特征,与特征金字塔网络(F P N )共同构成骨干网络.R e s N e t 有5层特征输出,F P N 的作用是特征融合.这些不同的组合特征,一方面经过区域推荐网络(R P N )判断前景和背景进行二值分类并生成候选框,另一方面结合生成的候选框通过R o IA l i g n 操作与特征图中的像素对应,随后的一个分支用于分类和回归,另一个分支用于分割生成掩膜.M a s kR -C N N 的损失函数计算过程为L =L c l s +L b o x +L m a s k ,(1)其中:L m a s k 为分割误差;L c l s =1N c l s ði L c l s (p i ,p *i )(2)为分类误差,N c l s 为m i n i -b a t c hs i z e ,p i 为A n c h o r [i ]的预测分类概率,当A n c h o r
[i ]为正样本时,p *i =1,当A n c h o r [i ]为负样本时,p *i =0,L c l s (p i ,p *i )=-l g [p i p *i +(1-p i )(1-p *i )];L b o x =
λ1N r e g ði p *i L r e g (t i ,t *i )(3)为检测误差,λ=10为权重平衡参数,N r e g 为A n c h o r L o c a t i o n 的数量,t i 为A n c h o r [i ]预测的边界框参数化坐标,t *i 为实际边界框的参数化坐标,L r e g (t i ,t *i )=R (t i -t *i )=0.5(t i -t *i )2,t i -t *i <1,t i -t *i
-0.5,其他{.  掩膜分支对于每个R o I 有K 个m ˑm 维的输出,编码了K 个m ˑm 像素的二元掩膜,k 为输入维度,即类别数.在每个维度都采用S i g m o i d 函数,将L m a s k 定义为平均二元交叉熵损失.对于每个与真实边界框相关联的R o I ,L m a s k 仅在第k 个掩膜上定义.将图像输入M a s kR -C N N 后可得到行人目标的位置信息,包括行人目标检测框左上角的坐标㊁检测框的长宽及检测框中检测物体的置信度,为
下一步跟踪器提供信息数据.1.2 跟踪器
当用M a s kR -C N N 获得每帧图像中行人目标对应的检测框坐标及可信度后,需执行对同一行人
目标的跟踪操作,并使其形成轨迹.本文采用K a l m a n 滤波器[1
2]预测下一帧图像的目标位置,将M a s kR -C N N 的检测结果输入K a l m a n 滤波器,得到该帧的估
计值;然后采用改进匈牙利算法进行数据关联,利用检测框与预测框的交并比及颜直方图,确定行人目标的运动轨迹;最后对运动轨迹中
1
16 第3期      张彩丽,等:基于M a s kR -C N N 的多目标跟踪算法
发生遮挡的物体加入跟踪轨迹修正方案,从而得到更精准的跟踪轨迹.
1.2.1 K a l m a n 滤波
K a l m a n 滤波利用目标的动态信息去掉噪声的影响,得到一个关于目标位置的估计[13].通过递归
估计方法,在已知上帧图像的估计值(上帧图像K a l m a n 滤波所得预测结果)
及当前帧图像的观测值(当前帧图像的M a s kR -C N N 检测结果)后,计算当前帧图像的估计值.K a l m a n 滤波算法通常通过状
态方程和观测方程描述[14]:x k =A x k -1+B u k -1+ωk -
1,(4)x k =(x o k ,v x k ,y o k ,v y
k )T ,(5)z k =H x k +v k ,
(6)z k =(x o k ,y o k )T .(7)式(4)为状态方程,x k 为第k 帧图像的系统状态向量(第k 帧图像估计值),A 和B 为状态转移矩阵,u k -1为系统控制量,ωk -1是协方差为Q 的零均值高斯噪声.由式(5)可知,x k 包含x 和y 方向及位置.式(6)为观测方程,z k 为第k 帧图像的系统观测向量(第k 帧图像的检测值),H 为观测矩阵,v k 是协方差为R 的零均值高斯噪声.由式(7)可知,z k 包含x 和y 方向的位置.K a l m a n 滤波器算法由5个主要方程组成,其流程如下:
1
)使用状态方程根据上一帧图像的状态预测本帧图像的状态.若令图像当前帧为k ,则用第(k -1
)帧状态,可预测图像第k 帧(本帧)的状态为^x -k =
A ^x k -1+
B u k -1,(8)其中^x -k 为第k 帧图像的先验预测值,^x k -1为第(k -1)帧图像的后验最优预测,u k -1为第(
k -1)帧图像的控制量,A ,B 为系统参数.
2)完成图像的本帧状态预测后,需更新系统协方差.估计误差协方差更新方程为P -k =A P k -1A T +Q ,(9
)其中P -k 为第k 帧图像的先验协方差,P k -1为第(
k -1)帧图像的后验协方差,A 为系统参数.3)通过1)和2)得到了系统的预测值,整合预测值和观测值,第k 帧图像最优解的求解方程为^x k =^x -k +K k (z k -H
^x -k ),(10)其中:^x k 为第k 帧图像的最优解;^x -k 为式(8)求得第k 帧图像的状态预测值;z k 为第k 帧图像的观测值;H 为观测参数;
K k =P -k H T (H P -k H T +R )-1(11)为K a l m a n 增益,P -k 为式(
9)求得第k 帧图像的先验估计误差协方差,R 为测量噪声方差.通过上述方法求得第k 帧图像的状态估计最优值^x k ,为K a l m a n 滤波的继续,还需求得第k 帧图像的误差协方差P k ,计算公式为
P k =(I -K k H )P -k ,
(12)其中I 为单位矩阵,K k 为式(11)求得的K a l m a n 增益,H 为观测参数,P -k 为式(9)求得第k 帧图像的先验估计误差协方差.当进入第(k +1)帧图像时,则P k 相当于式(9)中的P k -1.K a l m a n 滤波可去除检测结果中的噪声部分,在无适合匹配检测框的情况下,可使用K a l m a n 滤波
预测物体的位置.经过K a l m a n 滤波得到跟踪预测框的位置信息,可为下一步应用匈牙利算法提供信
息数据.
1.2.2 改进的匈牙利算法
匈牙利算法本质为一个指派问题,是图论中寻最大匹配的算法.二分图也称为二部图,是一种
特殊模型[15].将一个图的顶点划分为两个不相交子集,使得每条边都分别连接两个集合中的顶点.如果存在这样的划分,则该图为一个二分图.在多目标跟踪中可将二分图理解为视频中连续两帧图像中的所有检测框,第一帧图像所有检测框的集合记为U ,第二帧图像所有检测框的集合记为V .同一帧图像的不同检测框不会为同一个目标,所以不需要互相关联,相邻两帧图像的检测框需要相互联通,
最终将相邻两帧图像的检测框尽量两两匹配.216  吉林大学学报(理学版)  第59卷
传统的匈牙利算法是单纯基于交并比(i o u )的算法,即求得M a s kR -C N N 所得检测框与K a l m a n 滤波所得预测框的i o u ,通过匈牙利算法求得i o u 最大的匹配.此时虽然速度快,但准确度较差.本文
在原基于交并比(i o u )的匈牙利算法基础上加入表观特征的颜直方图[16].颜直方图属于表观特征
中的目标表示,颜特征可有效表示全局目标,其通过描述不同彩在整张图像中所占的比例表示图
像特征,且具有不受图像旋转和平移变化影响的优点.一般颜直方图在H S V 系下提取.将H S V 的3个分量进行量化,量化后的取值范围为{0,1,2, ,L H -1},{0,1,2, ,L S -1},{0,1,2, ,L V -1},按(H ,S ,V )形式排列取值范围为{0,1, ,L H -1, ,L H +L S -1, ,L H +L S +L V -1}.设颜i 的像素点有m i 个,则图像的像素点总数为
长春分类信息M =
ðL H +L S +L V -1i =0m i ,(13
)颜i 出现的概率为p i =m i M
,(14)p
i 即为颜直方图.将颜直方图应用于目标跟踪时,可采用巴氏距离计算两个直方图的相似度,公式如下:
ρ(
i ,j )=ðm k =1i (k )j (k ),(15)d (i ,j )=1-ρ(i ,j ),(16
)
C a p p r (i ,j )=1d (i ,j ),(17)其中ρ(i ,j )为两个直方图的巴氏系数,i (k )为K a l m a n 滤波器预测目标图像的直方图,j (k )为M a s kR -C N N 检测目标图像直方图分布,d (i ,j )为两个直方图的巴氏距离,其值越小则两个图相似度越高,C a p p r (i ,j )为表观关联系数.对于本文多目标跟踪中的数据关联,首先已完成了用M a s kR -C N N 网络检测出当前帧图像中的n 个行人目标以及边界框的坐标位置,使用K a l m a n 滤波根据上帧图像的跟踪结果完成了当前帧图像行人目标位置的估计,得到m 个预测结果,即m 条轨迹.在已获得的M a s kR -C N N 检测和K a l m a n 滤
波获得的预测结果后,先计算两者的交并比(i o u )[17],再获得前后帧目标图像的颜直方图,最后利用i o u 和直方图特征加权构造关联矩阵,表达式如下:
C i j =αC i o u (i ,j )+βC a p p r (i ,j ),(18)其中C i o u (i ,j )为检测框与预测框的面积交并比i o u ,C a p p r (i ,j )为表观关联系数,α,β为归一化权重系
数.最后将匈牙利算法的关联结果与K a l m a n 滤波器预测结果进行匹配,形成最终的多轨迹跟踪结果.
1.2.3 异常轨迹修正
当跟踪目标被部分遮挡时,利用改进匈牙利算法进行数据关联,虽然可能跟踪到目标,但效果较图2 遮挡情况下的行人跟踪结果
F i g .2 P e d e s t r i a n t r a c k i n g r e s u l t s u n d e r o c c l u s i o n 差.例如,一个行人从开始被遮挡到遮挡结束的过程如图2所示.由图2可见,遮挡前后跟踪目标的3
16 第3期      张彩丽,等:基于M a s kR -C N N 的多目标跟踪算法

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。