面向多类别舰船多目标跟踪的改进CSTrack 算法
2023-02-18袁志安
袁志安,谷 雨,马 淦
杭州电子科技大学自动化学院,浙江 杭州 310018
1 引言
舰船多目标跟踪作为多目标跟踪(multi-object tracking,MOT)的重要应用场景之一,在海面救援、渔业管理、海面交通疏导以及舰船监测等领域有着重要的现实意义,其目的是定位多个感兴趣的舰船目标,并维持每个目标唯一的身份编号(identification,ID),记录连续的运动轨迹[1]。然而,在复杂海面场景下进行鲁棒跟踪仍存在诸多困难,主要体现在以下4 个方面:1)跟踪过程中舰船目标被遮挡导致难以被精准定位;2)不同舰船目标间可能具有较高的外观相似性,增加了维持目标ID 的难度;3)舰船目标间交互可能造成跟踪框漂移[2];4)海面上成像模糊和存在多个类别舰船目标带来的检测挑战。这些问题与行人多目标跟踪类似,但又存在差别,因此将行人多目标跟踪的方法迁移到舰船多目标跟踪时需要进行针对性调整。
传统的多目标跟踪算法包含马尔可夫决策、联合概率数据关联、粒子滤波、最近邻标准滤波等[2],这些传统方法在预测位置时存在较大的误差,并且对遮挡或相似物体的干扰鲁棒性不足。随着深度学习理论与技术的飞速发展,基于深度学习的多目标跟踪方法在性能上已超越传统方法并成为研究的主流方向[3]。现有基于深度学习的多目标跟踪算法中,目标检测和基于重识别的特征提取是影响多目标跟踪性能的两个主要因素。2016 年Xiao 等人首次在一个卷积神经网络里实现同时处理行人检测和行人重识别任务[4],2017 年Bewley 等人提出的DeepSORT 算法[5]利用深度学习网络模型提取重识别(re-identificarion,ReID)特征向量进行数据关联实现行人的鲁棒跟踪。随后,研究学者在此基础上提出了多种改进算法,显著提高了多目标跟踪性能[6-9]。StrongSORT[6]算法在文献[5]的基础上优化特征提取器和特征更新策略,并使用相机运动补偿和自适应计算噪声协方差的卡尔曼滤波算法提升了目标跟踪精度;ByteTrack[7]算法利用检测框和跟踪轨迹之间的相似性,在保留高分检测结果的同时,从低分检测结果中去除背景,挖掘出模糊、被遮挡的困难目标样本,从而降低漏检并提高轨迹的连续性;FairMOT 算法[8]则根据文献[4]的思想使用anchor-free 方式减少anchor 之间的歧义,通过聚合多层特征生成ReID 特征向量提高网络对不同尺寸目标的适应能力。然而,在一个卷积神经网络中尝试同时实现目标检测和目标重识别这两种相互矛盾的任务会导致网络性能不佳。为解决这两种任务之间的矛盾,CSTrack 算法[9]通过解耦的方式将网络在颈部(neck)得到的特征图分解成两部分,用不同的网络头实现不同的分支任务。这种方式虽然有效地提升了多目标跟踪的性能,但其暴力解耦的方式会带来目标特征损失的问题,导致在目标遮挡、小目标或密集目标等情况下跟踪性能下降。
为提高CSTrack 算法对海面舰船多目标跟踪性能,本文从解耦网络优化设计等方面进行改进,主要贡献如下:
1) 为减少Neck 处理部分的目标特征损失,使解耦后的各分支任务网络头提供更丰富的特征,提出了一种结合细粒度特征和注意力机制的改进特征解耦网络(cross-correlation network,CCN)−RES_CCN网络。
2) 对网络的检测头部分进行解耦设计,通过降低误检率提升多目标跟踪性能。
3) 针对多类别舰船跟踪任务,通过增加类别损失,将原算法扩展到多类别多目标跟踪任务。
4) 采用新加坡海事数据集(Singapore maritime dataset,SMD)[10]和MOT16[11]行人数据集进行测试验证,验证了所提方法的有效性。
本文的组织结构如下:第二节综述文献中的相关工作,第三节介绍本文提出的方法,第四节给出实验的结果和分析,第五节对本文进行了总结。
2 相关工作
基于深度学习的多目标跟踪算法根据其网络模型完成目标检测、特征提取和数据关联三项子任务中的一项或几项可分成不同的范式,分别是分离检测与特征提取的范式(separate detection and embedding,SDE)、联合检测与特征提取的范式(joint detection and embedding,JDE)和联合检测与跟踪的范式(joint detection and tracking,JDT)[2]。SDE 范式将检测和数据关联分成两个独立的任务,通常使用现成的目标检测器进行检测,使用另一个独立的关联算法进行数据关联,可以通过更换不同检测器实现性能的提升,结构灵活,但因采用两阶段处理,所以效率低下。JDT范式在一个网络里完成检测、特征提取以及ID 分配三种任务,可以利用网络的反向传播实现全局优化能力,虽然大多JDT 范式的主干网络共享特征,但检测网络通常独立进行,没有利用跟踪网络的线索和结果特征,且常见的ReID 损失与检测损失不兼容也会造成网络的检测性能下降[12]。JDE 范式在一个网络里完成目标检测和ReID 特征提取两种任务,相比SDE范式,JDE 范式集成度更高;相比JDT 范式,JDE 范式充分考虑检测任务和ReID 任务之间的关系,实现了任务之间优化。
本文方法基于舰船跟踪的应用背景,从JDE 跟踪范式和CSTrack 跟踪方法出发,进一步改进了CSTrack 跟踪方法,以实现更强大的舰船多目标跟踪能力,与本文方法相关工作的介绍具体介绍如下。
2.1 JDE 范式跟踪方法
JDE 范式跟踪方法又被称为单阶段跟踪方法,其框架最早由Xiao 等人修改Faster RCNN[13]检测器提出,通过引入额外的全连接层,检测器获得产生ID嵌入的能力。随后Wang 等人提出JDE 多目标跟踪算法[14],然而其效果并不如SDE 范式的算法,为了提升JDE 范式跟踪方法的性能,研究人员陆续提出了一系列改进算法。除上文提到的FairMOT[8]、CSTrack[9],RelationTrack[15]与CSTrack 类似,都是设计特征解耦模块,通过将特征解耦成两部分来满足各自任务的需求,不同的是CSTrack 对来自不同特征层的ReID 向量进行特征对齐,设计了具有多尺度学习能力的尺度敏感注意网络(scale-aware attention network,SAAN),而RelationTrack 则考虑全局语义相关性,设计了引导式变换编码网络学习全局感知ReID 特征。此外还有研究者利用时空信息来提升多目标跟踪的性能。Wan 等人[16]设计了一种多通道时空特征,将目标的外观和运动特征编码到不同通道中,通过更丰富的特征来兼顾检测和ReID 任务。将注意力机制用于提升多目标跟踪性能时,Meng 等人[17]使用基于语义特征的空间注意力机制分析历史帧的运动轨迹从而预测目标当前位置。Guo 等人[18]提出了目标注意力机制和干扰物注意力机制,有效增强模型区分不同目标的能力。
2.2 基于深度学习的舰船多目标跟踪方法
基于深度学习的舰船多目标跟踪方法研究主要涉及两个方面:舰船数据集的研究和基于深度学习的舰船检测和跟踪方法研究。质量或相关性高的数据集是训练高性能网络模型的先决条件,当前常用的舰船公开数据集包括:Bloisi 等人在2015 年发布的MarDCT数据集[19],Prasad 等人在2017 年发布的SMD 数据集,Shao 等人在2018 年发布的SeaShips 数据集[20],以及基于海面浮动摄像头拍摄的数据集Buoy[21]等。基于深度学习的舰船检测和跟踪算法亦有诸多研究[22-26],徐安林[22]等人提出一种结合层次化搜索与视觉残差网络的光学舰船目标检测方法,对于光学遥感图像中的舰船目标检测具有良好的抗干扰性能。于国莉等人[23]利用相关滤波的方法,将相关图中最大响应值位置作为舰船目标最新位置,输出舰船目标实时跟踪结果。Li 等人[24]提出基于图匹配的舰船目标跟踪方法,将检测网络输入的连续帧图像替换为图数据结构,图中的点和线表示目标之间的位置信息以实现跟踪的目的。周越东[25]在特征匹配方面引入多粒度网络提取目标外观信息,并根据目标出现次数设置优先级实现出色的舰船跟踪。陈庆林[26]在DeepSORT 的基础上提出了一种基于外观余弦距离平均值的改进方法,减少了舰船跟踪过程中的ID 切换实现性能提升。
3 本文方法
为详细说明本文方法,本节内容安排如下:首先在3.1 节介绍CSTrack 方法和网络结构,然后在3.2节介绍本文提出的改进CSTrack 多目标跟踪算法,最后在3.3 节介绍数据关联算法。
3.1 CSTrack 网络结构
CSTrack 在JDE 算法框架的基础上进行改进,如图1 所示。图1(a)和1(b)分别是JDE 和CSTrack 的算法流程图,检测任务要求同一类别的物体(例如行人)具有相似的语义信息,类间距离最大,而ReID任务则要求同类目标具有不同的语义信息(例如区分两个不同的行人),类内距离最大。CSTrack 算法设计时认为采用共享的网络参数和结构同时实现上述两个任务会存在竞争关系,故利用共性和特性的思想在JDE 算法基础上设计了解耦网络模块CCN,并针对ReID 任务设计了多尺度的特征增强模块SAAN,以减少不同特征层的ID 向量带来的噪声干扰,从而提升多目标跟踪性能。
图1 JDE 和CSTrack 算法流程图。(a) JDE;(b) CSTrackFig.1 Flowchart of the JDE and CSTrack algorithms.(a) JDE;(b) CSTrack
如图2(a)所示,CSTrack 算法的网络结构分为特征提取模块(feature extraction module)、特征融合模块(feature fusion module)、特征解耦模块(feature decoupling module)、检测头分支(detection head branch)、ReID 分支(ReID branch),其中CCN 网络和SAAN网络分别如图2(b)的绿色虚线框和图2(c)所示。在SAAN 网络中,为了将网络不同层的输出特征对齐,分别将1/16 和1/32 输入图像大小的特征通过上采样方式都统一到1/8 图像大小。此外引入空间注意力机制(spatial attention module,SAM)[9]和通道注意力机制(channel attention module,CAM)[9],分别如图2(d)和图2(e)所示。SAM 网络增强目标相关区域特征并抑制背景噪声,CAM 网络帮助模型更好地关注图像中重要特征通道,提高模型的准确性和泛化能力。在SAM 网络中,Maxout 和Avgout 分别表示输入特征在第一维度上的最大值和均值,[Maxout,Avgout]表示两种特征向量拼接,将拼接后的向量经过卷积和激活,最后得到输入向量的空间权重。在CAM 网络中,Avgpool 和Maxpool 分别表示平均池化和最大池化,将池化后的向量分别经过卷积和全连接(fully connected,FC),最后将得到的两个特征使用元素乘法融合并经过激活函数得到输入向量的通道权重。
图2 CSTrack 网络结构。(a) 总体框架;(b) CCN 和RES_CCN 网络;(c) SAAN 网络;(d) SAM 网络;(e) CAM 网络Fig.2 Network architecture of the CSTrack.(a) Overall framework;(b) CCN and Res_CCN networks;(c) SAAN network;(d) SAM network;(e) CAM network
CSTrack 算法通过图2 所示网络检测目标位置并提取外观特征向量,然后采用数据关联算法实现ID分配。给定一帧图像X,首先通过特征提取网络和融合网络得到不同分辨率的特征层Fi|i=1,2,3,然后将Fi|i=1,2,3特征都分别通过特征解耦网络模块得到适用不同任务的特征层Fdei/i=1,2,3和Fidi/i=1,2,3。最后将不同的特征层通过检测头分支和ReID 分支得到对应预测检测结果以及原始的ReID 特征,其中预测检测结果经过非极大值抑制处理得到目标位置候选框。在数据关联阶段,利用候选框的位置信息从ReID 向量池中取出对应目标的ReID 特征向量,计算当前帧检测目标与前一帧跟踪目标的代价矩阵,将代价矩阵作为匈牙利算法的输入特征以完成目标的ID 分配。
3.2 改进CSTrack 多目标跟踪算法
针对CSTrack 多目标跟踪算法存在的问题,本文从主干网络、特征解耦网络和检测输出网络等几个方面进行改进,提出的算法总体框图和特征提取网络结构如图3 所示,现具体介绍如下。
图3 本文方法总体框图和特征提取网络结构Fig.3 Overall framework and feature extraction network architecture of the proposed method
3.2.1 特征提取网络改进
CSTrack 采用了YOLOv5[27]的早期版本作为特征提取和融合的网络基础。为实现更优秀的检测性能,本文的方法对CSTrack 的特征提取和融合网络进行了优化和改进。本文将CSTrack 中使用的YOLOv5 第三个版本的特征提取和融合网络升级为第七个版本的网络。这二者的区别在于:1)将激活函数从LeakyReLU 换成了SiLU 函数,保留更多的输入信息;2)将Focus 模块换成了Conv 模块,减少模型的复杂度和计算量,方便模型部署;3)将BottleneckCSP 换成了C3 模块,提高模型的精度和泛化能力;4)将Backbone 网络的最后两层SPP 和BottleneckCSP 分别换成C3 和SPPF 模块,提高检测速度和准确率。网络结构如图3 的红色虚线框所示。
3.2.2 结合改进Res2net 和CA (coordinate attention)注意力机制的解耦模块Res_CCN
Res_CCN 解耦网络是对CCN 网络的改进,其中CCN 的网络结构如图2(b)的绿色虚线框所示。特征层首先经过自适应平均池化得到新的不同大小的特征层,接着CCN 中会将新的特征层通过一对相同的卷积函数得到不同分支任务的特征M1和M2,最后为了促进两个任务的学习,利用注意力方式获得自注意力权重图和交叉相关性权重图,自注意力权重图促进各自任务的学习,交叉相关性权重图提高两个任务的协同学习。自注意力权重图WT1、WT2由M1和M2与其对应的转置张量进行矩阵乘法,并将结果经过softmax 函数得到,如式(1)所示:
交叉相关性权重图Ws1由M1和M2的转置进行矩阵乘法之后经过softmax 函数得到,交叉相关性权重图Ws2由M1和M2的转置进行矩阵乘法之后再经过转置和softmax 函数得到,如式(2)所示:
然后原始的特征权重Fi与W1或W2使用矩阵乘法得到增强的表示特征,表示特征与原始特征图Fi使用元素加法进行特征融合,最后得到属于不同分支任务的特征张量和。
对于CCN 暴力解耦带来的特征损失问题,本文从提升细粒度特征的角度在CCN 解耦网络中添加了改进的Res2net 网络,改进后的Res2net 在残差单元中引入更多的分层残差连接,并结合CA 注意力机制,从而不仅能够获得更为精细化的特征,同时还能让网络聚焦于与任务相关的特征,为解耦后的检测头分支和ReID 分支提供更多的细节特征,接着解耦后每个分支任务之间的差异性通过CA 注意力机制进一步调整,从而实现性能的提升。本文提出的Res_CCN 解耦网络结构如图2(b)所示,现分别介绍如下:
1) 改进的Res2net 模块
Res_CCN 网络使用改进的Res2net block[28]模块,如图4 所示。输入特征首先经过1 ×1卷积进行通道分组,通过参数s控制通道组,将输入平均划分到s个子集,定义为{X1,X2,...,Xs},这样每一个特征都有相同的尺度大小,均是输入特征的1/s,除了第一个子集其余的子集接着通过不同的3 ×3卷积核,对应的输出为{Y1,Y2,...,Ys},将得到的子特征重新拼接并通过1×1的 卷积得到最后的特征。每个子集的3 ×3卷积核都可以潜在地接受所有其左边的特征信息,这样每一个输出都能增大感受野,同时Res2net 里面的分层残差连接使感受野在更细粒度级别上能够捕获细节和全局特性的变化。接着对特征再进行尺度的细化,将1×1卷积得到的特征通过CA 注意力机制,这样在保持大范围感受野的同时使用注意力机制让网络更聚集于任务相关的特征提升性能,最后经过残差连接后使用Silu 函数进行激活。
图4 改进的Res2net 网络结构Fig.4 Network architecture of the improved Res2net
2) CA 注意力机制
注意力机制[29-32]已被证明有助于各种计算机视觉任务,在Res_CCN 解耦网络中也同样使用注意力机制,经典的注意力机制有CA[29]、SE[30](squeeze-andexcitation attention)、CBAM[31](convolutional block attention module)、ECA[32](efficient channel attention)等。Res_CCN 网络的构建目标,一方面是为了消除解耦模块可能导致的特征信息丢失,另一方面也着重于精确定位各类任务所需的特定目标特征,以减少不准确目标定位对ReID 特征向量可能产生的干扰。其中,CA 注意力机制不仅关注通道的信息,还深入考虑了方向相关的地理位置信息,这种设计使得它能够高效地捕捉到大范围的位置信息,同时又不会引入过多的计算负担,从而进一步提升了模型的性能。鉴于Res_CCN 网络的目标和CA 注意力机制的独特性质,本文决定采用CA 注意力机制来增强网络的特征提取能力。
CA 注意力机制网络结构图如图5 所示,输入特征首先分别按照X方向和Y方向进行池化,然后进行拼接和二维卷积计算进行降维,接着将激活后的特征按照X和Y方向进行切分并分别通过不同的二维卷积和激活函数得到不同方向上的权重,最后将输入特征与权重相乘得到最后的输出特征。
图5 CA 网络结构Fig.5 Network architecture of CA
3.2.3 检测解耦头设计和多类别扩展
与行人的多目标跟踪不同,舰船的多目标跟踪需要处理包含多种类别、尺度变化较大的目标,这对算法的目标检测能力提出了更高的要求,而多目标跟踪的性能与检测的稳定性紧密相关,因此,本文从提升目标检测性能的角度出发,通过降低误检率进一步提高多目标跟踪的表现。在YOLOv6[33]、YOLOX[34]以及最新的YOLOv8 中,解耦检测头被证明可以提高对目标的检测能力,因此本文对CSTrack 的检测头进行解耦设计,解耦检测头的网络设计如图6 所示,特征金字塔网络(feature pyramid network,FPN)的每层输出特征首先会通过一个内核大小为1×1 的Conv 卷积模块,接着将得到的结果分别通过两个内核大小为3×3 的Conv 卷积模块,最后利用二维卷积得到不同任务的输出结果。
图6 解耦检测头网络结构Fig.6 Network architecture of decoupled head
由于CSTrack 仅支持行人单一类别目标的跟踪,针对SMD 数据集等包含多个舰船类别目标的跟踪需求,本文对损失函数进行改进,添加了分类损失,使其能够同时检测多个类别的目标。最后总损失函数由定位损失、分类损失、置信度损失和ReID 损失组成。其中,定位损失采用CIOU (complete-IOU)损失,而分类损失和置信度损失则采用二元交叉熵损失,参数设置同YOLOv5 保持一致,ReID 损失采用交叉熵损失,其损失函数的定义如式(4)所示:
其中:N代表当前图像中目标的数量,Yi(c)∈RC×1×1表示真值标签,P={p(c),c∈[1,2,...,C]表示ID 分布向量表。最后多类别扩展的总损失函数定义如式(5)所示:
其中:Lcls、Lbox、Lobj、Lid分别表示分类损失、定位损失、置信度损失和ReID 损失,α、β、η是常数,α为0.5,β为0.05,η在程序中设定为4×10−4用于平衡目标检测任务和ReID 任务。
3.3 数据关联
根据目标检测及提取ReID 特征的结果进行数据关联,流程如图7 所示。首先基于第一帧中检测到的目标进行轨迹起始,接着后续帧中检测目标和跟踪目标的匹配过程则分为三个阶段,在第一阶段,检测目标和前一帧中保留的跟踪目标使用ReID 向量和位置信息分别计算余弦距离Dr和马氏距离Dm,然后通过加权的方式融合在一起,得到代价矩阵Dcost=0.98Dr+0.02Dm,匈牙利算法利用代价矩阵得到第一次的目标分配结果,成功匹配的目标会更新位置和ReID 特征信息;第二阶段使用交并比(intersection over union,IOU)距离计算目标的代价矩阵,然后利用匈牙利算法完成目标和轨迹的第二次匹配;第三阶段对两次都没匹配上的检测目标初始化为新的跟踪目标,连续30 帧未匹配上的跟踪目标则会被删除。
图7 级联匹配流程图Fig.7 Flowchart of matching cascade
4 实验结果与分析
4.1 数据集和模型评价指标
实验所用的舰船数据集是新加坡海事数据集SMD,由Prasad 等人在2017 年公开,分为甲板和岸上两种拍摄环境,共40 个视频序列,包含十类目标。为了更具针对性,本文选取其中跟海面舰船相关的六类目标进行实验,分别是Ferry、Vessel-ship、Speed-Boat、Boat、Kayak、Sail-boat。Moosbauer 等人[35]分析了SMD 数据集的分布情况,提出了SMD 数据集的训练集、验证集和测试集的划分方法。本文根据其论文的划分方法在进行结果测试时,发现测试集中存在着类别不均衡的问题:Boat、Kayak、Sail-boat 这三类目标从测试开始到结束都没有出现相应的目标对象,这对于分析这三类目标的检测和跟踪情况不利。因此,本文在统计SMD 不同视频序列中的目标类别及其数量之后,对文献[35]的划分方法进行微调,将训练集的三个视频序列MVI_1452、MVI_1587、MVI_1592 变为测试集,以此补充测试集中缺少的类别和样本,另外将三个验证集MVI_1469、MVI_1578、MVI_0790 调整为训练集,以此增加训练集的样本。相关视频序列的目标统计结果和划分情况如表1所示。
表1 调整的SMD 数据集视频序列相关参数Table 1 Adjusted SMD dataset video sequence related parameters
除采用舰船数据集进行算法测试,本文还采用MOT16 行人数据集进行消融实验以验证提出各模块的性能。消融实验训练集由ETH、CityPerson、CalTech、MOT17、MOT15、CUDK-SYSU 和PRW 构 成,其中ETH 和CityPerson 仅提供检测信息,训练检测分支,其余数据集同时提供ID 和检测信息,训练ReID 和检测分支。验证和测试数据集由MOT16 训练集构成,共7 个视频序列5316 帧79790 个标注检测框及731 个行人ID,挑战主要包括摄像头抖动、视角变化、光照变化、行人密集等。
为了定量地评价多目标跟踪算法的性能,通常结合多个指标对模型的跟踪性能进行评价,其中最重要的两个指标是MOTA (multiple object tracking accuracy)和IDF1 (identification F1 score),此外还有多数跟踪占比(mostly tracked,MT)、多数丢失占比(mostly lost,ML)指标。
MOTA 综合考虑了FP (false positive)、FN (false negative)和IDS (ID switches)三个指标,通常该值越高,多目标跟踪性能越佳。如式(6)所示:
其中:N(GT)表示真实值的总数,FN表示被预测为负样本的正样本数,FP表示被预测为正样本的负样本数,IDS表示整个跟踪过程中所有目标的ID 交换次数,其值越低越好。
IDF1 表示正确识别的检测与平均真实数和计算检测数之比,综合考虑了目标ID 的准确率和召回率,主要反映数据关联的准确性。如式(7)所示:
其中:IDTP为正确分配数量,IDFN为漏分配数量,IDFP为错误分配数量。
多数跟踪占比表示80%以上的轨迹被成功跟踪的目标占比。
多数丢失占比表示80%以上的轨迹跟踪失败的目标占比。
4.2 实验环境和训练细节
本文使用SGD 优化器在单个NVIDIA GeForce RTX 3090 GPU 上训练网络30 轮,使用在COCO 数据集上训练的YOLOv5l 模型对网络模型进行初始化。初始学习率设为5 ×10−4,在训练到20 轮时,会将学习率衰减到5 ×10−5。在解耦网络中,输入特征经过平均池化处理后的尺寸为(H,W),在SMD 数据集和行人数据集上,其尺寸大小均设置为(24,40)。对于不同数据集设置的batch size 也不同,舰船数据集设置的batch size 为4,行人数据集设置的batch size 为16,其余的参数设置都与CSTrack 算法保持一致。
4.3 消融实验
经本文训练并测试的CSTrack 算法在MOT16 训练集上的指标如表2 所示。其中Baseline 表示CSTrack 方法在MOT16 上测试得到的指标,Baseline*表示CSTrack 方法改进特征提取网络后测试得到的指标,Res2net*表示改进的Res2net 模块。从表2 中可以看出,Baseline*相比Baseline 在MOTA 指标上提升了2.8,Baseline+CA 相 比Baseline 在MOTA 和IDF1 指标上分别提升3.0 和0.4,Baseline+检测头解耦相比Baseline 在MOTA 和IDF1 指标上分别提升3.3 和1.3,证明这三个改进模块都能提升多目标跟踪性能;在Baseline*+Res2net*和Baseline*+Res2net 对比实验中,Baseline*+Res2net*相比Baseline*+Res2net方法虽然MOTA 值由83.2 下降到83.1,但是IDF1值由75.8 上升到80.8,目标切换次数由758 下降到了536,证明本文的改进方法Res2net*相比Res2net,在保持MOTA 指标相当的情况下在目标关联上有着更好的性能;此外,本文方法相比Baseline 方法,MOTA 值由79.4 上升到了84.0,IDF1 由77.9 上升到了81.3,同时FP、FN、MT、ML、IDS 指标也均表现出不同程度的上升,表明本文提出的模块结合到baseline 中是有效的。
表2 MOT16 数据集上不同模块对跟踪性能的影响Table 2 Influence of different modules on the tracking performance on MOT16 dataset
为了研究RES_CCN 网络模块对Baseline*的影响,本文也对Baseline*及RES_CCN 内部使用的网络模块进行了定量分析,如表2 所示。Baseline*+Res2net*相比Baseline*在MOTA 和IDF1 指标上分别提升0.9、5.4,表明Baseline*结合改进的Res2net 模块能提升目标跟踪性能;将改进的Res2net 模块与CA 注意力机制结合Baseline*在MOTA 提升1.2,IDF1 提升6.5,同时FP、FN、MT、ML、IDS 都有不同程度的上升,表明改进RES_CCN 网络对Baseline*的跟踪性能提升同样是有效的。
此外,为评估CA 注意力机制与其他常见注意力机制在网络跟踪性能方面的影响,本文对四种典型的注意力机制进行了详细的对比测试,包括SE、CBAM、ECA 和CA 注意力机制。采用这些注意力机制的实验结果如表3 所示。其中CA 注意力机制相比其他注意力机制拥有最高的MOTA 值,IDF1、FN、IDS 的值也最好,因此本文方法选用CA 注意力机制提升网络的跟踪性能。
表3 不同注意力机制对跟踪性能的影响Table 3 Influence of different attention mechanisms on tracking performance
由于检测损失和ReID 损失的权重参数的选择对跟踪性能有较大影响,本文通过实验分析其影响。实验中检测损失的权重参数固定,将η从4×10−2到4×10−5变化,多目标跟踪性能指标如表4 所示。当ReID 权重参数由4×10−2下降到4×10−4的时候,MOTA、FP、FN、MT、ML、IDS 的指标呈现变好的趋势,但是IDF1 值下降,说明随着ReID 权重参数的下降能提升算法的目标检测性能,但是对于数据关联是不利的;不过随着ReID 权重参数不断下降,MOTA、FP、FN、MT、ML、IDS 指标也不再上升,反而呈现下降的趋势。由上述分析可知,ReID 权重参数的下降在一定程度上有利于算法的检测性能提升,但是不利于关联性能的提升。从表4 中可以看出,当权重参数选为4×10−4时,MOTA 值最高,漏检、误检以及目标切换次数最少,因此本文方法设置为4×10−4。
表4 ReID 权重参数对跟踪性能的影响Table 4 Influence of ReID weight parameters on tracking performance
4.4 定量分析
为测试和比较本文所提方法与其他先进方法在舰船多目标跟踪方面的性能,本小节在SMD 数据集上进行了定量分析。本文训练并测试了几种先进算法在SMD 数据集上的指标,如表5 所示。CSTrack 算法因为使用特征解耦和ReID 特征对齐所以相比DeepSORT 算法MOTA 值提升了7.4,提升明显,IDF1值提升了0.3,但是相比StrongSORT 和ByteTrack算法,CSTrack 则性能稍差。本文方法在CSTrack 算法上进行改进,通过RES_CCN 网络保留了更多的细粒度特征以及对检测头的解耦操作,提升算法的多目标跟踪性能,相比StrongSORT 方法,本文方法的MOTA 值高出4.8,IDF1、FP、FN 等指标也都优于StrongSORT;相比ByteTrack 方法,MOTA 值高出2.1,FP、FN、ML也都优于ByteTrack;相 比CSTrack 方法,MOTA 提升了8.4,IDF1 提升了3.1,FP、FN 和ML 指标也都有不同程度的提升。MOTA综合了FP、FN、IDS 指标,从而衡量算法的综合跟踪性能。从表5 中可以看出,相比其他方法,本文所提方法的MOTA 指标最优。
表5 本文方法与其他先进方法在SMD 数据集上跟踪表现的对比结果Table 5 Comparison of tracking performance between the proposed method and other state-of-the-art methods on SMD dataset
4.5 定性分析
将改进特征提取网络后的方法CSTrack*作为基准,通过对实验的结果进行可视化来分析本文方法在目标遮挡、小目标或密集目标场景中等情况下表现出的效果。由于原数据集的图片过大,含有的目标比较多,不方便对比分析,截取了实验中间比较有代表性的一些跟踪结果来比较效果,分别如图8 和图9所示。
图8 本文方法与基准方法在SMD 验证集上的可视化结果对比。(a) 漏检和误检;(b) ID 切换和漏检Fig.8 Comparison of visualization results between our method and baseline on SMD validation set.(a) FN and FP;(b) ID switch and FN
图9 本文方法与基准方法在MOT 验证集上的可视化结果对比。(a) 误检和漏检;(b) ID 切换和特定的误检Fig.9 Comparison of visualization results between our method and baseline on MOT validation set.(a) FP and FN;(b) ID switch and special FP
如图8(a)所示,在MVI_1627_VIS 的视频序列中,基准方法在第397 帧中对尺寸较大船只旁边的小船检测不到,出现漏检,而本文方法则可以正确检测,说明本文方法相比基准算法能保留更多的特征信息;在MVI_1484_VIS 视频序列中,基准方法出现了误检,将船舱部分检测为一个新的目标,而本文方法则检测正确,且置信度较高。如图8(b)所示,在MVI_1640_VIS 的视频序列中,基准方法和本文方法对连在一块的两个船只都出现了漏检现象,而在第36 帧的时候基准方法出现了ID 切换,本文方法则保持原来的ID。通过以上的定性分析证明本文的改进特征解耦模块和检测解耦头设计在海面舰船跟踪方面发挥了作用。
在图9(a)所示的MOT16-04 视频序列中,第001帧中人流密集的场所基准方法出现了误检,而本文方法则检测正确;在MOT16-13 视频序列的第367 帧中,基准方法出现了漏检,而本文方法则能正确地检测出。在图9(b)所示的MOT16-10 视频序列中,基准方法的第72 帧相比前一帧出现了ID 切换,重新生成了一个新的跟踪目标,由粉红色目标框切换为了紫色的目标框,而本文方法在人流密集的场所仍能保持ID。通过上面的定性分析,证明本文所提方法的有效性。不过本文方法同样存在一定的问题,如在MOT16-04视频序列的37 帧中,本文方法相比基准方法出现了误检,本文方法在分别检测出两个行人的同时将两个行人又作为了一个整体的检测对象,虽然这种误检发生的概率极低,但仍然影响跟踪器的性能,可能因为改进的Res2net 在特征解耦前关注了大范围的位置信息,带来了多余噪声信息导致出现误检。
5 结论
CSTrack 通过解耦的方式虽然能够缓解目标检测和目标重识别任务之间的矛盾,提升多目标跟踪的性能,但这种暴力解耦的方法会导致目标特征损失,从而降低算法跟踪性能。为提高CSTrack 算法的海面舰船多目标跟踪性能,本文在算法多个方面进行改进。在网络的解耦部分,提出了一种结合细粒度特征和注意力机制的改进特征解耦网络RES_CCN,其通过增加感受野并在残差单元中插入更多带层级的残差连接结构,获得了更加细粒度的特征,提升了多目标跟踪的性能。为满足多类别舰船多目标跟踪的需求,采用检测头解耦网络及改进损失函数进一步提升了跟踪性能。最后,本文在SMD 和MOT16 数据集上进行了测试和验证,实验结果证明所提网络方法的有效性。但是,本文方法也存在局限性,RES_CCN 中的Res2net 网络部分在特征解耦之前关注了大范围的位置信息,可能引入了多余的噪声信息,从而影响了跟踪性能。因此,下一步的研究重点是尽量减少网络引入的噪声,以避免误检现象对跟踪性能的影响。