APP下载

一种融合运动特征嵌入的多目标分割跟踪算法

2023-05-23许营坤陈天阳陈胜勇徐新黎

小型微型计算机系统 2023年6期
关键词:掩码实例关联

许营坤,陈天阳,陈胜勇,徐新黎

1(浙江工业大学 计算机科学与技术学院,杭州 310023)

2(天津理工大学 计算机科学与工程学院,天津 300384)

1 引 言

得益于图像视频数据的大规模积累和计算机系统的快速发展,深度学习算法在计算机视觉领域中得到了广泛验证.其中多目标跟踪(MOT)作为计算机视觉方向的一项重要技术,在自动驾驶和视频监控等领域具有重要的应用.

在当前主流的多目标跟踪算法中,基于检测的跟踪策略以其较好的可行性得到普遍地采纳和扩展[1],这类算法是通过矩形框去定位并跟踪目标,但在复杂的场景下,一个矩形框内可能包含两个目标,这会引发歧义性,而基于分割的多目标跟踪算法将分类、检测、分割以及跟踪视为相互关联的任务,其生成无重叠的实例掩码和像素级的跟踪结果不仅消除了歧义性,并且可以更精确的完成多目标跟踪任务.

多目标跟踪算法一般被分解为检测任务和跟踪任务(数据关联):首先检测整个视频序列上所有目标的位置,再通过关联算法为每个目标分配一个独有ID,以此构建各个目标轨迹,这无疑增加了推理时间.而本文算法是将检测器转换为跟踪器,联合检测任务和跟踪任务,在检测的同时就可以完成跟踪.此外本文改进了Tian[2]等人提出的一种基于条件卷积的实例分割网络(CondInst网络),以实现多目标分割跟踪的目的,并从提升实例分割性能和优化数据关联算法两个层面出发,提出了全新的一种融合运动特征嵌入的多目标分割跟踪算法:1)设计了一种将运动特征嵌入表观特征的网络结构,增强了网络的特征表现能力,减少了误检率和漏检率,并提高了实例分割的性能和跟踪的精度;2)为了减少因检测器失效和目标遮挡而导致的漏检,设计了两个新的损失函数,有效提升了网络预测实例的性能;3)设计了一种关联网络,可为目标分配有区分度的外观特征向量,并提出了一种预测并关联的更新轨迹策略,同时利用目标的外观信息和位置信息,提升了跟踪准确度,生成了可靠的跟踪结果.本文在MOTS20公开标准数据集上与同类算法进行评估对比,实验结果表明本文所提算法具有更高的跟踪准确度.

2 相关工作

目前存在的多目标跟踪算法按照跟踪的方式可分为基于检测的跟踪和基于分割的跟踪.

2.1 基于检测的跟踪

基于检测的跟踪[3-5]是通过矩形框的形式来表示跟踪目标的位置,并通过关联矩形框区域形成目标轨迹.由于目标间的相互遮挡可能导致关联错误,研究人员[6,7]通过设计不同的关联算法对ID切换问题贡献了自己的解决方案.

其中Zhang[8]等人提出的FairMOT采用无锚框的检测器来定位高分辨率特征图上的目标中心,并在网络中添加了一个并行分支,用于预测目标身份的逐像素Re-ID特征,在高分辨率特征图上提取的Re-ID特征能够更好地与目标中心对齐,通过学习低维度的Re-ID特征,不仅减少了计算时间,而且提高了特征匹配的稳健性.

2.2 基于分割的跟踪

基于分割的跟踪是通过像素级的二值掩码来表示跟踪目标的位置,并通过关联分割区域以形成目标轨迹.

