【问题标题】:Poor Performance with OpenCV 2.4.8 face detectionOpenCV 2.4.8 人脸检测性能不佳
【发布时间】:2014-03-16 23:17:11
【问题描述】:

我安装了 OpenCV 2.4.8 Java API 来使用tutorial 中给出的人脸检测示例。

在示例中,lbpcascade_frontalface.xml - 这是一个 CascadeClassifier- 在检测他们提供的女性面部图像 (lena.png) 时工作​​正常。然而,当我在网络上的这个随机的image 上尝试它时,分类器生成了以下图像,缺少 4 个明显的(!)面孔:

我很失望,因为我希望这张(具有清晰的对比)是一张非常容易检测人脸的图像。

1) 用Java编码,是否可以改进这个分类器来检测这张图片中的所有人脸?或者我需要 C++ 吗?

2) 我查看了OpenCV's CascadeClassification web page,发现可以训练自己的分类器。但说明是用 C++ 编写的。有没有人使用 Java 做到这一点,还是只能在 C++ 中做到这一点?

【问题讨论】:

  • 尝试使用其他级联,例如lbpcascade_frontalface_alt2.xml

标签: java c++ opencv face-detection


【解决方案1】:

培训与任何编程语言无关。

http://docs.opencv.org/doc/user_guide/ug_traincascade.html

您只需要使用 opencv 库中包含的两个已编写的程序:createsamplestraincascade。您也可以使用 Haar 和 LBP 特征,但 Haar 特征在人脸检测方面略胜一筹。 (顺便说一句:不要使用 haartraining)。

【讨论】:

  • 谢谢,您为什么不建议使用 haarttraining?我知道opencv_traincascade 已经取代了opencv_haartraining,因为某些版本是 2.X,所以后者已被弃用。另外我听说opencv_haartraining太慢了。你知道训练有什么其他不受欢迎的特征吗?
  • 第一:因为不再支持“haartraining”,你会发现使用它的帮助很少。第二:为什么要用更多的程序,如果你只能用一个(如果你想改变特征的类型而不改变训练数据,你只需要重置相应的参数)。
【解决方案2】:

是因为教程选择使用的faceDetector是lbpcascade_frontalface.xml不够好,至少不能检测到你使用的图片中的所有人脸。

您可以更改为使用 opencv-2.4.8\sources\data\haarcascades 文件夹下的 haarcascade_frontalface_alt.xml。然后将检测到所有面部。

结果如下:,更多详情请参考:http://www.pkuaas.org/?uid-1140-action-viewspace-itemid-3224

【讨论】:

    【解决方案3】:

    我已经保存了你的图片,这个 c++ 代码找到了丢失的 4 张面孔以及所有其他面孔(注意不同的 Haar 级联和最小尺寸):

        Mat im1 = imread("JuVIA.png", CV_LOAD_IMAGE_COLOR);
    
        vector<Rect> faces;
        CascadeClassifier cascade( "C:/local/opencv249/sources/data/haarcascades/haarcascade_frontalface_alt2.xml" );
        cascade.detectMultiScale( im1, faces, 1.1, 2, 0| CV_HAAR_SCALE_IMAGE, Size(30, 30) );
    
        for( vector<Rect>::const_iterator r = faces.begin(); r != faces.end(); r++ )
            cv::rectangle( im1, *r, CV_RGB(255,0,0) );
    
        imshow("in", im1);
        imwrite( "miss4.png", im1);
        waitKey();
    

    【讨论】:

      猜你喜欢
      • 2012-02-04
      • 2013-05-24
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 2014-01-31
      • 2012-04-15
      • 2017-07-01
      • 2016-05-05
      相关资源
      最近更新 更多