我最近看了一下脸部识别。但是我对算法的数量感到满意。
PCA,LDA,IDA,Gabor Wavelets,AAM ......
假设您想制作类似this的内容...您会使用哪种算法或您会阅读哪些论文?
答案 0 :(得分:17)
我认为你应该做的第一件事是认识到你列出的算法用于人脸识别的不同阶段。
首先,你需要决定代表性,i。即要使用的功能。 这些可以是原始像素,Gabor滤镜,某种形状描述符,可变形模型等。
然后,您通常希望降低功能的维度。这就是PCA,ICA或LDA等算法的用武之地,它将数据点投射到较低维空间,试图保留大部分方差(PCA)或确保不同类别(LDA)点的最佳分离。 p>
然后你可能想要在你的特征上训练一个分类器来区分不同人的面孔。这里有很多算法可供选择,例如最近邻,支持向量机,隐马尔可夫模型,贝叶斯网等。
请注意,为特定阶段选择算法可能会或可能不依赖于其他阶段的算法。例如,PCA可用于降低几乎任何类型特征的维度。另一方面,如何对可变形网格所代表的面使用支持向量机分类器并不是很明显。
我想你要做的第一件事就是非常准确地定义你的问题。您想区分少数人的面孔,例如在照片中识别您的家人吗?您想从庞大的数据库中识别人吗?你有很多面部训练图像,或只有少数?您想要处理不同的方向和照明条件吗?
这些问题的答案决定了你的问题有多复杂,并且肯定会影响你选择的算法。
编辑: 这是试图解决类似问题的人的thesis。它是从2002年开始的,但恕我直言,这是一个很好的起点。
答案 1 :(得分:3)
您想要考虑深度图。这是最先进的。尝试阅读有关稀疏球面表示的信息。特征面不是很强大。它不是几个因素的不变量。现有技术的人脸识别使用具有深度信息的3d PCL。这样即使在黑暗中也可以识别。您可以使用华硕相机或Kinect相机来收集深度信息。希望有所帮助!
答案 2 :(得分:1)
Haar级联在Marilena港口上运行。
Haar级联是一种算法,它读取文件并告诉计算机看起来像什么。我过去用它来检测面部,眼镜,只是微笑,手和可乐。