目前这类算法研究的热点都是基于Mask RCNN[9]网络进行改进:Voigtlaender[10]等人提出的TrackR-CNN在主干网和候选区域生成网络之间添加了两个3D卷积层,该3D卷积层的前两个维度是空间信息,第3个维度是时间信息,增强了多帧间的信息关联,此外还添加了一个关联分支用于生成每个目标的特征向量,用于数据关联;Yang[11]等人提出的MaskTrack R-CNN添加了与边界框分支和掩码分支并行的跟踪分支,此分支由两个全连接层组成,用于为每一个候选框分配一个实例标签以构建轨迹;Porzi[12]等人提出的MOTSNet网络的主干由ResNet-50[13]和特征金字塔网络(FPN)[14]组成,将5种不同分辨率的多尺度特征输入到候选区域生成网络中,并输出图像中实例可能位于的候选区域,再从候选区域中提取实例特征,输入到分割头和跟踪头,额外添加的跟踪头与分割头并行运行,并使用mask pool增强目标在时间上的关联性.Lin等[15]人提出VIST_MVAEA则是一种改进后的变分自编码器 (VAE) 架构,通过构建一个共享编码器和3个并行解码器,产生3个不相交的分支,分别用于预测未来帧、目标检测框和实例分割掩码,通过引入高斯过程模型放宽传统 VAE 的独立同分布假设并提取变量之间相关性,增强 了VAE 的统计表示,该网络通过学习视频数据中嵌入的空间相关性和运动连续性,可有效生成高质量的分割掩码并跟踪视频中的多个实例.

不同于上述基于Mask RCNN网络的方法,Xu[16]等人的PointTrack是基于无锚框的实例分割网络SpatialEmbedding[17]实现,并介绍了一种像素级的特征学习策略,对于每个实例,PointTrack将分割的前景和背景视为两个无序2D点云进行记录,学习有区分的实例嵌入,形成了一种逐点跟踪的方法.此外,在逐点提取特征时,PointTrack会添加多模态数据,如偏移量,颜色,类别和位置,以丰富点状特征,增强关联.

3 算法跟踪模块

本文提出的一种融合运动特征嵌入的多目标分割跟踪算法共包含实例分割模块、实例预测模块、实例关联模块和轨迹删除模块4部分组成.其中实例分割模块负责获取每一帧的实例分割结果,实例预测模块负责通过上一帧的实例分割结果预测出当前帧的分割结果,实例关联模块负责提取实例的外观信息和位置信息,并进行实例间的关联,轨迹删除模块负责删除消失的轨迹.

3.1 实例分割模块

实例分割网络的性能很大程度上会影响多目标分割跟踪器的性能,因此对实例分割网络的改进可以有效的提高多目标分割跟踪的准确度.本文的多目标跟踪算法是基于条件卷积实例分割网络(CondInst网络),这是一种单阶段、无锚框的全卷积网络,可以生成整个图像的实例掩码,有效去除了分割依赖矩形框的限制,由于其简单的模型结构,可以灵活的扩展为解决多目标分割跟踪任务的网络框架.但由于CondInst网络只利用了单一特征并且未利用视频序列上的时间维度信息,因此本文在CondInst网络的基础上添加了运动特征提取网络和特征嵌入网络.

3.1.1 CondInst网络

图1 实例分割网络结构图

3.1.2 运动特征提取网络

3.1.3 特征嵌入网络

图2 特征嵌入网络结构图

(1)

3.1.4 初始化轨迹

随着视频序列的输入,本文使用图1网络结构逐一获取视频序列上每一帧图像的分割结果并同时生成跟踪轨迹.每一帧的分割结果设为D={s,b,m,Fmask,L,θ},其中的s表示置信度得分,b为边界框信息,m为实例掩码,Fmask为网络中掩码分支的输出,L是可以代表目标位置的信息,θ为掩码头的参数.当第一帧图像输入网络时,本文用第一帧的分割结果来初始化轨迹,如图3所示,相比较未嵌入运动特征的实例分割结果,嵌入运动特征后的实例分割结果边缘更加细腻、精度更高、分割的目标更多,也更加接近真实数据.

图3 分割效果的对比

3.2 实例预测模块

添加预测模块可有效的减少在跟踪过程中由于检测器失效和目标遮挡而导致的漏检,因此本文选择通过光流去预测上一帧目标在当前帧中的位置.如图4所示,首先从flowt-1→t中获取上一帧(t-1帧)实例上所有像素点的光流向量集合,取光流集合的中值代表该目标的偏移量,并与目标边界框中心位置的和作为该目标在当前帧(t帧)上的位置L′,并结合该目标的Fmask以及参数θ,预测出当前帧的分割结果{s′,b′,m′},并将s′大于阈值0.6的目标保存至“集合P”中,同时将s′小于阈值0.6的目标保存至不活跃轨迹“集合UT”中.

