无人机场景下尺度自适应的车辆跟踪算法
2021-07-22黄镓辉谢林柏
黄镓辉,彭 力,谢林柏
物联网技术应用教育部工程研究中心(江南大学 物联网工程学院),江苏 无锡 214122
近年来人工智能高速发展,日常生活也越来越离不开科技的帮助,随着生活水平的不断提高,人均车辆占有比例也是逐步升高,道路交通的管理面临着更加严峻的考验。车辆检测与跟踪是实现智能车辆和高级驾驶辅助系统环境感知的重要环节,同时也是交通部门能有效获得道路信息并加以制定管理策略的有效保障。通过对道路摄像机拍摄的视频图像进行目标车辆的检测、跟踪及相关行为分析,能很好完成交通参数的采集和相关的交通管理与控制。随着多旋翼无人机技术的成熟,无人机(unmanned aerial vehicle,UAV)视频已经能够用于道路交通调查,同时相关的法律法规日益完善,低空管制逐渐放开,无人机的应用场景也愈发多样化。相比于传统的道路摄像头,无人机拍摄能规避部分检测死角,提供更加广阔的拍摄范围,并且能够实时追踪特定目标,提供很高的机动性,在特定场合下有着不可替代的作用,也更加符合现在环境对科技的要求。
常用的车辆跟踪算法根据车辆模型的建立方式不同,可以分为生成类方法和判别类方法。生成类方法在第一帧中对目标车辆按制定的方法建立模型,然后在跟踪处理帧中搜索对比与目标车辆模型相似度最高的区域作为目标区域进行跟踪,包括卡尔曼滤波[1]、粒子滤波[2]、均值漂移(mean-shift)[3],还有加入了颜色特征的ASMS(scale-adaptive mean-shift)[4]等。这类方法虽然对车辆特征刻画较为细致,但没有考虑车辆背景信息,在目标车辆发生变化或者遮挡情况下容易出现跟踪失败现象。判别类方法将车辆跟踪看作是一个二元分类问题,同时提取目标车辆和背景信息用来训练分类器,将目标从图像序列背景中分离出来,从而得到当前帧的目标位置。
判别类方法包括相关滤波、深度学习等方法。相关滤波算法采用构造相关滤波器方法,在下一帧将滤波器与预测位置进行滤波,选择响应最大值作为目标新位置。最早有基于输出结果的最小均方误差滤波器的MOSSE(minimum output sum of squared error filter)[5],提出核检测的循环结构的CSK(circulant structure of tracking-by-detection with kernels)[6],通过对样本进行循环移位获得大量样本,引入颜色特征的CN(color names)算法[7],再到核相关滤波(kernel correlation filter,KCF)[8],采用方向梯度直方图(histogram of oriented gradients,HOG)特征代替CSK 中灰度特征。后来随着神经网络的不断发展,深度学习类方法逐渐兴起。MDNet[9]和DeepTracking[10]等深度学习类算法虽然有着较高的精度,但速度很慢,无法达到实时性要求,对硬件的要求也较高。
与固定视频相比,无人机视频同时记录了无人机的倾斜、旋转和漂移等运动,因此无法直接应用固定视频场景下的车辆检测和跟踪算法。深度学习类算法虽然精度很高,但是速度上达不到较高的实时要求,核相关滤波类算法能够在可接受的精度下达到较高的速度,适合在车辆跟踪这个领域应用。本文针对道路车流量调查的实时性、高精度等实际要求,提出了一种无人机场景下的车辆检测和跟踪方法。对输入的图像分别使用HOG 特征和颜色特征进行特征提取供滤波器使用、学习。得到特征之后,根据相关滤波器的学习规则学习得到滤波模板,使用给定公式更新模板。基于上一帧学习到的位置,使用给定大小的目标框标出大致的目标位置,然后使用学习得到的两个滤波器模板对目标分别学习,按照一定的权重相结合,确定目标新的位置。最后使用实际的无人机拍摄的视频作为检测素材,对算法进行实验验证。
1 基于核相关滤波的车辆跟踪算法
1.1 无人机场景
无人机(UAV)是无人驾驶飞机的简称,它是利用无线电遥控设备和自备的程序控制装置的不载人飞机,机上无驾驶仓,但有自动驾驶仪。
与有人驾驶飞机相比,无人机更适合肮脏、危险的任务。无人机按应用领域,可分为军用与民用。目前在航拍、农业、测绘、侦查搜捕、交通管理等领域的应用,大大地拓展了无人机本身的用途。相比传统的摄像机场景,无人机拍摄场景具有更高的机动性,能实时跟踪目标,基本不受场地影响,同时由于视角广,画幅较大,能从图像中获得更多的信息。
1.2 尺度自适应
传统的相关滤波算法是固定尺度的,当目标车辆在运动过程中尺度发生变化时,背景信息对模型的干扰加大,容易产生模型漂移。因此,提升跟踪算法适应目标尺度变化的能力,也可以有效提高跟踪的准确性。
为了提高车辆跟踪算法的准确性和适应目标尺度变化的能力,在KCF 算法框架上,提出带有区分尺度空间跟踪器的核相关滤波跟踪算法。本文引入了两个相关滤波器,定义为位置滤波器和尺度滤波器,前者进行当前帧目标的定位,后者进行当前帧目标尺度的估计。两个滤波器是相对独立的,从而可以选择不同的特征种类和特征计算方式来训练和测试。
位置方面算法通过学习得到一个相关滤波器,用这个滤波器来确定目标在下一帧的位置。滤波器使用一组灰度图像块f1,f2,…,ft作为训练样本,对应的滤波器的响应输出为g1,g2,…,gt。最佳相关滤波器ht需要满足下式:
其中,fj、gj、ht均为M×N的矩阵,*代表循环相关,第二个等号根据Parseval 定理得出。大写字母代表相应的离散傅里叶变换(discrete Fourier transform,DFT)。输出gj是高斯型的函数,峰值位于中心处。上式最小化结果可得:
这个方法一是运算简洁,基本都是矩阵运算;二是引入快速傅里叶大幅度加快运算效率,满足了对速度的需求。在得到上述相关滤波器后,对于新的一帧中的候选输入样本z,求相关得分y:
y取最大响应值时对应的位置z为新的目标位置。考虑到许多图像的特征为多维度的,设f为特征,f有d维,fl为其中的第l维,l的取值为1 到d。建立最小化代价函数(cost function):
其中,l表示特征的某一维度,λ是正则项系数,求解得到H如下:
同样将H拆分为分子A和分母B,分别进行迭代更新:
其中,η表示学习率,对于新来的一帧图像中的图z,它的响应得分为y,计算方法如下:
尺度方面采用一个一维的相关滤波器去估计目标在图片中的尺度。训练样本f从目标中心扣取。假设当前帧的目标大小为P×R,尺度为S,选取目标中心大小为anP×anR的窗口标记为Jn。其中a表示一个尺度因子,n的取值范围如下:n∈,尺度等级为n的训练样本f是Jn的d维的特征描述子。
具体过程为先获得大小为M×N的图像块P,以图像块的正中间为中心,截取不同尺度的图片,得到一系列的不同尺度的图像,针对每个图像求其特征描述子,g是高斯函数构造的输出响应,大小为1×S,中间值最大,向两端依次减小。选取33 个尺度,每一个维度的特征fl为一个1×S的向量,对f的每一个维度的特征做一维的离散傅里叶变换,得到Fl,对g做一维的离散傅里叶变换得到G,经过式(5)得到滤波器模板H。
图1 为不同尺度的特征提取后的输出响应,合适的尺度才会产生较高的响应,过大和过小的尺度都会导致响应变低。
Fig.1 Multi-scale feature extraction图1 多尺度特征提取
把位置滤波器和尺度滤波器相结合变成一个三维的滤波器,滤波器的大小为M×N×S,M和N分别代表滤波器的高(height)和宽(width),S代表尺度的数量。首先在目标周围的矩形区域中计算特征金字塔。构造金字塔时应使目标在估计尺寸下的大小为M×N。对于一帧新的图片,通过获取S个尺度上的特征组成一个M×N×S的特征金字塔,使用三维高斯函数作为相应的响应g,根据式(6)更新滤波器,根据式(7)计算各个响应的得分,选取得分最高的作为新一帧中目标的最佳位置和最佳尺度。
1.3 颜色特征融合
有些车辆运动过程中速度较快,导致产生较大的形变,造成检测器在对目标车辆模板进行匹配时置信度大大降低,产生干扰,从而导致采集的样本训练出来的相关滤波器的判别能力急剧下降,造成跟踪失败。为了改善这一现象,本文加入了对形变不太敏感的颜色特征增加滤波器的鲁棒性,采用统计颜色特征方法。
之前常用的CN 特征也是颜色特征,但是属于模板类特征,仍然在相关滤波框架中,具有相关滤波的固有缺陷,而像素级颜色概率响应不受这一影响,能正确检测快速变形和快速运动情况。在跟踪过程中预先探测出与目标相似的干扰区域,与正确的目标区域加权结合,这样能够有效降低传统颜色特征方法常出现的“漂移”现象。
由于产生式混合判别式模型准确性高,决定使用基于贝叶斯定理的颜色直方图,首先可以得到每一帧图像中每个像素点对应的颜色区间,然后根据贝叶斯公式得到在搜索区域内属于目标区域的概率:
其中:
对干扰区域同样运用此方法得出公式,将目标区域和干扰区域相结合后能得到下列公式:
在搜索区域里密集地采样候选目标区域,并且计算每个候选区域的模型得分和相似性度量。因为与目标区域相似的干扰区域必然也会获得高分,所以可以高效地同时得到新的目标区域和视觉相似的干扰区域。如果一个候选区域大于一定阈值,那么它属于干扰区域。为了防止由于目标尺度增大而导致干扰区域与目标部分重叠选择了具有二义性的干扰区域,采用迭代非最大值抑制策略。在获得了新的目标区域和一系列干扰区域后更新目标模型,这样可以抑制背景和识别出的干扰区域,从而减小了在下一帧或之后帧漂移的几率。根据公式:
将颜色模板得到的特征和HOG 模板得到的特征加权结合,生成新的特征样本,其中λhog与λdat的值可以根据给定的视频素材调整。当给定的素材多为灰度图像,颜色特征效果不明显时可以提高HOG 特征的比重。如果为彩色图像,则适当提高颜色特征所占比重,对于一般的彩色视频序列,在经过多次对比实验后分别取λhog、λdat为0.7 和0.3,此时算法能够达到较为不错的跟踪结果,其中颜色特征对比HOG 特征起到辅助作用。
1.4 算法整体流程
算法整体流程如图2:获得第一帧图像后使用HOG 特征对目标图片进行特征提取供滤波器进行使用和学习。得到特征之后,根据相关滤波器的学习规则学习得到滤波模板,使用给定公式更新模板。同时使用颜色特征对滤波模板进行学习,按照给定的更新公式对学习到的模板进行更新。得到下一帧图像后基于上一帧学习到的位置P处,使用尺度大小不同的目标框标出大致目标位置所在,然后使用学习得到的两个滤波器模板对目标分别学习,然后得到对应的模板匹配得分,使用给定的规则对两个模板得分加权结合,得到最终的匹配得分,找到得分最高的目标框即为这一帧目标所在的位置,重复这个步骤直至跟踪结束。
Fig.2 Algorithm flowchart图2 算法整体流程图
2 实验结果与分析
实验算法采用Matlab 编程,在Windows10 系统下运行,处理器为Intel i5-6500,主频是3.20 GHz,内存是8 GB,软件平台是Matlab R2018a。
在OTB100[11-12]和UAV[13]数据集提供的28 段车辆运动视频中,对提出的算法(Proposed)与8 个算法进行比较。该28 段视频中包含光照阴影、运动模糊、尺度变化、障碍物遮挡等多种影响因素。UAV 数据集中的18 段视频均为无人机拍摄,为验证算法可靠性提供保证。OTB100 作为跟踪领域的benchmark 数据集,其中包含了许多车辆跟踪时可能发生的场景,包括目标物遮挡、模糊、光照变化、尺度变化等,对验证算法的跟踪效果提供了帮助。为保证实验的公正性,所用对比算法的代码均由原论文作者开源提供。
对比实验中采用的算法评价标准为OTB 数据集使用的OPE(one-pass evaluation)标准,根据第一帧中对目标的标注位置进行初始化,然后在该序列中运行算法直至结束。实验采用距离精度(distance precision,DP)和成功率曲线下的面积(area under the curve,AUC)这两个指标来衡量跟踪算法的准确性。距离精度的定义是追踪算法估计的目标位置的中心点与人工标注的目标的中心点两者的距离小于给定阈值的视频帧的百分比,阈值设定为20 个像素点。中心位置误差为算法跟踪的目标中心与实际目标中心的欧氏距离,可表示为:
式中,(xT,yT)是跟踪算法预测的目标中心,(xG,yG)是真实的目标中心。
成功率则先计算重合率得分(overlap score,OS),设定追踪算法得到的bounding box(记为a),与groundtruth 给的box(记为b),按照公式OS=|a⋂b|/|a⋃b|得到结果,|·|表示区域的像素数目。
当某一帧的OS大于设定的阈值时,则该帧被视为成功的,总的成功的帧占所有帧的百分比即为成功率,阈值设定为0.5。
车辆跟踪算法不仅要求有较高的精度,还要有一定的实时性,从这两方面结合来看才能全面地评判一个算法。由图3 所得,本文算法在距离精度这项数据上为0.808,位列所有算法第一,较SRDCF(spatially regularized discriminative correlation filter)[14](0.761)、RPT(reliable patch trackers)[15](0.696)、DSST(discriminative scale space tracker)[16](0.711)分别提高了6.17%、16.09%和13.64%。由图4 得,在成功率这项数据上本文算法为0.827,也位列所有算法第一,较SRDCF(0.763)、RPT(0.694)、DSST(0.683)分别提高了8.39%、19.16%和21.08%。通过表1 可以看到CSK、KCF、CN 这三个算法虽然有着很高的FPS,但是由于缺乏对尺度的适应,导致跟踪精度较低,CT(compressive tracking)[17]和Struck[18]虽然FPS 也不低,但是精度不高,而SRDCF、RPT虽然有着较高的精度,但是FPS 很低,无法达到实时要求。本文算法在高精度的同时FPS也达到了58,具备较为优秀的实时性。
Fig.3 Distance precision curve of each algorithm图3 各算法距离精度曲线
Fig.4 Success rate curve of each algorithm图4 各算法成功率曲线
Table 1 Comprehensive performance of each algorithm表1 各算法的综合性能
图5 为本文算法(Proposed)、KCF、CN、DSST 这四种算法在部分视频序列下的跟踪效果。(a)为OTB数据集中Car1 的序列,由于是灰度视频,颜色作用不明显,目标车辆在进入树荫后CN 算法跟丢而剩下三个算法还能够正确跟踪。(b)为OTB 数据集中CarDark 的序列,由于是晚上拍摄,光照效果并不理想,其他三种算法在跟踪一段时间后跟踪框都有一定程度的偏移,只有本文算法能够较为准确地跟踪。(c)为OTB 数据集中BlurCar4 的序列,视频中目标车辆剧烈抖动导致画面模糊,旁边还有车辆干扰,本文算法能够准确跟踪目标车辆,而DSST 算法和KCF 算法在抖动时跟踪框出现偏移,CN 算法受到路灯车灯干扰也有一定程度偏移。(d)为UAV 数据集中Car18 的序列,由于车速较快,目标车辆产生快速尺度变化,KCF 和CN 无法适应尺度变化导致跟丢,DSST 虽然可以适应尺度变化,但是序列中尺度变化太快,跟踪效果并不好。本文算法引入了颜色特征,能够正确地跟踪到目标车辆,跟踪效果最好。(e)为UAV 数据集中Car8 的序列,其中目标车辆先倒车再向前,也兼具尺度变化和形状变化,KCF 和CN 也是过早跟丢目标,DSST 算法不能完美适应剧烈的尺度变化,跟踪框偏移,本文算法的跟踪效果最好。(f)为UAV 数据集中Car1 的序列,车辆逐渐远离镜头,尺度缩小,同时还有其他车辆干扰,KCF 和CN 并不能适应尺度变化,导致跟踪框相对目标车辆过大,获得的背景干扰更大,跟踪框有一定程度的偏移,本文算法和DSST算法有较好的跟踪效果,本文算法更为精确。
3 结束语
针对无人机场景下的车辆跟踪问题,结合核相关滤波提出一种改进的车辆跟踪算法。引入区分尺度空间跟踪器,用两个滤波器分别对目标的位置和尺度进行估计,快速确定目标相关信息。针对目标车辆因快速形变而导致跟踪效果不佳的问题,又加入统计颜色特征方法增加滤波器的鲁棒性。本文算法有效解决了车辆目标尺度变化导致的模型漂移问题,并能够结合颜色信息进一步提高相关滤波模板的准确性,对于车辆目标运动过程中的光照变化、运动模糊等影响因素具有较高稳定性。但当目标车辆消失在画面一段时间后再出现时,由于缺乏相关的重检测机制,无法再次跟踪到目标,这将会是下一阶段的研究方向。