基于强化学习的目标偏移策略跟踪方法

2022-06-24 10:02吴金明董明超徐怀宇
计算机应用与软件 2022年4期
关键词:精度决策图像

吴金明 黄 伟 董明超 徐怀宇

1(中国科学院上海高等研究院 上海 201204) 2(上海科技大学信息科学与技术学院 上海 200120)

0 引 言

VOT是计算机视觉领域中的一个关键任务,已应用到很多场景中,例如自动驾驶、人机交互、视频监控等。对于给定视频序列,目标跟踪是在已知目标初始信息条件下定位目标后续位置。该问题面临的主要挑战是目标形变,拍摄相机运动,环境光线变化,目标遮挡等复杂情况下目标难以识别与跟踪,这些挑战使得目标跟踪算法无法适应不同场景。

近年来,目标跟踪的主要研究成果是基于卷积神经网络[1](Convolutional Neural Networks,CNN)或相关滤波(Correlation Filter,CF)技术的跟踪方法。相关滤波技术的思想是使用滤波器在图像中搜索目标位置。Bolme等[2]首次将相关滤波技术应用于目标跟踪中,提出了最小输出平方误差(Minimum Output Sum of Squared Error, MOSSE)算法。KCF[3]算法采用方向梯度直方图特征,提高了目标跟踪的精度。这些算法利用循环矩阵扩充样本数量,增强滤波器的判别能力,并通过傅里叶变换将矩阵乘法运算转换为对角阵点乘运算,大幅地提高计算效率。

随着计算机运算能力的提高和有标注数据集的增多,许多学者提出基于CNN的跟踪方法。Bertinetto等[4]提出了基于全卷积孪生网络的目标跟踪算法(Fully Convolutional Siamese Networks, SiamFC),SiamFC算法以其超实时的跟踪速率及高准确性让孪生网络在目标跟踪领域得到广泛运用。SiamRPN[5]算法将区域生成网络 (Region Proposal Network, RPN)引入孪生网络中,目标跟踪被转化为分类与回归问题,进一步提升了跟踪精度。Zhu等[6]提出DaSiamRPN算法,设计高效的采样策略缓解训练样本不平衡问题。Fan等[7]提出了C-RPN算法,通过级联多个RPN结构分级过滤同类别的干扰项。基于CNN的跟踪算法的缺点是需要大量的有标注数据用于训练神经网络,这些数据集都需要人工来标注,所以工作量巨大。而强化学习可以使用部分标注的数据集,因此强化学习逐渐应用于目标跟踪领域。

强化学习是基于试错法的机器学习方法。目前强化学习已成功应用于智能游戏[8]、自动驾驶等场景,而在目标跟踪领域,许多学者也提出了不少基于强化学习的目标跟踪方法。文献[9]中将目标跟踪转化为马尔可夫决策(Markov Decision Process, MDP)过程。文献[10]中提出离散动作决策网络,学习跟踪策略移动目标框实现目标定位。Huang等[11]利用强化学习,减少神经网络前向计算,加快跟踪速度。文献[12]中使用演员评论家算法训练目标框偏移预测网络,单步骤预测目标框偏移量,减少动作决策次数,提高跟踪速率。

基于CNN的目标跟踪算法在数据集VOT[13]、OTB[14]上取得优异的性能表现,这说明卷积神经网络能有效地帮助解决目标跟踪问题。然而,这些方法使用的骨干网络相对较浅,仅包含少量卷积层,直接使用深层卷积网络如VGG[15]、ResNet[16]也并未取得更好的跟踪效果,这说明应用于目标识别的神经网络无法简单地用于目标跟踪问题。现有跟踪算法使用水平矩形框标记目标位置,实际中,斜矩形框有时能更好地表示目标位置信息,如VOT数据集便是采用斜矩形框标记目标,这样能减少矩形框内的背景信息,进而提取更优的目标特征,能更好地区分目标与背景。

基于以上研究,提出一种基于强化学习的目标跟踪算法,使用内部裁剪残差单元[17](Cropping-inside Residual Unit, CIR)构造目标框偏移决策网络。该决策网络以当前位置处的图像块作为输入输出离散动作概率分布,这些动作包含目标框上下左右移动、放大缩小、旋转等变换操作。跟踪阶段选择概率最大的动作移动目标框,这种动作决策的跟踪方式相比密集采样方式需要更少的搜索步骤。训练阶段,提出一种基于强化学习(Reinforcement Learning, RL)的多阶段训练方式训练目标跟踪网络。多阶段分为监督训练阶段和多阈值强化学习训练阶段,每个阶段使用前一阶段网络权重作为网络预训练权重。

