葛鲲鹏 洪峰 邹焕新 陈楠
摘要:为解决红外图像中对人体进行实时鲁棒跟踪的问题 ,本文针对红外图像的特点,提出一种新的基于模板差分的红外人体跟踪算法。该算法以视频中前一帧目标模板与当前帧差分后得到的正负值区域为基础,得到人体在当前帧的准确位移,并通过以模板灰度均值替代模板边缘的方式提高跟踪精度,算法跟踪的准确度和运算速度相比常用的粒子滤波和Mean Shift跟踪算法都有大幅度的提升,实验结果表明,本文所提出的算法运算速度快,准确性高,能够很好的实现红外图像序列中对人体目标的跟踪。
关键词:红外图像 行人跟踪 均值替代 模板差分
中图分类号:TP391.4 文献标识码:A 文章编号:1007-9416(2016)07-0122-02
目前,智能视频监控的很多成果已广泛应用于交通管控、自动导航、安全检查等生产和生活的各个领域,而对人体或其它运动的物体进行稳健的跟踪是目前很多智能视频应用的基础。事实上,对人体进行跟踪比对其它运动物体进行跟踪要复杂得多,除光照条件的变化等不利影响外,人体目标在运动过程中产生的形变、运动的无规律性、与其他人体目标之间的互动以及人与人之间的交汇和遮挡等,都使人体目标跟踪的复杂度大大增加。为解决这些问题,到目前为止提出的算法有很多,比较经典的有粒子滤波[1]和Mean Shift算法[2],但这些方法都有其自身的缺陷。粒子滤波会面临粒子退化的问题,Mean Shift算法会陷入局部最优的问题,而且这些算法大多都用于可见光图像的跟踪,当应用到红外图像时,由于目标丢失了颜色和纹理信息,跟踪的效果并不理想。
红外图像是灰度图像,且灰度值取决于物体的温度和热辐射,在红外图像中,人体丢失了皮肤和衣服的颜色信息,而且更为不利的是红外视频和可见光视频相比,分辨率和信噪比都会低很多,而且人体在行进过程中的形变更增加了跟踪的难度。为克服红外视频中人体目标特征信息缺失的特点,本文提出了一种新的人体跟踪方法,算法以灰度均值替代边缘的模板与当前帧差分为基础,实现了红外图像序列中对人体的跟踪。文章最后给出了在不同红外图像数据库中的人体跟踪结果。
1 帧间差分法
帧间差分法通过相邻两帧视频图像之间的差分得到运动目标的边缘信息,因其算法实现简单,程序设计复杂度低,对光线等场景变化不太敏感等特点,常运用于运动目标检测,一般通过选取阈值来提取序列图像中的运动区域。在序列图像中,第帧图像和第帧图像之间的变化可用二值差分图像表示:
(1)
式中为差分图像二值化的阈值。
2 均值替代边缘的模板差分法
2.1 模板差分
本文所提出的模板差分法在首次迭代时与帧间差分法类似,但公式与帧间差分法相比要作稍许改变:
(2)
为得到目标的准确位移,将在在第帧上按照所指的方向(即正负值质心的连线方向)移动一个像素的距离,然后重复上述过程(即再用第帧的模板与之相减,得到),如此反复迭代直到的方向与上次迭代方向相反时停止,算法具体实施方法如下:
(3)
其中为的中心点坐标,为归一化常数,目的是使目标每次最多只位移一个像素。
2.2 均值替代模板边缘
实验过程中发现,即使第4步可以解决一定程度的误差累积,当跟踪持续一段时间后,跟踪框会还是会出现如图1a和图1b中所示的现象。
从图1可以看到目标和背景各占据候选框的一边,这种情况十分不利于本算法的跟踪,当模板中的背景区域不能环绕目标,而是与目标分置于模板两侧时,模板与候选目标相减就不能产生有效的正负值区域,导致跟踪出现严重误差,为解决这个问题,本文采用以模板灰度均值替代模板边缘的方式强制赋予模板周围近似背景的区域,方法如下:
首先取帧中模板亮度平均值,而后将赋予帧模板的最外三层像素,用公式表式为:
(4)
(5)
其中和为别模板图像的长度和宽度,为帧模板中每个像素的灰度值。为模板图像灰度所组成的矩阵。
实际用于匹配的第帧的模板都如图2所示,在强制赋予模板四周近似背景的区域之后,由于有了外层的保护区域,在视频背景中没有高亮物体干扰的情况下,每一帧都可以实现稳定而准确的跟踪。
3 实验结果与分析
为了验证本文所提算法的有效性,利用2个不同的视频序列进行了实验。其中,图3和图4来自OTCBV基准库中的Terravic Motion IR Database.实验在配置为Intel core 2.53GHz处理器、内存为4G,软件环境为MATLAB的PC上完成。
图3所示的视频中,行人行走过程中有两次被树木短暂的遮挡,可以看到本文所提出的算法对这种短暂遮挡有较强的适应性,自始至终保持鲁棒的跟踪。
图4所示的视频中,人体目标从第535帧开始,有19秒的时间是完全隐藏的,但本文提出的算法在目标出现后仍然能够准确锁定目标。
图5为从OTCBVS Benchmark Dataset 05 5a测试结果中抽取前50帧,然后本用文所提出的算法和粒子滤波及Mean Shift算法每帧运算速度对比,粒子滤波算法采用的粒子数为200个。从图中可以看到,Mean Shift算法每帧需时40多毫秒,粒子滤波算法也要8毫秒以上,本文所提出的算法平均每帧运算时间只需1毫秒左右,完全能够满足实时跟踪的需求。
4 结语
本文提出的灰度均值替代边缘的模板差分法,借鉴图像处理技术中常用的帧间差分和模板匹配等方法,利用前一帧模板与当前帧差分产生的正负值区域获得目标在当前帧的位移方向,并在此方向上以单个像素迭代得到目标的准确位置,且采用以灰度均值框替代模板边缘的方式消除误差累积,保证跟踪的准确性。实验表明本文所提出的红外人体跟踪算法简单、快速、有效,能够很好的应对人体运动过程中产生的形变,并在每一帧中都能准确的框定人体目标。算法的主要缺点是容易受到背景中高亮物体的干扰,且不能适应目标的大小变化,因此,在算法中加入对背景高亮部分的检测,增强算法的抗干扰性能,以及加入可随目标变化自适应扩大或缩小的跟踪框是下步研究的重点。