探究影像辨识里的脸部侦测技术(二)

本文作者:admin       点击: 2007-04-10 00:00
前言:
上期我们谈到在单一影像中不同类别之脸部侦测方法,这些方法可再细分成“观视法(view-based approaches)”、“统计法(statistic)”与“学习法(learning-based approaches)”等三大类,以下我们就要针对这些方法,做一些简要说明。

模版配对(template matching)

模板配对方法,顾名思义便是需要一个标准模板的存在,以利系统比对之用。因此在模版配对的方法里,首先需要先建立一个标准的脸部样本。此标准脸部样本,往往是以预先定义或参数化的函数来描述。而在输入影像与标准模版之间的比对方式,大多采用脸部轮廓、眼、鼻孔(鼻)或嘴唇等部位分别给分的方式为之,这些给分的加总便称为“关联值(correction values)”。对一个给定的输入影像,系统是否会判别其中存有脸部区域的关键,决定于我们对这些关联值门坎高低的限制。利用门坎值的优点有两个,第一、系统灵敏度可依据实际需要作适当调整;第二、实作上比较简单。但这种方式亦有缺点,其种两个最为人所诟病者是“应用弹性受限”以及“好的脸部样本定义困难”。前者主要导因于输入影像必须要能与标准模版比对,因此对输入影像之分辨率、影像大小、人员姿势以及每个人脸部差异都有一定的严格限制。如使用非定式的输入影像,则会使系统变得没有效率;而后者的问题在于无法使用一个完美的参数定义来描述一个完美得标准脸部,且事实上,完美的标准脸部模版不一定适用于实际状况。正如目前大家均认同没有一种色彩,可以适用于任何色彩信息的表示一样。为了解决上述两个主要缺点,一些改良方案陆续被提出讨论,其中包含多分辨率概念、多尺度影像的使用、影像可变形的设计以及利用次模版(subtemplates)来捕捉例外的方法…等等均是可行之道。

