拟人机器人人脸识别系统研究|人工智能机器人的功能

  摘 要: 研究了人脸识别系统。基于拟人机器人人脸识别系统的工作流程,对人脸识别系统中人脸检测阶段所采用的Adaboost算法、人脸跟踪阶段采用的Camshift算法,以及人脸识别阶段所使用的PCA算法进行了探讨。采用了这些经典的算法后,该系统具有较高的识别率和系统性能。
  关键词: 拟人机器人; 人脸检测; 人脸跟踪; 人脸识别
  中图分类号:TP319 文献标志码:A 文章编号:1006-8228(2012)12-14-02
  Research on face recognition system of humanoid robot
  Liu Renping, Han Xianfeng, Fang Yinglan, Hou Ruizhen
  (North China of Technology, Beijing 100144, China)
  Abstract: Face recognition system is studied in this paper. Based on the workflow of face recognition system of humanoid robot, the Adaboost algorithm for face detection, Camshift algorithm for face tracking and PCA algorithm used in this face recognition system are discussed in detail. After applying these classical algorithms, it produces a higher recognition rate and good system performance.
  Key words: humanoid robot; face detection; face tracking; face recognition
  0 引言
  人脸识别是指根据人脸所特有的特征信息进行人物身份识别的一种技术,是近些年来生物特征识别领域最活跃的研究热点之一。一个完整的人脸识别系统包括图像采集、人脸检测、人脸跟踪、图像预处理、特征提取以及身份识别等模块,因此人脸识别是一门涉及计算机技术、图像处理、机器视觉、模式识别、人工智能以及生物学的综合性学科。
  本文将要介绍的拟人机器人人脸识别系统的研究,正是致力于实现一个完整的适合拟人机器人的人脸识别系统,使其具有更好的交互能力和拟人效果。这对于拟人机器人的研究以及应用领域具有重要的现实意义。
  1 拟人机器人人脸识别工作流程
  拟人机器人人脸识别的工作流程如图1所示,主要有训练学习和人脸检测跟踪识别两个阶段组成。在人脸检测跟踪识别阶段,位于机器人头部的摄像头不停地采集进入其视野范围内的视频帧,并实时地进行人脸检测,如果其视野范围内一旦出现了人脸目标则立刻对该人脸目标进行实时跟踪,在跟踪的过程中系统会自动获取带有人脸的视频帧。接下来系统会对该视频帧进行图像预处理、特征提取等一系列操作,将待识别的图像特征与“人脸库”中的特征进行对比,触发拟人机器人的语音模块,将识别结果进行简单的语音输出。而这个阶段使用的人脸库是在训练学习阶段,对事先采集好的待识别的目标人物在不同环境下以及不同表情姿态(正面,微侧)的图片进行处理形成的人脸特征库。
  [机器人头部][开始][摄像机][获取视频流][人脸检测] [人脸跟踪] [失败][失败][成功][人脸检测][成功][预处理][人脸识别][目标人脸特征数据][特征提取][人脸训练集][人脸检测][预处理][特征提取][识别结果语音输出][结束]
  图1 拟人机器人人脸识别系统框架
  2 人脸检测、跟踪和识别的实现
  人脸检测、人脸跟踪和人脸识别是人脸识别系统当中比较关键的步骤,所选择算法的好坏直接影响着整个系统的性能。
  2.1 人脸检测
  如何实时准确地从视频流或者图片中检测出人脸,如何对存在的人脸进行定位并将其从背景图像中分离出来是人脸检测过程中最关键的问题。人脸检测对整个人脸识别系统具有重要的意义。本文主要采用实时性好、检测率高的Adaboost算法。该算法对近景远景当中的、复杂背景中的各种表情和姿态(正面,微侧)的单个人脸或者多个人脸具有比较准确的检测效果[1]。
  Adaboost算法的基本思想是对不同的训练集训练同一个弱分类器,然后将这些弱分类器按一定的权值累加起来,得到一个分类能力很强的强分类器[2]。Adaboost算法的具体步骤如下。
  设给定的一个训练集合S={(xi,yi)|i=1,2,…,n},xi∈X,yi∈Y其中,X是样本描述,Y是样本表示,yi∈(0,1),1表示正例样本,0表示负例样本。在人脸检测中,1表示人脸,0表示非人脸。
  ⑴ 将训练样本权重(训练样本的初始概率分布)初始化。Wt,i=1/2L,L为人脸样本总数。Wt,i=1/2M,M为非人脸样本总数。Wt,i为第t次循环第i个样本的误差权重。
  ⑵ For t=1 to T do(T为弱分类器的个数)
  ⑶ 对权重进行归一化:
  ⑷ 对每个特征f,训练一个弱分类器h(x,f,p,θ),计算弱分类器的加权错误率:
  ⑸ 按照错误率选择最佳的弱分类器(最小错误率):
  ⑹ 根据选择的最佳的弱分类器更新样本权重:
  其中,,ei=0表示xi被正确分类,ei=1表示xi被错误分类。
  ⑺ 对经过T次循环得到的T个弱分类器按更新的权重叠加得到强分类器:
  其中,。
  本系统正是利用Adaboost算法较好的检测能力以及较强的鲁棒性,来提高系统的检测性能,提高检测准确率和实时性。   2.2 人脸跟踪
  当利用Adaboost算法从视频流中检测出人脸目标之后,系统会立刻对视频流当中的人脸目标进行跟踪。目前常用的人脸跟踪方法有基于特征匹配的跟踪,基于区域匹配的跟踪以及基于模型匹配的跟踪[3]。对于本系统而言,实时性是最基本的要求。多人脸跟踪的实现是需要解决的一个关键问题。经过实验分析对比,本系统选择了时效性较好、鲁棒性较强的Camshift算法,该算法能够快速地对运动目标进行跟踪,对于一些遮挡的场景也具有较好的跟踪效果。
  Camshift算法的基本思想是对视频流当中的每一帧作MeanShift运算,将上一帧的运算结果,作为其后一帧进行MeanShift运算的搜索窗的初始值,如此迭代下去实现对目标的跟踪。
  MeanShift算法具体步骤如下。
  ⑴ 选择搜索框,即初始化跟踪窗口的位置和大小。
  ⑵ 计算搜索窗的质心:
  xc=M10/M00;yc=M01/M00 ⑹
  其中(搜索窗的零阶矩),;(x,y的一阶矩),I(x,y)为(x,y)的像素值,x,y的取值范围决定搜索窗的大小。
  ⑶ 调整搜索窗的大小,移动其中心到质心。
  宽度为:;长度为1.2s
  ⑷ 重复上述⑵⑶步骤,直至中心与质心的移动距离小于预定的阈值,或者超出循环次数,停止计算。
  Camshift算法的实质是对MeanShift算法的改进,将MeanShift算法应用于连续的图像序列当中。因此Camshift算法的流程如下:
  ⑴ 初始化搜索窗口;
  ⑵ 计算窗口区域的2D机率分布;
  ⑶ 用MeanShift算法来收敛跟踪的区域,获得搜索窗新的位置和大小;
  ⑷ 把第⑶步得到的结果作为下一帧的初始值,跳转到第⑵步继续执行。
  使用以上介绍的Camshift算法可以较好地实现单人脸跟踪。而为了实现多人脸的跟踪,本系统采用的方法是为每一个人脸目标分配一个Camshift跟踪器[4]。具体方法是为在人脸检测阶段检测出来的每一个人脸目标区域初始化一个Camshift跟踪器窗口;然后利用为每一个人脸目标分配的跟踪器对相应的搜索窗口进行实时跟踪,并将跟踪的结果进行保存,用于后续继续跟踪。实验表明,本系统采用的这种多人脸跟踪策略能够很好地实现多人脸的跟踪,具有较好的跟踪效果和时效性。
  2.3 人脸识别
  本系统在人脸识别阶段采用了识别性能较好的PCA算法[5],即主成分分析算法。该算法在特征提取以及降维方面有着明显的优势,是人脸识别领域当中最为经典的算法。PCA算法的基本思想是利用K-L变化获取人脸的主成分信息,构成特征脸空间,在识别的时候将待识别的图像在特征脸空间上进行投影,得到一组投影系数,通过与各个人脸图片进行比较来进行识别。PCA算法在本人脸识别系统当中进行人脸识别主要是由训练和识别阶段组成。
  在训练阶段,步骤如下。
  ⑴ 训练样本矩阵为x=(x1,x2,…,xn)T,n为训练的样本数。
  ⑵ 计算出所有训练图片的平均脸。
  ⑺
  ⑶ 计算出每一张人脸与第⑵步计算出来的平均脸之差。
  ⑻
  ⑷ 构建协方差矩阵。
  ⑼
  ⑸ 求协方差矩阵的特征值和特征向量,形成“特征脸”空间。
  w=(u1,u2,…,up) (10)
  其中,p为训练样本前p个特征向量集。
  ⑹ 将第⑶步计算出来的差值投影到第⑸步得到的“特征脸”空间上。
  (11)
  在识别阶段步骤如下。
  ⑴ 将待识别的人脸图像与上面计算的平均脸的差值投影都特征空间中。
  ⑵ 定义一个阈值。
  ⑶ 计算第⑴步得到ΩΓ与每个人脸的距离。
  ⑷ 计算原始图像与重建的图像之间的距离,用于区分是否为人脸。
  其中,。
  人脸分类的规则如下。
  ⑴ 若ε≥θ,结果不为人脸图像。
  ⑵ 若ε<θ,且ε<θ,且?i,εi≥θ结果是图像中的人脸未知。
  ⑶ 若ε<θ,且?i,εi<θ,结果是人脸为人脸库中的人脸。
  PCA算法的识别率高,识别速度快的优点使得本系统达到了一个较高的人脸识别性能效果。
  3 结束语
  本文主要对拟人机器人人脸识别系统中所采用的经典的人脸检测、人脸跟跟踪以及人脸识别算法进行了研究和分析。实验表明,本拟人机器人人脸识别系统可以对其视野范围内的单个或者多个人脸进行实时检测、跟踪和识别,具有较强的鲁棒性和较高的识别率,具有很好的应用前景。但是这些算法本身还存在着各自的不足和限制,如何改进它们以弥补这些不足,使系统能够达到更好的性能,是需要我们进一步研究和探讨的课题。
  参考文献:
  [1] 类红乐,魏忠恒,彭延军.人脸识别机器人的设计与实现[J].电脑知识
  与技术,2011.31.
  [2] 郭玉珂,张松敏,高翔.AdaBoost人脸检测算法研究[J].计算机与网络,
  2010.
  [3] 雷静.基于OpenCV的人脸跟踪识别系统设计[D].西安电子科技大
  学,2010.
  [4] 张涛,蔡灿辉.一种快速多人脸跟踪算法[J].视频应用与工程,2009.2.
  [5] 尹飞,冯大政.基于PCA算法的人脸识别[J].计算机技术与发展,
  2008.10.

推荐访问:拟人 识别系统 机器 研究