基于改进光流法的目标跟踪技术研究

2022-01-22 15:44刘向前杨慧斌贾茜伟
上海工程技术大学学报 2021年3期
关键词:滤波粒子图像

刘向前,闫 娟,杨慧斌,贾茜伟

(上海工程技术大学 机械与汽车工程学院,上海 201620)

为响应当前国家“智慧城市”的号召,无论是国营企业还是民营企业都在持续增加其相关领域的投入力度[1].近年来,研究者采用摄像设备对所采集的视频序列进行实时分析,实现了对目标的精确跟踪.视频采集的智能化处理在深度学习、机器视觉及传感器技术等交叉领域中受到前所未有的热议及关注,这对采集视频序列后是否可对目标较准确、高效地捕获与跟踪显得尤为重要[2−3].

近期已有部分企业对目标跟踪技术领域进行了大量试验与研究[4−5],但现有研究大都是通过一些较传统且单一的方式来处理实现的,如光流算法、ViBe 算法及YOLO 算法等[6−8].尽管这些算法实现起来相对不是很复杂,在一些特定简单的环境中可以运行并可达到一定效果.然而,跟踪与检测的环境一旦变得复杂化,其跟踪效果就表现得相当不理想.另外,采用聚类的Mean Shift算法在一些较特殊的条件下运算可以达到良好的试验效果[9],但由于该算法计算运行复杂,依赖先验目标建模且一些参数需要人为调节等因素,使得其在实际应用中困难较多[10].

针对此类问题,目前大多采用的解决方案是选用光流法[11−12].光流法是一种较经典的目标跟踪算法,且该算法不要先验的条件[13],但由于光流法是通过遍历法来查询目标点的,存在目标点偏移现象,使得后续运行处理效率大打折扣[14−15],然而粒子滤波可以很好地提高其运行速率.鉴于此,本研究以光流法处理原理为基础,在保证较高准确性条件下,为提高视频序列的处理效率和精度,提出基于改进光流法的目标跟踪技术.

1 算法模型建立及理论求解推导

1.1 金字塔光流算法

光流法是当前计算图像序列稀疏光流点的常见算法策略.此算法对视频序列中图像信息的处理具有较好的能力,且在处理过程中不需要场景信息的事先预判.其核心思想是缩小视频序列中图像的规格大小,采用查询序列的灰度并根据其在时间轴上的对应变化,通过图像中目标物的形状架构及其运动关系来综合判断其是否为检测跟踪的目标.该算法在模型建立时需要满足以下条件.

1)亮度保持不变.其目的是便于建立光流法的基本方程,即随着时间的改变,尽管相同的光流点也在发生变化,但它们的亮度是不发生改变的.

2)位置恒定或者允许有小幅度变化.其目的是满足图像灰度对位置可以求取偏导,即随着时间变化,图像点的位置不会发生变化或者大幅度的改变.

3)相对位置保持一致.其目的是保证一个视频序列中相邻近的点投影到图像上同样为临近点,并且其点的速度保持一致不变.

金字塔光流法求解图像序列变换矩阵及当前层光流值,并将该值作为初始量向下转移,通过迭代方式,逐层向下迭代,逐层进行求解,具体流程如图1 所示.

图1 金字塔光流迭代Fig.1 Pyramid optical flow iteration

假设第t帧图像点(xt,yt)与其附近区域内点的运动状态相同,则在t+1 帧上存在与(xt,yt)亮度相同的点(xt+1,yt+1).根据假设与约束条件可建立方程组为

可将上式简化为

其中

将式(2)的左右两边同时乘以AT得到

利用最小二乘原理求解方程式(1)至式(3),可得

式中:I(x)、I(y)分别为特征点I、J的灰度值;u、v分别为特征点I、J的速度;n为光流值;l(n)为计算残余误差.求解残余误差值l(n)极小值为

式中:m为附近区域半径值.

依据金字塔光流原理,每次将视频序列图像的尺寸缩小0.25,则每一层的速度为U′=0.25u.而对于每一层,满足

式中:g为光流估计值.

随着逐层次迭代的进行,光流值也在逐步减小,当最底层的光流值减小到零时,可得g′=由此推算顶层光流值为n=g初+n初.可得

式(7)可简化为

1.2 优化的粒子滤波模型

视频图像处理环境中,目标跟踪没有先验的信息,因此须建立一个滤波器合理对其进行初始化处理[16],以便在跟踪目标进入视野时能够实时对目标精确检测,同时为下一步点光流处理提高效率.

定义粒子滤波器运动变量G为

式中:x和y分别为视频序列坐标值;vx和vy分别为x坐标与y坐标的速度.

运动目标中心的预测式为

总集合数定义为

式中:A为必要因素;Mt−1为高斯随机噪声.

为提高粒子滤波的准确度,引入粒子的权重值来增加其影响,利用似然函数可计算得出各粒子所占的权值,公式为

式中:σ为标准方差;cp为物体一特征;tp为目标一特征.进行归一化运算,公式为

2 优化的粒子滤波光流算法

综上对粒子滤波与光流法特征建模分析可知,光流法能够检测出目标物体的绝大部分区域,但算法运算量较大,导致其运行效率比较低.基于粒子滤波算法高准确度及处理速度的特点,本研究将优化的粒子滤波引入到光流法中,两者结合来实现对目标的检测与跟踪.

在该算法中,先对视频序列中的图像进行滤波处理,目的是检测目标区域,再利用金字塔光流法进行运算处理.这样不仅可以提高检测的精准度,同时可以减小算法的复杂度,以此来提高处理的运行效率.执行流程框图如图2 所示.

