基于OpenCV和LBP的iPhone人脸检测
我已经成功地使用OpenCV-2.1.0(cvHaarDetectObjects)中的Haar算法从iOS 4.2的Objective-C项目中检测图片和视频帧中的人脸。然而,在大多数情况下,iPhone4上视频帧的处理时间仍需1-2秒。下面给出了我正在使用的代码示例:基于OpenCV和LBP的iPhone人脸检测,iphone,xcode,optimization,opencv,face-detection,Iphone,Xcode,Optimization,Opencv,Face Detection,我已经成功地使用OpenCV-2.1.0(cvHaarDetectObjects)中的Haar算法从iOS 4.2的Objective-C项目中检测图片和视频帧中的人脸。然而,在大多数情况下,iPhone4上视频帧的处理时间仍需1-2秒。下面给出了我正在使用的代码示例: NSString *path = [[NSBundle mainBundle] pathForResource:@"haarcascade_frontalface_alt" ofType:@"xml"]; Cv
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),但我找不到任何关于如何使用它的建议
任何帮助都将不胜感激,包括其他优化技术和谷歌链接,我可能在搜索中错过了。只要合理有效,检测的准确性并不重要
谢谢 尝试使用确定应用程序中性能瓶颈的位置。很可能它们与你认为的不同
另外,请查看性能指南