【问题标题】:How to recognize for the same face?如何识别同一张脸?
【发布时间】:2012-06-19 01:13:44
【问题描述】:

我的应用可以存储密码。但这些都是重要的密码,所以我不希望用户被黑客入侵。我想能够使用面部识别,而不是回答安全问题输入密码。我对最后两个选项很好,只是停留在面部识别上。

我已将视图设置为完整的相机视图。

如何执行面部识别,是否有 API 或一些示例代码?如何确定我看到的是同一张脸?

最后一件事,举起一张照片会认出人脸吗?

【问题讨论】:

    标签: objective-c ios xcode face-recognition


    【解决方案1】:

    我最近完成了这个练习,如果你想使用 Apple 框架提供的基本功能,你可以使用类型为 CIDetectorTypeFace 的 CIDetector,然后遍历返回的 CIFaceFeatures 数组。我创建了一个名为 Features 的结构来存储眼睛和嘴巴的位置:

    CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace
                                              context:nil options:                [NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh  forKey:CIDetectorAccuracy]];
    NSArray* features = [detector featuresInImage:image];
    
    Features *face = [[Features alloc] init]; //simple struct with 3 face points
    
    for( CIFaceFeature* faceFeature in features)
        {
          //use _faceView to compare view of 2nd image as one will have to be scaled to the others size
           _faceView = [[UIView alloc] initWithFrame:faceFeature.bounds];
           if(faceFeature.hasLeftEyePosition)
           {
               face.leftEye = faceFeature.leftEyePosition;
    
              // do the same for face.rightEye, and face.Mouth
              .
              .
              .
    

    获得基本面的坐标后,您可以比较眼睛和嘴巴之间的距离,并确定匹配的百分比。您可以添加眨眼检测以确保它是一个人而不是复制的图像。但这是另一个主题的主题

    【讨论】:

      【解决方案2】:

      您可以使用 face.com API 并将照片发送给他们以进行识别。我相信他们从 Facebook 提取数据用于面部识别,因此您可能需要您的用户连接到 Facebook。自己查看文档。

      完全披露:face.com 曾经给过我一件 T 恤。

      是的,举起一张照片就能识别人脸。

      【讨论】:

      • 好的,但是如果用户在 Facebook 上没有自己的个人资料图片或者根本没有 Facebook 怎么办......
      • 我要做的就是识别它是否是同一张脸
      • 用户一开始就注册了他的脸,如果是同一张脸,我需要稍后检查用户何时重新打开应用程序。我有一个想法,将这两个东西存储到用户默认值:眼睛之间的距离,左眼和嘴巴之间的距离以及右眼和嘴巴之间的距离。每次都会一样吗?应该是对的……
      • 当用户重新打开应用时,显示锁屏并要求他们再拍一张自己的脸。
      • 您可以在没有 facebook 的情况下使用 face.com,使用私有命名空间。
      【解决方案3】:

      面部识别存储是个坏主意 |恢复任何类型的重要数据……

      即使你有最好的识别算法,一张简单的图片也能破坏你的安全!

      但是……回答您的问题,Apple 已经发布了适用于 iOS 6 的人脸识别 API……对于较旧的 iOS,您可能必须创建自己的算法。

      面部识别算法通常基于眼睛、眉毛、鼻尖和嘴巴的距离。

      【讨论】:

      猜你喜欢
      • 2019-05-17
      • 2022-11-20
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 2011-12-11
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多