【问题标题】:Detecting faces that are looking into the webcam检测正在查看网络摄像头的人脸
【发布时间】:2014-05-29 14:04:51
【问题描述】:

我目前正在使用 Java/JavaCV 进行人脸检测。 到目前为止,我一直在试验代码。

我正在使用这张脸 cascade = haarcascade_frontalface_alt_tree.xml

我在下面有这段代码,用于检测网络摄像头中发现的最大人脸

CvSeq faces = cvHaarDetectObjects(img, classifier, storage, 1.1, 1,                           
                           CV_HAAR_DO_ROUGH_SEARCH|CV_HAAR_FIND_BIGGEST_OBJECT);

我的第一个问题是: 因为这只检测到一张脸——在网络摄像头中发现的最大的脸 这是检测多张面孔的正确方法吗?

CvSeq faces = cvHaarDetectObjects(img, classifier, storage, 1.1, 1, CV_HAAR_DO_CANNY_PRUNING);

我的第二个问题是: 是否可以检测到只看网络摄像头的人脸?以及那些没有调查 wbecam 的人? 所以它会检测人脸,但我想设置某种分数 - 所以假设 1 是针对正在看网络摄像头的人脸,而 2 - 是针对远离网络摄像头的人脸?我该如何继续执行此操作?

谢谢。

【问题讨论】:

    标签: java opencv javacv face-detection


    【解决方案1】:

    如果一个人直视,他/她的眼睛应该是垂直的(如果他/她没有眼睛问题:P)。

    这个理论表明,如果一个人直视,瞳孔和虹膜应该是圆形的而不是椭圆形的。 请注意,我指的是瞳孔和虹膜的可见部分。

    【讨论】:

      【解决方案2】:

      大多数人脸检测库都是针对面向相机的人进行训练的,因为这是人脸识别的主要限制因素。话虽如此,Haar cascade 也可以被训练来检测轮廓,甚至可以专注于眼睛和鼻子(即面部的一部分)。

      我自己没有使用 javaCV,但测试了 openIMAJ(这对我来说太棒了!),它可以重用 openCV 配置文件(据我所知)。在他们的人脸检测库的源代码中,您会找到用于轮廓和眼睛检测的模型。

      【讨论】:

        猜你喜欢
        • 2021-01-22
        • 2017-10-07
        • 1970-01-01
        • 2016-12-11
        • 2017-12-22
        • 1970-01-01
        • 2019-11-11
        • 2012-04-12
        • 1970-01-01
        相关资源
        最近更新 更多