图4 实例预测示意图

3.3 实例关联模块

在目标关联算法中,目标的位置信息可以用于区分不同目标,但当目标之间相互遮挡严重时,仅凭位置信息往往不能正确的关联目标,导致ID切换频繁,而目标的外观特征可有效的缓解上述问题.在本文中的实例关联模块同时利用了目标的外观特征和位置信息,有效提升了关联目标的性能.

3.3.1 关联网络

如图5所示,本文在孪生神经网络[19]的基础上,利用ResNet50作为主干网,网络的输入除了目标的边界框b以外,额外添加实例掩码m,将图片和掩码图中边界框b所包围的区域裁剪出来,再通过相乘提取出前景部分,去除了背景部分带来的影响,并将尺寸调整为256×128输入到主干网中,提取4层表观特征,尺寸分别为64×32、32×16、16×8和8×4,通道数分别为256,512,1024和2048.为了提取更具有区分度的特征,本文使用光流场flowt-1→t和flowt+1→t作为输入,与上述步骤一致,同样通过裁剪和尺寸调整,提取4层运动特征,并利用公式(1)将运动特征嵌入表观特征,再通过多层的特征融合,最终在64×32的特征图上为每个目标分配128维度外观特征向量,并使相同目标的外观特征向量之间欧式距离较小,而不同目标的外观特征向量之间欧式距离较大.

图5 关联网络结构图

3.3.2 关联流程

本文将在当前帧上通过光流预测模块得到的分割结果“集合P”与实例分割模块得到的分割结果“集合D”进行关联,以此获取可靠的跟踪轨迹.具体流程如图6所示.

图6 实例关联模块流程图

第1步,利用目标外观向量之间的欧氏距离作为关联算法的主要匹配依据,初步获取目标的匹配关系.以“集合P”和“集合D”作为输入,使用关联网络为两个集合中的每个目标分配有区分度的外观特征向量,再通过匈牙利[20]算法将外观特征向量之间的欧氏距离小于2.0的目标进行关联,成功关联的目标更新至当前轨迹;反之,将未匹配的目标分别放入“集合P1”和“D1”.

第2步,利用目标之间的掩码重叠度作为辅助匹配依据,有效避免了由于第1步关联失败而导致一个目标的预测结果和分割结果都被保留的情况.以“集合P1”和“集合D1”作为输入,使用基于掩码交并比(mask IoU) 最大的关联方式,将交并比大于0.2的目标进行关联,成功关联的目标更新至当前轨迹;反之,对于“集合P1”中未匹配的目标放入“集合P2”,并直接更新到当前轨迹,“集合P1”中未匹配的目标移入“集合D2”中.

第3步,判断不活跃轨迹“集合UT”中的目标是否在当前帧中出现.以“集合D2”和“集合UT”为输入,仍使用基于外观特征向量的关联算法,成功匹配的目标更新到当前轨迹,并将其从“集合UT”删除.最终未匹配的目标初始化为新轨迹.

3.4 轨迹删除模块

对于轨迹的消失,本文的跟踪器将考虑以下3种情况来删除轨迹:1)如果目标不在图像中或被严重遮挡;2)将非最大抑制(NMS)应用于IoU阈值大于φ的互斥轨迹;3)设置一个最大阈值age=10,不活跃轨迹中的目标连续age帧没有与新目标关联.

3.5 本文算法整体流程

本文算法在4个模块之间的整体跟踪流程如算法1所示.

算法1.多目标分割跟踪算法

输出:图像序列的轨迹Tt={s,b,m,L,id},其中s为置信度,b为边界框,m为实例掩码,L为目标位置,id为身份信息

1.forItinIdo

2.Dt={s,b,m,Fmask,L,θ}←Detect(It,M);//实例分割模块

3.fordinDtdo

4.ifs<检测阈值then

5. 将d从{Dt}中移除;

6.endif

7.endfor

8.Dt←NMS (Dt);

9.Ift == 0then

10. 利用Dt去初始化轨迹Tt;

11.else

12.fortrackinTt-1do

13. optical flowO← VCN(It-1,It); //使VCN网络计It-1到It的光流场O

