多角度人脸识别方法和系统的制作方法

文档序号:6612927阅读:175来源:国知局
专利名称:多角度人脸识别方法和系统的制作方法
技术领域
本发明涉及一种人脸识别方法和系统,更具体地讲,涉及一种基于分组 的多角度人脸识别方法及系统。
背景技术
随着计算机和模式识别技术的发展,人脸识别技术在安防等领域得到广 泛应用。
针对人脸识别技术中的人脸姿态问题,现有技术提出了多种方法,所述
方法主要包括以下三种方法第一种方法,注册多张人脸图像,尽量覆盖各 角度的人脸;第二种方法,对大姿态的人脸图像进行姿态几何校正;第三种 方法,将同 一个人所有姿态的人脸图像一起用于计算类内变化的线性分类方 法。对于上述三种方法,都存在相应的问题。对于注册多种各角度图像的第 一种方法,在有些应用中该方法是可以的,但是因为可能只有一张或有限张 图像注册(例如,在网上追逃识别系统中,由于事先往往只能获得为数不多 的逃犯照片,所以可被注册的照片数量有限),所以在这样的情况下该方法无 法适用。对于对姿态进行矫正的第二种方法,该方法主要存在两个问题首 先,矫正操作需要花费大量的计算时间,这导致很难在嵌入式系统应用,尤 其在手机和数码相机中难以应用;再者,矫正本身很难确保矫正符合要求, 另外,由于矫正本身很容易引入新的图像变形,所以使得识别工作更加困难。
对于将同一人的所有姿态的所有图像一起应用于计算类内变化的线性分类的 第三种方法,因为即便是同一个人,不同姿态的变化是非常大的,变化之间 肯定是非线性关系,所以如果将所有姿态的所有图像一起用线性计算必然导 致^t型畸形,则无法正确地呈现人脸,因此,该方法过于武断。
因此,在人脸识别领域,需要一种能适应各种应用的需要并能减小计算 量的人脸识别方法和系统
发明内容
根据本发明的一方面,提供了一种多角度人脸识别方法,所述方法包括
以下步骤输入两幅待识别图像;基于输入的训练集合内的分组图像计算线 性投影矩阵;基于线性投影矩阵从输入的两幅图像中提取与所输入的两幅图 像相应的两个特征向量;计算所提取的两个特征向量之间的距离;基于两个 特征向量之间的距离来确定输入的两幅图像是否为同 一人。
根据本发明的另一方面,提供了一种多角度人脸识别系统,所述多角度 人脸识别系统包括输入单元,输入两幅待识别图像;人脸识別引擎,提供 基于输入的训练集合内的分组图像而计算的线性投影矩阵;特征提取单元, 基于人脸识别引擎提供的线性投影矩阵从输入的两幅图像中提取与所输入的 两幅图像相应的两个特征向量;特征向量距离计算单元,计算特征提取单元 提取的两个特征向量之间的距离;确定单元,基于特征向量距离计算单元计 算的两个特征向量之间的距离来确定输入的两幅图像是否为同 一人。


