【问题标题】:How can I compare an image to identify a person in the image?如何比较图像以识别图像中的人?
【发布时间】:2015-10-08 10:37:43
【问题描述】:

通过网络摄像头,我正在捕捉前面的人的图像。然后我显示一个视频。在那之后,我必须找出是否是同一个人站在前面。我怎样才能做到这一点?互联网中的可能性需要许多图像来训练 SVM。我只有一张要识别的人的照片。我怎样才能做到这一点?如果可能,请提供一些代码示例,因为我是新手。我已经实现了网络摄像头逻辑。正是我需要的图像识别。

【问题讨论】:

  • 这是一个非常需要完成的问题。您可以尝试一些选项(但机器学习可能是最好的选择)。如果您确定只能使用一张图片进行检查,您可以尝试模板加工。 Opencv 在docs.opencv.org/doc/tutorials/imgproc/histograms/… 上有一些代码。
  • 模板匹配需要完全相同的图像。我尝试过这个。当是同一个人但图像不同时,它无法识别。他们如何为登录做到这一点?他们只获得一张网络摄像头图像,并且下次以某种方式识别该人?他们是怎么做到的?
  • 是的,这绝对是模板匹配的失败。分歧会毁掉比赛。大公司可能会使用机器学习来匹配面孔。但基本上归结为这张脸与我想要匹配的脸有多相似。您可以找到关于面部的哪些特征很重要,找到一个指标来比较它们,并将这些特征指标与给定的权重结合起来。如果整体指标大于某个阈值,则您已找到匹配项。

标签: opencv image-processing computer-vision image-recognition face-recognition


【解决方案1】:

好的,让我们试一试。

一个相当典型的方法是使用一种叫做特征脸的东西。 OpenCV 有一整节关于使用 EigenFaces 进行面部识别和http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html中的类似方法@

但这假设您有一个图像数据库可供使用(但它不是一个糟糕的起点)。

使用面部/图像特征的方法:

此方法不一定那么高效,因为它取决于您计算某些特征的效率。这种方法的准确性取决于您定义特征及其权重因子的程度。但尽管如此,它是一种不一定需要任何机器学习的方法。 (虽然它肯定会有所帮助!)

另一种方法是尝试比较源脸和目标脸的相似程度。这可以通过比较一组特征来完成。

您要做的第一件事是确定目标图像是否包含人脸。 看 http://docs.opencv.org/master/d7/d8b/tutorial_py_face_detection.html 或者你可以实现找到Here.的 Viola-Jones 算法

现在,如果您的人脸检测算法尚未执行此操作,您将需要查找目标人脸的方向、比例和位置(这对于查找人脸的某些特征很有用)。

现在您需要计算目标人脸的特征。 您可以使用图像特征和描述符(如 Fast、SIFT 和 ORB)来计算图像特征并进行比较。 见http://docs.opencv.org/master/dc/dc3/tutorial_py_matcher.html

或者,由于您知道处理面孔,您可以计算有助于区分人的特征。 例如:

眼睛之间的距离,脸型。鼻子的长度。眼睛的高度。口鼻距离等

棘手的部分是弄清楚如何可靠地计算特征指标,然后将所有这些组合成一个指标。机器学习算法通常用于找到组合每个指标的权重因子。

但是您可以使用一些猜测工作来选择初始权重,然后进行反复试验,直到找到适合您的一组权重。

计算出权重后,您可以通过查找源特征和目标特征之间的平方差来组合它们,然后将它们加在一起。 (如果首先对所有子特征进行归一化(即始终在 0 到 1 的范围内)并加权以使整体指标的范围在 0 到 1 之间,则此方法效果最佳。

假设你有 5 个特征 f0、f1、f2、f3、f4、f5 都在 0 和 1 之间 这些值是源面和目标面之间的归一化平方差。

您有 5 个权重因子:0.3、0.1、0.15、0.25、0.2(总和为 1)

你的整体指标是

Overall Metric = 0.3 * f0 + 0.1 * f2 + 0.15 * f3 + 0.25 * f4 + 0.2 * f5

如果值更接近 0,则两张脸更相似,如果值更接近 1,则更不相似。在上面的示例中,特征 0 是最重要的特征,而特征 2 是最不重要的。

【讨论】:

    猜你喜欢
    • 2010-09-23
    • 1970-01-01
    • 2014-09-11
    • 2011-10-23
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 2011-07-18
    • 2015-07-19
    相关资源
    最近更新 更多