14. 取O的中值作为偏移量last_v;

15.L′←center(b)+last_v;

16.endfor

17.Pt=Predict(Fmask,L′,θ,It); //实例预测模块

18.forpinPt

19.ifs<预测阈值then

20. 将p移入UT={s,b,m,L,id,age};

21.endif

22.endfor

23.Pt,UT← NMS(Pt); //将重叠的目标移入UT

24.Tt=associate_1(Pt,Dt); //实例关联模块,使用外观向量和掩码交并比关联目标

25. 将没有成功关联的目标移入集合D2;

26.Tt=associate_2(D2,UT);

27.endif

28.forutinUT

29.age←age+1;

30.ifage>10then

31. 将ut从UT中移除; //轨迹删除模块

32.endif

33.endfor

34.endfor

4 损失函数

为了提升光流预测模块的性能以达到降低漏检率的目的,本文设计了两种损失函数分别用Lc和La表示.本文算法使用的总损失函数如公式(2)所示:

Loverall=Lfcos+Lmask+Lc+La

(2)

其中Lfcos和Lmask为CondInst[1]工作中的损失函数.

(3)

(4)

通过光流预测模块获取的位置存在不准确性的问题,如图7所示:t-1帧上目标A的光流集合中值可能会使预测在t帧上的坐标出现在目标B的身上,这会导致预测的分割结果不精确.因此本文在三元组损失函数的基础上,设计了La损失函数,具体如公式(5)、公式(6)所示:

图7 光流错误示意图

(5)

(6)

5 实验与结果分析

本文算法在公开标准数据集MOTS20跟踪基准上评估实验结果.此外,还展示了消融实验的研究结果,验证了本文网络的有效性.

5.1 数据集

MOTS20数据集是从MOTChallenge 2017[22]数据集中选取了部分视频序列,训练集和测试集分别有4个视频序列.其中选取了MOTChallenge 2017数据集中的第2个、第5个、第9个和第11个视频序列添加实例分割标注,分别生成MOTS20-02、MOTS20-05、MOTS20-09和MOTS20-11作为训练集,共2862帧,228个真实轨迹,26894个行人.并选取了MOTChallenge 2017数据集中的第1个、第6个、第7个和第12个视频序列添加实例分割标注,分别生成MOTS20-01、MOTS20-06、MOTS20-07和MOTS20-12作为测试集,共3034帧,包含328个真实轨迹,32269个行人.MOTS20数据集与其他数据集相比,主要针对于行人的跟踪,并且行人之间相互遮挡频繁,因此跟踪难度较大,非常具有挑战性.

5.2 评价指标

对于多目标分割跟踪任务的测评,本文使用Track-RCNN中提供的评估工具(1)https://github.com/VisualComputingInstitute/mots_tools,其对于多目标分割跟踪算法的评估指标如表1所示,其中MOTSA和MOTSP是对跟踪准确度和跟踪精度的评估,sMOTSA是MOTSA的软版本,是作为评估多目标分割跟踪任务的主要指标.FP(误检率)和FN(漏检率)是对检测性能的评估,IDS为ID切换,是对跟踪器是否给目标正确分配ID的评估.

表1 多目标分割跟踪算法指标

5.3 训练过程

本文实验在Inter Core i9-9900KF 3.6GHz CPU、两张2080Ti显卡、内存16G的台式电脑上完成.在训练集的4个视频序列上使用留一法(使用其中3个视频序列训练得到的模型去评估剩下的视频序列)的方式训练并评估了本文的跟踪结果;对于在测试集上的评估,则使用在全部训练集上训练得到的模型进行验证.

5.3.1 实例分割网络训练过程

实例分割网络使用ResNet-101和FPN作为主干网络,加载了在coco数据集上训练得到的预训练模型,并在MOTS20训练集上对网络进行了微调,训练时选择SGD优化器,初始学习率设为1×10-4,共迭代600000次,分别在320000和480000处,使学习率下降10倍.此外,为了提高检测和分割质量以及预防过拟合问题,本文使用了常见的数据增广方法,包括水平翻转,随机裁剪,颜色抖动和添加高斯噪声等.

5.3.2 关联网络训练过程