● 预定义模版(predefined templates)
预先定义一个模板,之后再以其为比对依据作为侦测脸部的方法,这种利用模版当作脸部定位依据的研究非常普遍,A. Samal及P. A. Iyengar (1995)便曾以脸部在背景中的轮廓来作为脸部定位模版。其用来自脸部样本中取得脸部轮廓(通常是位数组(an array of bits))的集合方法是利用PCA转换为之,并且这些本征轮廓(eigen-silhouettes)会被用一般化的霍夫转换(Hough transform)来做为脸部定位之用。同年Y. Sumi及Y. Ohta亦提出了多脸部组件的侦测方式,在他们的方法里,其定义了许多可能出现的脸部特征假设。对一个现存可能会是脸部区域的假设集合,其会经由Dempster-Shafer理论加以定义成假设集合中的脸部组件。给定一个输入影像,特征侦测器会计算目前已存在的脸部特征之信赖因子(confidence factors),例如:存在其它脸部特征或不存在其它脸部特征。这些信赖因子的测量结果(信赖与不信赖部分),会被综合起来考虑,以对该区域投下信赖或不信赖投票。
事实上,关于脸部侦测的研究起源甚早,在1969年时T.Sakai与M. Nagao等人便尝试从图片中去侦测人脸的存在。当时他们所使用的方法,是利用数个预先建立的脸部特征子样本(子样本包含:脸的轮廓、眼、鼻、口…等特征样本),来使系统比对影像(实际上是比对影像线段)以寻找可能的脸部区域。当时每个子样本的定义都是以线段为之,而撷取输入影像的线段的方法乃依据最大梯度改变(greatest gradient  change, GGC)规则。为了侦测影像中是否存有脸部区域,计算机首先会先计算这些子影像与轮廓之间的关联性系数,一旦符合脸部轮廓的存在,系统便会接着侦测这些候选区域上是否存在其它子样本的受测物以进一步验证候选区域的正确性。在他们提议的系统里面,其运作可分成数个不同阶段。
简要的说,便是先侦测是否有ROI区域存在,如果有,系统才会接着对这些ROI区域进行其它脸部细部特征的侦测。很显然的,这种运作方式对后人的研究起了很大的影像(因为很多系统运作均采用两阶段或三阶段运作),例如:1987年I. Craw、H. Ellis及J.  Lishman所提出的形状模版(shape templates)方式的前视(frontal-view)脸部定位技术,或之后1989年V. Govindaraju等人的线段对称或边界特征的研究…等等均是此方面例子。在Craw等人的方法里面,其先使用Sobel滤器(Sobel filter)来撷取影像的边界并将之群组化起来,随后并搜寻其中是否存在样本所定义的一些脸部特征。而定位方式是有先后顺序的,一旦头部外型(head contour)被定位后,相同的处理方式会继续定位其它脸部特征的所在,例如:眼、眉毛、嘴唇…等,这些工作可由模式特征侦测器(template-based feature detectors)来完成,此控制器具有一组控制策略(control strategy)并可存取样本脸部特征以方便影像线段的比对。基于不同的特征基础具有不同变异性,其使用的侦测方法亦有所差异。即使是相同特征,也可能有许多不同的撷取方式。例如:边界的撷取,Craw等人是使用Sobel滤器来完成工作;但Govindaraju则是使用Marr-Hildreth边界运算子(edge oprators)来取得输入影像之边界地图(edge map)。A. Tsukamoto等人提出了脸部模版的定性模型(qualitative model),简称“脸部模式量化模型(qualitative model of face pattern, QMF)”。在他们的提议里,每一个样本影像会被切割为数个区域,系统并会对这些区块进行量化特征的评估。为使脸部模型得以参数化,其预定了一些光照与边界的特征。之后每一个区块模型会经由计算其内的特征成分(脸部特征)来做为未来评估是否为脸部区块的依据,如果每一个特征的成分总和高于临界值,则该区块就会被认为是脸部区块。
另外,P. Sinha利用一个小的空间影像不变性集合,来描述脸部特征模版的空间问题。其在不变性的观察上面,主要关键在于不同光照的改变,其脸部各区域的不同亮度部分,以“相对”的计测方式来侦测这些部分的相对改变。利用侦测这些少数区域亮度的改变或维持比例,以其改变的方向性(例如:本区比隔壁区亮或暗)作为提供一个强固的不变性区域。这些被观察到的亮度调整会被编码成一个比例模版(ratio templates),这些比例模版便被视为代表一个粗糙脸部的空间模版。在这些模版中,其亦可能存在其它次区域(subregion),这些次区域往往反映出脸部的其它重要关键特征(如:眼睛)。对一个脸部区间的亮度限制要求,可经由适当的(亮、暗)配对来加以捕捉。如果所有的配对都满足我们设定的限制要求,则系统便判定该影像中存有脸部存在。事实上,Sinha的方法已被应用在主动式机器视觉上。

图2:由16区块组成的Sinha强化版本,其共有23条强化关系被定义。这些强化关系可再分成基本关系(essential relations)(实线部分)与确认关系(confirming relations)(虚线部分)。

图2是M. H. Yang等人揭示的Sinha强化版本图示,其共有23条强化关系被定义。此23条强化关系可分成两大类,一个是基本关系(essential relations),一个是确认关系(confirming relations)。从图中我们可以看出基本关系有11条(实线箭头)而确认关系有12条(虚线箭头),图中的邻近区块具有邻近关系存在,但其增强的关系并不限于邻近区块。每一种关系若要成为脸部模版候选区域,其必须要满足我们所设定的比例门坎。而一旦有足够多的关系可以满足我们所设定的比例门坎时,则便判定影像中存有脸部区域存在。

