iPhone上的人脸识别
computer-vision
ios
opencv
6
0

如何在iPhone上进行面部识别。有人可以为我提供参考/文章,以指出正确的方向吗?经过研究,我意识到首先需要进行人脸检测以提取图像,然后通过将其与数据库中的其他图像进行比较来进行人脸识别。

我已经意识到我已经通过使用OpenCV或通过使用iOS 5.0及更高版本来进行人脸检测。我不确定面部识别(我计划将图像存储在远程数据库中,然后与远程数据库进行比较)。

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

人脸检测

我将使用开放式简历中可用的Haarcascades来执行快速,准确的人脸检测。

http://opencv.willowgarage.com/wiki/FaceDetection

人脸识别

我会使用诸如主成分分析(PCA)或本征面的方法。

http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html

该链接显示了有关如何使用OpenCV进行操作的教程-我认为这是为C编写的,但是我敢肯定,您可以获得它的基本知识。

如果您觉得自己很勇敢,也可以考虑自己实施它(还不错)。

http://www.face-rec.org/algorithms/PCA/jcn.pdf

http://blog.zabarauskas.com/eigenfaces-tutorial/

数据库

我实际上在PC上做了与您类似的操作,虽然不是iPhone,但概念仍然相同。我将所有图像作为Blob数据类型存储在数据库中,然后在必要时将它们加载到程序中。

编辑

数据库是系统中特别棘手的部分,因为这是最大的瓶颈所在。在我的应用程序中,我将执行以下步骤...

  1. 打开应用程序并从数据库中获取训练图像
  2. 根据这些图像生成训练集
  3. 完成1和2后,该系统将非常迅速,因为它仅针对训练集执行识别。

对我来说幸运的是,我的数据库服务器位于LAN上,因此速度不是问题,但是我可以看到为什么有问题,原因是在移动设备上数据连接(速度/带宽)有限。您可以压缩图像,但是由于图像质量降低,可能会导致识别率降低,并且您还必须在设备上解码。还有一个问题是如何向应用程序公开远程数据库,但是我相信使用PHP和JSON(以及其他技术,请参见下文)是可行的。

从远程数据库检索数据

也许您可以与数据库进行初始同步,以便将图像缓存在手机上?无论如何,我认为您可能必须在某个时候将图像保存在手机上。

找出将识别数据/图像存储在数据库中的最佳方法是我面临的最大挑战之一,因此,如果您能找到一个好的方法,我将很感兴趣。

收藏
评论

正如您所指出的,使用iOS 5和CoreImage.framework可以轻松完成第一步(面部检测)。快速示例:

CIImage *image = [CIImage imageWithCGImage:image_ref];
NSDictionary *options = [NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh forKey:CIDetectorAccuracy];
CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:options];
NSArray *features = [detector featuresInImage:image];

for (CIFaceFeature *feature in features)
{
  CGRect face_bounds = [feature bounds];
  CGPoint mouth_position = [feature mouthPosition];
  // do something with these values
}

关于您问题的第二部分(即面部识别 ),我将留给比我自己更有资格回答的人。 :)

收藏
评论

您可能想看一下Pedro Centieiro的midian项目,该项目在带有OpenCV的iOS 5上执行人脸识别。在github上:

它使用了我的libfacerec的一部分 ,因此它支持特征脸,Fisherfaces和局部二进制模式直方图进行脸部识别。

收藏
评论

人脸识别可以实现为机器学习算法。 本书的一章介绍了此任务及其实现方法。值得一读!

它使用单值分解 (SVD),更具体地说是Tensor SVD方法

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号