1 基于强化学习的跟踪方法

视觉跟踪任务是利用初始帧给出的目标信息在视频序列中定位目标后续位置。本节将详细介绍基于强化学习的目标跟踪算法。该跟踪方法主要思想是,将前一时刻目标位置处的图像块输入网络,通过特征提取网络提取目标位置信息,识别目标的偏移信息,依此进行目标框的移动决策。具体流程如图1所示,跟踪过程分三个步骤:① 是数据预处理阶段,完成图片裁剪、调整图片大小等操作;② 经过主干网络进行特征提取;③ 经过动作预测分支A,输出9个离散动作的概率分布,选择要执行的动作,图1对应示例为目标框旋转操作,移动目标框搜索目标。为了防止目标丢失,跟踪阶段维护目标判别器,对应图1中B分支,用于目标重检测。目标跟踪神经网络的完整训练阶段分为监督训练和多阈值强化学习训练阶段。

图1 基于强化学习的跟踪算法流程

1.1 数据预处理

数据预处理指对数据操作前的预先处理,作用是为了提高数据的质量,有助于提高后续网络训练的收敛速度。常见数据预处理方式包括数据清理、数据集成、数据转换、数据规约等。本实验涉及的数据集是来自开源的Alov300++[18]数据集,该数据集并未对所有视频帧完成标注,并且图像大小不一致,因此必须对这些数据进行预处理操作。实验中使用的数据预处理技术是数据清理、数据格式转换、图像旋转、翻转、裁剪、缩放以及归一化等数值操作。

1) 数据清理。Alov300++视频数据来源自YouTube视频,将采集的视频按目标遮挡、光线变化、拍摄相机动作等场景分类,并且与VOT数据集有部分重叠。为了验证算法有效性,必须将重叠部分视频数据从训练集中删除。Alov300++数据集并未对所有视频帧完成目标标注,只对部分视频帧标注目标位置,数据集标签中增加视频帧索引说明标高不一致,为了方便深度合数据增强和多尺度签对应图像帧。为了以强化学习的方式使用这些视频数据,需要取固定数量的视频帧组成短视频跟踪序列,短视频序列中包含未标注的视频帧,序列组成方式在1.4节详细描述。

2) 尺寸变换。Alov300+数据集图像宽网络训练,实验前需要对原始图像先进行裁剪操作,分辨率分别调整到360×480、480×720,图像裁剪块输入网络前统一分辨率为112×112。训练不同分辨率的数据,结训练提高网络识别精度和泛化能力。

3) 数值处理。由于Alov300+数据集采集时间、光线不同等因素导致图像数据分布可能具有较大差异,所以需对图像数值进行归一化和去均值操作。这些操作可以使图像数值具有相似分布,使用相同分布的数据进行训练可以加快网络模型收敛速度。

1.2 马尔可夫决策过程

目标框偏移决策视作马尔可夫决策过程,该过程基于马尔可夫性。马尔可夫性如式(1)所示。

P[St+1|St]=P[St+1|S1,…,St]

(1)

即马尔可夫决策过程的状态转换仅取决于目标当前状态,而与目标之前状态无关。其中为目标时刻的状态,P为状态转换函数。马尔可夫决策过程由四元组组成(S,A,f,r)。s∈S表示目标当前状态,S为目标可能处于的状态空间,a∈A表示对目标执行的动作,A为可以对目标执行的所有动作。状态变换过程s′=f(s,a)指目标在状态s下采取动作a后转换为新的状态s′的概率分布。r(s,a)指目标在状态s下对目标执行动作a后的即时回报。四元组(s,a,s′,r)构成强化学习的一个样本,用于训练策略网络。目标跟踪问题中,跟踪器将目标框的移动变换视为马尔可夫决策过程中的动作,因为目标框位移变化量取值范围连续且无限,所以为了简化问题,可以将目标框偏移量离散化。在跟踪阶段,将当前目标位置处的图像块作为目标框偏移决策网络的输入,该决策网络预测目标位置变化量,新的目标位置与图像块组成目标新状态。为了增加算法可靠性,跟踪器中还增加目标判别器,用于确定图像块中存在目标的置信度,只有判别器判定决策网络预测结果可信才更新目标状态,重复决策过程实现目标跟踪。

