人脸检测跟踪(精选7篇)
人脸检测跟踪 篇1
实现智能的目标检测与跟踪已成为计算机图像处理领域的一项重要研究内容。很多学者针对目标检测与跟踪问题展开了大量的研究工作。Viola等人首先提出了基于Ada Boost级联结构的人脸检测方法[1]。Li等人基于Ada Boost算法提出了FloatBoost人脸检测方法, 该方法在Ada Boost迭代后使用回溯机制来减少识别错误率, 实现了多视角人脸检测且效果明显[2]。张洪明等人提出的人脸检测方法可用于检测多姿态人脸, 此模型首先利用神经网络进行人脸旋转角度的检测, 然后将其校正为标准人脸后再进行正面人脸的输入, 实现平面旋转人脸的检测[3]。随着支持向量机理论的不断发展, 梁路宏等人提出了一种将支持向量机与人脸模板匹配相结合的方法, 该方法降低了人脸训练的难度, 大大提高了人脸检测的准确性[4]。Fukunaga等人提出的Mean-shift算法采用核直方图模型对目标进行建模, 该方法跟踪效果较差, 且无法很好地处理遮挡的情况[5]。Badu等人提出基于分段的Mean-shift目标跟踪方法, 通过分段跟踪各个子图像最终得到整个目标的跟踪结果[6]。张涛等人提出了一种改进的Mean-shift算法实现实时多人脸跟踪, 克服了由于多目标人脸之间的遮挡、聚合以及分离等因素对跟踪效果的影响[7]。
本文在VS2010开发平台上调用Open CV函数库进行C++编程, 实现了快速人脸检测与人脸实时跟踪方法, 该方法利用Ada Boost分类器进行人脸检测, 并利用基于颜色的Camshit算法进行人脸跟踪。
1 人脸检测方法
1.1 人脸检测流程
人脸检测的目的是将视频图像中各种姿态的人脸标记出来。人脸特征的提取与计算是人脸检测的关键。Haar-like特征易于计算且适合描述人脸外观, 故选取Haar-like特征作为人脸检测的关键特征。实现人脸检测的流程主要包括人脸Haar-lik特征提取、Ada Boost级联分类器生成以及人脸检测结果三个环节, 如图1所示。
1.2 Haar-like特征及特征值计算
人脸检测是一种分类问题, 即将图像窗口分类为人脸区域或背景区域。人脸的Haar-like特征易于区分而且不依赖于外部条件变化, 并能将人脸同背景或其他目标区分开来, 因此Haar-like特征是人脸检测的关键特征。Haar-like特征主要表现为水平、垂直、对角线方向上的信息, 如图2所示, 其中图2 (a) 和图2 (b) 分别代表水平和垂直方向的边缘特征, 图2 (d) 和图2 (e) 分别代表垂直和水平方向的线性特征, 图2 (c) 代表对角线特征。
Haar-like特征值定义为图像中白色矩形区域内部所有像素之和与黑色矩形区域所有像素之和的差值, 于是Haar-like特征也称为矩形特征[8]。
对于边缘和线性特征, 特征值F1的计算如式 (1) 。
而对于对角线特征, 特征值F2的计算如式 (2)
式 (2) 中, i为白色以及黑色矩形的个数, ωi和ωj分别为为第i和j个矩形的权值。
1.3 基于Ada Boost算法的分类器
目前, 基于级联结构的Ada Boost算法能够高效率的检测人脸图像。Ada Boost其实是一种级联分类器, 原理是采用迭代思想实现分类器的加权平均, Ada Boost的级联结构如图3所示。图中F表示检测为负样本 (非人脸图像) , T表示检测为正样本 (人脸图像) , 所有正负样本依次经过各级分类器, 只有符合要求的正样本能够进入下一级分类器的分类, 若在任一个分类器处获得负结果, 则立即排除该样本, 而被排除的负样本将不再参与其他分类器的训练, 分类结果输出正样本人脸图像。
2 人脸跟踪方法
2.1 HSV颜色空间
HSV空间包括色调 (H) 、饱和度 (S) 和亮度 (V) 三个基本属性, 其中H是颜色的重要特征, S表征色彩的鲜艳程度, V反映图像的明亮程度[9]。本文基于HSV空间的颜色信息实现人脸跟踪, 因此需要将色彩分量分离出来。图4为HSV颜色空间各分量的示例图, 其中, 图4 (a) 为原始彩色图像;图4 (b) 、图4 (c) 、图4 (d) 分别为图4 (a) 的H分量图像、S分量图像以及V分量图像。
2.2 Camshift算法
Camshift算法是基于颜色模型的跟踪方法, 对于颜色差距较大的图像跟踪效果明显, 并且能够排除光线变化、干扰物存在、部分遮挡等外界因素对跟踪的影响。Camshift算法是对Mean-shift算法的改进, 它具有实现简单, 运算效率高, 且可根据目标位置自动调节搜索窗口等优点, 是一种自适应调整的动态目标跟踪方法。
在基于HSV颜色空间中单一色调信息基础上, 采用Camshift算法进行人脸跟踪。跟踪过程主要包括视频图像初始化、Meanshift寻找目标、Camshift自适应调整目标窗口实时跟踪目标三个重要环节。具体实现步骤如下。
2.2.1 视频图像初始化
对输入图像进行预处理。如抑制背景噪声、图像增强以及设置初始变量参数等操作。
2.2.2 Meanshift寻找目标
首先在反向投影图中找到目标中心, 然后根据初始搜索框开始搜索目标, 直至满足迭代终止条件结束。
2.2.3 Camshift自适应跟踪目标
Camshift方法自适应更新目标搜索窗口的长 (L) 和宽 (W) 计算式 (3) 、式 (4) 所示[10],
椭圆主轴的方向角α如式 (5) 所示,
式 (5) 中, A00为反向投影图的零阶距;A11为反向投影图的一阶距;A20和A02分别为反向投影图在x方向和y方向上的二阶距, 计算公式如式 (6) , 式 (7) 所示,
3 仿真实验结果与分析
3.1 仿真实验
仿真实验在联想双核2.20 GHz CPU、4 G内存的PC上进行。采用C++语言在VS2010开发平台借助Open CV2.3.1辅助开发库, 实现了具有人脸检测与跟踪功能的应用软件。该软件利用VC++中MFC窗体应用程序结构创建, 并调用Open CV图像处理函数实现对图像的各种操作以及存储操作, 图像显示采用Open CV中的Cvv Image类。经过反复实验测试, 该软件运行效率高且鲁棒性好。软件运行界面如图5所示, 该软件主要包括六个模块, 分别为摄像头管理模块、视频管理模块、检测与跟踪模块、视频存储模块、获取单帧图像模块以及静态多人脸检测模块。
软件各个功能模块都有一定的实效性, 摄像头管理模块中可以实现调取外接USB接口的摄像头;视频管理部分实现读取各种格式视频, 以及暂停操作功能;人脸检测跟踪模块进行人脸检测与跟踪, 同时也能选择跟踪不同的目标对象, 实现了跟踪目标的多样性;存储模块实现将播放过程中的关键内容重新打包存储;获取单帧图像模块实现在视频播放过程中获取单帧重要目标图像, 方便后期深入分析目标的其他关键特征。
3.2 实验结果与分析
3.2.1 人脸检测仿真实验及结果分析
为证明本节提出方法的有效性和快速性, 利用摄像头捕捉了6张图像。人脸检测结果如图6所示, 其中, 图6 (a) 为在光线较弱环境下摄像头捕捉的正面人脸;图6 (b) 为侧面人脸检测结果;图6 (c) 为有旋转人脸图像的检测结果;图6 (d) 检测定位到两张人脸, 同样适用多张人脸检测。图6 (e) 为检测视野范围内远距离位置的人脸;图6 (f) 为有外物遮挡情况下的人脸检测结果, 然而对严重遮挡情况无法检测。
图6中方框标识出实时检测的人脸位置, 圆框表示人脸轮廓。实现单帧图像特征值提取时间为10 ms, 检测出单个样本人脸的平均时间是30 ms。实验结果表明Ada Boost方法适用于对光线较弱环境、小角度旋转人脸、距离较远人脸、存在部分遮挡的人脸以及多人脸检测。
3.2.2 人脸跟踪仿真实验及结果分析
为证明本节跟踪方法的有效性, 利用摄像头捕捉了6张人脸跟踪图像。如图7所示。其中图7 (a) 为开始进入跟踪阶段的人脸图像, 图7 (b) 、 (c) 和图7 (d) 、 (e) 分别为人脸被部分遮挡和存在干扰人脸情况, 图7 (f) 为摄像头拍摄中或视频播放过程中获取的单帧图像存储结果。跟踪速率可达到每秒15帧。
仿真实验结果表明Camshift算法占用系统资源少, 且能够快速有效地实现跟踪。该跟踪过程除了适用于高质量视频外, 还适用于光线变化、干扰物、部分遮挡存在的视频图像, 均表现出较好地鲁棒性。
4 结论
作为一项独立的技术, 基于视频分析的目标检测跟踪已得到了极大的发展, 被广泛应用于公共安全、交通管理等领域。人脸是视频内容中的重要信息, 对人脸的检测与跟踪是智能视频分析的一个重要分支。在人脸检测方面, 基于Ada Boost分类器级联结构实现快速人脸检测, 级联的过程大大提高了系统的运算效率。在人脸跟踪方面, 基于颜色模型的Camshift方法实现快速人脸跟踪, 且跟踪过程不受噪声、人脸的不规则运动、干扰物的存在以及光线变化等因素的影响。本文提出方法在VS 2010开发平台上调用Open CV函数库进行C++编程, 并使用MFC框架实现了系统的界面设计。实现基于视频内容的动态目标检测与跟踪可为后续开展的模式识别研究奠定基础, 是图像处理研究领域的重要内容, 有着广阔的应用前景。
参考文献
[1] Viola P, Jones M.Robust realtime object detection.Technical Report, 2001/01.Compaq Cambridge Research Laboratory, 2001
[2] Li S Z, Zhang Z Q.FloatBoost learning and statistical face detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004;26 (9) :1—12
[3] 张洪明, 赵德斌, 高文.基于肤色模型、神经网络和人脸结构模型的平面旋转人脸检测.计算机学报, 2002;15 (11) :1250—1256Zhang H M, Zhao D B, Gao W.Face detection under rotation in image plane using skin color model, neural network and feature-based face model.Chinese Journal of Computers, 2002;25 (11) :1250—1256
[4] 梁路宏, 艾海舟, 肖习攀, 等.基于模板匹配与支持矢量机的人脸检测.计算机学报, 2002;25 (1) :22—29Liang L H, Ai H Z, Xiao X P, et al.Face detection based on template matching and support vector machines.Chinese Journal of Computers, 2002;25 (1) :22—29
[5] Fukanaga K., Hostetler L D, The estimation of the gradient of a density function with applications in pattern recognition.IEEE Transaction on Information Theory, 1975, 21:32—40
[6] Badu R V, Perez P, Bouthemy P.Robust tracking with motion estimation and local kernel-based color modeling.Image Vision Computing, 2007;25:1205—1216
[7] 张涛, 蔡灿辉.一种改进的MeanShift实时多人脸跟踪算法.计算机应用, 2009;29 (3) :781—784Zhang T, Cai C H.Improved mean shift real-time multiple faces tracking algorithm.Journal of Computer Application, 2009;29 (3) :781 —784
[8] 陈园园.人脸检测算法的改进与仿真研究.计算机仿真, 2011;28(7) :281—284Chen Y Y.Simulation on face detection based on improved adaboost algorithm.Computer Simulation, 2011;28 (7) :281—284
[9] 戈曼.基于单目夜视图像的深度估计.上海, 东华大学, 2012Ge M.The depth estimation based on monocular night vision image.Shanghai:Donghua University, 2012
[10] 邬大鹏, 程卫平, 于盛林.基于帧间差分和运动估计的Camshift目标跟踪算法.光电工程, 2010;37 (1) :55—60Wu D P, Cheng W P, Yu S L.Camshift object tracking algorithm based on inter-frame difference and motion prediction.Opto-Electronic Engineering, 2010;37 (1) :55—60
人脸检测跟踪 篇2
人脸检测与跟踪属于模式识别与计算机视觉的研究领域,它作为人脸信息处理中的一项关键技术,近年来得到了积极广泛的研究。已有的人脸跟踪系统往往依赖于具有大规模集成电路的计算机来实现,从而导致系统运行成本的增加,并且系统稳定性、可靠性也难以保证。随着嵌入式技术的发展和DSP的民用化,使得设计人脸检测与跟踪系统具有更加可靠的硬件基础,本文将Adaboost人脸检测算法与Camshift跟踪算法相结合,在考虑到数据处理的实时性、硬件系统的规模、软件系统调试难度等诸多因素的情况下,基于CCS3.2软件开发环境[1]及TMS320DM6446硬件开发平台,设计并实现了对视频序列的自动人脸检测与跟踪。
1 系统硬件架构及工作原理
1.1 系统硬件架构
本文采用TMS320DM6446[1]作为系统运行平台,如图1所示。该平台包括ARM9内核、C64X+内核、视频处理子系统(VPSS)和针对音视频优化的片内外设等部分。DM6446的双核架构可以同时提供高性能的DSP和RISC处理器技术,同时还可以支持多种操作系统、该平台提供了丰富的用户接口、极高的处理性能以及良好的功耗性能,能够充分满足视频处理实时性、运算量的要求。
图1中,ARM9内核是32位的RISC处理器,具有32位、16位两种指令集,可以处理的数据位宽有32位、16位和8位,通过流水线技术来提高内核执行效率。C64X+DSP核是TI最高性能的定点DSP处理器内核,是基于TI开发的增强型第二代超长指令字(VLIW)架构,是数字应用开发的理想处理器平台。DM6446的C64X+内核的工作频率为594MHz,可以达到4752MIPS的处理性能。其内部集成了64个32位通用寄存器,8个独立的处理功能单元(6个ALU、2个乘法器)。并且8个功能单元的指令集对视频、图像应用做了针对性的优化,能够在一个指令周期内完成4个16位的乘法累加(MAC)运算。
1.2 系统工作原理
系统图像处理子系统的工作原理及流程如图2所示。
系统上电后,由Flash完成DSP程序自举加载操作。程序加载结束后,由前端CCD摄像头捕捉视频信号,视频采集选用解码芯片TVP5146,将彩色摄像头采集的模拟视频信号处理成数字信号,通过视频输入端口,经视频处理前端VPSS传递给核心器件DM6446。DM6446先以DMA方式将原始图像数据放到SDRAM中,SDRAM被分成两个区,一个区存储原始图像,一个区存储处理后的图像。待一帧图像数据接收完全后,产生中断,实施人脸检测与跟踪。视频输出信号经由DM6446自带的D/A接口转成模拟信号,最后在LCD上实时显示图像。
2 系统软件设计
2.1 系统软件结构
系统的软件结构如图3所示。
DM6446的ARM内核上运行的Montavista Linux2.6.0操作系统负责视频采集,视频显示,算法控制,外围设备处理等。而DSP内核主要负责运行人脸检测与跟踪算法,该算法程序需要符合XDAIS-DM算法标准。DSP端的程序设计采用多线程的方式来实现,包括主线程、视频捕捉线程、视频压缩线程、视频跟踪线程、显示线程、控制线程。主线程在程序开始时运行,主要功能有解析命令行参数,初始化各线程运行环境,并创建各线程。视频捕捉线程通过V4L2接口驱动摄像头读取原始数据,视频跟踪线程把视频数据送到ARM和DSP的共享缓冲内存,并通知DSP执行跟踪算法。视频压缩线程,负责控制DSP侧的压缩算法并从共享内存中读取压缩数据。显示线程,从视频缓存中读取视频数据帧,并叠加目标跟踪框,最后通过Frame Buffer设备驱动输出显示。控制线程接收红外和键盘的控制命令,控制各个线程运行。
所有算法均通过CE(Codec Engine)模块管理。CE模块为应用程序提供统一的VISA(Video、Image、Speech及Audio)API,该应用程序接口将算法分为四大类,即视频、图像、语音及音频。算法模块按照该接口标准封装后便可以通过CE模块进行管理。
基于ARM端的程序为主控端,通过create()、control()、process()及delete()四类标准接口管理DSP端的算法模块,将DSP端的人脸检测与跟踪算法封装成软件模块,可供ARM-Linux调用,而DspLink完成DSP端和ARM端的通信。
2.2 人脸检测、跟踪算法
本文结合Adaboost人脸检测算法和Camshift跟踪算法,对初始帧图像用Adaboost人脸检测算法进行人脸检测,即自动初始化跟踪窗口,然后将初始化窗口作为人脸跟踪的入口参数,进入跟踪过程。将Adaboost人脸检测算法与Camshift跟踪算法相结合,构成一个高效、准确的自动人脸跟踪系统。
在Intel开源计算机视觉库(OpenCV)[2]中提出了使用Adaboost算法对人脸样本训练和检测人脸的程序,Adaboost人脸检测分为两个过程,即分类器训练过程和人脸检测过程。首先是分类器训练过程,由于在OpenCV下训练自己的分类器XML文件是个相当复杂和耗时的过程,并且自己没有得到充足的人脸数据库样本和非人脸样本进行分类器的训练,这样训练出的分类器的检测率就非常低而且误检率非常高。所以本文就充分利用了OpenCV自带的良好人脸检测分类器(包括正面的haarcascade_frontalface_alt.xml和侧面的haarcascade_profileface_alt.xml)。人脸检测过程主要是根据训练出的多层分类器结构,对输入的图像分层筛选,最后检测出人脸。
Bradski[3]提出的Camshift算法采用不变矩对目标的尺寸进行估算,实现了连续自适应地调整跟踪窗口的大小和位置,并将其应用在对连续彩色图像序列中的运动目标的快速跟踪。Camshift算法首先根据跟踪目标的颜色概率模型,将视频图像转换为概率分布图像(PDI),并初始化一个矩形搜索窗口,对每一帧PDI图形利用Meanshift算法搜索目标区域的最优区域,并根据搜索区域的不变矩估算跟踪目标的中心和大小,保存和输出当期帧搜索结果,并且用当前帧搜索结果作为下一帧图像初始化搜索窗口。如此循环,即可实现对目标的连续跟踪。
Camshift算法是一种动态变化的非参数密度函数梯度估计方法。对离散二维概率分布图像,该算法具体步骤如下:
①在颜色概率分布图中初始化一个搜索窗口W,其大小为S。
②第二步,利用Meanshift[4]算法使搜索窗口“收敛”。
在2D概率分布图像中通过公式
③重新设置搜索窗口的大小S并计算跟踪目标的输出参数。
对于2D颜色概率分布图像,零阶矩代表了跟踪目标在图像中的面积,又因为颜色概率分布图像是256个量化级别的灰度图像。因此,更新搜索窗口的宽度a和Z00零阶矩的关系为
④跳转到②进入下一帧的循环。
对于人脸跟踪系统,选择椭圆模型可以很好地近似人脸,在输出跟踪人脸的参数时,以椭圆模型的形式描述跟踪结果。椭圆模型参数包括椭圆的长轴、短轴和方向角。通过公式(1)-(3)计算搜索窗口的二阶矩,即可得到被跟踪目标的长轴、短轴和方向角。
式中,p(x,y)是PDI图像在坐标(x,y)处的像素值,也就是该点原像素的颜色概率值;x和y的变化范围为搜索窗口的范围。图像中目标的长轴l与短轴w可通过公式(4)和(5)计算得到。
其中,
根据上述步骤计算的结果,输出每一帧图像中最优匹配目标的中心和椭圆参数,在输出的视频序列图像中描绘出该区域,就形成了对目标的连续跟踪。
本系统算法流程图如图4所示,首先对初始帧图像进行人脸检测,即自动初始化跟踪窗口,然后将初始化窗口作为人脸跟踪的入口参数,进入跟踪过程。首先采用Adaboost人脸检测算法从视频流检测人脸,若检测到一个人脸,则将该人脸区域作为跟踪的初始窗口,计算颜色直方图并得到各种颜色的概率分布,并记录此时人脸的面积S。以下将连续从视频流中抓取下一帧图像,用Camshift算法进行跟踪,在每次跟踪时,判断跟踪目标区域面积是否大于S/3且小于5S/3, 如果在这个范围内,则继续跟踪,如果不在,则采用Adaboost检测人脸,在作为人脸跟踪的初始窗口,依次迭代,从而实现人脸的自动跟踪。
3 实验结果与结论
本文在分析和研究Adaboost和Camshift算法的基础上,以TI的TDS320DM6446DVEVM为硬件平台,利用C语言、汇编语言和CCS3.2集成开发环境,实现了Adaboost人脸检测算法和Camshift跟踪算法,并最终实现了基于DM6446的自动人 脸跟踪 系统。该系统处理速度可以达到30fps,基本能够准确、实时地检测和跟踪人脸,对监控系统的智能化发展具有重要参考价值。图5给出了在自然光照条件下部分人脸检测定位及跟踪效果。
参考文献
[1]彭启琮,等.TI DSP集成开发环境(CCS)使用手册[M].清华大学出版社.
[2]赵勇,等.DAVINCI技术原理与应用指南[M].东南大学出版社.
[3]Open Source Computer Vision Library(OpenCV)[EB/OL].ht-tp://sourceforge,net/projects/opencvlibrary.
[4]Bradski GR.Computer vision face tracking as a component of a per-ceptual user interface[C].Proceedings of IEEE Workshop Applica-tions of Computer Vision.Princeton,NJ:IEEE,1998:241-219.
人脸跟踪方法综述 篇3
目前, 已有不少人脸跟踪的算法, 机器视觉研究表明, 人眼对目标物体的辨识是一个过程, 首先, 人眼会对运动的物体更加有兴趣, 随后, 在对它进行跟踪的过程中会运用人脑中存储的各种信息对它加以辨识。比如, 当一个物体出现在很远的地方时, 人眼可能无法辨识, 但是当这个物体逐渐靠近, 人眼便可能会慢慢“认出”这个物体的类别。另外, 与静态图像相比, 视频序列图像包含丰富的时域信息, 但是, 目前的大多数算法仅仅将它用在跟踪算法中, 对人脸的检测仍是采用基于静态图像的方法。
人脸跟踪一般分为单人脸跟踪和多人脸跟踪。主要有三种情况, 即摄像机不动, 人脸运动;人脸不动, 摄像机运动;人脸与摄像机都运动。人脸可以看成是一种近似于刚体的运动目标, 基于人脸的跟踪方法可以分为三类:基于特征匹配的跟踪、基于区域匹配的跟踪和基于模型匹配的跟踪。
1.基于特征匹配的跟踪
基于特征匹配的跟踪不考虑所跟踪目标的整体特征, 即不关心该目标是什么这个问题, 仅仅通过目标物体的一些个体特征来进行跟踪。由于图像序列间的采样时间间隔通常很短, 可以认为这些个体特征在运动形式上具有平滑性, 因此可以通过这些个体特征来完成目标物体的跟踪过程, 进而充分利用空间位置相对不变的影像特征, 提取出该帧图像和参考图像的特征量, 然后按照一种或几种相似性度量对二者进行比较。如果该帧图像的特征集和参考图像的特征集之间, 在给定的约束条件下, 满足距离最小的原则, 则该物体为跟踪的目标。
采用基于特征匹配的方法进行序列图像运动目标的跟踪包括特征提取和特征匹配两个过程。在特征提取过程中需要选择适当的跟踪特征, 并且在序列图像的下一帧中提取这些特征;在特征匹配过程中, 将提取当前帧的特征同上一帧, 或者是用来确定目标物体的特征模板进行比较, 根据比较结果确定是否是对应物体, 从而完成跟踪过程。Li[1]等先通过肤色特征得到人脸区域, 然后提取人脸的Gabor小波特征进行跟踪;邢昕[2]等人提出了一种基于器官跟踪的人脸跟踪算法, 利用形态学运算对嘴进行跟踪, 并在很少的局部旋转运算处理后, 简单的分析人脸对称性, 从而高速准确的跟踪人脸。在这些方法中, 特征点会由于遮挡或光线变化而不可见, 这将导致跟踪失败, 这是基于特征匹配跟踪的缺点, 虽然可以得到新的特征点, 但这要以额外的累加误差为代价。
2.基于区域匹配的跟踪
基于区域匹配的跟踪, 是把图像中目标物体的连通区域的共有特征信息作为跟踪检测值的一种方法。在连续的图像中可以采用多种区域信息, 例如纹理信息, 颜色信息等等。该方法不需要在序列图像的下一帧中找到同上一帧图像中完全相同的特征信息, 通常情况下通过计算获取区域和原始目标物体之间的相关性来判断跟踪物体的位置。如果检测获取区域同上一帧的相关系数越大, 那么越有可能是同一个区域。基于区域的跟踪可以选用根据整个区域 (如运动、纹理特性) 提供的单一特征信息来实现跟踪, 由于在实际跟踪过程中单一的特征往往不太好选择, 也可以采用目标物体的多个特征进行跟踪。Harihara Krishnan[3]将目标物体分割成16×16的块, 通过运动估计与块匹配方法来实现对人脸的跟踪。
基于区域匹配的跟踪具有精度高、不依赖于具体目标模型等优点, 可用于实现人头部自由运动的跟踪。但由于区域特征仅利用了图像的低层信息, 且不能根据目标的整体形状来对跟踪结果进行调整, 因此在长时间连续跟踪时, 容易因误差累积而发生目标丢失的情况。
3.基于模型匹配的跟踪
基于模型匹配的跟踪算法是通过建立模型的方法来表示需要跟踪的目标物体, 然后在序列图像中跟踪这个模型来达到跟踪的目的。早期在这个领域内的研究主要集中在刚性物体的模型匹配上, 对于刚性物体或者近似于刚性的物体在大多数情况下, 其运动状态变换主要是平移、旋转和仿射运动, 可以通过采用计算相关匹配或者是通过Hough变换的方法来获取图像在下一帧的位置。但是在实际应用中, 需要跟踪的对象并非总是刚性物体, 而且目标物体确切的几何模型也并不容易获取。而变形轮廓模板由于可以发生形变以匹配到目标形状, 使用它进行跟踪可以更加灵活, 在处理非刚体目标物体的跟踪时也能达到较好的效果。目前主要有两种类型的可变形模型, 一种是自由式的可变形模型, 只要满足一些简单的正则化约束条件 (如连续性, 平滑性等) , 就可以用来跟踪任意形状的目标物体, 这类方法通常也被称为活动轮廓模型。另一种是参数形式的变形模型, 它使用一个参数公式, 或者是一个原形与一个变形公式来共同描述目标物体的形状。
自由式变形模型的跟踪是利用封闭的曲线轮廓来表达运动目标, 并且该轮廓能够自动连续地更新, 其工作过程就是活动轮廓在模拟的外力 (外部能量) 和内力 (内能) 作用下向物体边缘靠近的过程, 外力推动活动轮廓向着物体边缘运动, 而内力保持活动轮廓的光滑性和拓扑性, 到达平衡位置时 (对应于能量最小) 活动轮廓收敛到所要检测的物体边缘。主动轮廓模型比物体的整体模型通用性好, 同时又比基于底层特征的信号处理有更强的抗背景干扰的能力, 这种主动轮廓的思想自从提出后得到了广泛的应用和发展。
参数形式的变形模型主要应用在目标物体的一些先验的几何形状信息已知的情况下, 而且其轮廓可以通过不多的参数来表示。有两种通用的方法来生成参数形式的变形模型, 第一种解析变形模型通过一系列的解析曲线 (二次曲线) 来描述, 模型的不同形状可以通过不同的参数来设定。与主动轮廓模型相比较, 参数形式的变形模型中表示能量的不是边界本身, 而是参数, 主动轮廓模型计算的结果是边界, 而参数形式的变形模型是参数, 还需要进行下一步的计算来获取整个的轮廓。基于解析模型的变形模型的匹配跟踪比较容易计算, 但是其要求几何模型必须容易构建。第二种基于原型的变形模型定义一些比较通用的模型, 称为标准、原型等, 用这些原型最近似、最平均、或最有代表性地描述了目标物体的形状。该方法使用一个全局一致的通用结构, 以及一个可以独立的偏差来进行跟踪描述。跟踪过程中的每一个实例都是在原型基础之上通过参数映射的方法来描述的, 使用不同的参数将产生不同的目标物体的轮廓形状。形状模型可以有多个种类, 因为可以选择不同的模型以及变形过程。
4.其它跟踪方法
此外还有一些其它的匹配跟踪方法, 主要有两类:第一类方法主要建立在鲁棒统计与概率分析的基础之上。鲁棒统计是一种忽略掉那些偏离目标很远的数据点的统计方法, 因此, 可以用来处理在跟踪过程中图像中出现噪声和数据离散的问题。根据这个原理, 设计的跟踪算法通过使用非参数估计技术, 沿着图像梯度方向查找目标物体的概率分布, 从而在序列图像中跟踪物体。第二类方法使用均值转移跟踪 (mean shift tracking) 的方法, 通过分析每帧中的颜色分布, 找到与特定模型最接近的位置, 再配合其他约束策略即可得到跟踪对象在本帧中的新位置。值得注意的是, 当前使用多摄像头拍摄的序列图像进行目标跟踪的研究开始活跃起来, 因为使用多镜头可以减少跟踪过程中的二义性, 同时也可以处理遮挡, 并且获取较为理想的跟踪结果。如果发生遮挡时可以抛开发生遮挡的角度上拍摄的图像, 而采用其它角度拍摄的图像。对于一个基于多摄像头拍摄的序列图像中进行跟踪的系统, 需要判断的是在某一时刻, 是哪一个摄像头拍摄的图像中的运动物体正在被跟踪过程所跟踪。
5.人脸跟踪总结和展望
人类的面部提供了大量视觉信息, 计算机的多种感知输入通道, 如人脸识别、口型识别、表情识别等, 都建立在人脸的基础上。目前大多数系统都要求使用者固定在摄像机前的某一位置, 然而, 人总是处于运动中的, 尤其在信息交互过程中, 对使用者的这种要求显然降低了系统的应用性。目前常见的人脸跟踪算法有3种方式:基于特征匹配的跟踪、基于区域匹配的跟踪以及基于模型匹配的跟踪。对于各种算法的跟踪速度, 特别是在获得较精确位置的要求下的跟踪速度, 都还有待提高。
摘要:人脸跟踪作为一种算法, 已在许多领域获得成功应用。基于对机器视觉理论的基本分析, 本文重点探讨了基于特征匹配、区域匹配和模型匹配的跟踪算法, 在此基础上, 给出了人脸跟踪展望。
关键词:人脸跟踪,机器视觉,模板匹配
参考文献
[1]Li H S, Yuan B Z.Face Tracking Using SKin-ColorModel and Gabor Wavelets[C], In:ICSP, 2002, 837-840.
[2]邢昕, 汪孔桥, 沈兰荪.基于器官跟踪的人脸实时跟踪方法[J].电子学报, 2000, 6:29-31.
人脸跟踪技术综述 篇4
当今21世纪, 科学技术飞速发展。人工智能与人机交互技术, 被广泛使用和研究。人脸跟踪作为计算机视觉和人工智能领域中一项核心技术, 更是受到广泛关注和应用。例如公共场所当中的视频监控, 视频电视会议, 流量统计, 智能机器人, 身份识别, 影像跟踪等应用, 都是以人脸跟踪技术作为基础技术进行开发和应用。人脸跟踪是在人脸检测和精确匹配的基础上对人脸进行精确跟踪, 作为核心技术, 人脸跟踪的应用背景己经远远超出了人脸识别系统的范畴。作为完整的单独功能模块, 人脸跟踪技术在基于内容的视频存储与检索、数字视频处理、高级人机交互、智能视频监控等方面有着重要的应用价值;同时, 人脸跟踪的研究领域除了计算机视觉、模式识别以及图像处理外, 还与生理学、心理学、认知科学等学科都有紧密的联系。目前以美国为代表的许多科研组织都在积极的从事人脸跟踪方面的研究。人脸跟踪系统在智慧城市, 物联网中有着广泛的应用前景。
1、人脸跟踪概述
人脸跟踪技术首先基于人脸检测。基于人脸检测的跟踪方法可以看作是静止图像中的人脸检测在视频序列中的延伸。其跟踪过程往往是在起始帧中检测人脸并记录其位置和大小, 然后根据先前帧的检测结果预测当前帧的搜索区域, 并在该区域中进行检测, 如此重复以上步骤实现人脸的持续跟踪。人脸跟踪技术的发展始于Azarbayejani[1]等人在1993年首先提出的递归估计算法。
一般人脸跟踪分为单人脸跟踪和多人脸跟踪两类。主要有三种情形[2]:第一种, 人脸不动, 摄像机运动;第二种, 摄像机不动, 人脸运动;第三种, 人脸和摄像机都运动。从应用角度看, 第一种情况受到约束较多, 而第三种情况则具有普适性。人们对实时的人脸系统的基本要求是要有实时性, 而在保持实时性的时候, 跟踪的鲁棒性却会下降。在实际应用中, 我们通常会在实时性与鲁棒性两者中折中。
目前的跟踪算法可以分为两大类[3]:一类是基于目标模式搜索匹配的跟踪算法, 主要有均值漂移 (MeanShift) [4,5]算法及其改进的算法例如自适应均值漂移 (Continuously Adaptive Mean shift CamShift) [6]算法等;另一类是基于目标状态估计滤波的跟踪算法, 如卡尔曼 (Kalman) 滤波[7]、粒子滤波[8]等。此外不同于以上跟踪算法, 基于在线学习的跟踪方法也逐渐引起相关专家学者的关注, 并取得了较好的跟踪效果。人脸跟踪算法作为人脸跟踪技术实现的核心, 一直是人脸跟踪研究的热点和重点, 对提高人脸跟踪系统的交互的实时性和系统鲁棒性具有重大意义。
2、人脸跟踪技术综述
人脸跟踪技术有多种实现方法。人脸可以看成是一种近似刚体的运动目标, 基于人脸的跟踪技术主要可以分为三类:基于模型匹配的跟踪、基于区域匹配的跟踪和基于特征匹配的跟踪。
2.1. 基于模型匹配的跟踪
基于模型匹配的跟踪算法特点是, 通过建立模型的方法来表示需要跟踪的目标物体, 然后在序列图像中跟踪这个模型来达到跟踪的目的。基于模型匹配的跟踪方法, 不仅适用于刚性物体, 同样也适用于非刚性物体。
刚性物体或近似刚性物体在大多数情况下, 其运动状态变换主要是平移、旋转和放射运动。对于刚性物体, 基于模型匹配的跟踪算法, 采用计算相关匹配或通过Hough变换的方法来获取图像在下一帧的位置, 进行人脸跟踪
非刚性物体, 是针对确切几何模型不易获得的物体。基于模型匹配的人脸跟踪方法, 建立变形轮廓模板, 利用变形轮廓模板可以发生形变以匹配目标物体形状的特性精确跟踪非刚性的物体。目前主要有两种类型的可变形模型, 一种是自由式的可变形模型, 只要满足一些简单的正则化约束条件 (如连续性, 平滑性等) , 就可以用来跟踪任意形状的目标物体, 这类方法通常也被称为活动轮廓模型。另一种是参数形式的变形模型, 它使用一个参数公式, 或者是一个原形与一个变形公式来共同描述目标物体的形状。梁路宏等[9]首先利用模板匹配和神经网络检测人脸, 然后根据帧间约束预测下一帧人脸可能的位置。例如:德国DCS AG公司推出的基于多重模板匹配跟踪技术的身份识别系统BioID, 利用将人的面貌、声音以及嘴唇运动三种生物特征相结合, 与计算机当中的模型进行匹配, 可以在一秒钟内快速完成身份识别和人脸的跟踪。
2.2. 基于区域匹配的跟踪
基于区域匹配的跟踪, 是把图像中目标物体的连通区域的共有特征信息作为跟踪检测值的一种方法。这种方法主要适用于连续的图像当中是因为在连续的图像中包含多种区域信息, 例如纹理信息, 颜色信息等等。与基于特征匹配的跟踪方法相比, 该方法不需要在序列图像的下一帧中找到同上一帧图像中完全相同的特征信息, 而是通过计算获取区域和原始目标物体之间的相关性来判断跟踪物体的位置。同一个区域判断标准, 是检测获取区域同上一帧的相关系数, 相关系数越大, 那么越有可能是同一个区域。
由于在实际跟踪单一的特征往往不太好选择, 所以现在大部分人脸跟踪系统, 选用根据整个区域 (如运动、纹理特性) 提供的单一特征信息来实现跟踪, 即基于区域的跟踪方法。Harihara Krishman[10]将目标物体分割成16*16的块, 通过运动估计与块匹配方法来实现对人脸的跟踪。
比较著名的是美国CMU的人机接口研究室和MIT的AI实验室及媒体实验室, 这些实验室主要解决人脸跟踪中实时性和健壮性的问题。美国Intel公司则基于他们的研究成果开发了一个称为CAMShift的系统, 以人脸的运动来控制计算机虚拟场景中三维方向的运动。随着算法的不断成熟以及计算机性能的提高, 对于人脸跟踪的研究逐步向快速、实时、鲁棒的方向发展。最近国外比较成功的跟踪方法有Santana等采用多模块级联的方式, 实现快速人脸跟踪。
基于区域匹配的跟踪具有精度高、不依赖于具体目标模型等优点, 可用于实现人头部自由运动的跟踪。但由于区域特征仅利用了图像的低层信息, 且不能根据目标的整体形状来对跟踪结果进行调整, 因此在长时间连续跟踪时容易因误差累积而发生目标丢失的情况。
2.3. 基于特征匹配的跟踪
基于特征匹配的跟踪方法, 它仅仅通过目标物体的一些个体特征来进行跟踪, 并不考虑所跟踪目标的整体特征。由于常见的图像序列间的采样时间间隔通常很短, 可以认为这些个体特征在运动形式上具有平滑性, 因此可以通过这些个体特征来完成目标物体的跟踪过程。基于特征匹配的跟踪方法, 参照在给定约束条件的前提下, 一帧图像的特征集和参考图像的特征集之间, 满足距离最小的原则。充分利用空间位置相对不变的影像特征, 提取出该帧图像和参考图像的特征量, 然后按照一种或几种相似性度量对二者进行比较。如果两者满足距离最小的原则, 则该物体为跟踪的目标。
采用基于特征匹配的方法进行序列图像运动目标的跟踪, 具体实现步骤, 主要包括两个过程:1、特征提取2、特征匹配。在特征提取过程中需要选择适当的跟踪特征, 并且在序列图像的下一帧中提取这些特征;在特征匹配过程中, 将提取当前帧的特征同上一帧, 或者是用来确定目标物体的特征模板进行比较, 根据比较结果确定是否是对应物体, 从而完成跟踪过程。
Li[11]等人首先通过肤色特征得到人脸区域, 然后提取人脸的Gabor小波特征进行跟踪;Jacquin和Eleftheriadis[12]提出的人脸进行跟踪方法是根据头部轮廓的特征和帧间的差值。邢昕[13]等人提出了一种基于器官跟踪的人脸跟踪算法, 利用形态学运算对嘴进行跟踪, 并在很少的局部旋转运算处理后, 简单的分析人脸对称性, 从而高速准确的跟踪人脸。在这些方法中, 特征点会由于遮挡或光线变化而不可见, 这将导致跟踪失败, 这是基于特征匹配跟踪的缺点, 虽然可以得到新的特征点, 但这要以额外的累加误差为代价。
从国内近期的研究成果看, 清华大学的艾海舟和智能技术与系统国家重点实验室做了关于基于特征匹配的测试, 采用了差分图像方法对于办公桌前的人像进行了定位跟踪, 每次连续运行5分钟, 共计1123帧128×128的图像或2610帧64×64的图像, 检测结果正确率大于97%。高文等利用彩色信息对人脸进行可靠跟踪, 对128×128图像的跟踪速度是2.3帧/秒, 69帧中64帧成功。
3、技术难点
人脸跟踪技术作为21世纪的一项新兴技术, 还存在许多技术不完善的地方。主要包括以下三方面:人脸的采集、人脸的精确定位、人脸的高效跟踪。
1) 在人脸采集过程中, 由于人脸是一类具有相当复杂的细节变化的非刚体目标, 它的采集是一个极其具有挑战性的课题。人脸采集主要受以下因素影响:个体差异、人脸姿态、人脸表情、人脸附属物等。
2) 人脸精确定位困难, 主要包括采像技术、人脸存储和匹配技术。人脸采像过程中, 由于在图像成像时, 一些因素如光照 (光谱范围、光线分配和强度) 和照相机的性能 (敏感度、透镜) 都会影响图像中人脸的外观。导致在人脸进行匹配时, 检测到得人脸图像与数据仓库中存储的人脸数据存在偏差, 导致不能识别人脸, 人脸精确定位失败。人脸存储和匹配技术, 存在存储不完整, 图像数据冗余繁琐, 匹配标准和误差, 没有严格的规范和定义。
3) 在人脸快速准确跟踪过程中, 实时性、交互性与匹配准确性没有达到很好的融合, 例如现在的人脸跟踪技术, 对于高速移动的人脸, 跟踪的技术紧随性不强;变形的人脸, 会导致人脸跟踪失败。
总结上述方面原因, 人脸跟踪技术现在发展的瓶颈在于:1.人脸跟踪受到外界环境较大, 系统鲁棒性不理想。2.对人脸跟踪的实时性和精确性没有达到和好的平衡。
4、应用前景
人脸跟踪, 作为自动人脸识别、视频会议、基于内容的压缩与检索等领域的一项关键技术, 有着广泛的应用前景。应用方面, 在现今的科技背景下, 人脸跟踪技术主要应用于三大主流领域:信息监控管理领域、生物识别领域和人工智能领域。
1) 信息监控管理领域:人脸检测及跟踪, 被开发人员作为单独和完善的功能模块进行应用开发。主要应用在智能视频监控, 视频检索和城市管理等方面。例如, 现在广泛推广的智慧城市中, 人脸跟踪技术被作为核心技术应用在城市安全管理中。公安人员可以利用遍布城市角落的摄像头组成的人脸跟踪系统让罪犯在城市中无处可逃。又如, 许多CBIR (Content-Based Image Retrieval, 即基于内容的图像检索) 系统中, 都使用人脸检测和跟踪作为核心的技术模块, 利用数据仓库当中的人脸图像信息, 作为检索条件检索相应信息。芝加哥大学开发的用于在万维网上搜索图像的影像搜索引擎WebSeer中就使用了基于神经网络的人脸检测作为搜索引擎的一部分。因特网上广泛使用的数字图书馆包含大量的视频及音频信息, 因此许多数字图书馆也将人脸检测作为系统搜索引擎的组成部分。
2) 生物识别领域:人脸跟踪与人脸检测、人脸识别有着直接的联系。人脸跟踪技术中常常对人脸识别技术进行优化和提高。由于人脸识别具有其它生物特征识别系统所不具有的友好性, 所以人脸跟踪的核心技术也常常应用于生物识别领域, 不同于指纹和虹膜对人身份的识别。人脸跟踪技术作为生物特征识别技术的一种, 有着非常好的特性:1、非接触性, 被测者不需要与采集器直接接触, 即可把图像信息送入数据库当中;2、唯一标识性, 一般人脸和被测者永不分离, 不会丢失, 安全性高。3、易于普及, 进行身份识别, 只需要安装摄像头, 且易于人工鉴别判断。例如:2008年奥运会, 由中科院自动化研究所研制的奥森人脸识别跟踪系统, 作为奥与会开闭幕式的第一道防线, 保障奥运会的安全。
3) 人工智能领域:人工智能与人脸跟踪相结合, 是各国研究的热点。在机器人中, 加入人脸识别跟踪功能, 将大大提高机器人的智能化程度。在日本, 科研人员研究的智能家庭机器人, 可以完成人身份的识别, 从而为不同的人设置不同的人性化服务。而在美国, 人脸跟踪技术被应用智能导弹中, 该智能导弹会自动避开其他导弹的拦截, 并能精确的打击目标。
人脸跟踪技术在21世纪的今天, 有着重大的研究意义和广泛的应用前景。智慧城市, 物联网, 人工智能广泛应用人脸跟踪技术。人脸跟踪技术作为一项核心技术, 受到各个国家科研人员的高度重视。
5、总结
人脸跟踪是计算机视觉、人工智能领域一个重要的研究方向。作为自动人脸识别、视频会议、基于内容的压缩与检索等领域中的一项关键技术, 人脸跟踪具有广泛的应用前景, 受到研究者的普遍重视。本文从人脸跟踪的概念, 国内外研究现状, 实现方法综述, 技术难点, 应用前景这五个主要方面, 对人脸跟踪技术进行全面性, 概括性的总结, 让读者对人脸跟踪技术有一个全面性的了解。
摘要:在计算机视觉和人工智能领域, 人脸跟踪是一个得到广泛关注的热点问题, 具有较高的学术理论价值, 同时也是在智能监控、机器人、人机交互等方面有着巨大的应用潜力。本文主要对人脸跟踪技术的进行了综合性论述, 从人脸跟踪的概念涵义, 国内外研究现状, 实现方法, 应用前景方面来进行阐述。本文对人脸跟踪技术学习人员和研究人员有着积极的指导意义。
人脸检测跟踪 篇5
随着计算机视觉的快速发展,人脸识别与跟踪成为了模式识别领域一个非常活跃的研究方向,在人机交互、视频监督等领域有着非常重要的应用。近年来在人脸跟踪领域提出了许多优秀的算法,如基于形态学相关概念的人脸识别[1]、基于奇异值分解的人脸识别[2]、利用神经网络识别人脸的方法[3],然而许多算法由于计算复杂都未能应用到对实时性要求较高的场合。Dorin Comaniciu将Mean shift算法引入了人脸跟踪领域[4]并成功的进行了人脸跟踪,极大的减少了跟踪算法的计算量。因此国内外有许多人继续完善Mean shift算法的应用[5],解决了算法中存在的一些缺点和不足[6]。然而Dorin Comaniciu提出的算法以彩色直方图作为特征来实现目标的识别与定位,对于灰度图像,由于灰度直方图所包含的图像信息单一且易受到光照变化的影响,使得Mean shift算法很难应用于灰度图像,限制了Mean shift算法的适应环境。国内外还没有提出成熟的算法来解决上述问题。同时,彩色图像同样难以克服光照变化的影响,因此提出一种结合多种特征的快速跟踪算法具有十分重要的意义。本文提出了以代表图像的梯度方向信息的方向编码[7]与灰度直方图相结合的特征模型,将灰度-方向编码二维直方图与Mean shift算法相结合,使得Mean shift算法在灰度图像中的应用更加有效。能克服光照的影响,并且在背景混乱且存在遮挡的情况下仍可稳定快速的实现人脸跟踪。
2 目标模型描述
2.1 方向编码
给定一灰度图像I,我们定义像素的梯度方向角:
其中:分别是该像素处沿着x和y方向的梯度,可以通过梯度算子(如Sobel算子)来获得。梯度方向角θ的取值范围是0~2π(radians),为了获得方向编码,需要对方向角进行量化。设方向角量化的间距为∆θ,于是方向编码可按式(2)计算:
如果方向编码量化成m个,则cij的取值为{0,1,2,…,m-1}。对于小于阈值T的像素,定义其方向编码为m,因为此区域很难计算出稳定的梯度方向角,阈值T根据经验来选择,可根据要跟踪的目标的梯度丰富程度来适当调整,本文选择T=5。如采用的量化方向为16个,方向编码的间距∆θ取π/8(radians)。
2.2 灰度-方向编码二维直方图
在人脸跟踪的过程中,光照的影响是无法避免的,当人从阳光直射区域走向阴影区域,或者从一种光源下走到另一种光源下,人脸的灰度将发生明显的变化,此时即便是彩色图像也很难克服光照的影响。因此仅靠彩色或者灰度特征的最大局限性就在与此。结合灰度-方向编码的目标描述模型可以有效的克服光照的影响。
像素的灰度值Ii,j可以表示为n个等级。方向编码可以将梯度方向角量化成m个等级。可以利用灰度-方向编码构造二维直方图p(u,v)来描述人脸目标模型。灰度-方向编码直方图就是统计各个灰度-方向编码在图像中出现的概率。图像中第u=0,1,…,m-1;v=0,1,…,n-1个灰度-方向编码出现的频率为
其中δ是delta函数。
图2显示了灰度-方向编码对光照变化的稳定克服。当图像的亮度或者对比度发生改变的时候,由灰度-方向编码构成的图像仅存在很微小的变化,因此应用灰度-方向编码在灰度图像中描述人脸的特征模型具有很高的稳定度。
(m=16,n=16,T=5)(a)、(b)、(c)是不同光照下的人脸图像;(d)、(e)、(f)是(a)、(b)、(c)对应的灰度-方向编码图像(m=16,n=16,T=5)(a),(b),(c)is the original face image in illumination change;(d),(e),(f)is the IOC of(a),(b),(c)
3 Mean shift原理
Mean-shift算法[8]是一种非参数密度估计的算法,可以通过迭代快速的收敛于概率密度函数的局部最大值,因此在目标实时跟踪领域有着很高的应用价值。对于n维欧式空间X中的有限序列S,样本数据点x∈X处的样本均值定义为[9]
其中:K为核函数,w为样本的权值函数,差值m(x)-x被称为Mean shift矢量,反复将数据点朝着Mean shift矢量方向移动直至收敛的过程被称为Mean shift算法。在迭代过程中,在x处利用核函数K计算出的Mean shift矢量指向卷积曲面J(x)=∑aG(a-x)w(a)的负梯度方向,其中,核函数K与G的相互关系应满足g′(r)=-ck(r),r=||s-x||2,c>0。g和k分别为核函数G与K的轮廓函数,c为常数。当迭代结束时核中心的位置对应某个概率密度的极值。在目标跟踪的过程中,通过J(x)来刻画目标模型和侯选区域之间的相似形,从而使跟踪问题转化为Mean shift的模式匹配问题。
4 跟踪算法
4.1 模板模型
灰度-方向编码二维直方图统计的是图像中梯度的方向编码与灰度值出现的概率,不受目标尺寸变化以及光照条件变化的影响。假设目标模板的中心为y0,核函数窗口宽度为h。模板中的各个像素位置以表示。若目标的模型被量化成m个方向编码和n个灰度等级,则归一化后的目标的第u=0,1,…,m-1;v=0,1,…,n-1个灰度-方向编码出现的概率可表示为
其中:函数b1:R2→{0,1...,m-1}是位于xi处的像素向方向编码索引的映射,b2:R2→{0,1...,n-1}是位于xi处的像素向灰度量化索引的映射,在实验中我们选取m=16、n=16。Ch是灰度-方向编码直方图的归一化常数。为了增加密度估计的鲁棒性,我们对距离中心y0较远的像素分配较小的权值,因为位于此处的像素很可能是背景;而对于距离中心y0较近的像素分配较大的权值,因为位于此处的像素更可能是要被跟踪的目标。因此对方向直方图进行加权处理,引入核函数k(x),则模板的方向直方图随即修改如下:
由条件可得到归一化常数:
4.2 候选区域模型
为了实现在当前帧中准确的匹配跟踪目标,需要得到目标侯选区域的概率模型,设为目标候选区域的各个像素的位置,在当前帧的中心位置为y,应用同样的核函数k(x)以及窗口宽度h,目标候选区域的第u=0,1…,m-1;v=0,1…,n-1个灰度-方向编码出现的概率可由下式计算:
其中Ch1可按式(7)将中心位置y0换成y后计算。
4.3 用Bhattacharyya系数度量相似度
在得到目标模板和候选区域的概率密度函数后,在当前帧中寻找目标位置的任务就转换成寻找使得密度函数最相似的位置。在这里我们用Bhattacharyya系数评价方向直方图的相似性。目标模型的概率分布与候选模型概率分布的Bhattacharyya系数为
越大,则模板与侯选区域越相似。跟踪过程就是通过Mean shift算法的快速匹配,迭代到与模板最相似的位置。
4.4 目标定位
采用Mean shift算法搜索目标位置。定义样本均值为
其中:g(x)=-k′(x)为核密度估计,wi为数据点xi的权值。
定义样本均值与实际数据点之差为Mean shift矢量Mh,g(x),即:
Mean shift的过程即通过计算Mean shift矢量Mh,g(x),并根据Mh,g(x)来反复迭代更新核函数窗口中心位置的过程。设核函数窗口的初始位置为ŷ0,ŷj+1是在ŷj位置计算的加权均值,则当前帧中目标位置ŷj+1为
5 实验步骤与结果
算法的整个跟踪过程如下:
1)在当前帧初始位置处计算侯选目标特征模型,并根据式(9)计算侯选区域模型与模板模型的相似度;
2)计算;
3)根据式(13)计算Mean shift算法迭代的侯选目标新位置;
4)计算新的侯选目标位置的目标特征模型,并计算其与模板的相似度;
5)如果,则ŷ2←(ŷ1+ŷ2)/2,直到;
6)如果||ŷ2-ŷ1||<ε停止,否则ŷ1←ŷ2转到步骤2)。ε的选择应使ŷ2与ŷ1的间距小于一个像素。
通过大量的序列图像对本算法进行了测试。图3显示了存在人脸三维旋转、遮挡以及其他人脸干扰的情况下的跟踪结果。图像的大小为768pixel×576pixel。模板大小选择48pixel×68pixel,采用的方向编码量化为16个,灰度等级为16个。在跟踪过程中通过人工选定目标后,就无需输入任何参数。第10帧与初始帧相比目标没有显著变化;第119帧目标发生较大幅度旋转;第241帧目标发生三维旋转,导致人脸发生大幅度变化;第333帧人脸位于复杂背景下,并且出现人脸三维变化,同时造成光线变化;第431帧人脸被手臂遮挡;第591帧背景中出现其他人脸的干扰。对序列图像的实验结果表明,结合灰度与方向编码特征的方法具有稳定的跟踪效果。本实验在奔腾2.8G的PC机上以VC++6.0为平台运行,计算时间为34ms/f。
图4显示了本算法对光照变化的适应能力,对图像的像素值随机乘以上下分别变化10%的光照影响因子,直方图的量化等级与图3的实验相同。结果表明,本算法对光照具有较好的适应能力。
6 结论
针对灰度图像的直方图信息单一使得Mean shift算法难以应用到灰度图像上的状况,本文提出了新的目标概率模型的建立方法。以灰度-方向编码直方图为目标的特征模型,结合了多种特征,克服了单一的灰度特征易丢失目标的缺点。以Mean shift算法为核心,减小了目标的模式匹配的搜索范围,通过迭代使得搜索过程快速收敛。实验结果证明,该算法可以增强Mean shift算法在灰度图像中应用的稳定性,可以成功的克服光照变化、混乱、遮挡、以及目标自身的缩放与旋转,并且计算简单,对于48×68大小的目标,计算时间仅为34ms,完全可以满足实时性的要求。
参考文献
[1]余杨,张旭苹.灰度人脸识别形态学相关的一般理论研究[J].光子学报,2006,35(2):299-303.YU Yang,ZHANG Xu-ping.General Theory Research on Morphological Correlation for Gray-Scale Face Recognition[J].Acta Photonica Sinica,2006,35(2):299-303.
[2]梁毅雄,龚卫国,潘英俊,等.基于奇异值分解的人脸识别方法[J].光学精密工程,2004,12(5):543-549.LIANG Yi-xiong,GONG Wei-guo,PAN Ying-jun,et al.Singular value decomposition-based approach for face recognition[J].Optics and Precision Engineering,2004,12(5):543-549.
[3]赵静,夏良正.基于连续小波变换的神经网络人脸识别研究[J].光子学报,2005,34(9):1425-1430.ZHAO Jing,XIA Liang-zheng.Face Recognition Using Neural Network Based on Continuous Wavelet Transform[J].Acta Photonica Sinica,2005,34(9):1425-1430.
[4]Comaniciu D,Ramesh V,Meer P.Kernel-based object tracking[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2003,25(5):564-577.
[5]Ning Song P,Jie Y,Zhi L.Mean shift blob tracking with kernel histogram filtering and hypothesis testing[J].Pattern Recognition Letters,2005,26(5):605-614.
[6]彭宁嵩,杨杰,刘志,等.Mean-Shift跟踪算法中核窗宽的自动选取[J].软件学报,2005,16(9):1542-1550.PENG Ning-song,YANG Jie,LIU Zhi,et al.Automatic Selection of Kernel-Bandwidth for Mean-shift Object Tracking[J].Journal of Software,2005,16(9):1542-1550.
[7]Ullah F,Kaneko S.Using orientation codes for rotation-invariant template matching[J].Pattern Recognition,2004,37(2):201-209.
[8]Fukanaga K,Hostetler L D.The estimation of the gradient of a density function,with application in pattern recognition[J].IEEE Trans.on Information Theory,1975,21(1):32-40.
一种正则粒子滤波的人脸跟踪算法 篇6
有关人脸跟踪的方法主要有两类,一类是通过人脸检测来达到跟踪的目的,另一类是通过人脸的运动估计,对人脸的位置进行预测跟踪。然而,目前的人脸检测算法还无法很好地解决在旋转、遮挡情况下的跟踪,为此,本文采用了后一类的运动预测的方法来实现人脸的跟踪。
基于Kalman滤波的运动预测方法,对于刚体运动,在线性、高斯条件下取得了很好的跟踪效果。但是人脸运动是一种非刚体、非线性非高斯运动,在这种情况下,Kalman滤波并不理想,而粒子滤波[1,5,6,7]是解决这一问题的有力工具。视觉跟踪是计算机视觉研究的主要方向,本文通过人脸的运动估计,对人脸的位置进行预测跟踪。通过正则粒子滤波,用Bhattacharyya距离[4]描述粒子直方图与目标直方图的相似程度,并以此计算粒子权值进行跟踪,在人脸旋转、肤色和背景影响下呈现较好的鲁棒性。
1 颜色模型
本文根据人脸颜色分布和五官特征,提出了一种分块颜色直方图。首先,将人脸区域划分为上下左右四个不同的子块,使每个子块包含不同的特征,并以子块值作为直方图统计的一个索引。对于四个子块的所有色差的统计量为8*8*4=256,将其作为分块直方图来定义,其表达式如下:
式(1)中,N为统计区域内像素总数,u为直方图的索引,δ为Kronecker delta函数,k为归一化常数。按照公式(4)所得到的一个人脸区域的分块直方图h0。假设目标人脸直方图与粒子区域直方图h0的相似程度采用Bhattacharyya系数来度量,则有:
其距离,越小说明两区域越相似。
2 基于粒子滤波的人脸跟踪算法
粒子滤波其主要思想是用一组带权值的粒子来描述目标状态后验概率分布,主要过程包括粒子的初始化、重采样、预测、观测值计算和目标状态更新。将其用于人脸跟踪过程如下。
设系统状态向量X=[x0,y0,△x,△y,w,△w],其中,x0、y0为人脸区域中心坐标,△x、△y为人脸运动的位移变化量,w为人脸区域宽度,△q为人脸尺寸的变化量。本文选取的粒子数N=100,初始人脸模型位置假设已经得到。
(1)初始化
在初始人脸附近随机选取100个粒子,计算其分块颜色直方图,并分别计算各个粒子与目标人脸的Bhattacharyya距离,从而可得各个粒子的权值wi为:
(2)重采样
粒子在传播过程中,一部分粒子会飘逸到离目标较远的地方,权值相对很小,这样的粒子对于目标状态的预测贡献非常小,形成粒子退化现象。因此在传播过程中对粒子进行重采样[1],使权值较大的粒子产生多个新的粒子代替权值较小的粒子进行传播。采样算法如下:设t-1时刻粒子集为{snt-1,wnt-1,cnt-1n=1…N},wnt-1为对应粒子的权值,cnt-1为对应粒子权值的累加概率。产生一随机数r,符合均匀分布,当cnt-1时,st'(n)=sjt-1,从而得到新的粒子集{st'n,n=1…N}。
(3)预测
本文采用一阶预测过程如下:
其中,第一部分表示确定性部分,第二部分表示随机部分,见文献[1,5,6]。
在状态向量中,△x为目标的运动速度,△x*△T即反映了目标运动的位移和方向。wt(n)为标准正态分布随机数,B*wt(n)事实上反映了高斯噪声的方差σ,作用到图像中即是粒子的分布范围大小。
(4)观测
由(3)的粒子经过传播后得到新的粒子集后,计算其各个粒子的观测值和归一化的权值wtn,并计算累计概率ctn,
(5)人脸状态更新
t时刻人脸状态可以估计为:
3 目标位移和噪声方差的自适应更新
在预测过程中所加目标位移值和高斯噪声方差都会直接影响到跟踪的精度,位移值反映了目标运动的位置和方向,是预测的确定性部分。高斯噪声方差的大小反映了粒子的分布范围的大小和粒子的多样性。在没有遮挡等跟踪较准确的情况下,粒子的位移采用前两帧目标位移之差,即:
这时,高斯噪声方差σ应取较小的值,使粒子分布在目标附近较小范围内。
在噪声影响及有遮挡预测误差较大情况下,选取较小的位移量,并且增大噪声方差,从而增大粒子的多样性,使得部分粒子能够分布在目标附近,得以准确跟踪。而预测准确程度我们利用预测粒子的直方图与目标模型的Bhattacharyya系数ρ进行判断。当ρ>th时,位移量采用式(6)计算;当ρ≤th时,△x=(1-ρ)×△x,△y=(1-ρ)×△y。噪声方差为σ=a/(exp(-(1-ρ)))。
4 正则粒子滤波
正则粒子滤波是为了解决由重采样引入的新问题而提出的一种改进的粒子滤波。当通过序贯重要性采样后引起粒子退化问题时,前面提到可以用重采样的方法来减小退化的影响,但是引入重采样策略同时也引入了新的问题,即粒子匮乏问题。经过若干次迭代之后,所有粒子都趋向于同一个粒子,导致粒子的多样性丧失。
正则粒子滤波正是为了解决上述问题而提出的。它与SIR粒子滤波的区别在于:在重采样过程中,SIR从离散近似的分布中重采样,而正则粒子滤波则从连续近似的分布中重采样。
式(7)中,是对核密度K进行了重新标度后的结果,n为x的维数,h称为核带宽,满足h>0,并且核密度满足:
的对称概率密度函数。对核带宽h的选择,要求满足后验密度和相应的正则经验密度表示之间的平均积分方差最小。
其中,p(xk│y0:k)表示对p(xk│y0:k)的近似。在所有权值相等的特殊情况下,最佳的核密度是Epanechnikov核密度。
其中,Cnx是Rn内单位超球体的体积。
如图一所示,是对行走中的人物姿态发生变化时的跟踪效果。可以看到,在目标运动过程中,虽然人头有很大的转动,但仍旧能够准确地实施跟踪。
5 结束语
针对人脸运动过程非线性、非高斯特性,本文采用了高斯粒子滤波的方法来进行人脸跟踪,用Bhattacharyya系数来测量粒子模型与人脸模型的相似程度。实验验证了本文方法对于人脸尺寸变化、旋转有很强的鲁棒性。
参考文献
[1]Isard M,Blake A.CONDENSATION-condi-tional density propagation for visual tracking[J].Inter-national Journal of Computer Vision,1998,29(1):5-28.
[2]M.Isard and A.Blake,ICONDENSATION:U-nifying low-level and high-level tracking in a stochas-tic framework[C],in European Conference on Comput-er Vision,1998(,1):893-908.
[3]Nummiaro K,Koller-Meier E,Van Gool L.An adaptive color based particle filter[J].Image andVision Computing,2003,21(1):99-110.
[4]T Kailath,The divergence and Bhattacharyya distance measures in signal selection[J].IEEE Transac-tions on Communication Technology,vol.COM-15,1967,(1):52-60.
[5]Blake A,Curwen R,and Zisserman A.1993.A frame work for spatio-temporal control in the track-ing of visual contours[J].Int.Journal of Computer Vi-sion,11(2):127-145.
[6]查宇飞,毕笃彦.一种基于粒子滤波的自适应运动目标跟踪方法[J].电子与信息学报,2007,29(1).
人脸检测跟踪 篇7
为避免主流裸眼3D技术存在的问题,本课题组提出了时空混合控制裸眼立体显示技术[9],可实现全分辨率裸眼3D显示,并有效降低串扰率。但该技术的视区仍呈交替分布,同样存在逆视区域。为此,本文利用优化的人脸跟踪技术实时获得用户所在的准确位置,并据此迅速切换左右视区,从而保证用户在空间和时间上无缝地观看到清晰、优质的立体图像。
1 原理与算法
1. 1 原理部分
为了消除“逆视”现象,达到自然流畅的观看效果,本文分别从空间和时间两方面进行考虑。
空间无缝: 裸眼3D显示基于视差成像原理,将立体图像间隔地送到空间不同位置,左右眼图像的显示区域分别称为左眼视区和右眼视区。当观看者左右眼分别处于相应视区时,即可正常观看立体图像,如图1a所示; 如果观看者发生横向移动,将导致“逆视”现象,如图1b所示。因此,观看者有50% 的几率处于逆视区域[1]。监控双眼分别所处的位置,并调整视区排布形式与之匹配,如图1c所示,即可实现空间上的无缝观看。
时间无缝: 前期实验发现,由于视区切换的响应速度过慢,当人脸移动到相邻视区时,系统未能及时切换左右眼视区; 滞后的视区切换,将导致观看者感觉图像产生“跳变”,影响了3D观看体验。基于Adaboost + Cascade + Haar算法,本文集中研究了采用感兴趣区域( Region Of Interesting,ROI) 方法进行人脸检测的实时优化,以及通过与下位机进行通信控制背光方式,在视觉暂留时间内完成对用户的跟踪行为,实现时间上的无缝观看。
由于时空混合控制裸眼3D显示系统在最佳观看距离处的视区宽度明显大于瞳孔直径,不会出现左右眼同时处于同一图像区域的现象,因此在实际应用中采用人脸检测已可满足实用的要求。人脸检测的方法有很多[10],如有肤色区域分割与人脸验证的方法[11],基于启发式模型的方法[12],基于统计模型的方法[13]等。本文采用了基于统计模型中的Adaboost +Cascade + Haar算法,该算法利用积分图进行相关计算,通过分类器级联的方法提升效率,在速度与精度的综合性能上具有优异表现,是目前人脸检测最为成功的算法之一。Ada Boost算法基于Haar矩形特征量化了人脸特征,用于评估人脸和非人脸,训练时通过调整每个样本对应的权重获得强分类器。Cascade算法则将上述Ada Boost训练的强分类器进行级联,形成级联分类器。其中,级联时位置越靠后的分类器将具有越强的分类能力。待检测区域图像只有通过所有的节点分类器才被接受为人脸区域。
1. 2 人脸跟踪算法
人脸跟踪算法可分为人脸检测、人脸定位与跟踪策略判定。本算法利用两台摄像机同时分别拍摄两张不同角度的图像,通过人脸检测技术分别从这两张图像中获取人脸位置,返回其图像坐标; 进而通过摄像机之间位置关系,以及上述的两个图像坐标,计算出人脸的空间坐标,从而让系统实时地掌握观看者的动向,向下位机发送指令,实现图像的匹配放送。具体流程框图如图2所示。
1. 2. 1 人脸检测优化
人脸检测过程当中,耗时最长的环节是使用Haar分类器对整个画面进行遍历。当程序运算速度足够快时,每两帧之间人脸位移较小,并不需要遍历整个画面,只须以原检测到人脸的区域为中心,扩展一定的范围作为ROI,仅对该区域进行搜寻即可实现效率与准确率兼顾的人脸检测。此ROI方法具体操作如下: 在第n帧图像中检测到人脸,得到人脸区域的长Wface和宽Hface; 设定ROI参数为scale,使长和宽分别扩大为
式中: WROI,HROI即为ROI区域的宽和高,从而得到ROI区域,如图3所示。处理第n +1帧图像时,仅仅在这个ROI( 图中虚线框区域) 中检测人脸; 若检测不到人脸,则取消ROI,进行全图检测,以确保没有人脸被漏检。本方法提高检测帧率的关键在于ROI参数scale的设置,后文将通过实验具体讨论ROI参数scale的设置。
1. 2. 2 人脸定位与跟踪策略判定
根据两个摄像头拍摄所得的人脸中心图像坐标Ol( xl,yl) 和Or( xr,yr) ,及摄像头间几何位置关系,可用相似三角形法确定人脸在真实空间中的三维位置。如图4所示,以双摄像头连线中点为空间坐标原点( 0,0,0) ,并将2幅图像中对应点的像素坐标换算为实际坐标,进而可推导出物体的空间坐标公式
式中: f为摄像头镜头焦距; T为摄像头镜头光心的水平距离;Wimage为显示图像宽度; Himage为显示图像高度; ( X,Y,Z) 为被测物体的空间坐标。
本系统设计最佳观赏距离为93 cm,在该水平面上规定5个可视位置,并将其依次排序编号0 ~ 4。在根据上述定位方法确定了人脸的空间坐标之后,算法将判定人脸所处的位置,并向串口发送相应的信号,控制背光向对应的视区,放送正确的立体图像对。
2 系统的搭建
系统中的人 脸跟踪模 组由2个型号为 大恒DH -HV1351UM的USB摄像头完成拍摄,曝光时间设置为10 ms,曝光系数设置为mode_0,采集图像的格式设置为320×256; 处理计算机CPU型号为Intel Core ( TM) i7,双核主频 均为2. 67 GHz,可用内存大小为3 Gbyte。
计算机处理图像后输出指令传递到下位机,下位机中的FPGA模块获取该信号之后,开启特定的背光LED,关闭对应其他区域的LED,从而实现对特定区域的图像输送。例如: 当人脸处在2号视区,相应发送信号“2”至下位机,从而开启对应视区2的背光LED灯组。此外,设定信号“5”为全背光开启,当退出3D观看模式以及检测到人脸不在3D观看区域内时,程序将向下位机发送“5”。
经过整合以上器件,全高清裸眼3D显示原型机实物及相应的人脸跟踪程序界面如图5所示。
3 实验结果
为了验证本技术所实现的视区在空间上无缝,本文首先进行一个仿真实验: 以视区划定区域的白板为承接屏,以假人头像作为标准参考物,设置绿色和红色图像分别为左眼和右眼图像。移动假人头像,使其分别出现在各个视区,通过观察红绿色光在白板上的投影区域,即可验证本设计对于消除逆视区域是否切实有效。如图6所示,人脸出现在各个视区中都可以得到系统准确的响应,证明本技术有效消除了逆视区域,保证了空间上的无缝观看。
在此基础上,本文为进一步实现时间上的无缝显示效果,并通过实验进行检验。根据人体运动速度的先验知识,ROI参数scale设定为0. 06,0. 08,0. 01,0. 12,0. 14,0. 16。以同一测试源分别进行5 min的测试,该视频源中人脸在程序的监控画面里以固定的频率和速度移动,检测得到的数据记录如表1所示。
从人脸检测率一栏表明,本程序检测率稳定在98% ~99% ,可以实现准确的人脸检测。在此基础上,记优化后的分类器耗时为tclassifier,ROI内检测率为rROI,即在ROI中能准确检测到人脸的概率。在图7a中绘制出分类器耗时、ROI内检测率与ROI系数的关系曲线。为了综合以上两个因素进行考虑,本文定义ROI检测帧率feff为每秒所能正确检测的帧数,即
以feff对优化的有效性做评估。feff越大,表明scale取此数值将获得更好的优化效果。将计算结果绘制如图7b所示。
由图7可知,ROI检测帧率随着ROI系数增大而增大,当ROI系数为0. 14之后,分类器耗时反而开始增加,而ROI内检测率提高不明显,导致当ROI系数大于0. 14时,ROI检测帧率开始下降。因此,本文取定参数scale为0. 14。优化前后的分类器耗时对比如表2所示。
长时间( 约30 min) 测试结果表明,在双摄像头情况下,系统工作频率高于23 f/s( 帧/秒) ,趋向人眼不可分辨的频率阈值( 24 f/s) ,人脸检测正确率高于98% ,因而理论上可以实现图像的时间无缝切换。经多名被试者观看后反馈,本系统3D显示效果生动清晰,移动时图像在空间各位置切换自然流畅,均未出现逆视现象。因此,本技术能实现空间和时间上的无缝裸眼立体显示。另外,本技术通过结合背光设计,可实现多人的实时跟踪显示3D图像,可以应用于更广泛和更丰富的裸眼3D显示平台。
4 小结