2. 清华大学 智能技术与系统国家重点实验室,北京 100084
2. Key Laboratory of Intelligent Technology and Systems, Tsinghua University, Beijing 100084, China
在计算机视觉领域,使用计算机对运动目标进行分析研究是一个重要的课题,而在动态环境中对运动目标进行实时、鲁棒的跟踪是其重要的组成部分,在自动监控、人机交互、医学图像处理、虚拟现实等领域有着广泛的应用[1-2]。目前,目标跟踪的主要方法包括基于运动检测、特征、活动轮廓和模型等跟踪方法[3]。
作为机器视觉中一个重要研究分支,自文献[4]首次提出基于颜色的粒子滤波目标跟踪算法以来,目标跟踪技术得到了长足的发展。但其容易受到光照变化和背景颜色的影响,如果目标所处的背景颜色与其本身颜色接近,并且运动速度较快,粒子滤波目标跟踪的效果会变差,容易出现目标丢失的现象。人们一般使用颜色、边界、纹理及其他特征来跟踪目标,但引入过多的特征来提高跟踪准确性的同时也会增加计算复杂度。由于粒子间的重叠会消耗大量的时间做重复计算,文献[5-8]在直方图的快速计算上做出了新的尝试,提高了运行速度的同时保证跟踪的准确性。本文针对粒子滤波目标跟踪的缺陷提出融合Kinect的深度信息的目标跟踪算法,并提出了增量式直方图计算算法来提高系统计算速度,从而实现基于Kinect的移动机器人目标跟踪。
1 基于Kinect的目标跟踪系统Kinect是微软公司开发的一款体感摄像机,其结合了视觉与距离传感器的特点,并且开放了可以在个人计算机上进行二次开发的SDK,以其独特的功能吸引了大批研究者的关注。基于Kinect视觉与距离相结合的特点,人们对它的使用范围已经不局限于游戏开发领域,目前在计算机视觉、机器人等领域也取得了优秀的研究成果。
基于Kinect的目标跟踪系统框架如图 1所示。
Kinect硬件上主要由一个普通的低分辨率RGB摄像机、一个红外发射器、一个红外投影仪以及一组麦克风阵列组成。普通RGB摄像机能够以30帧/s速率传送分辨率大小640×480的RGB图像,而红外发射器和投影仪则是用来采集相应的深度信息,通过内部芯片转换并传送分辨率大小320×240的深度图像。通过插值处理,Kinect的驱动可以为上层软件提供几乎同步的相同分辨率的RGB图像流和深度图像流,并且通过简单的校准,如利用出厂的摄像机参数,可以将RGB图像和深度图像像素点对应起来。它能够以实时的速率(30帧/s)提供彩色图像和对应像素的深度信息,并且深度精度在毫米量级,这使更多的工作变得易行。
2 增量式直方图计算(IHC)算法增量式直方图计算(incremental histogram calculation)算法是一种基于蒙特卡洛法(Monte Carlo method)的粒子滤波算法[9-11],它的基本思想是根据增量式相似度计算来确定每个粒子的权值。文献[12-13]对IHC算法原理及其应用进行了新的研究和实验,并提出按顺序播撒的2个粒子的矩形区域通常会有一个大的重叠区域,因此,在计算后一个粒子的权值时只需消耗较短的时间来计算非重叠区域即可,这样避免了相同像素的重复计算,显著提高跟踪的实时性能。
IHC算法的基本原理如图 2所示,图中为2个粒子xki和xki+1分别对应的2个矩形框,定义为Ri和Ri+1。定义δh+为矩形框Ri+1表示的区域颜色直方图,δh-定义为矩形框Ri的颜色直方图。则直方图hi+1由式(1)可得。
(1) |
显然,如果矩形框Ri和Ri+1的重叠区域较大,那么计算δh-和δh+消耗的时间就会较少,这样计算hi+1的时间就会减少,因此就不需要计算重叠区域的直方图。但是,当重叠区域的面积小于非重叠区域面积时,IHC算法反而会增加计算量,消耗更多的时间,此时需设立一个评价函数来判断IHC算法是否适用于当前粒子的分布情况。如果人为设定粒子分布的方差为某一限值,那么大部分粒子都可以满足IHC算法的条件。对于传统的直方图计算方法,权值小的粒子会导致对快速运动目标的跟踪性能下降,而对于IHC算法,小方差可以提高运算速度,减小计算量,从而提高跟踪速度且对跟踪性能没有太大影响。
3 目标跟踪算法 3.1 基于颜色的粒子滤波跟踪算法粒子滤波算法结合了蒙特卡洛方法和贝叶斯滤波的特点[13],最终完成贝叶斯滤波的递推,求解出贝叶斯估计。它的后验概率密度函数根据随机抽取的样本及其权重计算,抽取的样本越多,所求出的后验概率密度越接近于真实值。在粒子滤波器中用粒子代替目标的一种可能性状态,并且粒子滤波算法不需要满足线性、高斯系统,应用更加广泛。
基于蒙特卡洛仿真原理,设状态变量为x0:k,已知其后验概率密度函数为p(x0:k|z1:k),则对于任意函数,可用式(2)表示其数学期望值:
(2) |
此期望值可以近似为式(3):
(3) |
式中:{x0:ki, i=0, 1, …, N}表示一系列离散样本,它是从后验概率密度函数f(x|z)中产生的。如果有足够多的样本,期望近似值E(gt(x0:k))绝对收敛于E(gt(x0:k))。
转换到粒子滤波器中,后验概率密度函数用若干个粒子来近似,并且采用越多的粒子,近似也就越精确。由于后验概率分布很难直接求得,因此这成为解决问题的关键。
粒子滤波算法的步骤简单易行,基本流程可以归结为如下4个阶段。
1)抽取N个样本进行粒子初始化,从初始的概率密度函数p(x0)中抽取样本
2)进行序列重要性采样,对于i=0, 1, …, N-1,将权值进行归一化
3)根据粒子权值的大小进行重采样,将权值小的粒子抛弃,权值大的粒子替补被抛弃的粒子,从而得到新的样本集,并将权值进行归一化。
4)输出新的粒子及其权值,得出估计值
在融合Kinect深度信息的目标跟踪算法中,选取N个采样粒子,每个粒子在图像上的坐标用(xi, yi)表示,当前帧的目标区域与第1帧选取的目标区域的比用zi表示,每个粒子的权值用wi表示,每个粒子的深度值用di表示。
实验过程中根据读取的深度值来调整目标矩形框的大小,获取矩形框时的图像设为第1帧,显示出当前框中心点的深度值,此时框宽为W,框高为H。在运行过程中,目标不断运动,中心点深度值也不断变化,框宽和框高根据深度值的比例自适应调整大小,由于深度值越大目标越小,即框宽和框高越小,成反比关系,根据公式:第1帧深度值/其余帧每帧深度值=其余帧每帧的框大小/第1帧框大小,其余帧每帧框中心点深度值为di(已知),框高为W′,框高为H′,则每帧图像中框的大小由式(4)表示:
(4) |
由此,矩形框的大小会随着深度值的变化而变化,达到目标跟踪的效果。
融合Kinect深度信息的目标跟踪过程如下。
1)在第1帧图像中选取目标区域,计算其颜色直方图H1,对粒子集进行初始化,根据矩形框大小计算目标区域的中心点坐标(xi, yi),此时z设为1,di的初始值设为中心点的深度值,设定参考深度值d1。
2)利用高斯分布对第1帧得到的粒子进行采样,获得新的xi、yi、zi值。
3)根据新的xi、yi、zi值计算当前图像帧中目标区域的颜色直方图Hi,并与H1作比较,计算权值,根据深度值对粒子权值进行修改和归一化。利用巴氏距离公式计算权值,并根据深度信息di和d1对wi进行处理,得到新的wi:
再对权值进行归一化,则令
4)根据公式
5)对粒子进行重采样,抛弃权值小的粒子,补充权值大的粒子,重新进行2)。
融入Kinect深度信息的目标跟踪算法流程如图 3所示。
4 实验本文使用Visual C++2008编程软件,根据微软官方提供的SDK,搭配OpenNI1.0版进行软件部分的编写,利用Opencv相关函数获得图像。
4.1 改进的目标跟踪实验效果跟踪实验效果图 4、图 5所示,在融合深度值的效果图中被选中的目标用矩形框标记,所选取的代表帧中左上角的数字为当前帧矩形框的中心点深度值,可以看出,图中矩形框随着深度值的减小而变小,二者成正比关系。在障碍物干扰效果图中,取2个完全相同的物体作为实验物,用矩形框选取其中一个作为目标,一个作为障碍物进行干扰,从实验效果图中可以看出,在融合了深度信息的目标跟踪算法中目标并没有受到干扰物的影响,矩形框一直跟随着目标运动,说明此方法对于相同颜色的干扰有较好的鲁棒性。在目标跟踪过程中,IHC算法有效地减少了像素的计算总数,加快了跟踪速度。
4.2 目标跟踪算法在移动机器人中的应用本文使用的移动机器人为MobileRobots公司设计的PowerBot型差动驱动式移动机器人,主要有适合室内运行的DX型、较强越野跨障性能的AT型、适用于人机交互的PeopleBot以及具有较大负载能力的PowerBot型。
该移动机器人为方便使用者进行对移动机器人平台进行二次开发,整个系统设置为两部分:上位机系统与下位机系统。用户通过上位开发程序控制下位机,下位机则直接对系统的硬件部分进行操作,主要包括电机控制、传感器控制和数据获取等功能。
本实验利用微软公司开发的Kinect体感摄像机,通过USB接口连接到移动机器人内部的PC机上,Kinect摄像机作为图像显示设备,主要用于获取实验环境的各种信息,将它放在移动机器人的正前方,为目标跟踪提供数据信息,最终控制机器人运动,实验效果如图 6和图 7所示。整个移动机器人目标跟踪实验过程中,移动机器人需要避开一个障碍物,然后跟踪目标。图 6为通过Kinect摄像机获取的RGB图像和与其对应的深度图像,图 7为目标与机器人的轨迹图,其中菱形为检测到的障碍物,圆形表示移动机器人运动轨迹,星形为目标运动轨迹。
5 结束语本文利用Kinect摄像机能够以高精度获取深度信息的特点将其作为图像获取设备,并将其获得的深度信息与RGB图像的颜色信息相融合,运用到基于颜色的粒子滤波运动目标跟踪算法中,利用目标的深度值对传统跟踪算法中权值的计算进行改进,提出增量式直方图计算算法对颜色直方图进行计算。实验证明,此方法可以较好地解决由于颜色相近而引起的目标丢失问题,简化了粒子滤波目标跟踪算法中的直方图计算,提高了系统的运行速度,且移动机器人实际目标跟踪过程具有更好的快速性和鲁棒性。
[1] | ARULAMPALAM M, MASKELL S, GORDON N. A tutorial on particle filters for online non-liner/non-Gaussian Bayesian tracking[J]. IEEE Transactions on Signal Processing , 2002, 50 (2) : 174-188 DOI:10.1109/78.978374 |
[2] | 宋亚杰, 谢守勇. 机器视觉技术在金莲花灌溉中的应用研究[J]. 西南农业大学学报:自然科学版 , 2006, 28 (4) : 659-662 SONG Yajie, XIE Shouyong. Application of machine vision in the irrigation for tropaeolum[J]. Journal of Southwest Agricultural University: Natural Science , 2006, 28 (4) : 659-662 |
[3] | 刘涛, 程小平, 向本科. 改进的基于颜色的粒子滤波目标跟踪算法[J]. 计算机工程与设计 , 2010, 31 (8) : 1750-1756 LIU Tao, CHENG Xiaoping, XIANG Benke. Improved color-based particle filter algorithm for object tracking[J]. Computer Engineering and Design , 2010, 31 (8) : 1750-1756 |
[4] | PEREZ P, HUE C, VERMAAK J. Color-based probabilistic tracking[C]// Proceedings of the European Conference on Computer Vision. London, UK, 2002: 661-675. |
[5] | PORIKLI F. Integral histogram: a fast way to extract histograms in Cartesian spaces[C]//2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Diego, USA, 2005: 829-836. |
[6] | SIZINTSEV M, DERPANIS K G, HOGUE A. Histogram-based search: a comparative study[C]//IEEE Conference on Computer Vision and Pattern Recognition. Anchorage, USA, 2008: 1-8. |
[7] | AN S, PEURSUM P, LIU W, et al. Efficient algorithms for sub window search in object detection and localization[C]//IEEE Conference on Computer Vision and Pattern Recognition. Miami, USA, 2009: 2129-2142. |
[8] | WEI Y, TAO L. Efficient histogram-based sliding window[C]//IEEE Conference on Computer Vision and Pattern Recognition. San Francisco, USA, 2010: 3003-3010. |
[9] | KHAN Z, BALCH T, DELLAERT F. MCMC-based particle filtering for tracking a variable number of interacting targets[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence , 2005, 27 (11) : 1805-1819 DOI:10.1109/TPAMI.2005.223 |
[10] | KOFMAN J, WU X, LU T, et al. Teleoperation of a robot manipulator using a vision-based human-robot interface[J]. IEEE Transactions on Industrial Electronics , 2005, 52 (5) : 1206-1219 DOI:10.1109/TIE.2005.855696 |
[11] | KURAZUME R, YAMADA H, MURAKAMI K, et al. Target tracking using SIR and MCMC particle filters by multiple cameras and laser range finders[C]//Proceedings of International Conference on Intelligent Robots and Systems. Tokyo, Japan, 2008: 3838-3844. |
[12] | LIU Huaping, SUN Fuchun. Efficient visual tracking using particle filter with incremental likelihood calculation[J]. Information Sciences , 2012, 195 : 141-153 DOI:10.1016/j.ins.2012.01.033 |
[13] | 夏轩, 刘华平, 许伟明, 等. 基于DSP的主动视觉系统[J]. 机器人 , 2012, 34 (3) : 354-362 XIA Xuan, LIU Huaping, XU Weiping, et al. DSP-based active vision system[J]. Robot , 2012, 34 (3) : 354-362 DOI:10.3724/SP.J.1218.2012.00354 |