关联网络使用ResNet50作为主干网,加载了在ImageNet数据集上训练得到的预训练模型,通过数据预处理将MOTS20训练集中的目标进行裁剪,并调整大小为256×128,并将同一目标分为一组,每次输入4组数据用于关联网络的训练,训练时选择Adam优化器,初始学习率为1×10-4,共训练200个epoch.

5.4 实验结果及分析

表2展示了在MOTS20训练集上本文算法与其他算法的结果对比,本文算法在5项指标上均领先于其他多目标分割跟踪算法,并且由于实例预测模块以及新增的损失函数在时间维度上增强了同一目标的关联性,因此在FN指标上更是远远优于其他算法.就sMOTSA指标而言,本文算法比仅使用表观信息的TrackR-CNN高出了13.3%,同时,在IDS指标方面,也比仅使用外观信息关联目标的TrackR-CNN低.在MOTS20测试集上,同样将本文算法与最新的同类算法作了对比,结果如表3所示,本文算法在各项指标上仍处于前列.

表2 MOTS20训练集上结果对比

表3 MOTS20测试集上结果对比

图8展示了在拥挤的行人场景下,本文算法与TrackR-CNN的跟踪效果对比,可以看出,当 TrackR-CNN无法对某些被遮挡严重的行人进行跟踪时,本文算法依然可以对这些行人进行高质量的跟踪,这也表明了本文所提出的算法更加有效,展现了本文算法的竞争力.

图8 MOTS Challenge 数据集上的示例结果

5.5 消融实验

为了验证了特征嵌入模块、新增损失函数以及关联网络的有效性,本文使用MOTS20-05、MOTS20-09和MOTS20-11序列对网络进行训练,并在MOTS20-02序列上进行评估.实验结果如表4所示,在训练阶段分别添加Lc和La损失函数后,FN都得到了有效的降低,同时sMOTSA指标也总共提升了2.5%.在此基础上添加特征嵌入模块进行训练后,sMOTSA指标再次提升了5.9%,FN和FP也都得到了大幅度降低,提升了分割性能.

表4 MOTS20-02图像序列上的结果对比

为验证关联网络以及预测并关联的更新轨迹策略的有效性,本文在MOTS20的训练集上进行了验证,表5展示了在本文实验中使用不同的更新轨迹方式的跟踪结果对比,实验表明在sMOTSA指标上,仅使用光流预测的方式只达到了49.2%,添加关联网络比仅使用mask IoU的关联方式高出了2.7%,而预测并关联的方式使sMOTSA指标达到了最高的66.0%,证明了本文所提的关联网络以及预测并更新策略的有效性.

表5 MOTS20训练集上不同更新轨迹的方式的结果对比

针对多目标分割跟踪任务中不允许存在重叠掩码的要求,本文选择了两种方式进行对比实验:1)将重叠的像素点分配给置信度更大的目标;2)将重叠的像素点分配给在y轴(图片的竖轴)上更靠前的目标.表6展示了两种分配方式在训练集上的对比实验结果,score表示第1种方式,y表示第2种方式,实验结果表明选择第1种方式可以提高sMOTSA指标0.2%.因此,本文在跟踪过程中使用了一个简单的标准,即始终将重叠像素分配给具有较高置信度的目标.

表6 重叠掩码的不同处理方式对比

6 结 论

本文提出的多目标分割跟踪算法对行人具有很好的跟踪能力,实验结果表明,提出的运动特征嵌入的网络结构,通过嵌入运动信息有效的减少了漏检率和误检率,增强了目标检测器的检测性能.另外,设计的两个损失函数增强了网络预测实例的性能,进一步的减少了由于检测器失效和目标遮挡而导致的漏检.同时关联网络和预测并关联的更新轨迹策略很好的构建了目标轨迹,提升了跟踪准确度.与同类型的算法相比,本文算法表现出了更好的有效性.

猜你喜欢

掩码实例关联
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
“一带一路”递进,关联民生更紧
低面积复杂度AES低熵掩码方案的研究
基于布尔异或掩码转算术加法掩码的安全设计*
奇趣搭配
智趣
基于掩码的区域增长相位解缠方法
基于掩码的AES算法抗二阶DPA攻击方法研究
完形填空Ⅱ
完形填空Ⅰ