【问题标题】:Face Detection on iPhone using OpenCV and LBP使用 OpenCV 和 LBP 在 iPhone 上进行人脸检测
【发布时间】:2011-06-22 17:13:54
【问题描述】:

我已成功使用 OpenCV-2.1.0 (cvHaarDetectObjects) 中的 Haar 算法从 iOS 4.2 的 Objective-C 项目中检测图片和视频帧中的人脸。但是,在大多数情况下,iPhone 4 上视频帧的处理时间仍然需要大约 1-2 秒。下面给出了我正在使用的代码示例:

    NSString *path = [[NSBundle mainBundle] pathForResource:@"haarcascade_frontalface_alt" ofType:@"xml"];

    CvHaarClassifierCascade* cascade = 
            (CvHaarClassifierCascade*)cvLoad([path cStringUsingEncoding:NSASCIIStringEncoding], 
                                             NULL, NULL, NULL);
    CvMemStorage* storage = cvCreateMemStorage(0);

    CvSeq* faces = cvHaarDetectObjects(small_image, cascade, storage, 1.2, 0, 
                                       0 |CV_HAAR_DO_ROUGH_SEARCH |CV_HAAR_FIND_BIGGEST_OBJECT, cvSize(30, 30));

我尝试了多种优化技术,包括智能应用 ROI,以及使用整数而不是浮点数。然而,这些变化花费了大量时间,而且只带来了一点点好处。

有人建议我使用 LBP 可以显着减少人脸检测时间。我一直在尝试和寻找实现 LBP 的方法,但无济于事。在 opencv 中,有一个级联文件(lbpcascade_frontalface.xml),但我找不到任何关于如何使用它的建议。

任何帮助都将不胜感激,包括我在搜索中可能错过的其他优化技术和 Google 链接。只要检测的准确性相当有效,检测的准确性并不重要。

谢谢!

【问题讨论】:

    标签: iphone xcode optimization opencv face-detection


    【解决方案1】:

    尝试使用Instruments 来确定您的应用程序的性能瓶颈在哪里。它们可能与您认为的不同。

    另外,请查看this 性能指南。

    【讨论】:

      猜你喜欢
      • 2013-12-02
      • 1970-01-01
      • 2012-04-15
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      • 2017-10-02
      • 1970-01-01
      相关资源
      最近更新 更多