消除OpenCV面部分类器检测到的误报

时间:2017-03-14 10:13:13

标签: python opencv cascade-classifier

我正在使用热视频。我的项目实时确定每个框架是否包含面部。通过"包含一个面孔",我的意思是:

enter image description here

一张脸,这个尺寸和角度,每帧

我为此目的训练了一个LBP级联分类器。如上所示,分类器执行得非常好并且能够检测具有非常低的假阴性机会的热面。然而,误报率非常惊人。检测到空白中的非面部对象,如下所示。

enter image description here enter image description here enter image description here

注意:这些图像用作阴性样本

通过调整detectMultiScale方法的参数,可以减少误报的数量。但是,如果scaleFactor为1.5,minNeighbors为10,我会在20%的时间内得到误报。

对于级联训练,我有600张负像(60x80)和90张正像(60x50),其中1200张正样本被生成。

那么在不影响检测速度或帧速率的情况下,该问题的其他可能解决方案或解决方法是什么?

编辑:我尝试通过在负片上使用经过训练的分类器来提取样本中的硬阴性并标记假阴性以将其包含在下一次训练中。到目前为止,我已经能够将误报率降低到12%左右。但是我仍然不满意这个结果。

0 个答案:

没有答案