通过参照附图对本发明示例性实施例的详细描述,本发明的以上和其他 特征和方面将变得更清楚,其中
图l是示出根据本发明示例性实施例的人脸识别系统的框图2是示出根据本发明示例性实施例的人脸识别引擎的具体结构的框
图3示出根据本发明示例性实施例的依据人脸姿态对同一人进行分组后
获得的8组人脸区域图像;
图4是示出了类内散度矩阵计算单元计算类内散度矩阵的流程图5是示出了本发明的另一示例性实施例的计算类内散度矩阵的计算方
法的流程图6是针对图4的计算类内散度矩阵方法的快速方法的流程图; 图7是针对图5的计算类内散度矩阵方法的快速方法的流程图; 图8是根据本发明示例性实施例的计算类间散度矩阵的流程图; 图9是示出根据本发明另一示例性实施例的计算类间散度矩阵的方法的 流程图IO是示出才艮据本发明示例性实施例的针对图8的类间散度矩阵计算方 法的快速计算方法;图11是示出根据本发明示例性实施例的针对图9的类间散度矩阵计算方
法的快速计算方法;
图12是示出现有技术的计算线性投影矩阵的过程的流程图14是详细示出图13中的步骤S1350的流程图。
具体实施例方式
现在将详细描述本发明的示例性实施例,其示例在附图中示出,其中, 相同的标号始终表示相同的部件。以下通过参照附图来描述所述示例性实施 例以解释本发明。
图1是示出根据本发明示例性实施例的人脸识别系统100的框图。
参照图1,人脸识别系统100包括人脸4企测单元110、眼睛定位单元 120、人脸区域分割单元130、特征提取单元140、人脸识别引擎150、特征 向量距离计算单元160和确定单元170。可选择的,人脸识别系统100还可 包括输入单元180(例如,键盘、鼠标、触摸屏等),用于输入两幅待识别 图像;输出单元190(例如,显示器或扬声器等输出装置),用于输出确定单 元170确定的结果,还可输出人脸才企测单元ll(H企测的结果。
将两幅待识别图像A和B输入到人脸检测单元110,人脸识别系统100 的最终目的在于确定待识别图像A与B是否为同一个人的图像(照片)。人 脸检测单元IIO在输入的图像中检测到人脸区域的位置,并确定人脸的尺寸。 在本发明示例性实施例中,人脸检测单元110可使用最大拒绝法首先采用 简单的分类器进行优先排除那些显著不是人脸的区域;然后再采用稍微复杂 的分类器,对那些不是特别显著的图像区域进行再次排除;最后釆用比较复 杂的分类器,对那些不是人脸但却很像人脸的区域进行最后的排除。这样没 有被排除的区域就是人脸区域。
人脸检测单元IIO将最后检测为人脸区域的图像(图像A和图像B)输 入到眼睛定位单元120。可选择的,如果人脸检测单元IIO检测所输入的图 像是不具有人脸区域的图像,则将检测结果输出到输出单元190。
眼睛定位单元120从人脸^r测单元110输入的图4象(图像A和图像B ) 中搜索并确定眼睛位置,并将两眼之间的中心位置的坐标计算出来以进行眼 睛定位。在计算机视觉和模式识別领域对人脸识别和面部表情识别,通常应用主动形状^^莫型方法,简称ASM方法。ASM方法的核心算法主要包括两个 子模型,即全局形状模型和局部紋理模型。ASM方法可以同时定位很多人脸 特征点,并且速度快,因而被广泛应用于特征点定位。本发明的示例性实施
脸区域图像(图像A和图像B)中搜索并确定两眼的眼皮和眼角的位置)。在 搜索过程中,首先计算人脸区域图像的梯度变化特征,然后在待识别图像中 搜索那些梯度变化特征与主动形状模型中的眼皮线、眼角的特征最吻合的位 置,从而确定待识别图像的眼皮和眼角的位置。
眼睛定位单元120将确定的两个人脸区域图像(图像A和图像B)的眼 皮和眼角的位置输入到人脸区域分割单元130。人脸区域分割单元130根据 眼睛定位单元120确定的眼睛位置(即,眼皮和眼角的位置),将眼睛位置对 齐到一个预先定义的位置,然后根据人脸区域图像的眼睛位置与预先定义的 眼睛位置关系,对待切割的人脸区域图像进行几何旋转、平移、伸缩(例如, 根据两眼之间的距离进行伸缩)等处理,最后获得眼睛位置固定、图像大小 固定的人脸图像(称为人脸图像A1和人脸图像B1 )。人脸区域分割单元130 将分割出来的人脸图像A1和B1 (大小固定)发送到特征提取单元140。
在本发明的另一示例性实施例中,如果输入的图像是人脸图像,就可省 略人脸检测单元IIO、眼睛定位单元120和人脸区域分割单元130,而是将图 像直接输入到特征提取单元140。
特征提取单元140基于人脸识别引擎150 (稍后将根据图2进行详细描 述)提供的线性投影矩阵(即,容变线性分类器)从人脸图像Al和Bl来提 取特征向量,并将分别提取的特征向量vl和v2发送到特征向量距离计算单 元160。
特征向量距离计算单元160计算由特征提取单元140提取的人脸图像A1 和B1的特4iE向量vl和v2之间的距离。在本发明的示例性实施例中,特征向 量距离计算单元160可采用cosine距离方法来计算特征向量之间的距离。首 先,计算两幅人脸图像A1和B1各自特征向量vl和v2的模的平方(Norm), 可按照下面的公式(1 )来计算Norm:
<formula>formula see original document page 13</formula> …公式(1 )
其中,v[i]表示向量v的第i维,N表示向量v的维数。 然后根据公式(2)来计算两个特征向量vl和v2的相似度s = vl[l]v2[l]+vl[2]v2[2]+...vl[i]v2[i]...+vl[N]v2[N] …公式(2)
其中,vl[i]表示向量vl的第i维,v2[i]表示向量v2的第i维,N表示向
量vl和v2的维数。
通过使用公式(3)再将相似度s进行归一化处理
s=vl[l]v2[l]+vl[2]v2[2]+...vl[i]v2[i]...+vl[N]v2[N]/(sqrt(norml)sqrt(norm2))
.…公式(3)
将获得的s作为两个向量vl和v2之间的距离发送到确定单元170。 确定单元170基于预设的阈值对接收的两向量之间的距离进行判断,进 而来确定待识別图像A和B是否为同一人的图像,即,确定待识别图像A中 的人是否就是图像B中的人。另外,在本发明的其他示例性实施例中,确定 单元170还可基于两向量之间的夹角的余弦值来确定带识别图像A和B是否 为同一人的图像。
可选择的,确定单元170可通过输出单元190来输出所确定的结果,从 而向用户显示所确定的结果。
以上描述了根据本发明示例性实施例的人脸识别系统100,然而,本领 域的技术人员应该理解,以上仅为示例性的,本发明并不限于此。
下面将参照图2来详细描述根据本发明示例性实施例的人脸识别引擎 150的具体结构和操作。
参照图2,人脸识别引擎150可包括分组单元151、类内散度矩阵计算单 元152、类间散度矩阵计算单元153、线性投影矩阵计算单元154。可选择的, 人脸识别引擎150还可包括输入单元155,用于输入训练集合(不同人的多 幅图像),输入单元155可以是键盘、鼠标、触摸屏等。
分组单元151对输入的训练集合(不同人的多副图像)进行分组,首先 针对每个人进行分组,要求分组后获得的每一组图像变化不太剧烈,同时包 含一定的变化。例如,根据同一人的人脸的不同角度来将比较接近的角度划 分为同一小组,将角度差别较大的图像划分到不同的小组。根据本发明的示 例性实施例,分组单元151采用聚类方法,自动将训练集合中同一人的变化 不大的图像聚集为一组。下面将详细描述分组单元151的具体操作。
假设训练集合内一个人有n张图像,现将这n张图像分为k组。首先在 步骤1中将从n张图像中任意地选择k张图像作为初始聚类中心。然后,在 步骤2中,计算n张图像中剩余的图像相对于初始聚类中心的相似度,即,从每张图像提取一个特征向量(例如,图像的多尺度、多方向的Gabor小波 特征向量),然后计算该特征向量与初始聚类中心的距离(例如,cosine距离、 欧几里德距离、马氏距离)。根据剩余图像与聚类中心的相似度来将剩余图像 分配给与其最相似的聚类中心所代表的聚类,形成新的聚类。在步骤3中, 计算每个新获得的聚类的聚类中心,即该聚类中所有图像的均值。不断重复 步骤2和3,直到标准测度函数(所述标准测度函数一般采用均方差)开始 收敛为止,即k个小组的均方差变化很小或者不变(收敛)为止。
图3示出了根据人脸姿态进行分组后获得的8组人脸区域图像,即从正 脸到左脸、从右脸到正脸、从抬头到正脸、从正脸到低头、从左上脸到正脸、 从正脸到右下、从右上到正脸、从正脸到左下。在每一组人脸区域图像中, 每一幅图像的人脸角度虽然不尽相同,但变化不大。但是,组与组之间人脸 的角度变化相对较大。另外,在本发明的其他示例性实施例中,还可根据人 脸的表情等进行分组。分组单元151分别将分组后的结果发送到类内散度矩 阵计算单元152和类间散度矩阵计算单元153。
类内散度矩阵计算单元152基于分组单元151的分组结果,对每组内的 人脸区域图像计算类内散度矩阵。计算类内散度矩阵的主要构思如下首先 将组内每一幅图像与组内其他图像组成一个图像对,计算该图像对的协方差 矩阵,即对组成图像对的两幅图像的相应像素的亮度值(或者两幅图像的 Gabor小波特征值)之间的差构成的差图像求协方差矩阵,并将获得的组内 所有的协方差矩阵相加,相加的结果再除以协方差矩阵的个数(例如,如果 一组内有5副图像,则协方差矩阵的个数为10)来获得组类内散度矩阵(即, 同一人一个组的平均协方差矩阵);将同一人的所有组对应的组类内散度矩阵 相加,并除以该人所对应的所有组的个数,得到每个人对应的人类内散度矩 阵;将训练集合中所有人对应的人类内散度矩阵相加,并除以训练集合中人 的个数,获得总体类内散度矩阵Sw。
图4是详细示出了类内散度矩阵计算单元152计算总体类内散度矩阵Sw 的流程图。
参照图4,在步骤S410,确定是否对分組后的训练集合内的所有人都进 行了类内散度矩阵的计算。如果在步骤S410确定在训练集合内还有人Pi没 有用于类内散度矩阵的计算,则进行到步骤S420,以确定是否对Pi的所有组 都进行了类内散度矩阵的计算。如果在步骤S420确定还有Pi的组Gi没有用于计算类内散度矩阵的计算,则进行到步骤S430,以确定是否对组Gi内的 所有图像都进行了类内散度矩阵的计算。如果在步骤S430确定还有图像II 和I2没有用于类内散度矩阵的计算,则进行到步骤S440,以计算图像I1和 12之间的协方差矩阵。然后进行到步骤S450,将计算的协方差矩阵加到之前 已经计算的该组的协方差矩阵中,即将计算的协方差矩阵累加(也就是将计 算的协方差矩阵加到类内散度矩阵中)。如果在步骤S430中确定已对组内的 所有图像都进行了类内散度矩阵的计算,则进行到步骤S460,将所计算的该 组内的所有协方差矩阵相加后的结果除以对该组所计算的协方差矩阵的个 数,以获得该组内的平均协方差矩阵,即组类内散度矩阵,同时将步骤450 中的类内散度矩阵归零。如果在步骤S420确定对同一人的所有组都进行了类 内散度矩阵的计算,则进行到步骤S470,将同一人的所有组所对应的组类内 散度矩阵相加,并将相加的结果除以该人所对应的所有组的个数,以获得每 个人对应的人类内散度矩阵。如果在步骤S410确定已经对训练集合中的所有 人进行了类内散度矩阵的计算,则进行到步骤S480,将训练集合中的所有人 对应的人类内散度矩阵相加,并将相加的结果除以训练集合中人的个数,来 获得总体类内散度矩阵Sw。
图5示出了本发明的另一示例性实施例的计算总体类内散度矩阵Sw的 计算方法的流程图。
图5步骤S510至S550与图4的S410至S450相同,将省略对其的详细 描述。与图4中不同的是,在图5中,省去了步骤S460、 S470和S480,而 是在步骤S560中,将在步骤S550中类内散度矩阵(即将步骤S540中计算的 协方差矩阵累加后获得的矩阵)除以在步骤S540中计算的所有协方差矩阵的 个数,来获得总体类内散度矩阵Sw。
通过以上描述可知,对于图像较多的训练集合,不管利用图4还是图5 计算类内散度矩阵,计算量都很大,且花费的时间也较长,为了满足实时应 用的要求,本发明针对类内散度矩阵的计算提出了快速计算方法。在根据本 发明示例性实施例的类内散度矩阵的快速算法中,在计算每组的类内散度矩 阵时,不再对组内的每一副图像与该组内的其他图像计算协方差矩阵,而是 对组内的每一幅图像与该组内所有图像的均值图像计算协方差矩阵。这样就 大大减少了计算量并节省了计算时间。
图6是针对图4的计算总体类内散度矩阵Sw方法的快速方法的流程图。与图4的流程图相比,图6多了步骤S630,且步骤S650与图4的步骤 S440不同之外,图6的其他步骤与图4的相应步骤都相同,所以将省略对其 他步骤的描述,现仅针对步骤S630和S650进行详细描述。
如果在步骤S620确定某一人还有剩余小组Gi没有用于计算类内散度矩 阵,则在步骤S630,计算该小组Gi内的所有图像的均值图像。详细地讲, 将该小组Gi内的所有图像相加,即将每一图像的对应像素的亮度值或RGB 值对应相加,或者Gabor小波特征值相加,然后将相加的结果除以该小组内 图像的个数,来获得该小组的均值图像Gimean。如果在步骤S640确定在该 小组Gi内还有图像没有用于类内散度矩阵的计算,则在步骤S650,计算该 图像与均值图像Gimean的差(称为差图像),然后对该差图像计算协方差矩阵, 即计算该图像与该小组的均值图像Gimean之间的协方差矩阵。
图7是针对图5的计算总体类内散度矩阵方法Sw的快速方法的流程图。
图7的步骤S710至S760与图6的步骤S610至S660相同,在此将省略 详细描述。与图6的不同"^处在于,在图7中,省去了步骤S670至S690, 而是在步骤S770中,将在步骤S760中累加的类内散度矩阵的结果除以所有 协方差矩阵的个数来获得总体类内散度矩阵Sw。
下面将参照图8至图11来描述类间散度矩阵计算单元153计算类间散度 矩阵。类间散度矩阵计算单元153计算类间散度矩阵的主要构思如下计算 每个人每一小组里所有图像中的每一 图像分别与其他人的所有图像中的每一 图像之间的协方差矩阵,然后,将根据上述操作对所有人的所有组的所有图 像所获得协方差矩阵相加,并将相加后的结果除以所计算的协方差矩阵的个 数,来获得类间协方差矩阵。
图8是根据本发明示例性实施例的计算总体类间散度矩阵Sb的流程图。
参照图8,在步骤S810,确定是否对训练集合内的所有人都进行了类间 散度矩阵的计算。如果在步骤S810确定还有人Pi没有用于类间散度矩阵的 计算,则进行到步骤S820确定在训练集合内是否还存在没有与Pi进行类间 散度矩阵计算的人。如果在步骤S820确定还有Pj没有与Pi进行类间散度矩 阵的计算,则进行到步骤S830确定Pi是否还有图像没有用于类间散度矩阵。 如果在步骤S830确定还有Pi的图像Il没有用于类间散度矩阵的计算,则进 行到步骤S840来确定Pj是否还有图像没有与图像II进行类间散度矩阵的计 算。如果在步骤S840确定Pj还有图像I2没有与图像I1进行类间散度矩阵的计算,则进行到步骤S850计算图像I1与图像I2之间的协方差矩阵。然后进 行到步骤S860,将在步骤S850中计算的协方差矩阵加到类间散度矩阵,即 将在步骤S850中针对Pi和Pj的图像计算的协方差矩阵累加。如果在步骤S830 中确定Pi的所有图像都进行了类间散度矩阵并在步骤S840中确定Pj的所有 图像也都进行了类间散度矩阵的计算,则在步骤S870计算Pi与Pj之间的类 间散度矩阵,即,将在步骤S860中累加的类间散度矩阵除以在Pi和Pj之间 的所计算的类间散度矩阵的个数(Pi所有图像的个数乘以Pj所有图像的个数
除以2 ),同时将在步骤S860的类间散度矩阵归零。如果在步骤S820中确定 训练集合中的所有人都与Pi进行了类间散度矩阵的计算,则在步骤S880计 算对于Pi的类间散度矩阵,即将在步骤S870中计算的Pi与其他所有人的类 间散度矩阵相加,然后再被训练集合中人的个数减1来除。如果在步骤S810 中确定对训练集合内的所有人都进行了类间散度矩阵的计算,则在步骤S890 计算总体类间散度矩阵Sb,即将在S880中针对每个人计算的类间散度矩阵 相加,然后除以训练集合内人的个数。
图9是示出根据本发明另 一示例性实施例的计算总体类间散度矩阵Sb的 方法的流程图。
图9中的步骤S910至S960与图8中的步骤S810至S860相同,所以省 略对其的详细描述。与图8中不同的是,在图9中省去了步骤S870至S890, 而是在步骤S970中,用在步骤S960中计算的类间散度矩阵(即将在步骤950 中计算的类间散度矩阵累加所获得的类间散度矩阵)除以所有类间散度矩阵 的总个数,来获得总体类间散度矩阵Sb。
通过以上描述可知,对于图像较多的训练集合,计算总体类间散度矩阵 Sb的计算量较大并且所花费的时间也较长,为了满足实时应用的要求,本发 明分别提出了快速计算类间散度矩阵的方法。在快速计算类间散度矩阵的方 法中,不再考虑每个人的所有图像与训练集合内的其他人的所有图像之间的 计算,而是将每个人每一小组的均值图像与训练集合内的其他所有人的均值 图像进行计算。可选择的,也可将每个人每一小组内的每幅图像与其他所有 人的均值图像进行计算。另外,在训练集合较大的情况下,也可用训练集合 内的所有图像的均值图像来代替上述其他所有人的均值图像。作为本发明的 示例性实施例,将针对每个人每一小组的均值图像与训练集合内的所有图像 的均值图像进行计算类间散度矩阵,但本发明并不限于此。下面将参照图10和图11来详细描述根据本发明示例性实施例的快速计 算总体类间散度矩阵Sb的方法。
图IO是示出根据本发明示例性实施例的针对图8的计算总体类间散度矩 阵Sb方法的快速计算方法。
在步骤S1010,首先计算训练集合内所有图像的均值图像Pmean。在步 骤S1020,确定是否对训练集合内的所有人都进行了类间散度矩阵的计算。 如果在步骤S1020确定还有人Pi没有用于类间散度矩阵的计算,则进行到步 骤S1030以确定是否对Pi的所有组都进行了类间散度矩阵的计算。如果在步 骤S1030中确定还没有对Pi的组Gj进行类间散度矩阵的计算,则进行到步 骤S1040,以计算组Gj内所有图像的均值图像Gjmean。然后,进行到步骤 S1050,来计算组Gj内所有图像的均值图像Gjmean与训练集合内所有图像 的均值图像Pmean之间协方差矩阵。然后进行到步骤S1060,将计算的协方 差矩阵加到类间散度矩阵,即将在步骤S1050中关于Gjmean和Pmean计算 的所有协方差矩阵累加。如果在步骤S1030中确定对Pi的所有组都进行了类 间散度矩阵的计算,则进行到步骤S1070,以计算针对Pi的类间散度矩阵, 同时将步骤S1060中的类间散度矩阵归零。如果在S1020中确定对训练集合 内的所有人都进行了类间散度矩阵的计算,则进行到步骤S1080,以计算总 体类间散度矩阵,即,将针对每个人的类间散度矩阵相加,然后再除以训练 集合内人的个数。
图11示出根据本发明示例性实施例的针对图9的类间散度矩阵计算方法 的快速计算方法。
图11的步骤S1110至步骤S1160与图10的步骤S1010至步骤S1060相 同,下面将省略对其的详细描述。
与图IO不同的是,省略了步骤S1070和步骤S1080,而增加了步骤S1170 来计算总体类间散度矩阵Sb,即将在步骤S1160中的类间散度矩阵除以在步 骤S1150中所计算的协方差矩阵的总个数。
作为示出,在上述本发明的示例性实施例中,在图10的步骤S1010和图 11的S1110中计算的是训练集合中所有图像的均值图像,但本发明并不限于 此。可选择的,可在确定没有对训练集合中的所有人都进行类间散度矩阵的 计算的步骤之后,通过对训练集合内的其他所有人的图像求均值来获得均值 图像Pmean。为了彻底公开本发明并使本公开完整,将参照图12来描述计算线性投影
矩阵的计算。图12是示出根据现有技术的线性投影矩阵计算单元154基于类 内散度矩阵计算单元152计算的总体类内散度矩阵Sw和类间散度矩阵计算 单元153计算的总体类间散度矩阵Sb来计算线性投影矩阵的方法。
因为是根据现有技术来计算线性投影矩阵,本领域的技术人员能够根据 在此给出的简单介绍就可实现,所以不对其进行详细描述。以下,将参照图 12来简单介绍计算线性投影矩阵的过程。
如图12所示,在步骤S1210,线性投影矩阵计算单元154分别从类内散 度矩阵计算单元152和类间散度矩阵计算单元153接收总体类内散度矩阵Sw 和总体类间散度矩阵Sb。然后,在步骤S1220,线性投影矩阵计算单元154 根据下面的公式(4)将接收到的总体类内散度矩阵Sw分解,来计算矩阵D 和V。
」 」 d1vtswvd—"i …公式(4)
然后,在步骤S1230,根据下面的公式(5)将接收的总体类间散度矩阵
Sb变换为矩阵St。
_i —i
D_;VTSbVDl=St …公式(5)
在步骤S1240,根据下面的公式(6)将在步骤S1230中变换获得的矩阵 St分解,获得矩阵R和U。
UTStU = R …公式(6)
在步骤S1250,根据下面的公式(4)并使用在步骤S1220中获得的矩阵 D和V以及在步骤S1240中获得的矩阵R和U来计算线性投影矩阵P。
图13是示出根据本发明示例性实施例的人脸识别方法的流程图。图14 是详细示出图13中的步骤S1350的流程图。下面将参照图1和图2来描述 13和图14的具体步骤。
首先,在步骤S1310,输入两幅待识别图像A和B。在步骤S1320,通 过在图1中示出的人脸检测单元对所输入的两幅图像A和B进行自动人脸检 测,来确定所输入的两幅图像A和B是否是具有人脸的图像。可选择的,作 为确定的结果,如果所输入的图像A和B不是具有人脸区域的图像,则进行 到步骤S1330,输出提示信息(例如,通过在显示器上显示文本或图像,或 者通过语音,来输出诸如所输入的图像是不具有人脸区域的图像的提示信 息。)。作为步骤S1320确定的结果,如果确定所输入的图像A和B是具有人脸区域的图像,则进行到步骤S1340,通过图1所示的眼睛定位单元120来 对眼睛进行定位,根据定位后的眼睛来划分人脸区域,从而分割出人脸图像。 将分割出的人脸图像Al和B1输出到特征提取单元140。在步骤S1360,特 征提取单元140基于由人脸识别引擎在步骤S1350中提供的线性投影矩阵(将 稍后将参照图2和图14进行描述)来从接收的人脸图像Al和Bl中提取两 个特征向量。在步骤S1370,特征向量距离计算单元160计算在步骤S1360 中提取的两个特征向量之间的距离。在以上描述中已详细介绍了如何计算两 个特征向量之间的距离,所以在此省略详细描述。在步骤S1380,基于计算 的特征向量之间的距离来确定在步骤S1310中输入的待识别图像A和B是否 为同一人。可选择的,可在步骤S1390输出所确定的结果。
根据本发明的另一示例性实施例,如果输入图像是人脸图像,则可省略 步骤S1320至S1340。
下面,将参照图14描述在步骤S1350中提供的线性投影矩阵的计算过程。
首先,在步骤S1351输入训练集合。在步骤S1352,分组单元151对训 练集合进行分组,然后,将分组后的图像集合输入到类内散度矩阵计算单元 152和类间散度矩阵计算单元153。在步骤S1353,类内散度矩阵计算单元152 才艮据图4至图7之一所示的方法来计算训练集合的总体类内散度矩阵Sb。在 步骤S1354,类间散度矩阵计算单元153根据图8至图11所示的方法之一来 计算训练集合的总体类间散度矩阵Sw。然后,在步骤S1355,线性投影矩阵 计算单元154根据图12所示的方法计算线性投影矩阵。
根据本发明的示例性实施例,提供了 一种基于分组的人脸识别系统和方 法,其中,定义了一种基于分组的新的类内散度矩阵计算方法和类间散度矩 阵计算方法,并根据实时应用的要求,分别提出了快速算法,这大大提高了
计算速度,并节省了资源和计算时间。
以上参照流程图描述了示例性实施例。应该理解,流程图的每一方框可 通过计算机程序指令被实现。这些计算机程序指令可被提供给通用计算机、 专用计算机或其他可编程数据处理设备的处理器,以产生机器,从而经计算
机或其他可编程数据处理设备的处理器被执行的指令创建用于实现在流程图 的 一个或多个方框中指定的功能的手段。
流程图的每一方框可表示模块、代码段或代码部分,其包括用于实现特 定逻辑功能的一个或多个可执行指令。在一些可选择的实现中,在不脱离本发明的范围的情况下,在方框中提到的功能可以不以示出的顺序出现。例如, 顺序示出的两个方框实际上可以依据所涉及的功能基本同时或以相反的顺序 被执行。
本领域的普通技术人员将会理解,在不脱离如下权利要求所定义的本发 明的精神和范围的情况下,可对其进行形式和细节各种改变。因此,如上所 述的示例性实施例仅是图示的目的而不被解释为对发明的限制。发明的范围 由权利要求给出,而不是在前的描述,落于权利要求的范围内的所有变化和 等同物被确定为包括在其中。
权利要求
1、一种多角度人脸识别方法,所述方法包括以下步骤输入两幅待识别图像;基于输入的训练集合内的分组图像计算线性投影矩阵;基于线性投影矩阵从输入的两幅图像中提取与所输入的两幅图像相应的两个特征向量;计算所提取的两个特征向量之间的距离;基于两个特征向量之间的距离来确定输入的两幅图像是否为同一人。
2、 如权利要求1所述的方法,还可包括对输入的图像进行人脸检测,以确定是否为具有人脸区域的图像; 如果确定输入的图像为具有人脸区域的图像,则对眼睛进行定位; 基于定位的眼睛从输入的图像切割人脸区域,从而获得人脸图像。
3、 如权利要求2所述的方法,其中,如果确定输入的两幅图像为不具有 人脸区域的图像,则输出提示信息。
4、 如权利要求1或2所述的方法,其中,基于输入的训练集合内的分组 图像计算线性投影矩阵的步骤包括基于训练集合内每一人的图像之间的相似度将训练集合内每一人的图像 分组;对分组后的训练集合计算总体类内散度矩阵; 对分组后的训练集合计算总体类间散度矩阵; 基于总体类内散度矩阵和总体类间散度矩阵来计算线性投影矩阵。
5、 如权利要求4所述的方法,其中,计算总体类内散度矩阵的步骤包括 计算训练集合内同一人的每一组的类内散度矩阵;将同一人每一组的类内散度矩阵相加,然后将相加后的和除以同一人的 组的个数,获得每一人的类内散度矩阵;将训练集合内每一人的类内散度矩阵相加,然后将相加后的和除以训练 集合内人的个数,获得总体类内散度矩阵。
6、 如权利要求5所述的方法,其中,计算训练集合内同一人的每一组的类内散度矩阵的步骤包括计算同 一 人的 一 组中的每 一 图像与该组内的另 一 图像之间的协方差矩阵;将对该组的所有图像所计算的协方差矩阵相加,并将相加后的和除以所 计算的协方差矩阵的个数,来获得该组的类内散度矩阵。
7、 如权利要求5所述的方法,其中,计算同一人的每一组的类内散度矩 阵的步骤包括计算一组中所有图像的均值图像;计算该组内的每一图像与该组的均值图像之间的协方差矩阵; 将对该组的所有图像所计算的协方差矩阵相加,并将相加的和除以所计 算的协方差矩阵的个it,来获得该组的类内散度矩阵。
8、 如权利要求4所述的方法,其中,计算总体类内散度矩阵的步骤包括 对训练集合内每一人的每一组来计算每组内每一图像与该组内另 一图像之间的协方差矩阵;将针对训练集合内的每一人的每一组所计算的协方差矩阵相加,并将相 加的和除以所计算的协方差矩阵的个数,来获得总体类内散度矩阵。
9、 如权利要求4所述的方法,其中,计算总体类内散度矩阵的步骤包括 对训练集合内的每一人的每一组计算每组内的所有图像的均值图像,并对训练集合内的每一人的每一组计算每组内的每一图像与该组的均值图像之 间的协方差矩阵;将所计算的协方差矩阵相加,并将相加的和除以所计算的协方差矩阵的个数,来获得总体类内散度矩阵。
10、 如权利要求4所述的方法,其中,计算总体类间散度矩阵的步骤包括计算训练集合内每一人与另 一人之间的类间散度矩阵;将每一人与训练集合内其他人之间的类间散度矩阵相加,并将相加的和除以针对该人与其他人所计算的类间散度矩阵的个数,来获得针对每一人的类间散度矩阵;将训练集合内针对每一人的类间散度矩阵相加,并将相加的和除以训练 集合内人的个数,来获得总体类间散度矩阵。
11、 如权利要求4所述的方法,其中,计算总体类间散度矩阵的步骤包括计算训练集合内每一人的每一 图像与另 一人的每一 图像之间的协方差矩阵;将计算的协方差矩阵相加,并将相加的和除以所计算的协方差矩阵的个 数,来获得总体类间散度矩阵。
12、 如权利要求4所述的方法,其中,计算总体类间散度矩阵的步骤包括计算训练集合内所有图像的均值图像,并将该均值图像称为训练集合的 均值图像;对每一人的每一组计算组内所有图像的均值图像,并将该均值图像称为 每一组的均值图像;针对每一人的每一组来计算每一组的均值图像与训练集合的均值图像之间的协方差矩阵;将针对每一人的每一组所计算协方差矩阵相加,并将相加的和除以针对 每一人的所有组所计算的协方差矩阵的个数,来获得针对每一人的类间散度 矩阵;将针对训练集合内每一人的类间散度矩阵相加,并除以训练集合内人的 个数,来获得总体类间散度矩阵。
13、 如权利要求4所述的方法,其中,计算总体类间散度矩阵的步骤包括针对训练集合内的每一人对该人的每一组计算组内所有图像的均值图 像,并将该均值图像称为每一组的均值图像;计算训练集合内除了该人之外的其他人的所有图像的均值图像,并将该 均值图像称为其他人的均值图像;针对每一人的每一组来计算每一组的均值图像与其他人的均值图像之间的协方差矩阵;将针对每一人的每一组所计算协方差矩阵相加,并将相加的和除以针对 每一人的所有组所计算的协方差矩阵的个数,来获得针对每一人的类间散度 矩阵;将针对训练集合内每一人的类间散度矩阵相加,并除以训练集合内人的 个数,来获得总体类间散度矩阵。
14、 如权利要求4所述的方法,其中,计算总体类间散度矩阵的步骤包括计算训练集合内所有图像的均值图像,并将该均值图像称为训练集合的均值图像;对训练集合内的每一人的每一组计算组内所有图像的均值图像,并将该 均值图像称为每一组的均值图像;针对每一人的每一组来计算每一组的均值图像与训练集合的均值图像之间的协方差矩阵;将所计算的协方差矩阵相加,并将相加的和除以所计算的协方差矩阵的 个数,来获得总体类间散度矩阵。
15、 如权利要求4所述的方法,其中,计算总体类间散度矩阵的步骤包括针对训练集合内的每一人对该人的每一组计算组内所有图像的均值图 像,并将该均值图像称为每一组的均值图像;计算训练集合内除了该人之外的其他人的所有图像的均值图像,并将该 均值图像称为其他人的均值图像;针对每一人的每一组来计算每一组的均值图像与其他人的均值图像之间的协方差矩阵;将所计算的协方差矩阵相加,并将相加的和除以所计算的协方差矩阵的 个数,来获得总体类间散度矩阵。
16、 如权利要求4所述的方法,其中,基于训练集合内每一人的图像之 间的相似度将训练集合内每一人的图像分组的步骤包括从训练集合内每一人的图像中任意选择与每一人所分组的个数相同的个 数的图像作为初始聚类中心;计算每一人的剩余图像中的每一 图像与每个初始聚类中心之间的相似度;基于所计算的相似度来将剩余图像分配给与其最相似的小组以形成新的 小组;计算每个新的'J 、组的聚类中心;重复进行计算相似度、基于相似度分配图像和计算聚类中心的步骤,直 到标准测度函数收敛。
17、 一种多角度人脸识别系统,包括 输入单元,输入两幅待识别图像;人脸识别引擎,提供基于输入的训练集合内的分组图像而计算的线性投影矩阵;特征提取单元,基于人脸识别引擎提供的线性投影矩阵从输入的两幅图 像中提取与所输入的两幅图像相应的两个特征向量;特征向量距离计算单元,计算特征提取单元提取的两个特征向量之间的3巨离;确定单元,基于特征向量距离计算单元计算的两个特征向量之间的距离 来确定输入的两幅图像是否为同 一人。
18、 如权利要求17所述的系统,还可包括人脸检测单元,对输入的图像进行人脸检测,以确定是否为具有人脸区 域的图像;眼睛定位单元,如果人脸检测单元确定输入的图像为具有人脸区域的图 像,则眼睛定位单元对眼睛进行定位;人脸区域分割单元,基于眼睛定位单元定位的眼睛从输入的图像切割人 脸区域,从而获得人脸图像。
19、 如权利要求18所述的系统,还可包括输出单元,如果人脸检测单 元确定输入的图像为不具有人脸区域的图像,则输出单元输出提示信息。
20、 如权利要求17或18所述的系统,其中,人脸识别引擎包括 分组单元,基于训练集合内每一人的图像之间的相似度将训练集合内每一人的图像分组;类内散度矩阵计算单元,对分组后的训练集合计算总体类内散度矩阵; 类间散度矩阵计算单元,对分组后的训练集合计算总体类间散度矩阵; 线性投影矩阵计算单元,基于计算的总体类内散度矩阵和总体类间散度 矩阵来计算线性投影矩阵。
21、 如权利要求20所述的系统,其中,类内散度矩阵计算单元计算训练 集合内同一人的每一组的类内散度矩阵,将同一人每一组的类内散度矩阵相 加,然后将相加后的和除以同一人的组的个数,获得每一人的类内散度矩阵, 并将训练集合内每一人的类内散度矩阵相加,然后将相加后的和除以训练集 合内人的个数,来获得总体类内散度矩阵。
22、 如权利要求21所述的系统,其中,类内散度矩阵计算单元计算同一 人的一组中的每一图像与该组内的另一图像之间的协方差矩阵,将对该组的所有图像所计算的协方差矩阵相加,并将相加后的和除以所计算的协方差矩 阵的个凄t,来获得该组的类内散度矩阵。
23、 如权利要求21所述的系统,其中,类内散度矩阵计算单元计算一组 中所有图像的均值图像,计算该组内的每一图像与该组的均值图像之间的协 方差矩阵,将对该组的所有图像所计算的协方差矩阵相加,并将相加后的和 除以所计算的协方差矩阵的个数,来获得该组的类内散度矩阵。
24、 如权利要求20所述的系统,其中,类内散度矩阵计算单元对训练集 合内每一人的每一组来计算每组内每一图像与该组内另 一图像之间的协方差 矩阵,将所计算的协方差矩阵相加,并将相加的和除以所计算的协方差矩阵 的个数,来获得总体类内散度矩阵。
25、 如权利要求20所述的系统,其中,类内散度矩阵计算单元对训练集 合内的每一人的每一组计算每组内的所有图像的均值图像,并对训练集合内 的每一人的每一组计算每组内的每一图像与该组的均值图像之间的协方差矩 阵,将所计算的协方差矩阵相加,并将相加的和除以所计算的协方差矩阵的 个数,来获得总体类内散度矩阵。
26、 如权利要求21所述的系统,其中,类间散度矩阵计算单元计算训练 集合内每一人与另 一人之间的类间散度矩阵,将每一人与训练集合内其他人 之间的类间散度矩阵相加,并将相加的和除以针对该人与其他人所计算的类 间散度矩阵的个数,来获得针对每一人的类间散度矩阵,并将训练集合内针 对每一人的类间散度矩阵相加,将相加的和除以训练集合内人的个数,来获得总体类间散度矩阵。
27、 如权利要求21所述的系统,其中,类间散度矩阵计算单元计算训练 集合内每一人的每一图像与另 一人的每一图像之间的协方差矩阵,将计算的 协方差矩阵相加,并将相加的和除以所计算的协方差矩阵的个数,来获得总 体类间散度矩阵。
28、 如权利要求20所述的系统,其中,类间散度矩阵计算单元计算训练 集合内所有图像的均值图像,将该均值图像称为训练集合的均值图像,对每 一人的每一组计算组内所有图像的均值图像,将该均值图像称为每一组的均 值图像,针对每一人的每一组来计算每一组的均值图像与训练集合的均值图 像之间的协方差矩阵,并将针对每一人的每一组所计算协方差矩阵相加,并 将相加和除以针对每一人的所有组所计算的协方差矩阵的个数,来获得针对每一人的类间散度矩阵,并将针对训练集合内每一人的类间散度矩阵相加, 除以训练集合内人的个数,来获得总体类间散度矩阵。
29、 如权利要求4所述的方法,其中,计算总体类间散度矩阵的步骤包括针对训练集合内的每 一 人对该人的每 一 组计算组内所有图像的均值图像,并将该均值图像称为每一组的均值图像;计算训练集合内除了该人之外的其他人的所有图像的均值图像,并将该 均值图像称为其他人的均值图像;针对每一人的每一组来计算每一组的均值图像与其他人的均值图像之间的协方差矩阵;将针对每一人的每一组所计算协方差矩阵相加,并将相加的和除以针对 每一人的所有组所计算的协方差矩阵的个数,来获得针对每一人的类间散度矩阵;将针对训练集合内每一人的类间散度矩阵相加,并除以训练集合内人的 个数,来获得总体类间散度矩阵。
30、 如权利要求20所述的系统,其中,类间散度矩阵计算单元计算训练 集合内所有图像的均值图像,将该均值图像称为训练集合的均值图像,对训 练集合内的每一人的每一组计算组内所有图像的均值图像,将该均值图像称 为每一组的均值图像,针对每一人的每一组来计算每一组的均值图像与训练 集合的均值图像之间的协方差矩阵,并将所计算的协方差矩阵相加,并将相 加的和除以所计算的协方差矩阵的个数,来获得总体类间散度矩阵。
31、 如权利要求20所述的系统,其中,类间散度矩阵计算单元针对训练 集合内的每一人对该人的每一组计算组内所有图像的均值图像,将该均值图 像称为每一组的均值图像,计算训练集合内除了该人之外的其他人的所有图 像的均值图像,将该均值图像称为其他人的均值图像,针对每一人的每一组 来计算每一组的均值图像与其他人的均值图像之间的协方差矩阵,并将所计 算的协方差矩阵相加,并将相加的和除以所计算的协方差矩阵的个数,来获 得总体类间散度矩阵。
32、 如权利要求20所述的系统,其中,分组单元从训练集合内每一人的 图像中任意选择与每一人所分组的个数相同的个数的图像作为初始聚类中心,计算每一人的剩余图像中的每一图像与每个初始聚类中心之间的相似度, 基于所计算的相似度来将剩余图像分配给与其最相似的小组以形成新的小 组,计算每个新获得的小组的聚类中心,重复进行计算相似度、基于相似度 分配图像和计算聚类中心的步骤,直到标准测度函数收敛。
全文摘要
本发明提供了一种多角度人脸识别方法和系统。所述多角度人脸识别方法方法包括以下步骤输入两幅待识别图像;基于输入的训练集合内的分组图像计算线性投影矩阵;基于线性投影矩阵从输入的两幅图像中提取与所输入的两幅图像相应的两个特征向量;计算所提取的两个特征向量之间的距离;基于两个特征向量之间的距离来确定输入的两幅图像是否为同一人。
文档编号G06K9/62GK101414348SQ200710164308
公开日2009年4月22日 申请日期2007年10月19日 优先权日2007年10月19日
发明者李宗河, 李性德, 金培亭, 黄向生 申请人:三星电子株式会社;北京三星通信技术研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1