纸张检测系统头像
步骤1:获得包含m幅人脸图像的集合S。在我们的例子中,有25张人脸图像(虽然是25张不同人的人脸图像,为什么看起来不像?我有脸盲症吗?),如下图所示。可以把每一幅图像转换成一个n维向量(对,没错,一次排一个像素就行,至于是横向还是纵向取原图像的像素,你自己看着办,只要前后统一就行),然后把这m个向量放入一个集合S,如下式所示。
第二步:获取人脸向量集S后,计算平均图像ψ?至于如何计算平均图像,公式如下。就是遍历集合s中的向量并累加,然后取平均值。你明白吗?其实挺有意思的吧?其实也是一个N维向量。如果还原成图像的形式,就可以得到下面这张“平均脸”。是的,它是,而且它真他妈的帅。那么如果你想看看一个计算机学院的男生平均长什么样,可以用上面的方法。
第三步:计算每幅图像与平均图像的差值φ,即从S集合中的每个元素减去第二步中的平均值。
第四步:求M个正交单位向量un?这些单位向量实际上是用来描述φ的分布(第三步的区别)。联合国?k(k=1,2,3...m)矢量英国?由下面的公式计算,
当这个λk(原文中命名为特征值)取最小值时,基本确定了uk。对了,我刚才说了,这M个向量相互正交,有单位长度,所以uk还需要满足下面的公式:
以上等式使得uk?是单位正交向量。上面算英国?其实就是计算协方差矩阵的特征向量如下:
在…之中
对于一个NxN(例如100x100)维的图像,直接计算其特征向量的计算量太大(协方差矩阵可以达到10000x10000),所以做如下简单计算。
步骤4另一种解决方案:如果训练图像的数量小于图像的维数,例如(m
一旦我们找到L矩阵的m个特征向量vl,协方差矩阵的特征向量ul可以表示为:
如果把这些特征向量简化成像素排列,其实还挺像人脸的,所以叫做特征脸(如下图)。图中有二十五张特征脸,数量与训练图像相等只是巧合。有论文显示,一般应用40张特征脸就够了。为了说明实验,在特征脸识别中只使用了七张特征脸。
第五步:认脸。好了,终于来了。别晕了。以上步骤是为了降低人脸的维数,找到合适的向量来表示人脸。首先,考虑一张新脸,我们可以用特征脸来标记它:
其中k=1,2...m,对于第k个特征脸uk,上式可以计算出其对应的权重,m个权重可以形成一个向量:
完美,这就是获得的特征脸对脸的表征!
那么如何识别人脸,看下面的公式:
其中ω代表待鉴别的人脸,ωk代表训练集中的人脸,两者都用特征脸的权重来表示。公式是求它们之间的欧几里德距离。当距离小于阈值时,意味着待判别的人脸和训练集中的第k张人脸属于同一个人。当遍历的所有训练集都大于阈值时,根据距离值的大小可以分为新人脸或非人脸两种情况。根据不同的训练集,阈值设置不是固定的。
以后会有PCA理论的补充。补充理论:特征脸-PCA(主成分分析)的理论基础。
参考资料:
1、特征脸识别:。可移植文档格式文件的扩展名(portable document format的缩写)
2.特征脸维基百科:http://zh.wikipedia.org/wiki/%E7% 89% B9 % E5 % Be % 81% E8 % 84% B8。
3、Eigenface _教程:http://www.pages.drexel.edu/~sis26/Eigenface%20Tutorial.htm