论文部分内容阅读
人脸跟踪是计算机视觉中一个非常重要的问题,它在人脸识别,人机交互,视频监控,机器人视觉等领域中都占据着十分重要的地位。近年来随着计算机硬件性能的大幅增强和价格的逐步降低,它已经受到很多研究人员的关注,成为了一个十分热门的方向。但如何克服背景的嘈杂,人脸姿态及表情的变化,人脸的部分及完全遮挡,摄像机的运动等的影响的难度较大,使之成为一项十分具有挑战性的工作。在满足鲁棒性的基础上,人脸跟踪算法还要同时兼顾准确性和实时性。迄今为止,有一万余篇相关的文献已经被发表,它们都试图找出一种能兼顾上述三个指标的实用的算法。本文设计了两种跟踪算法分别对人脸区域和人脸轮廓进行跟踪:①为了兼顾人脸跟踪算法的鲁棒性,精确性和实时性,采用了一种基于改进粒子滤波的实时鲁棒性的人脸跟踪算法。此算法将ωPSOPF引入到人脸跟踪算法中,以此来缓解传统粒子滤波器普遍存在的粒子退化问题。对粒子样本的分布使用ωPSO[41]算法进行优化,使粒子向高似然概率区域移动。这样通过“重采样”后就不会出现粒子耗尽的现象,因为在高概率区域存在大量粒子,避免了对极少数高权值粒子的大量的复制。使用AdaBoost分类器进行目标跟踪的初始化和模板更新,通过对模板进行更新和优化粒子分布来提高算法的鲁棒性和精确性;采取间隔采样ROI(Region of Interest)区域像素的方法,计算其加权直方图作为唯一的线索来增加算法的实时性。最后此算法在VC2005+OpenCV平台上予以实现。实验结果证实了算法的有效性及对各种干扰的鲁棒性。②我们首先在Chunming Li提出的水平集变分形式上加以改进,以此来避免在演化过程中进行重新初始化并且使之更适于人脸轮廓的表示和跟踪。接着将此改进的水平集方法引入到粒子滤波框架下,采用了一种结合水平集和粒子滤波的人脸轮廓跟踪算法。此方法使用零水平集函数对人脸轮廓进行表示,通过水平集函数的更新对人脸轮廓进行逼近,以椭圆物体仿射运动涉及的七个参数和相应的水平集函数作为目标状态,以水平集演化过程中涉及的三个能量函数作为目标观测,然后在粒子滤波框架下对人脸轮廓进行跟踪。最后,在Matlab平台上实现了此算法,实验结果验证了其有效性。