探究影像辨识里的脸部侦测技术(一)
本文作者:admin
点击:
2007-03-13 00:00
前言:
机器视觉里面最难的部分要属于辨识影像的意义,因为在此之前,机器要先能做到侦测的地步。侦测影像中有意义的物体并非一件容易的事情,因为“有意义”的描述是非常笼统且因人的观念而异。事实上,在计算机视觉(computer vision)或是影像了解(image understanding)的研究里面,侦测可分成刚体侦测与非刚体侦测两种研究客体。其中非刚体(nonrigid bodies)的侦测与辨识是一项颇具难度的工作,原因就在于非刚体具有一定范围的外型可变程度,其光线条件、形状均可能因角度、环境情状等因素而出现变异。富士(Fujifilm)相机最近的广告主打脸部定焦功能,让脸部影像拍摄起来更清晰。这功能对许多人来说是实用且有需要的,但是其简单操作后的隐藏技术却是错综复杂不是那样容易。在本文里面,我们将一探脸部侦测技术的使用原理与相关技术,这些方法里面有些稍做改良便可应用在数字相机或数字摄影机里面,也藉由技术的相关讨论,我们也可以体会到“一将功成万骨枯”的震撼。
未来最生活化的科技
不论在人机接口(human computer interface)、家庭视频保全(home video surveillance)或是生物侦测的脸部辨识及其影像数据库管理技术,人类脸部侦测与辨识技术,在许多辨识应用(identification applications)占有日益重要的应用角色。为了要让脸部辨识(face recognition)的辨识率更高,脸部位置的侦测便位居关键地位,不过在目前许多脸部辨识的算法,其均假设脸部位置是已知的情况。这种情形也常发生在脸部追踪(face tracking)应用上面,他们也通常是在假设脸部起始位置已知的情况下进行。因此为使其系统具备连贯性,往往需要结合多种算法始能完成任务,但这也造成系统复杂度增高与处理上可能无法最佳化的问题。有人将脸部的侦测(face detection)可以视为是一种分类问题,其主要功能在于判别输入之单一影像内是否存在脸部区域,如果存在则进一步确定脸部位置。换句话说,区分脸部区域与非脸部区域之所在为脸部侦测的第一步。因此脸部定位(face localization)只是脸部侦测的一个其中步骤而已。而为了辨识人类脸部位置,目前已经发展出一些常用的判断方法,例如:整体/模版方法(holistic/template approaches)、特征依存性方法(feature-based approaches)以及这两种方法的混用模式(hybrid model)。不过混用模式在处理上有其限制,不但运算成本高且无法大量处理脸部影像的变异部分。在最近这几年里,常被所使用的脸部侦测技术主要有:主分量分析(Principal Component Analysis,PCA)、色彩分析技术(color analysis)、霍氏转换(Hough transform)、类神经网络(neural networks)、移动撷取(motion extraction)、模版配对(template matching)、信息论(information theory)、机器学习(machine learning)、几何模型(geometrical modeling)、统计量式的分析(statistic-based analysis)…等等这几种,一般可概分成“观视法(view-based approaches)”、“统计法(statistic)”与“学习法(learning-based approaches)”三大类。其中观视法与学习法中的类神经网络方法,都需要大量的脸部及非脸部影像训练数据,并且其辨识影像有些限制,大多只能局限在正面的灰阶影像。因此一些人就以其它方法来作为辨识脸部位置的方法,例如:A. Colmenarez及R. FeAraud等人便利用移动撷取(motion extraction)的方式来辨识脸部位置;或者M. Abdel-Mottaleb、K. Sobottka及C. Garcia等人则使用肤色(skin-tone color)来作为侦测人脸是否存在的依据。但是这种依据肤色的脸部侦测方法存有很多困难有待解决,例如:复杂背景的克服、光线条件的问题(即是不同色温问题)、伪面具辨识抵抗与肤色变异度之范围等问题。因此这些算法各有优、缺点,目前广为大家所采用者应算是“特征式(feature-based approaches)”的方法,其利用脸部几何特征(geometrical facial feature)来分别脸部区域与非脸部区域的视觉数据(visual data)。这种使用脸部几何特征的侦测方式,对于用来侦测不同姿势的脸部位置有很大的帮助。不过为使脸部侦测与辨识达到较高精确度与成功率,一些不同算法常会被结合起来一起运用。例如:在侦测正面脸部灰阶影像里面,几何脸部模版(geometrical facial templates)便常与霍氏转换(Hough transform)一起搭配使用;而M. GrudinLam及K. M. Lam则将整体性(holistic)方法与特征式(feature-based)方法结合,用来作为脸部侦测及辨识脸部位置的方法。利用整体性(holistic)算法表现来作为脸部侦测方法的分类是有一些优点存在的,例如:可以在较差的影像质量中搜寻脸部,或是可找寻到更小的脸部样本。另外一种脸部侦测/辨识技术则是使用统计量的辨识方法,例如:A. J. Colmenarez、T. S. Huang、D. Maio及D. Maltoni等人所提议的技术。这种方法主要是依据灰阶像素在空间上的排列关系,以马可夫链(Markov chains)或马可夫随机场(Markov random fields)来作为脸部侦测的依据。
许多人讲到脸部侦测,第一个直觉想法便是用数学上的椭圆特性来作为侦测依据或者利用肤色侦测方法为之。这是人之常情,因为一般人的脸形大多呈现椭圆型。因此如何找出影像中具备椭圆形状的物体,是脸部侦测一项很重要的工作也是很直觉的方法。在许多脸部侦测的方法里,数学椭圆的搜寻方式便是其中一种方法。然而找椭圆的方法有许多种,最直觉的方法就是空间参数式的作法,如果令为椭圆的椭心坐标,则一个椭圆可以下式表示:
其中α、β及γ必须满足α>0、γ>0以及4αγ-β2>0。依据此公式要寻找椭圆,必须先处理描述椭圆的五个参数(a、b、α、β、γ),而就其所形成的5-D参数空间进行投票候选图形,将是一个非常耗时的工作。为简化工作,令此椭圆两轴长长度分别为L及ι,且椭圆旋转角度为φ,则(a、b、α、β、γ)参数便可转换成(a、b、L、ι、φ)的参数表示法,其中该(a、b、L、ι、φ)参数应满足下式:
如果任选椭圆上的4个边点A、B、C、D,并作与此4边点相切的4条切线,并相互交于N、O、P、Q 4点,若设4边点的线段中点为,i=1,2,3,4,则4边点之切线交点与4边点线段中点的联线(例如下图的及)会通过椭心。如图1。
因为图一中的切线交点,与边点联线线段中点的坐标是可以求出的,因此通过椭心的及直线方程式可利用两点式求得。例如:N点坐标为而坐标为,则方程式可以利用下式解出:
=>
或者方程式亦可用ax+by=k的联立方程式得出。同理,直线方程式也可藉此类似方法求出。有了及直线方程式之后,解其联立解便可得椭心坐标。在数学理论上,不管是用此4根切线的哪一个交点与其边点线段中点联线均会通过椭心,但事实上,在数字影像处理里面,这些不同边点之联线方程式求出的椭心位置却不见得一样(因为数字计算会有误差,例如:只计算到小数点后第3位),因此我们对于不同椭心位置还要设计一套方法来检测他们是否够接近。只要影像中存有这些类椭圆区域存在,那便表示了影像中有极大可能存有脸部区域,此时为了进一步验证,我们往往会需要其它脸部特征(包含全域特征与局部特征)来作为验证方式。事实上,许多关于脸部侦测的研究,乃基于计算机图学在物体辨识(object recognition)上的研究而来。这些模型式(model-based)或是表象式(appearance-based)的物体辨识方法,往往将目标假设成刚体对象(rigid objects)。这种假设将使该物体上的光照条件与相机的摄影角度和真实生活里人脸的条件不同。脸部的侦测可视为一种辨识的分类问题,那就是在区别脸部区域与非脸部区域,这种分类技术可以推广到许多不同的辨识问题上面。不过脸部侦测技术在模式辨识(pattern recognition)及学习技术上仍存有争议,当一个原始数据(raw data)或是经过滤器处理后之影像进入到模式分类器(pattern classifiers)时,其所具有的特征空间(features space)是非常大的,而脸部区域与非脸部区域的分类乃根据多形分布函数(multimodal distribution functions,MDFs)以及在那些色彩空间中的非线性边界决定机制所提供的特征化数据为主。因此为了让分类器达到有效的执行,分类器必须能从这些大量的训练数据里面进行适当的外推(extrapolate)逻辑运作,或是有效的处理这些高维度的训练数据。而影响到脸部侦测成功的因子有“脸部表情(facial expression)”、“姿势(pose)”、“影像方位(image orientation)”、“结构性组件(structural components)的存在与否”、“影像分辨率(image resolution)”以及“其它造影条件(imaging conditions)”……等等。脸部侦测(facial detection)与脸部定位(facial localization)是有重叠之处的,后者可视为前者的一部份集合,其为脸部侦测的简化应用,主要假设是输入影像只有一张脸孔存在。另外一种脸部方面的生物辨识应用就是“脸部特征侦测(facial features detection)”,其主要假设是输入影像内只存在一张脸谱,并得侦测其脸部的局部特征是否存在,例如:眼睛、耳朵、鼻子、嘴巴、嘴唇……等等特征。但若是要在输入影像内辨识使用者或是识别身分,其主要为“脸部辨识(facial recognition)”以及“脸部识别(facial identification)”的应用领域。如果是要验证某人得身分单一性,则使用的是“脸部验证(facial authentication)”技术,其用来验证输入影像的人与计算机中所认同的使用者是否为同一人。前面这些技术大多属于单一输入影像内的应用技术,如果要实时(real-time)对一连串的影像序列中(例如:视频)对人脸部分进行位置与脸部方向进行评估,那使用的技术则称为“脸部追踪(face tracking)”方法。但不管是静态脸部应用技术或是动态脸部追踪,脸部侦测是应用的第一步。目前有许多脸部侦测方法被提议出来,这些方法有些可在一定光强度(intensity)或彩色影像内侦测脸部是否存在。在1991年以前的脸部辨识方面技术研究集成,可以参考1992年A. Samal及P. A. Iyengar的相关研究论述。在许多脸侦测的方法里面,学习式算法(或称为“数据驱动方法(data-driven methods)”)因可提供良好的侦测结果展示,所以俨然成为近几年此方面研究的显学。但是学习式算法在建立及训练系统之初,需要非常多的训练样本数据,因此这种算法往往都需要搭配专门的影像数据库来使用。
效能评估方法是在脸部侦测或辨识问题上面另一个重要的讨论议题,在这些评估方法里面,几乎每一种方法都会使用的评估项目主要有两个,一个是“侦测率(detection rates,DR)”的比较,另一个则是“错误警告率(false alarm rates,FAR)”。在此所谓的侦测率,乃指机器能正确侦测脸部的数目与经由人类视觉侦测脸部的数目,其百分比便称为侦测率。如下式子:
其中DR表示侦测率,MDN表示机器所能正确辨识脸部的数目,HDN表示人类所能正确辨识脸部的数目。因此侦测率与影像中的人脸完不完全没有太大关系,因为只要人眼可辨识影像中人脸的存在,那机器也就要能侦测。不过这似乎不太可能,因为机器视觉的极限与目前人类眼睛的极限还有一段落差。为了达到够好的侦测率,因此许多实作会加入限制条件作为成功侦测与否的依据。常见的限制条件例如:影像中的人脸部分只要暴露超过其全部脸部区域的1/2,那机器就要能侦测。暴露区域若小于1/2以下,机器就算没侦测到人脸也不影响其侦测率,该次侦测亦算是成功的侦测。由此可知,评估方法之所以会成为辩论焦点,主要在于许多评估项目的定义与程序并未国际标准化(例如:或许有人认为成功侦测的条件是脸部暴露区域要达2/3上才算,而非1/2的门坎),因此每人所谈的效率评估不见得基于同一水平。一些常见的效能评估项目包含:训练系统所需要的样本数、学习时间(learning time)、执行时间(execution time)与成功侦测与错误结果之间的比例高低(即DR)……等等。因此要适妥评量侦测器,就必须先要了解侦测器的可能错误为何。一般侦测器(detectors)常犯的错误类型有两种,一种是“阴性错误(false negative)”,另一种是“阳性错误(false positive)”。对一个脸部侦测系统的评估,其方法里面应包含侦测器所可能发生的阴性错误与阳性错误的考虑,因为这两种侦测器错误会严重影响到侦测成功率(detection rates)与错误警告率(false alarm rates)。在此所谓的阴性错误,指系统本身的侦测成功率不高,使得有目标存在但未被侦测器侦测出来;相反的,阳性错误系指系统误判的情形,即是成功侦测目标存在,但该目标却非真正目标的情形。明白这些观念,会帮助我们的设计更逼近事实。
单一影像内之脸部侦测
脸部侦测可分成单一影像内之脸部侦测与视频中的脸部侦测,在此为将问题简化,我们局限在单一影像内之脸部侦测技术的探讨。一般在单一影像中用来侦测脸部的方法,主要可分成4种类别:模版配对法(template matching methods)、表象法(appearance-based methods)、特征不变法(Feature invariant approaches)与知识法(knowledge-based methods),这些方法的细项可参考表1。
关于这些方法的运作方式与简要原理,其仍有可深究之处,例如:在模板配对方法里,便是需要一个标准模板的存在,以利系统比对之用。因此在模版配对的方法里,首先需要先建立一个标准的脸部样本。关于这些方法的运作细节,我们留待下期为各位说明。