我试图比较两张脸并获得他们的相似度 - 他们匹配多少得分。 我搜索互联网寻求解决方案,但我只能找到一组训练图像的人脸识别,我无法找到有人对这个问题进行研究 - 我有2个未知面孔,我想知道它是否是同一个人。 你能告诉我任何可以帮助我的任何线索和资源吗? 如果有任何实现,如果它是 - C#,C ++会很棒 我试图使用openCV-检测面部,识别面对某些数据库(获得本征距离)并比较euklidean距离,但我收到了不好的结果。(也许我的方法是错误的,我不完全理解特征脸和euklid距离)
非常感谢!
答案 0 :(得分:1)
首先,请注意,这远非一个已解决的问题。事实上,它是计算机视觉研究的一个相对领域。请查看Labeled Faces in the Wild dataset,它正好使用您正在谈论的任务,比较两个面孔。您特别感兴趣的是results section,其中包含哪些算法(以及相应的论文)效果最好的报告。
然而,似乎所有这些都可能相当先进。您似乎对机器学习和/或计算机视觉不太熟悉,在这种情况下,您可能希望查看这些领域的教科书。
无论哪种方式,基本的是这样的:你不想使用像素来比较面部,因为它们随着光线和姿势的变化而变化很大。 (你应该尝试一下!)所以你必须以一种方式转换像素,这种方式使同一个人的面孔相似,不同人的面孔也不同。这是特征提取,它可以说是人脸识别中最难和最重要的部分。你怎么知道改造它们的最佳方法是哪种?这就是训练数据集的用武之地。例如,如果你使用特征脸(顺便说一下,它的性能应该很差),你可以使用训练数据来获得最能代表这些数据的特征向量。然后,两个比较两个面,将每个面投影到特征向量上,并使用欧几里德距离。 (这与使用Mahalonobis距离相同)。
答案 1 :(得分:0)