目标状态:目标在图像中的位置信息可以使用四元组bt=[x,y,w,h]标注,分别表示目标框中心在图像中的坐标和目标框宽高。水平矩形框对于大部分情况足以描述目标位置信息,但是当目标物倾斜或形变时,水平矩形框会包含过多冗余信息,如图2所示,图2(a)相比图2(b)包含更多冗余背景信息,图2(b)定位目标更精确,影响决策网络预测结果,因此增加矩形旋转变量θ描述目标框倾斜角度,即bt=[x,y,w,h,θ]。目标状态为当前帧在bt处的图像块st=p(bt,I),I为当前视频帧,p为预处理函数。

(a) (b)图2 水平矩形框标签与斜矩形框标签对比

动作设计:为了尽可能描述目标位置所有可能的变化并简化问题,从四个维度Δx、Δy、Δs、Δθ描述目标框前后时刻偏移量,变换方式如式(2)所示。

(2)

分别表示目标框中心水平和垂直位移,宽高缩放程度和中心旋转角度。每次目标框只变换单维度固定量,因此设计9个离散动作{左移,右移,上移,下移,放大,缩小,顺时针旋转,逆时针旋转,停止}。为了防止动作预测出现循环,停止操作和最大动作决策次数是必要的。

状态变换函数:动作决策网络对目标当前状态St执行动作at=[Δx,Δy,Δs,Δθ]后,转入至目标新位置bt+1与状态st+1=p(bt+1,I),即当前视频帧在目标新位置处的图像块。

回报函数:r(s,a)说明目标在状态s下采取动作a时获得的即时收益。即时收益计算分两种情况,当a不为停止动作时,则继续进行马尔可夫决策过程,分别计算新状态目标位置bt+1、当前目标位置bt与真实目标位置G面积交并比(Intersection over Union, IoU),若交并比增大,则为正收益,反之为负收益,计算方法如式(3)所示。如果动作为停止,收益计算如式(4)所示,即面积交并比大于阈值视作目标跟踪成功。式(4)中T为面积交并比阈值。同时面积交并比计算采用GIoU[19](Generalized Intersection over Union)计算,提高面积交并比计算精度。

(3)

(4)

GIoU是一种新的面积交并比计算方式。衡量目标定位准确性的主要指标是交并比,传统交并比计算方式如式(5)所示,表示A、B交叉区域与合并区域的商,其中A、B为两个矩形。

(5)

虽然IoU具有尺度不变性,但它存在两个问题:1) 如果A和B没有相交区域,则IoU=0,这时无论两矩形相距多远均无法反映两个框的距离;2) 即使A和B具有相同的IoU,也不能代表目标框的定位效果相同。

通过采用GIoU来计算两个边界框的重合程度,可以克服IoU的缺点,计算方式如下:

(6)

式中:C表示最小的覆盖两个矩形框A和B的矩形框。相比IoU计算方式,GIOU具有以下优点特性:1) GIoU可认为是IoU的下界,小于等于IoU;2) GIoU的取值范围是(-1, 1],当A=B时,GIoU=IoU=1,当A与B不相交而且离得很远时,GIoU(A,B)趋向于-1;3) GIoU能够更好地反映两个矩形的相交情况。

1.3 网络结构

目前基于CNN的目标跟踪方法中使用的骨干网络相对较浅,它没有充分利用深度神经网络的特征表达能力。文献[16]通过系统实验分析深度神经网络难以应用于目标跟踪任务的主要障碍,文章指出其主要原因是神经元感受野的大幅增加导致特征可辨性和定位精度降低,卷积网络的填充操作引起位置偏差。基于这些研究成果,提出的跟踪方法所使用的卷积网络基于CIR结构。CIR单元结构如图3(a)所示,图3(b)是ResNet中的残差单元,它由3个堆叠的卷积层和绕过它们的快捷连接组成,这三层是卷积核大小为1×1、3×3和1×1的卷积层,其中1×1层负责融合多通道特征,使用3×3卷积核提取局部特征。残差单元包括零填充操作,以确保单元输出与输入尺寸一致。CIR单元在残差单元基础上增加裁剪操作,可以在内部裁剪出不受填充操作影响的特征,缓解位置偏差的问题。特征对比如图4所示,图4(a)为输入网络的图像裁剪块,图像来自训练集,图4(b)、(c)和(d)为不同网络结构特征提取结果对应的热图,CIR网络对目标定位更加精确,普通残差单元构造的网络包含更多位置偏差,结果说明,CIR结构更适用于目标跟踪问题。将CIR单元作为残差块组成包含22个卷积层的CIResNet[16]残差网络,即图1主干网络部分,以此网络作为跟踪算法主干网络。在卷积网络之后接两个全连接输出层{A,B},对应图1A、B分支,A分支输出离散动作的概率分布p(a|st;N),N为目标框偏移决策网络,概率最大的动作作为对目标框将要执行的动作,B分支输出矩形框内存在目标的概率分布,评估决策网络跟踪结果的可靠程度,跟踪阶段基于此结果判断是否采用决策网络的跟踪结果。

