如何检测面部表情和微笑&;Android中的人脸匹配?

如何检测面部表情和微笑&;Android中的人脸匹配?,android,face-recognition,Android,Face Recognition,我想知道以下事情在Android上是否可行 选择一张照片,检测人脸并显示矩形,检测每个人脸的微笑并显示每个人脸的微笑百分比 从照片库中选择一张照片并显示人脸。若你们点击faces,它会搜索所有照片库,并显示可能是同一个人的列表 让我们把事情整理一下: 检测人脸:安卓似乎能够通过课堂做到这一点。阅读文档以了解如何做到这一点 检测微笑和/或相似的人:此功能未集成在人脸检测器中。然而,这是一个人脸识别的问题,在这方面的研究已经做了很多工作。谷歌的一项研究应该向你指出与此相关的理论论文,但我不确定它们

我想知道以下事情在Android上是否可行

  • 选择一张照片,检测人脸并显示矩形,检测每个人脸的微笑并显示每个人脸的微笑百分比
  • 从照片库中选择一张照片并显示人脸。若你们点击faces,它会搜索所有照片库,并显示可能是同一个人的列表
    让我们把事情整理一下:

    • 检测人脸:安卓似乎能够通过课堂做到这一点。阅读文档以了解如何做到这一点
    • 检测微笑和/或相似的人:此功能未集成在
      人脸检测器中。然而,这是一个人脸识别的问题,在这方面的研究已经做了很多工作。谷歌的一项研究应该向你指出与此相关的理论论文,但我不确定它们是否都有实现

    编辑:研究人员用于此类主题的主要图像处理库是。您可以找到它的Java包装器。

    扩展了Valentin Rocher的答案:我认为您可以通过以下方式有限地实现它:

  • 使用()获取照片中的FaceDetector.Face对象数组
  • 迭代FaceDetector.Face对象的数组,您可以使用以下API进行比较(即,将一个面作为参考,并将其与数组中的另一个面进行比较,以找到相似性/接近性)

    信心()
    视距()
    getMidPoint()
    姿势()


  • 谷歌有一个检测微笑的例子。请检查:


    这是Android Vision API,需要Android Play Services SDK级别26或更高。

    这是一种方法,但两个人可以有相同的眼睛距离和/或中点,并且是两个不同的人是的,非常正确。图像处理本质上是非常主观的。通过比较上面列出的更多参数(置信度、眼距、中点、姿势等),可以减少您正确评论的可能性。Android phone是一个高端嵌入式系统,可以实现复杂的图像处理算法。然而,考虑到手机处理器的性能,我们需要平衡最终应用程序的效率和性能。