● 变形模版(deformable templates)
在1992年的时候,A. Yuille、P. Halliman及D. Cohen使用了变形模版观念,来将脸部特征模型化成先验弹性模型(elastic model)。这种方式的脸部特征描述,是采用参数化模版的方法。为使输入影像中的边界、突起或凹陷之处,可以连结到模版内之对应参数,通常对会定义一个能量函数(energy function)来做为它们之间的对应桥梁。一个最佳的脸部弹性模型,意味着它将是具有最小能量函数的参数表示法,这观念与遗传算法(GAs)里面,寻找最低能量构形(motif)的概念很相近,这种方法在非刚体追踪上提供了不错的效果,但因为它必须先定义我们感兴趣的起始邻近对象,此这将是一个比较困难的地方。后来Y. H. Kwon及N. da Vitaria Lobo (1994)描述了一种基于蛇式(snakes)及模版(templates)的侦测方法。蛇式模型方法常被用在影像分节与影像了解领域,其最早由凯氏等人(Kass et al., 1988)提出,因此传统的蛇式模型亦称为“凯氏模型(Kass model)”,为一种主动式的轮廓模型(active contour model,  ACM)。传统的凯氏蛇之定义实际上是一种参数曲线(parametric curve),如下:

其中s表示弧长,而x,y则表示该弧长所在影像之坐标。而影像能量可用影像的强度表示(I),即是如下:

或者影像能量亦可写成以下的定义:

其中为影像在x(s)及y(s)坐标位置上的梯度强度。有关线片段之内部能量定义则可表示如下:


其中Vs及Vss分别表示一阶及二阶导数,函数α(s)用以控制一阶内部能量,β(s)越大,则两点之间的线段将越笔直;而β(s)用以控制二阶能量,如?(s)越大,外型将越平滑,反之则越尖锐。蛇的总能量可最小化成以下格式:


其中Econ为Kass提出之外部能量(参见Kass论述)。在Kwon等人的方法首先是先利用模糊滤器(blurring filters)来进行回旋处理,之后再利用型态运算子来强化影像边界。在曲段(curve segments)的寻找方面,其利用一种修改过的n-pixel snake(其中n很小)以搜寻能量最小的曲线区段来完成。线段的能量评估依据,往往依据该线段在影像中的位置及其形状来决定。其并利用椭圆逼近及剩余蛇段(snakelets)之霍夫转换来寻找脸部形状或类椭圆区域,在找到椭圆区域后,Kwon等人以四个参数来表示该区域集合,以做为脸部候选区域的依据。这些候选区域会在利用之前Yuille等人提议的方法来进一步验证其脸部细部特征,如果有发现大量脸部特征,并且其属性均满足模版比例测试,则系统便认为影像中存有脸部区域。
除了Kwon及da Vitaria Lobo等人使用蛇式方法外,K. Lam及H. Yan等人亦曾用snake来定位头部边界。1995年时,A. Lanitis等人曾提出一种利用形状(shape)与光强度(intensity)信息来描述脸部表现的方法,在他们的方法里面,首先必须取得训练用的影像外型集合(例如:眼睛边界),及表现样本点(sample points)的形状向量,而这些形状向量的特征化是使用点分布模型(point distribution model, PDM)来加以特征化。形状中其强度正规化的呈现方式,与M. Kirby使用的相似。藉由使用主动形状模型(active shape model,  ASM)搜寻,来评估脸部位置与其形状参数。一个脸部形状的PDM可被使用于新影像中,用以侦测脸部之存在。这些脸部补片(face patch)之后会被变形为一种平均形状(average shape),并将其强度参数撷取出来。利用形状与强度所形成的配对,可有助于系统判别脸部区域或是非脸部区域。

表象法(appearance-based methods)

