探究影像辨识里的脸部侦测技术(四)
本文作者:admin
点击:
2007-07-11 00:00
前言:
上期我们看过利用肤色作为不变性研究等方法,在本期里面,我们将继续探讨一些不变性特征的相关技术,如能找到越多不变性的存在,或许就能帮助我们对脸部侦测做更多定性方面的贡献。
脸部特征
脸部特征的定位与撷取有很多人提出新的方法可供使用,例如:H. P. Graf等人发展出一个在灰阶影像中定位脸部特征及脸部区域的方法,其处理方式是先让输入影像经过带通滤器(bandpass filter),然后再利用型态运算(morphological operations)来强化那些具有某些形状的区域(例如:椭圆形状)。
除此之外,为了强化影像中的峰值(peak values)像素,通常还会再利用长条图法(histogram)来强化影像。不过因为在他们提议的方法里,其并未说明型态运算子的运算方式,以及要如何把脸部特征区域及局部脸部候选区域连起来,所以在应用上较少人采用此方法。另外,S. A. Sirohey提议了一种可从复杂的背景中分割脸部区域的分法,这种方法使用的是Canny侦测器(即是一种“edge map”方法)并搭配启发式(heuristics)的方式来移除或群组化边界。因此利用这种方法,可以产生一个脸部区域的外型轮廓出来。此方法在48个受测影像里面,精确度可达80%的侦测率。
另外D. Chetverikov及A. Lerch(1993)则提出另一种简化脸部侦测的方法,在此方法里面,其模型乃由三个亮块(light blobs)及两个暗块(dark blobs)组成。三个亮块主要是分别用以表示眼睛、颊骨与鼻子区域。此外,该模型亦用条纹方式表示脸部轮廓、眉毛以及嘴唇部分;而两个暗块部分则可用来表示鼻子的两个鼻孔。在这些区块的空间关系则以两个三角形架构来表示,并利用低分辨率的拉普拉斯(Laplacian)影像来协助侦测这些区块内容。其利用的方法是扫瞄该区块内部,并侦测是否具有特殊预定义的三角形存在,如果有,那表示该区块存有一个脸部区域。
到了1995年的时候,T. K. Leung、M. C. Burl及P. Perona等人发展出一种基于局部特征侦测器(local feature detectors)以及随机图形配对(random graph matching)的机率方法,可以在混乱的背景内侦测脸部的存在。Leung等人当时的动机主要是要将脸部定位问题,视为一种“搜寻”问题。其主要的目标,就是要找到某些吻合脸部模式的脸部特征排列。在典型的脸部特征描述里,其主要描述特征有6个,分别是:两个眼睛、一个鼻子、两个鼻孔以及一个嘴巴(嘴唇连缝)。某些脸部特征有左右对称的特性,例如:左眼与右眼。但这种假设并非对所有人均管用,因为在极少数的情况下,有人没有对称的脸部特征存在。但在正常一般情况,这些成对的脸部特征,其相对距离会被计算并加以模型化成高斯分布(Gaussian distribution)。经由一个多向(multiorientation)集合的平均响应及多尺度高斯推导滤器(derivation filters)过滤大量数据内的脸部信息,一个脸部模版就可被定义出来。
对一个给定的测试影像,每一个吻合滤器反应的像素以模版向量为背景所得的反应,就可找出脸部特征的候选区域,前两个最强的反应会被选为寻找其它脸部特征的主要依据。因为脸部特征并非以任意方式排列,其它脸部特征大多有其预期存在的位置,因此藉由距离上的统计模型,可协助我们寻找其它脸部特征,甚至这些模型内的共变异(covariance)评估都是可被计算的。
只有来自那些预期位置的候选特征,才会形成脸部特征群集(constellations)。他们将最佳脸部群集之形成,视为一种脸部特征分布图形的一种随机配对问题。这些脸部特征群集的计分,主要是依据“机率密度函数(probability density function)”所为,也就是将群集所对应可能是脸部特征机率与非脸部区域的机率相互比较,来作为该群集是脸部区域的计分高低依据。在他们的实验数据里面,此种系统的侦测率可达86%以上。
同年,B. Takacs及H. Wechsler也提出了一个基于视网膜特征(retinal features)撷取及小摆动眼球运动的移动脸部定位方法。其方法分成两个阶段,在第一阶段系统会基于对接收域(receptive fields)的反应,先为影像进行粗略的扫瞄,以评估脸部所在位置。在每一个接收域里,都有大量利用高斯滤器实作完成的神经位存在。在第二阶段里,经由以定位的脸部区域,以更精细的分辨率进一步撷取影像中的ROI(region of interest)区域。他们利用FERET影像数据库作为测试依据,其测试结果正确率可达90%以上,只是其系统稍微复杂一点且必须先了解神经元(neurons)在第一阶段里所扮演的每一个角色及传递方式,因此在实作上需费点功夫。
除了使用脸部特征的相互之间距离(mutual distance)作为脸部特征关系的描述之外,在Leung等人的研究里面,他们采用一种基于D. G. Kendall、K. V. Mardia等人研究所提出的形状统计(shape statistics)方法。这种形状特征统计方法,是利用N个特征点所形成的联合机率密度函数作为是否存在脸部区域的判断依据。换句话说,它是基于一个2N-D的的一种高斯分布,当存在一个特征点已被定位在平面时,在假设下的第k个特征点可以用(xk,yk)来表示,并以最大可能性(Maximum-likelihood, ML)的方法来侦测脸部位置。形状统计方式的主要优点,在于可侦测在不同角度所拍摄之不完全脸部影像,但这种方式是否可被用于有效的多重脸部侦测则未多着墨。不过实作上的一个看法是,当系统处理维度越高或数学模式越复杂时,其要能用在real-time上的限制就会越多(即要付出更多成本)。
1996年的时候,K. C. Yow及R. Cipolla提出了一种基于特征式(feature-based)的脸部侦测方法,其使用大量的视觉影像与材质来作训练。其作的第一步是先利用二级变异高斯滤器,找出局部最大值所在(这些最大值反应的可能是局部脸部特征)。找到这些点之后,第二步就是要评估其边界,并将其群组化为一个区域。这些点的群组化其依据彼此之间的邻近程度、方向的相似度以及光线强度…等来作为群组化的分群依据。测量边界的特征(例如:边界长度、或边界强度及其变异性),会被加以计算并存放在特征向量(feature vectors)里面。
有了这些特征向量,其平均值及共变异矩阵(covariance matrix)亦同时会被计算出来。如果相对应的特征向量其Mahalanobis距离小于临界值,则该影像区域便会成为有效的脸部特征候选区域。并且这些被标记的特征,会进一步依据模型相关知识加以进一步群组化。这些脸部特征与穷组化数据,随后便会利用Bayeisan网络来加以评估其机率。使用这种方法的好处,在于它可以用以侦测不同的脸部方向与位置,但其缺点有两个:首先是侦测失败的机率比其它方法要高一点;其次,其所要求的脸部影像区域大小最好在60×60像素以上。
为解决这些问题,Yow及Cipolla等人便将此法改良,并以有效轮廓模块(active contour models)来加以强化。到了1998年,C. C. Ham及H. Y. M. Liao等人则发展出另一种基于外型技术的眼部撷取方法,他们称其为脸部侦测里的“类眼片段(eye-analogue segments)”技术。在他们的方法里,眼睛与眉毛他们视为脸部里面非常静态且稳定的脸部特征,因此可依据此特征作为脸部侦测的重要依据。
类眼片段的定义
类眼片段的定义与眼睛外型描述相同,其方法大致上可分成四个不同阶段。首先他们利用型态运算(morphological operations),例如:Closing方法,来将将强度值(intensity values)发生重大改变的区域像素撷取出来;其次,这些被撷取出来的像素会先经过标记过程(labeling processing),来进一步产生类眼片段;在第三阶段,这些已被标记的类眼片段会搭配脸部几何特征辨识技术,作为搜寻潜在脸部区域的依据;最后一个阶段,这些被选出的脸部候选区域,会再进一步利用1996年H. Rowley及S. Baluja等人提出的类神经网络验证方式决定最后可能的脸部区域,这种方法经实验证明可达90%以上的精确率。在脸部侦测与辨识领域里面,H. Rowley等人的研究方法具有重要贡献,在后面我们将再谈到。Y.Amit、D. Geman以及B. Jedynak等人(1998)提议了另一种基于前视角度(frontal-view)的静态影像脸部形状的侦测方法,这种方法采用二阶段的侦测。在第一阶段里,其主要是处理聚焦(focusing)问题;在第二阶段,主要着重在强度分类上。在聚焦处理上,其使用强度差异(intensity difference)来作为边界侦测器(edge detectors)侦测边界的空间片段排列之依据。在这种边界侦测器里面,其存在有许多预先定义的边界空间排列方式,这些空间排列范围是来自训练用的影像数据库里,从300个影像中所挑选出来。其挑选的基准之一,在于这些边界片段的空间排列要能与背景具有明显差异,除边界片段排列方式之外其并包含光度之不变范围以及几何转换的部分。在片段进行分类时,其分类树的生长采L. Breiman及J. Friedman等人所提出的CART算法。在这种分类演算方式里面,影像中的ROI区域不是被分类为脸部候选区域,要不就分类为背景区域。目前这种方法,在其实验的结果里面每千个像素约有0.2%的像素属false positive以及约有10%像素属false negative。
多重特征法
目前许多使用脸部特征分析作为侦测脸部的方法,常分成两个执行阶段。第一阶段常使用脸部全域特征(global features)作为ROI区域的筛选第一步,例如:肤色、脸部形状、脸的大小或脸部材质…等特征;其次,这些被选出的脸部候选区域会再套以局部细节特征(例如:头发、眼睛、鼻孔、嘴巴…等),来作为验证的依据。这两个执行阶段的运作原理,在于先找出类肤色像素(skin-like pixels),这些类肤色像素之后再利用连结组件分析(connected component analysis, CCA)或丛集算法(clustering algorithms)来加以群组化(grouping)。如果群组化后的形状类似椭圆,则这些群组化的区域就会成为脸部候选区域,而这也是第一阶段系统所要完成的工作。一旦成为脸部候选区域后,为了提高精确度,系统必须设计一套验证过程。
在许多实作里面,验证的依据往往是根据脸部几何特征描述作为投票的依据因此,此便是第二阶段所扮演的重要角色。因此这种技术的重点两个,首先,类肤色像素的寻找方法要如何设计?其次,脸部特征的描述要如何定义?第一个问题解决方法有许多,除了依据肤色、材质…等信息来找出类肤色像素所在之外,M. Yachida等人则展示了利用Fuzzy理论来寻找类肤色像素的方法。在他们的方法里面,其使用的色彩空间为CIE XYZ,并利用两个Fuzzy模型来描述头发与肤色的分布。在进行脸部影像抽象化过程时,其使用一个正面及四个侧面头部模型为之。每个头部模型均为2-D模式,并由方格组成。每个方格内可能包含数个像素,其像素数目的多寡乃依据规划的方格数目多寡而定。每个方格均有两个属性,一个表示肤色部分(skin proportion);另一个表示头发部分(hair proportion),这两个属性可用于表示每一方格内头发与肤色所占有的比例关系,并进而得知哪些区域拭泪肤色区域(skin-like region),以及哪些区域是类头发区域(hair-like region)。这些区域之后会被取出,与之前抽象化的头部模型比较。
如果比较的结果是出现高度相似,则其区域会成为脸部候选区域。一旦成为脸部候选区域,其便利用水平边界(horizontal edges)方式,来从脸部候选区域中撷取出其它脸部特征(例如:眼睛、眉毛、鼻孔、嘴巴…等等)。相较于像素式(pixel-based methods)的方法,另一些研究者将注意焦点放在几何结构与色彩信息的研究上。这些非像素式的方法,首先必须先对影像内的同质区域(homogenous region)进行多尺度(multiscale)分节,一旦完成分节后,接下来便是利用高斯肤色模型,将这些具有肤色反映的区域撷取出来并群组化成一个椭圆。为确保这些椭圆区域(脸部候选区域)的正确性,多会使用其它脸部特征(例如:眼、口)搜寻来进一步加以验证。此方式经实验证实,可适用在侦测影像中各种不同姿势头部位置的脸部影像。
这种影像内容描述的研究起源很早,早期多半为了因应太空影像需要而发展。例如:1977年时,R. Kauth及A. Pentland等人所发展的多频谱卫星造影技术(multispectral satellite imagery, MSS imagery)便是其中的一个例子。在Kauth等人的方法里,其利用每一像素之特征向量(feature vectors)来行成一个群组化的连惯性连结区域,此区域即称为一个区块(blocks)。而每一个像素的特征向量取得,是将像素的影像坐标连锁(concatenating)到光谱组件所取得。而这些特征向量的基本成员常是由影像坐标及正规化色度表示所组成,例如:T. Starner及N. Oliver等人使用的特征
向量表示方法便是:
这些区块的生长方向是采“连结算法(connectivity algorithm)”,最后那些肤色区块如果在大小及形状上最接近标准脸部样本的话,该区块就会被认为是脸部区域。
另外K. Sobottka及I. Pitas提议了使用形状与色彩信息做为脸部定位与脸部特征撷取的方法,他们亦是在HSV色彩空间运作,在他们的方法里面,其首先会先针对色彩进行分节以定位类肤色区域。至于连结组件(connected components)的侦测,乃是在粗分辨率(coarse resolution)中,以区域成长(region growing)方式为之。因此,对每一个连结组件而言,其利用统计学上之几何矩(geometric moments)定义来计算最符合椭圆者,作为选择为脸部候选区域的依据。
一旦成为脸部候选区域后,其便在这些连结组件内利用寻找较为明显之主要脸部特征(例如:眼睛与嘴巴,这两区域相较于其它脸部特征,在颜色方面的表现显得更灰暗,当然亦有人使用鼻孔为主要脸部特征之一)作为验证程序。在J. C. Terrillon、M. David以及S. Akamatsu(1998)的方法里,其利用高斯肤色模型作为肤色像素的分类依据,为了特征化二元影像(binary image)中的丛集形状,他们利用n个lowest-order几何要素(moments),经由计算傅利叶转换及放射性默林转换(radial Mellin transform)来将影像中的丛集形状加以特征化。
在侦测脸部区域的设计方面,利用之前所撷取出来的几何矩来训练其类神经网络。他们的实验结果显示,其成功侦测率可达80%以上。事实上,许多脸部侦测的方法大多使用脸部特征作为验证的工具,甚至包含脸部的整体对称性。例如:在E. Saber及A. M. Tekalp(1998)的研究里,其便是使用脸部对称性做为脸部定位的依据。只不过其使用的色彩空间并非大家熟知的RGB色彩空间(因RGB色彩空间对光线强度的变化非常敏感,因此在脸部侦测上面如果采用肤色模型并使用此类空间来作为侦测依据,其难度会比较高。)或是色彩空间,而是一种来自SMPTE(Society of Motion Picture and Television Engineers)线性转换的YES色彩空间(Y仍表示亮度,而E、S则分别表示色度),他们使用YES色彩空间的主因在于减少因量度改变所连带造成色度的改变以及色度运算效率上的考虑。
在他们的方法里面,肤色区域与非肤色区域的分类,乃以YES色彩空间的类别条件密度函数(class-conditional density function)来完成。为了产生连续区域,其后续使用GRF模型式平滑法(Gibbs random field model-based smoothing method)来做平滑方面的处理。在系统判别脸部区域的设计上面,其预先定义一些椭圆样本,之后系统会取出该欲定义之椭圆样本,并依据Hausdroff距离之计算,来比较肤色区域与欲定义样本区域的相似度。最后利用数种依据脸部与眼睛位置固有对称性的关联所设计的成本函数(cost function),来找出眼睛的中心位置。
在Saber及Tekalp提议的方法里面,眼睛中心的定位是重要的关键步骤,因为它关系到能否透过眼睛中心的适当距离计算来找出鼻子与嘴巴的中心。不过他们的方法有些缺点存在,首先是系统需要对称性数据,因此在决定眼睛中心位置时,受测者必须具备双眼,如果是虎克船长或独眼巨人那一型那可能系统会出错。其次,系统为能计算脸部对称的关联性,他要求受测者必须正视摄影机,不能任意摆动头部姿势。最后一点,是脸部所谓“适当距离”乃采用大数法则定义,在定义上有模棱两可的空间存在,此会影响系统的精确性。不过话虽如此,它也揭示了研究脸部侦测技术文化的多样性,目前仍有许多人以脸部对称性为主要研究题材(例如:Q. B. Sun等人)。
知识法
(一)由上往下法
通常要进行脸部侦测工作,我们需要从输入影像中将脸部特征撷取出来,并利用所定义的特征规则来给定脸部候选区域,并为确保从这些候选区域选出真正脸部区域,往往需要其它验证程序(verification process),将此经由双重确认后的结果来作为最后投票依据。因此如何“定义”脸部区域,这便有许多方法,其中一个便是凭我们己身对“脸部”的认识而下定义。因此,所谓知识式(knowledge-based)的研究方法,往往是依据研究者本身知识或目前对问题系统性的认知所为的一种研究方法,而其在脸部侦测里面其所表示的意思,便是基于研究者本身对脸部的认识所开发的一种侦测方法。
要侦测脸部是否存在,往往需要辨识脸部特征,而脸部特征的定义往往是能否达到高辨识率的关键因素。使用知识式的辨识法有一些优点存在,其中一个优点便是简化脸部特征描述及其关系。这种知识式的方法固然有其应用上的好处,但他也有目前无法克服的缺点。其中有两个最大的缺点存在,
第一、 人类的知识无法完美转译为一套以定义好之完美规则。因为规则如果定的太细,就会使系统失去弹性,只要有一个测试条件不过,那脸部候选区域的资格就会被取消,而使系统可能无法侦测到真正脸部的存在。但如果规则定义的太简单(太粗糙),就会变成有大量脸部候选影像区域的出现,除加重系统验证负担之外,也会增加系统阳性错误(false positive)的发生率;
第二、 知识式的方法无法侦测任意头部位置影像中的脸部区域,因此其应用也受到许多限制。在Yang及Huang所提议的侦测脸部方法里面,其使用的是阶层式的知识方法(hierarchical knowledge-based method),其系统由三个规则层组成,可用在可变分辨率的影像上面。在最高层里,其利用窗口扫瞄的方式来将输入影像的每个区域部分予以扫视,以得出所有可能的脸部候选区域(即“全扫法”)。在此层所得出的脸部候选区域是属一般性且不精确的,其规则是,只要符合脸部“该有”的样子便可成为脸部候选区域,而不管脸部各项的细节部分。一个多层分辨率架构的影像可由均化(averaging)及次取样来完成。如图7。
在这种多种分辨率影像里面,低分辨率影像的脸部候选条件就与高分辨率影像不同,在低分辨率影像里面,其脸部候选区域的候选方法之一,便是利用脸部中央的类同性来完成。例如:在最低分辨率的影像里,其脸部中央位置可能会具有数个像素(例如:四个)是有相同强度值的,而在此数个相同强度值的像素周围,也可能具有其它相同强度值的像素,如图8。
因此脸部中间像素与其它脸部周边像素的灰度值差异,便成为一种重要的判断依据。为了增快搜寻速度,其脸部的候选区域决定乃在最低分辨率层(Level 1)里便决定,其次再将这些候选区域放入较高分辨率层级里处理。如果脸部候选区域是直接来自Level 2,那我们可以直接针对该影像进行长条图均化(histogram equalization)来处理这些脸部候选区域,之后这些已处理过的长条图均化的Level 2影像接着会被施以边界侦测(edge detection)的处理。在Level 3里面,脸部候选区域的判断会再套用其它规则处理来响应这些脸部特征的存在,例如:生物几何特征(眼、鼻、口…等等)。
这种系统存有明显的优、缺点,此系统的优点是利用“集中注意处理策略(focus-of-attention schemes)”或“由粗往细策略(coarse-to-fine schemes)”,来降低整个系统所需要的运算复杂度;但是其缺点是这种系统的侦测精准度不高,在其实验的60个测试影像中,只能侦测到50个影像有脸部存在,且在此50个侦测有脸部影像存在的测试里面,还有28个是属于错误的。
另外C. Kotropoulos及I. Pitas(1997)提出了另一种rule-based的脸部定位方法,其使用的脸部特征定位乃沿用T. Kanade于1973年所使用的定位脸部边界之投影方式。其所使用的原理是,利用影像之水平及垂直投影定义,来取得影像水平与垂直剖面,并观察垂直剖面中的投影局部最小值,来定位脸部特征所在之水平位置;而水平投影剖面的两个局部最小值,则提供了一个影像中头部的宽度大小。让我们以表示一个在大小影像中位于位置的像素强度值,则其水平与垂直的投影定义为:
水平剖面定义中的两个局部最小值部分,乃用来侦测HI内不寻常的改变现象。垂直位置上的局部最小值则表示了脸部特征所在,例如:眼睛、鼻子、嘴巴。如图9。
Kanade当时使用的这方法具有水平定位脸部特征的效果,但因为此方法是靠影像投影的局部最小值来作为判断依据,因此背景与目标影像的区别要越明显越好,故,在具有复杂背景的影像中,这种方法的侦测效果并不理想。而Kotropoulos及Pitas所提出的方法,基本上虽沿用Kanade方法,但其另外加上规则判断法则,以作为侦测的候选区域验证依据。在Kotropoulos及Pitas所使用的受测影像(采用欧洲ACTS的M2VTS项目之影像数据库,参考网址:http://www.tele.ucl.ac.be/PROJECTS/M2VTS/index.html)中,其当时的侦测率可达86.5%。
以上我们所看到得是知识法里面的由上往下的方法,除此方法外,当然也有由下往上的特征式方法,有关该方法我们将在下期为各位介绍。