(a) (b)图3 CIR单元和原残差单元

(a) 输入图像(b) Resnet50 (c) VGG (d) CIResnet图4 不同卷积网络的特征热点图

1.4 模型训练

模型训练包含两个阶段,分别是监督训练阶段和多阈值强化学习训练阶段,训练特征提取网络和判别分支。特征提取网络用于在图像块中获取目标偏移信息,判别分支根据目标偏移信息作出决策,移动目标框使得目标中心尽可能处于矩形框中心位置。

在监督训练阶段,图像块pj、动作aj和是否为目标oj作为一个样本进行多任务训练。图像块pj的生成方式是在真实边框G中添加高斯噪声生成样本边框bt和对应图像块pj=p(bt,I),计算能够最大化面积交并比的动作,以此作为pj对应的动作标签aj,动作标签获取方式如式(7)所示。

(7)

(8)

(9)

监督训练完成后,保留网络权重作为强化学习训练阶段预训练权重。通过监督训练过程,将目标跟踪问题转化为目标位置偏移的判别问题,使得主干网络学习目标偏移信息,但在跟踪阶段,连续帧的目标偏移决策过程相互独立,而实际中每次决策都会影响后续跟踪决策,这样并未考虑连续帧之间的序贯信息,通过引入强化学习,构造四元组训练样本(s,a,s′,r),利用决策过程关联连续决策间的序贯信息,提高跟踪精度和鲁棒性。强化学习训练过程与一般的监督训练不同,训练时基于当前策略生成一系列训练样本,在模型上拟合这些样本,利用训练完成的模型改进决策策略,上述过程循环直至训练完成。

提出的方法为跟踪策略设计离散动作,因此采用强化学习策略梯度法训练目标框偏移决策网络。策略梯度法由文献[20]首次提出,具体过程是:首先对数据进行预处理操作,将视频序列分段成多段短视频序列,序列如图5所示,其中初始帧与结束帧有标注,中间帧无标注。

图5 强化学习训练的序列

然后对每个视频序列模拟跟踪过程,从首帧开始,每次根据决策网络移动目标框,并根据实际跟踪效果使用式(3)-式(4)计算相应的收益,通过模拟跟踪过程完成样本生成,最后使用这些样本计算权重梯度,反向传播更新网络权重。梯度计算方式(根据文献[20])如式(10),其中W为决策网络权重,相比传统梯度下降法,式(10)多了一个因子rt,反映样本对权重梯度的影响程度。

(10)

训练阶段动作的选择按e贪婪方式选择,即以概率e随机选择动作保持网络的探索能力。为了提高跟踪精度,强化学习训练阶段设计多阈值训练过程,将视频序列按时间分为三个部分,为每个部分赋不同阈值,式(4)阈值T分别为0.8、0.7、0.5。通过多级训练,逐渐过滤干扰样本。

为了解决目标跟踪过程出现漂移和决策网络跟踪结果不可信的问题,引入目标判别器,对应图1的B分支,判别结果作为目标置信度表示决策网络跟踪结果的可信程度,若其结果不可信则使用密集采样方式搜索目标并重新使用动作决策网络跟踪目标,同时跟踪阶段定时更新目标判别器。

1.5 实现细节

提出的方法使用alov300+数据集训练目标跟踪网络,为了验证方法有效性和对比其他跟踪方法,实际训练数据只使用300个与VOT数据集不重复的视频序列。监督训练阶段对数据集运行50个epoch,强化学习训练阶段在数据集上运行100个epoch。两个阶段学习率设置为0.000 1,权重衰减因子设为0.000 5。

2 实验结果及分析

2.1 实验环境与数据集

本实验硬件环境为Inter Core i7-6500k CPU 3.4 GHz,并搭配两个GeForce GTX 1080Ti 11 GB显存的GPU。软件环境为Python3.6和Pytorch1.1.0。本次实验在数据VOT2016上进行评估,首先将提出的算法与其他算法进行对比分析,分析该算法整体跟踪准确性和成功率;然后进行消融实验,分析跟踪算法强化学习训练对跟踪效果的影响。

