我想知道,人脸识别到底是如何工作的?因为每个人都有不同的面孔,所以你无法察觉到一些“一般”的面孔或其他东西。
发布于 2011-05-15 21:53:37
张军等人。(1997)研究了适用于计算机视觉的三种不同的人脸识别方法,每种方法都是统计分析中值得注意的领域:
1)特征面算法
2)弹性匹配
3)自动关联和分类网络
特征脸方法使用某种形式的降维方法(如PCA)对人脸图像之间的统计变化进行编码,其中在特征空间中产生的特征差异不一定对应于孤立的面部特征,如眼睛、耳朵和鼻子(换句话说,特征向量中不可或缺的分量并不是预先确定的)。
弹性匹配生成对应于脸部特定轮廓点的节点图(即线框模型),例如眼睛、下巴、鼻尖等,识别基于图像图与已知数据库的比较。由于图像图形在匹配过程中可以旋转,因此该系统对图像中的大变化具有更强的鲁棒性。
分类网络识别利用与弹性匹配相同的几何特征,但由于是一种有监督的机器学习技术(通常涉及到支持向量机的使用)而存在根本区别。
尽管当光照或面部对齐变化较大时,特征脸检测的性能可能不如其他方法,但它的优点是易于实现,计算效率高,并且能够以无监督的方式识别人脸,因此往往成为事实上的标准。许多最先进的检测技术在识别之前也依赖于某种形式的降维,即使特征向量提取是以不同的方式处理的。
发布于 2011-03-24 06:28:34
你可以在这里找到答案:Face recognition
每一张脸都有无数可区分的地标,不同的峰谷构成了面部特征。FaceIt将这些地标定义为节点。每个人脸大约有80个节点。由该软件测量的其中一些是:
* Distance between the eyes
* Width of the nose
* Depth of the eye sockets
* The shape of the cheekbones
* The length of the jaw line对这些节点进行测量,创建一个数字代码,称为面部指纹,代表数据库中的面部。
发布于 2012-05-23 03:10:33
一个不错的开始方法是阅读有关主成分分析(PCA,也称为特征脸)、Fisher的线性判别分析(LDA)和支持向量机(SVMs)的知识。这些分类方法对于人脸分类非常有用。
OpenCV已经包含了PCA和SVM的优秀实现。对于C++中的OpenCV的人脸识别和分类代码,一个优秀的资源是this website。
this one是一个网站,提供了最相关的人脸分类方法的资源和论文链接。
这是一个很好地解释了主成分分析、特征脸和线性分析的例子,并用Matlab语言编写了示例代码,这对我的第一个人脸分类程序is here非常有用。
https://stackoverflow.com/questions/5412387
复制相似问题