基于注意力机制的无锚点跟踪算法
2023-01-08陶祥明
陶祥明
(北方工业大学电气与控制工程学院,北京 100144)
0 引言
单目标跟踪任务是根据第一帧跟踪目标位置信息,确定初始化跟踪框,再通过跟踪网络,将第一帧作为模板区域,后续帧作为搜索区域,搜索目标位置,返回目标边界框信息,进行目标跟踪。
从发展阶段看,视觉跟踪算法可分为传统视觉跟踪算法、基于相关滤波的视觉跟踪算法和基于机器学习的视觉跟踪算法3 个阶段。最初的传统视觉跟踪算法是人为在第一帧中找出跟踪目标特征,在后续帧中根据人为选择的特征确定目标位置和边界框信息。
基于相关滤波的视觉跟踪算法,源于信号处理相关操作,使用滤波器在第一帧中提取目标信息,通过快速傅立叶变换完成滤波器训练,利用滤波器完成目标区域和搜索区域相关操作的响应值计算,将最大输出响应位置作为目标位置预测。
MOSSE[1]算法是第一个采用相关滤波的跟踪算法,运行速度较同期算法优势明显。CSK 算法[2]发现样本集具有循环矩阵的结构特征并引入了核的概念,KCF 算法[3]用方向梯度直方图代替灰度特征,CN 算法[4]拓展了多通道颜色特征,这类算法通过改变特征提取方式,提高跟踪准确性。DSST 算法[5]在KCF 的基础上,引入多特征融合并通过尺度变化滤波器找到候选区域,再通过滤波器确定目标中心位置,找到最佳匹配尺度。
这类基于相关滤波的算法运行速度快,且在不断优化特征提取方式后,跟踪准确性得到一定提升,但当目标出现连续形态变化时,由于算法每帧都会更新滤波器,导致算法易受到背景干扰,影响跟踪效果。
随着人工智能特别是机器学习的发展,单目标跟踪算法也进行了更新和迭代。基于机器学习的视觉跟踪网络,在完成离线训练后,跟踪过程中需要对模型参数进行在线微调,对设备计算能力要求较高,因而无法实时跟踪。
SINT[6]和Siam FC[7]提出的孪生网络,将视频第一帧和后续帧同时进入共享结构和权值的子网络,进行匹配得出特征图,完成目标边界框预测。基于简洁的孪生网络结构,在保持跟踪精度和成功率的同时,使得跟踪算法在速度上,相较于需在线微调参数的其他基于机器学习的跟踪算法优势明显。
后续Siam RPN[8]和Siam RPN++[9]等基于锚点的孪生网络算法[10],由孪生网络和候选区域生成网络两部分构成。孪生网络模块负责提取特征信息,候选区域生成网络用于生成可能的目标区域,两条支路将相关操作后的结果分别用于分类和回归操作。候选区域生成网络将特征图上的各点当作锚点,选取锚点周围多个尺度不同的锚框进行检测,查看后续帧是否存在目标以及完成对于目标边界框信息的回归。
基于锚点的孪生网络算法在训练模型之前,需要对锚框尺寸和长宽比进行超参数设计。这类参数需要根据实际情况进行针对性选择,泛化能力较差。同时,为了尽可能地回归准确的目标边界框信息,需要预设多种尺寸的锚框进行匹配,增加了网络训练和跟踪复杂度,会造成大量负样本,从而导致正负样本不匹配问题。
为了改进基于锚点的孪生网络跟踪算法的不足,本文在基于锚点的孪生网络跟踪算法基础上,参考Siam CAR[11]、Siam BAN[12]、Siam FC++[13]和Ocean[14-15]等提出基于无锚点的改进模型[16]。在回归方式上,不依赖于候选区域生成网络提前生成的不同尺寸候选区域,而是直接将经过特征提取网络和匹配网络得到的特征图,进入区分前景和背景的分类分支、中心点位置和边框位置的回归分支。
Siam FC 和Siam RPN++等基于孪生网络的跟踪算法,通过将模板图像和搜索图像进行相关操作以提取特征,形成特征图后,再进行分类和回归计算。Siam FC 提出的基础相关操作,是用模板特征与搜索特征进行卷积,得到通道为1 的特征图,Siam RPN++等网络在此基础上,使用多通道的相关操作方法,得到多通道的特征图。本文在此基础上,参考HiFT[17]和DSA[18]等网络[19-23],将注意力机制[24]与传统相关操作相结合,进行特征匹配,增加网络各层次之间的联系,更好地兼顾全局的特征信息。
基于无锚点分支和注意力机制的变换网络方法的引入,使得本文提出的基于孪生网络的单目标跟踪算法在常见目标跟踪测试数据集上,相较于未采用该方法的孪生网络,在成功率和精度上具有一定优势。
1 基于注意力和无锚点的孪生网络
1.1 网络结构
基于锚点的孪生网络虽然在成功率上表现良好,但是对于物体形态发生较大幅度改变,或本身的边界框与预先设定的锚框比例差距较大时,网络的跟踪精度不高。算法对于锚框尺寸、比例和数目也有很强的依赖性,训练和测试过程都需要对超参数进行细致的调节,使得其泛化能力不强。同时,为了较好地完成目标预测,需要使用大量的锚框进行检测,导致负样本与正样本数量不均衡,影响训练和测试结果,也增加了网络复杂程度,影响运行效率。
传统的孪生网络跟踪算法,通常只使用相关操作拟合特征,并根据生成的特征图完成跟踪任务。相关实验表明,这类跟踪网络往往无法关注到全局状态。
为了改进上述基于孪生网络视觉跟踪算法的不足,本文提出了基于注意力和无锚点的孪生网络,模型可分为特征提取网络、特征匹配相关和分类回归3 个部分,如图1所示。
Fig.1 Attention and anchor-free siamese network图1 基于注意力和无锚点的孪生网络
特征提取网络部分,采用共享权重和结构的ResNet 50[25]构成的孪生网络。相较于同样采用无锚点设计的Siam FC++的特征提取网络,其提取能力更高。主要使用后3 层的卷积层对模板区域和搜索区域进行特征提取,模板区域和后续帧的搜索区域图像大小分别设置为127 x 127和255 x 255,均为3通道的彩色图像。
模板区域和搜索区域分别通过孪生网络生成对应的特征图,由于跟踪任务每帧之间物体运动尺度变化往往不大,因此需要将特征提取的卷积神经网络的步长进行调整,将最后2 层中的步长改为1,避免由于过大的步长,无法关注到物体细小的移动或形态变化。参照Siam RPN++网络,将原始ResNet 50 网络中的卷积方式改为空洞卷积,在减少步长的同时保留较大的感受野。
1.2 基于注意力机制的特征融合网络
特征匹配相关部分,分别选择修改后ResNet 50 网络的第3、4 和5 层卷积层作为特征层,使用1 x 1 卷积将他们的通道数调整至192。将3 个特征层的模板分支和搜索分支分别进行3 次通道维度上的相关操作,不同于Siam CAR和Siam BAN 直接将3 组特征图进行融合,也区别于Ocean和TransT 只使用注意力机制作为图像匹配方式,本文将3组分别相关操作后的特征图,作为输入送入基于注意力机制的视觉变换网络模块,提高网络对于全局范围的搜索能力,可以兼顾相关操作和注意力机制对于特征匹配的优势,提高网络在复杂场景中跟踪的成功率和准确性,如式(1)所示。
基于注意力机制的视觉变换方法主要参考了HiFT 算法,网络包含高分辨率特征图编码和低分辨率特征图解码两部分操作,参考视觉变换的网络设计[24],编码部分将第3 层和第4 层特征图增加位置编码,将两者相加后,再经过归一化操作与第3 层一起,作为多头注意力机制的输入层。将带有位置编码的第3 层与多头注意力机制后的内容相加,再与带有位置编码信息的第4 层进行拼接、神经网络和全局池化等操作。将此结构重复6 次,完成对高分辨率特征图的编码过程。
解码部分与标准的视觉变换网络类似,使用第5 层卷积后得到的特征图作为解码部分的输入,与来自低分辨率的特征信息共同作为多头注意力机制的输入层,再经过神经网络和相加的残差结构,最终得到融合高分辨率和低分辨率特征图的特征信息完成输出,如图2所示。
Fig.2 Feature encoder and decoder network图2 特征编码和解码网络
1.3 基于无锚点的边界框回归网络
分类回归部分,分别将相关和变换操作后的特征图,连接4 层可训练的卷积神经网络进行特征增强,再连接分类、中心点估计和回归3 个分支完成网络对于目标前景背景、中心点位置和距离中心点4 个边界框的预测任务。模型损失函数由分类损失、中心点置信度损失和边界框重合度损失组成,如式(2)所示。其中,Lcls表示分类损失,Lcen表示中心点置信度损失,Lreg表示边界框重合度损失。3 种损失函数可根据情况按照不同的权重进行加权求和,本文采用的比例是1∶1∶3。
区分前景和背景部分的损失函数采用二分类的交叉熵损失,区别于Ocean 和Siam BAN 损失函数只包含分类和回归的分支,该算法参考目标检测中FCOS 模型的中心置信度损失,通过中心点距离4 个边界框上下和左右的最大值和最小值反映出所选位置是否接近目标的中心位置,如式(3)所示。其中,l*、r*、t*和b*表示特征距离左、右、上、下的距离,使模型可更多关注中心位置接近真实中心的边界框,对于远离中心位置的边界框作出一定惩罚,使得最终预测结果尽可能接近真实情况。
边界框回归损失则是将预测的偏差坐标转换成预测框,比较预测框和真实框的重合度,通过式(4)计算损失值,具有一定的非线性。在训练过程中,随着损失函数值的降低,使得预测框逐渐接近目标的真实框。
网络训练过程如下:首先载入视频,根据第一帧确定要跟踪的目标区域,将模版分支输入到特征提取网络,将ResNet 50 第3、4 和5 层融合结果作为输出,搜索模版同样进入共享权重和结构的特征提取网络。将搜索分支和模版分支的输出结果进行特征匹配操作,得到用于进入分类回归部分的特征图,再通过分类、中心置信度和边界回归分支计算损失值,通过梯度下降方式,不断修改网络权重,逐渐拟合模型并完成训练。
2 实验结果分析
2.1 实验环境及算法参数配置
对基于无锚点和注意力的孪生视觉跟踪网络进行相关实验,在如表1所示硬件和软件开发环境下进行。
Table 1 Experimental hardware and software environment表1 实验硬件及软件环境
本文算法搭建的网络在目标跟踪数据集ILSVRC VID、ILSVRC DET、COCO、YOUTUBEBB、LaSOT 和GOT-10k 上进行训练。使用PySOT 工具箱,对数据集进行裁剪和预处理。
训练过程中,每轮选择600 000 个视频帧进行训练,批处理大小设置为32,初始学习率为0.005,结束学习率为0.000 5,前5 轮为预热训练,初始学习率为0.001,结束学习率为0.005,总共进行20 轮次的迭代训练。训练开始时,冻结特征提取网络ResNet 50 的模型参数,10 轮后解冻特征提取网络的第2、3和4层参与训练。
2.2 实验结果分析
为检测基于无锚点和注意力的孪生视觉跟踪网络的有效性,选择OTB100、VOT2019、UAV123 和GOT-10K 等目标跟踪测试数据集进行单目标跟踪测试。
2.2.1 定性分析
在OTB100 数据集上,图3 展示了本文算法与Siam FC、Siam RPN 和Siam FC++算法的部分跟踪情况(蓝色—Siam FC++;绿色—Siam RPN;黑色—Siam FC;红色—Ours,彩图扫OSID 码可见)。
在Basketball 场景中,当目标出现遮挡和背景存在干扰情况时,其余3 个算法均出现了丢失目标或跟错目标的情况。本文算法可以比较准确地预测目标的边界框信息,表明在复杂场景下,其相较于其他算法鲁棒性更好。
在BlurOwl 场景下,镜头出现剧烈和快速晃动,模拟当目标出现快速移动和运动模糊的情况,Siam FC++和Siam RPN 算法出现了丢失目标的状况,可见本文算法在目标出现快速位置变化时,跟踪的鲁棒性体现较好。
在Bolt2 场景中,当目标出现快速移动和与背景出现重叠和遮挡时,其余3 个算法出现了丢失目标和跟错目标的情况,可见本文算法在复杂背景中跟踪成功率和准确性表现较好。
2.2.2 定量分析
在OTB100 和UAV123 数据集上,使用精确度Precision和成功率Success 作为网络跟踪能力评价指标。其中,精确度Precision 根据预测目标边界框的中心点和真实目标中心点的距离赋予不同的阈值;成功率Success 可反映预测目标边界框与真实目标边界框的重合程度,通过交并比得到成功率曲线;AUC 表示该成功率曲线面积,数值越大说明算法跟踪成功率越好。
在OTB100 数据集上,相较其他基于孪生网络的目标跟踪算法Siam FC、Siam RPN、DaSiam RPN 和Siam FC++(AlexNet)在AUC 上有一定提升,其中相较于Siam FC 有9.1%的提升,而对比同样使用无锚点网络的Siam FC++(AlexNet)也有1.7%的提升,如表2所示。
在GOT-10k 数据集上,采用平均重合度AO 和成功率SR 作为网络跟踪能力评价指标。其中,AO 体现预测目标边界框和真实目标边界框的一致程度,SR 指在一定AO 阈值下成功跟踪的准确度,选用0.5 和0.75 两个阈值进行评价。
Table 2 Experimental results of the proposed algorithm and other algorithms on the OTB100 dataset表2 本文算法与其他算法在OTB100数据集上的实验结果
在GOT-10k 数据集上,遵循该测试集要求,仅使用GOT-10k 提供的训练集,每轮使用100 000 个视频帧,共进行20 轮训练。相较于采用有锚点的孪生网络Siam FC、Siam RPN 和Siam RPN++具备一定优势。其中,相较于Siam FC 在AO 上有14.7%的提升,相较于Siam RPN 有3.8%的提升,如表3所示。
Table 3 Experimental results of the proposed algorithm and other algorithms on the GOT-10k dataset表3 本文算法与其他算法在GOT-10k数据集上的实验结果
在UAV123 数据集上,相较于主流孪生网络算法Siam FC、Siam RPN++和DaSiamRPN[26]优势明显。其中,在成功率上相较于Siam FC 有12.7%的提升。在准确性相较于同样采用ResNet 50 特征提取网络的Siam RPN++有4.6%的提升,与同样采用无锚点算法的Siam CAR 有3.8%的提升,与同样采用变换网络方法的HiFT 在成功率上有1.2%的提升,如表4所示。
Table 4 Experimental results of the proposed algorithm and other algorithms on the UAV123 dataset表4 本文算法与其他算法在UAV123数据集的实验结果
2.2.3 消融实验
在UAV123 和VOT2019 数据集上进行了算法各模块的消融实验。使用与本文算法相同的训练数据集和训练轮次,对比本文算法与取消了ResNet 50 融合层、取消变换网络和取消无锚点分支的3 个算法进行测试,证明了各模块的有效性,结果如表5。
Table 5 Experimental results of the proposedalgorithm and other algorithms on the UAV123 and VOT2019 dataset表5 本文算法与其他算法在UAV123和VOT2019数据集的实验结果
在UAV123 数据集上,使用AlexNet[27]代替ResNet 使得精度下降3.5%,成功率下降2%;使用有锚点和相关操作网络代替无锚点和变换网络网络使得精度下降0.5%,成功率下降1.3%;使用传统相关操作代替相关与变换网络结合使得精度下降2.8%,成功率下降2.4%。
在VOT2019 数据集上,使用AlexNet 代替ResNet 使得EAO 下降0.7%,使用有锚点网络和相关操作代替无锚点网络和变换网络使得EAO 下降1.8%,使用传统相关操作代替相关与变换网络结合使得EAO 下降1.7%。
对比本文算法与消融实验其他算法在模型上的训练时间和跟踪效率,训练时间根据相同数据集和硬件情况下,依据后10 轮训练中2 个轮次生成训练模型的间隔时间,估计该轮次训练所用时间,预测时间则是根据VOT2019 测试集上的平均帧率,反映算法跟踪的效率,结果如表6所示。
Table 6 Experimental results of the training time and running frame rate of the proposed algorithm and other algorithms表6 本文算法与其他算法训练时间和运行帧率的实验结果
训练时间上,本文算法完成1 轮模型训练预估时间为5.4h,将AlexNet 代替ResNet 预估时间为5.5h,使用有锚点网络代替无锚点网络预估时间为5.4h,使用传统相关操作代替相关与变换网络预估时间为3.5h。从训练时间看,变换网络对于训练时长有一定影响,其他模块对于训练时间影响不大。
预测时间上,通过实验结果分析,不同的特征提取网络对运行速率影响较大,相关操作和变化网络结合使用会对网络预测速度产生一定影响,但在目前硬件环境下,均可满足实时跟踪要求。
3 结语
本文针对有锚点回归和相关操作孪生网络存在的问题,设计了基于无锚点和注意力的孪生视觉跟踪网络。本文算法抛弃原有候选框的设计思想,参考目标检测中的边界框回归和中心点置信度估计等回归方式,并引入了基于注意力机制的变换网络方法,在传统相关操作的基础上,对于特征提取网络中不同层的特征图进行编码和解码操作。
根据主流目标跟踪测试数据集上的测试结果,本文网络相较于主流的孪生网络在复杂场景、目标快速移动和目标遮挡等场景下,跟踪精度上具有一定优势,通过相同训练参数设置的消融实验,验证了本文算法各功能模块的有效性。
本文算法在跟踪成功率上,相较于其他基于注意力和变换网络的目标跟踪算法还有一定差距,下一步将继续针对特征融合部分进行改进,提高网络跟踪成功率和网络运行效率,以满足更多的应用场景。