在前面谈过的模版配对的方法里,模版的定义常需藉由专家的辅助。但是在表象式的方法里,脸部模板的产生是经由系统自影像样本中学习。因此多数的表象式方法采用的核心技术,往往是“机器学习(machine learning)”或是其它统计分析技巧。这些学习的特征一旦被认定是属于“分布函数(distribution models)”或属于一种“辨别函数(discriminate function)”可描述者,则该特征通常会被用于脸部侦测。在统计方式的表象式方法里,其有两个问题需被注意。一个是降低运算复杂度的问题;另一个是侦测效率的问题。而改善以上两个问题的关键,在于我们能否降低系统所需要处理的信息维度。正如前面谈到的,表象式方法与统计概念常常是息息相关的,因此此方法所运用的观念也多局限在统计的机率领域来思考。
换句话说,其将一个输入影像或特征向量,视为一种随机变量x。此随机变量x会经由古典条件密度函数“P(x|face)”及“P(x|nonface)”,来特征化成为脸部或是非脸部的机率表示方式。这些统计概念,例如:在贝氏分类法(Bayesian classifications)或最大可能性(Maximum likelihood)可被用来区分这些影像中之候选区域的脸部以及非脸部区域。只不过很遗憾的是要单纯直接实作一个贝氏分类器是不容易的,其主因有两个。首先,因为变量x具有数据高维特性(high dimensionality),因此脸部机率与非脸部的机率(在此以“P(x|face)”及“P(x|nonface)”表示)的结果将会是多型的(multimodal);其次,要直接将“P(x|face)”及“P(x|nonface)”参数化的方式,目前还未被清楚了解。
基于以上理由,目前许多表象式的方法使用的是一种“经验式(empirically)”的相关参数化方法,并以最逼近“P(x|face)”或“P(x|nonface)”的为最佳参数选择。除了前面谈的统计方式表象式方法里,另一种表象式方法是基于辨别函数(例如:临界函数),用以脸部与非脸部区域之间的分界。一个传统作法是将一个影像的样版(patterns)投影到低维度空间,然后再利用距离或多层类神经网络形成非线性决策面(nonlinear decision surface),来形成有助于分类的辨别函数。除将影像样本投影到低维度空间的作法外,另外E. Osuna等人则利用支持向量机器(support vector machines, SVMs)等方法,来将影像中的样版投影到较高维度空间,并在投影的脸部与非脸部样版之间形成一个决策表面,SVM的方法目前可视为类神经网络分类器的一个新领域。在多数的分类器训练过程中,其多采最小训练错误的方式(例如:以经验风险为之)。因此这些训练方法一般也被称为“结构性风险最小化(structural risk minimization)”训练法,其目的在于使训练的系统将“一般性错误”发生率降到最低。SVM分类器通常是一种线性分类器,其相关细节可参考Osuna等人(1997)关于SVM之研究,在此我们就不探讨下去,以下我们将扼要来看一些常见的表象法之运作原理。

● 本征脸(eigenface)
利用类神经网络来发展本征向量(eigen-vector)来做为脸部影像的侦测系统,是最近这几年很常见的一种方法,例如T. Kohonen便曾利用类神经网络来发展本征向量,并利用其所形成的辨识空间(即是所谓“本征脸(eigenface)”空间)来作为影像中脸部的辨识方法。另外一些研究学者,像M. Turk及A. Pentland则利用PCA转换的方法,来做为脸部辨识与侦测的依据。在脸部的相关研究上,PCA方法常被使用在次空间中用以定义最佳的脸部样式表现方式。其利用一些训练用的脸部影像集合来产生本征脸,并将脸部空间加以延伸使这些影像中的脸部区域会被投影到影像的次空间(subspace)并加以丛集化。 同样的非脸部区域的训练影像,亦会使用相同方法投影到相同的空间并加入丛集化。之后这两个投影的次空间可以经由比较的方式,得出脸部区域与非脸部区域在次空间投影上的分布情形。
为了侦测场景中的脸部区域存在,其会计算所有影像位置中的区域与脸部空间距离,这些空间距离会被当作验证脸部候选区域的方式之一。从这些脸部空间所测得的相关距离便会形成“脸部地图(face map)”,如果在脸部地图中存有局最小化的区域,则系统便认为有脸部区域的存在。在目前许多关于脸部侦测、辨识及特征撷取的类神经网络应用里,本征向量的分解与丛集化概念是很常被使用的一种工具。表象式的侦测方法大多使用机器学习理论为之,目前此方面的研究领域是活跃的,除了本征脸之外,还有分布式方法与马可夫隐藏模型等方法,然这些议题我们留待下期再续说明。