◆李娜 白雪松 黄凌霄
行人检测跟踪技术的系统研究与实现
◆李娜 白雪松 黄凌霄通讯作者
(宁夏大学信息工程学院 宁夏 750021)
随着城市化进程的日益加速,人口膨胀所带来的种种问题诸如交通拥堵、驾驶安全、监控管理、犯罪识别等也在日益凸显。行人检测和跟踪技术恰恰可以弥补这方面的缺陷,减少人力投入的同时,还可以提高检测的准确性。本文所讲主要利用Matlab作为开发环境,选用帧间差分法和三帧差分法对定点视频中的行人进行检测,将检测的行人使用基于动态轮廓的跟踪方法进行跟踪,从而从一段视频中检测跟踪运动的行人,并对比得出两种检测方法的优缺点。
行人检测跟踪;帧间差分法;三帧差分法;动态轮廓
在移动互联网时代,视频已成为记录、传输信息的主要方法之一,并广泛应用于智能交通系统和无人驾驶系统等各个热点领域。获取丰富、高精度的目标信息是进一步处理后续问题的关键和基础。例如,是否可以从Intelligent Trasport System准确获取目标信息是我们进行交通分析、预测未知情况和交通事故控制的重要前提。在许多信息来源中,视频数据是不间断的、直观且可靠的。使用机器视觉分析交通视频数据是从交通领域收集动态信息的重要手段。
在视频中对运动的行人一系列的处理时,对运动目标的检测与跟踪非常关键。通常一个视频监控系统大体可划分为四个不同的主要单元,即对目标的检测:搜索并检测系统中我们感兴趣的目标区域;目标跟踪:对感兴趣区域检测并描述其运动轨迹;目标分类:将检测出来的目标进行分类;最后是目标识别:目标检测是为后续更高层次的视频处理做基础的。目前国内外都己有多种较为成熟的目标检测算法。而目标跟踪作为视频监控最基本的功能,在视觉处理中处于中层位置,是视频监控系统性能的主要约束条件之一[1]。
帧间差分法(Frame Difference Method)主要考虑背景相对于检测目标是固定的,而运动目标的位置信息是变化的情况。在该前提下,让相邻两个视频帧进行相减,背景部分差值在理想状态下为0,而运动区域的差值不为零。这时候选取一个合适的阈值把视频帧的背景给过滤掉,从而提取到运动目标[1]。其数学模型如下:
二帧帧间差分法的优点是计算简单、实时性强,缺点是检测的目标轮廓不完整,检测到含有“空洞”的目标,在运动方向上目标被拉伸等情况。为了改进二帧帧间差分法的不足,提出了三帧帧间差分法,三帧帧间差分法的原理是对两次相邻的帧间差分图进行“与”操作。
背景减除法(Background Subtraction Method)是用当前帧与背景图像或背景模型相减,对结果进行阈值转换后得到运动目标区域[2]。其数学模型如下:
通过上述可知,要想得到很好的目标检测效果,就要求背景是静止的。但是,背景很有可能随着环境、拍摄设备的抖动而变化。为了解决这个问题,研究者们提出了大量背景建模方法,如均值滤波、中值滤波、非参数模型、线性滤波、基于码本的模型、隐马尔科夫模型、混合高斯模型(Gaussian Mixture Model,GMM)等。其中,GMM得到了普遍的应用。为了解决复杂场景中的检测难题,如去除“鬼影”和“重影”等,研究者们对该方法从以下两个方面进行了改进:一是优化检测算法,比如多种算法结合并利用各自优势进行优化,从而优化检测模型;二是先用算法得到运动目标之后再优化检测结果。
移动对象的属性总是与其他属性不同,例如形状、轮廓和子空间属性。这些功能包括可靠性、稀有性和差异因素,可以用作目标跟踪的基础。特征点提取是算法的核心。当前的特征提取算法包括SIFT算法、KLT(Kanade Lucas Tomasi)算法、Harris算法、SURF算法。这里介绍一下SIFT算法。
尺度不变特征变换(Scale-Invariant Feature Transform,SIFT),该算法可以检测出图像中的关键点,是基于一些局部外观上的兴趣点,与影像的形状和动作特征无关。该算法的另一个优点是对光线及小视角的改变、噪声的鲁棒性非常好,是图像领域用来描述局部特征的描述子,自从该算法发表完善之后,引用次数非常高。
SIFT特征匹配主要分两部分:
第一部分:SIFT特征的生成,即从图像中获取特征向量。包括以下步骤:
(1)构建尺度空间,检测极值点,获得尺度不变性;
(2)特征点过滤,留下对目标精确定位后的特征点;
(3)将特征点矢量化,即分配方向值;
(4)生成特征描述子。取以特征点为中心的领域窗口,然后通过高斯加权将采样特征点的相对方向归入包含8个bin的方向直方图,最后获得特征描述子。
第二部分:SIFT特征匹配。当两幅图生成特征向量以后,用两幅图的关键点特征向量的欧氏距离进行判定,即在两个关键点中,如果最近距离除以次近距离,结果小于某个阈值,则它们就是一对匹配点。
动态轮廓跟踪方法的原理是先检测运动物体,通过检测运动物体的属性勾勒出运动物体的轮廓,然后连续遍历后续帧更新轮廓,以达到跟踪的目的。该方法是基于区域的方法的一种变体,比区域跟踪更具体,更有效,但其缺点是它对动态轮廓跟踪方法的初始值敏感[1]。
在文献中,二阶AR模型用于跟踪目标的运动,而一阶AR模型用于跟踪目标的尺度变化。理论推导和仿真实验表明,一阶和二阶方法相结合具有很好的跟踪效果。在贝叶斯跟踪方法中,最早的成熟应用方法是卡尔曼滤波器(Kalman Filter,KF)。它在移动物体跟踪中具有成熟的应用,因为它可以准确地预测固定移动目标的下一个位置。但是,KF的缺点是它只能处理线性高斯模型。KF有许多改进的模型,但不能处理非高斯非线性模型[2]。
KF的基本思想可以用一个例子来说明,假设我们要测量室内的湿度,我们用湿度传感器得到了一个室内湿度值,但是我们还知道室内湿度的变化规律,因此我们还能得到一个湿度的预测值,那我们用这两个值加权得到一个最终的估计值。所以,卡尔曼滤波的过程就是利用预测值和测量值进行加权从而得到估计值,值得一提的是,该过程中预测值和测量值是有权重的,而且这个权重是动态更新的,用来使估计值更准确。
定位跟踪时,首先需要得到一个观测位置,也可以由某种规律来预测当前的位置,把这两个结果加权平均作为最终定位结果,其中权重取决于具体情况。
该系统界面主要包括四个模块。第一个模块是系统功能模块,用来实现系统功能,一共有七个功能,分别是打开视频、播放视频、灰度化、差分图、差分二值图像、检测跟踪、暂停;第二个功能模块是状态展示模块,分别展示视频处理过程中的一些信息,一共包含四个功能,分别是视频路径、帧数、宽度、高度;第三个模块是算法选择模块,选择两个检测方法;第四个模块用来展示原视频、中间处理结果和最终处理结果,图1展示了前3个模块。
要实现行人检测跟踪技术的系统,主要抓住两个关键点,分别是“检测”和“跟踪”。通过了解目标检测的现状,发现在目标检测时主要使用卷积神经网络,且了解到帧差法也是主流的目标检测的算法,遂采用帧间差分法作为本系统的行人检测算法;接下来对目标进行跟踪,其原理是对每一帧检测出来的行人进行框画,采用基于动态轮廓的跟踪算法,描绘每一帧图像框的中心坐标,形成行人的运动轨迹。
通过检测并跟踪行人,从而为实现合理调整人流并重新分配车流量、实时掌握行人位置从而进行辅助驾驶,跟踪人像位置从而进行罪犯的识别与抓捕提供技术支持,这些将极大提升无人驾驶系统的安全性,提高监控系统的运行效率,并实现实时监控人流量,从而推进城市智能化的发展。
从行人检测遇到的难题来看,未来的行人检测技术的研究方向需要从以下几个方面着手:
(1)多视角和遮挡问题。当前大多数关于行人检测的研究都是单目的。这意味着只有一台摄像机用于完成行人位置固定工作。对于单目视觉,难以解决多个视角和遮挡的问题。要解决此问题,可以使用多个摄像机或利用深度信息来检测行人。同时,在多个摄像机和多个视角下捕获人体的不同姿势相对容易,可用来探讨多目视觉中基于姿态的行人检测方法。
(2)设计自适应的检测器。如今大多数研究者都希望开发自适应探测器,这些探测器在特殊情况下,尤其是在摄像机静止的监视情况下,可以使用增量学习、在线学习和其他算法实现一般步态,将通用行人检测器应用于特殊场景,使得检测器在检测过程中进行主动学习来提高行人检测器的性能,这是未来研究的关键。简而言之,行人检测是当今计算机视觉领域的一个中心且具有挑战性的问题。该问题的解决方案具有重要的意义和良好的应用前景,因此吸引了许多研究人员进入该领域。尽管到目前为止已经取得了重大进展,但是有效解决实际复杂场景中的行人检测问题仍然是一个难题,需要进一步研究。
图1 GUI结构图
[1]郑嘉,赵润.视频中目标检测与跟踪算法综述[J].物联网技术,2017,7(4):30-32.
[2]张明军,俞文静,袁志,等.视频中目标检测算法研究[J].软件,2016(37):40-45.