我最近看了一下脸部识别.但是我对算法的数量感到满意.
PCA,LDA,IDA,Gabor Wavelets,AAM ......
假设你想使像这样 ......你会使用或文件将你读哪些算法?
我认为你应该做的第一件事是认识到你列出的算法用于人脸识别的不同阶段.
首先,您需要决定表示,即要使用的功能.这些可以是原始像素,Gabor滤镜,某种形状描述符,可变形模型等.
然后,您通常希望减少功能的维度.这就是PCA,ICA或LDA等算法的用武之地,它将数据点投射到较低维空间,试图保留大部分方差(PCA)或确保不同类别(LDA)点的最佳分离.
那么你可能想要在你的特征上训练一个分类器来区分不同人的面孔.这里有很多算法可供选择,例如最近邻,支持向量机,隐马尔可夫模型,贝叶斯网等.
注意,针对特定阶段的算法的选择可能或可能不依赖于其他阶段的算法.例如,PCA可用于降低几乎任何类型特征的维度.另一方面,如何对可变形网格所代表的面使用支持向量机分类器并不是很明显.
我想你要做的第一件事就是非常准确地定义你的问题.您想区分少数人的面孔,例如在照片中识别您的家人吗?您想从庞大的数据库中识别人吗?你有很多面部训练图像,或只有少数?您想要处理不同的方向和照明条件吗?
这些问题的答案决定了您的问题有多复杂,并且肯定会影响您对算法的选择.
编辑:这是一个试图解决类似问题的人的论文.从2002年开始,恕我直言,这是一个很好的起点.