图2 改进算法执行流程Fig.2 Implementation process of improved algorithm

优化算法的具体流程为:

1)随机选择视频序列中n帧及n+1 帧图像序列进行降干扰;

2)对第n帧与n+1 帧图像进行粒子滤波处理,得到处理后的图像序列为In(x,y)、In+1(x,y);

3)对得到的In(x,y)、In+1(x,y)进行二值化图像处理,通过逐位逻辑运算,获取运动区域G(x,y);

4)由G(x,y)搭建金字塔模型G′;

5)对区域G′求坐标x与y的偏导数,计算式为

3 试验结果与分析

3.1 试验环境与参数配置

本仿真中硬件配置环境选用Windows 10 为运行系统,Intel(R) Core(TM) i5-5200U CPU 采用频率为2.20 GHZ,RAM 为8.0 GB.软件平台为VS2019 +Python3.6+OpenCV4.0.0[17].本研究中视频序列集选取为公开的人行道上行人及公路上行驶的汽车,样本通过安装在行人路口及公路口的摄像头拍摄得到.

3.2 试验数据处理及分析

为有效验证算法的正确性、精确性,本研究通过选用公开数据集,在不同运动环境下对不同单、多目标跟踪进行仿真试验,按如下流程进行.

首先,在静态环境下选择多个目标进行仿真跟踪试验.选取视频序列的第36 帧,并分别采用光流法、ViBe 算法、YOLO 算法、卷积神经网络算法[18]及本文算法,得到试验效果如图3所示.

图3 静态多目标跟踪试验效果图Fig.3 Experimental renderings of static multi-target tracking

其次,为验证算法在高速运动环境下的效果,本研究采用动态环境下对单个目标进行仿真跟踪试验.选用的视频序列为第23 帧,同样采用光流法、ViBe 算法、YOLO 算法、卷积神经网络算法及本文算法进行试验,得到试验效果如图4 所示.

图4 动态单目标跟踪试验效果图Fig.4 Experimental renderings of dynamic single target tracking

同时,为进一步验证算法对多目标处理的效果,本研究通过搭建动态环境下对多个目标进行仿真跟踪试验,选取视频序列第52 帧,通过本文算法试验,仿真得到试验效果如图5 所示.

图5 动态多目标跟踪试验效果图Fig.5 Experimental renderings of dynamic multi-target tracking

仿真结果见表 1.由表可见,对于静态多目标跟踪,5 种算法的捕获效果都较好.ViBe 与其他4 种算法相比,表现出的平均速度较高.但是由于运行环境是在静态环境下,人的运动速度相对较低,此时ViBe 算法会无法去除一些附近的背景,造成进一步算法目标跟踪的准确性下降,卷积神经网络虽然也可对目标进行追踪,但其追踪速率比较低,实际应用中跟踪实时性较差.

表1 静态环境多目标仿真跟踪结果Table 1 Multi-target simulation tracking results in static environment

动态环境下单目标和多目标仿真跟踪结果见表 2 和表 3.由表可见,在动态单目标跟踪环境下,5 种算法的处理结果截然不同,而效果最差的是ViBe 算法,未识别出一个目标物.由于试验环境中跟踪目标物较少,在一定程度上增强了ViBe 算法的处理速率.因此,虽然本文算法优化后的处理速率仍不及ViBe 算法,但其在综合处理上的最终效果表现得最优,且对于多目标跟踪,本文算法也表现出较好的处理性能,明显优于其他算法.

表2 动态环境单目标仿真跟踪结果Table 2 Tracking results of single target simulation in dynamic environment

表3 动态环境下多目标仿真跟踪结果Table 3 Multi-target simulation tracking results in dynamic environment

3.3 不同环境下目标的跟踪

为验证本文算法具有较好的鲁棒性,在不同复杂环境下目标跟踪效果,本研究选取不同视频序列下的第126、175、200 及255 帧进行目标跟踪试验,其跟踪效果如图6 所示.

图6 不同环境下目标跟踪Fig.6 Target tracking in different environments

跟踪速率曲线如图7 所示.分析跟踪效果图及跟踪速率曲线图表明,本文算法可对不同复杂环境下单、多目标进行准确跟踪,且跟踪速率较快,表现出较好的跟踪实时性能,同时验证本文方法较好的鲁棒性能.

图7 不同方法下的跟踪速率Fig.7 Tracking rate under different methods

4 结 语

为解决传统光流法目标跟踪偏移及效率低问题,结合粒子滤波模型提出一种改进光流法的视频目标跟踪技术.由仿真试验及以上叙述,此改进的光流法技术可精准地实现在动、静场景下对单、多目标的准确、高效跟踪.由于本文算法在进行光流法前进行了粒子滤波、形心定位处理,使光流法对后续图像序列的处理量大大降低,进一步提升运行效率及精确性.从仿真结果准确性及实现效果整体上来分析,本文算法表现出的性能明显优于改进前,且表现出较好的鲁棒性,具有较高实际应用价值.

猜你喜欢
滤波粒子图像
船岸通信技术下舰船导航信号非线性滤波
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
基于膜计算粒子群优化的FastSLAM算法改进
有趣的图像诗
高效LCL滤波电路的分析与设计
Conduit necrosis following esophagectomy:An up-to-date literature review
基于EKF滤波的UWB无人机室内定位研究
一种GMPHD滤波改进算法及仿真研究