VOT数据集最重要的两个评价指标是精度(Accuracy)和鲁棒性(Robustness)。精度越大,跟踪算法准确度越高,鲁棒性越大,跟踪算法鲁棒性越低。跟踪器在第t帧上的精度计算如式(11)所示,其中Nrep为序列重复跟踪次数,Φt(k)为第k次测试的跟踪精度。平均跟踪精度计算如式(12)所示,其中Nvalid为视频序列中有效帧数量。

(11)

(12)

鲁棒性计算类似精度计算,计算方式如式(13)所示。F(k)为第k次测试跟踪失败的次数。

(13)

2.2 VOT数据集评估结果

实验比较了多个目前在VOT2016上性能表现优异的算法,它们分别是ADNet[10]、Struck[21]、CCOT[22]、SRDCF[23]、KCF[23]、MDNet[24]、SAMF[25]、SiamRPN[5]、Staple[26]、TCNN[27],所有算法的精度与鲁棒性结果对比如表1所示,表中数字标注加黑的是第一名,数字加下划线的是第二名,数字加波浪线是第三名。提出的算法精度达到0.526 3,相比相关滤波算法KCF,算法精度提高3%。在算法只使用300个视频数据训练条件下,算法精度只比SiamRPN算法低2%,这说明利用强化学习能很好地利用视频数据训练神经网络。算法运算能力为每秒处理8帧图片,相比MDNet算法,处理速度更快。通过减少目标判别器更新频率和动作决策次数,能加快算法跟踪速率。算法鲁棒性相对SiamRPN、MDNet更低,VOT测试中失败次数更多,使用更多的数据集用于训练能提高目标跟踪算法鲁棒性。对比同为强化学习的跟踪算法ADNet,得益于强化学习决策过程和主干网络的改进,提出的方法综合表现更优。基于强化学习的跟踪方法主要通过减少目标搜索空间加快跟踪速度,但每次目标偏移决策都会影响后续跟踪结果,即会逐渐放大错误偏移决策的影响,容易出现目标逐渐丢失的情况,目标丢失时只能依赖目标判别器重新搜索目标,影响目标跟踪的精度和鲁棒性。

表1 各跟踪算法在VOT测试结果对比

为了验证强化学习训练对跟踪算法的影响,设计两个跟踪算法。跟踪器1为表1中Our_tracker1,仅包含监督训练过程,跟踪器2为表1中Our_tracker2。使用跟踪器1训练结果作为跟踪器2的预训练网络继续强化学习训练阶段,结果如表1最后两行所示,增加强化学习训练阶段能有效提高跟踪器的精度和鲁棒性。

表2给出了各跟踪算法在不同场景视频序列下精度对比,测试场景包括:CM相机运动、IC光线变化、MC运动变化、OCC遮挡、SC形变。表中数字标注加黑的是第一名,数字加下划线的是第二名,数字加波浪线是第三名。跟踪器2在目标形变场景下精度为0.5157,表现最优,遮挡场景下精度前三,精度为0.459 5。由于算法输入是目标出现偏移的图像块,目标可能出现在图像边界,仅包含部分外观信息,通过离线训练和特定目标微调使跟踪方法学习目标偏移信息,对于遮挡和形变场景,跟踪算法依据部分外观信息搜索目标位置,所以提出的算法在这些场景下更具优势。对于相机运动和运动变化场景,目标相对运动速度较快,位置变化较大,导致目标可能出现在搜索区域外,而提出的跟踪算法搜索空间较小,容易发生目标丢失的问题,降低算法的跟踪精度。

表2 各跟踪算法不同场景下精度对比

续表2

3 结 语

基于强化学习提出目标框偏移决策跟踪方法,为目标框移动设计中心移动、缩放和旋转动作,以强化学习的方式使用较少视频序列数据训练动作决策网络,同时引入新的残差网络增强骨干网络特征表达能力。实验表明提出的算法能有效应对多种复杂场景,特别是目标形变场景,具备较高的跟踪精度和鲁棒性。由于强化学习训练过程缓慢,训练集数量和视频场景类别不够充足,因此算法还有待提高。针对此问题,接下来将重点改进模型训练过程,增加数据集,提高网络收敛速度和算法跟踪精度。

猜你喜欢
精度决策图像
基于不同快速星历的GAMIT解算精度分析
数字化无模铸造五轴精密成形机精度检验项目分析与研究
A、B两点漂流记
决策大数据
决策大数据
决策大数据
诸葛亮隆中决策
近似边界精度信息熵的属性约简
名人语录的极简图像表达
一次函数图像与性质的重难点讲析