对人脸检测中误检漏检的一些理解~

人脸检测是二分类问题,误检指的是非人脸被认为是人脸,漏检指的是人脸被认为是非人脸,误检和漏检的理论解释有一些,本文尝试从下面这个角度与童鞋们探讨一下误检漏检的原因。

如果训练样本比较少(小样本问题),会造成人脸检测的误检还是漏检?

答案应该是漏检,请看下面这个图,假设特征在二维空间中进行表征(w1,w2),黑色圆圈代表正样本(人脸),黑色叉叉代表负样本(非人脸)。红色圆圈和绿色圆圈代表不同训练样本集合学习到的分类器。这里我们进一步假设红色圆圈是最优分类器,绿色圆圈是当前训练样本集合学习到的分类器。


红色圆圈代表样本多样性最好的正样本集合学习到的分类器,这个集合训练出来的分类器的性能是最好的,然而,由于训练样本个数较少,虽然没有负样本,但多样性不足,只能形成绿色圆圈代表的分类器,从图上看,这种训练样本集学习出来的分类器势必会造成一些正样本被错分为负样本,却不会令负样本被分为正样本,因为小样本得到的分类器始终是正确的,只是性能不足而已,在图上就表现为,绿色圆圈始终会在红色圆圈之内。所以,小样本问题会造成漏检,而不是误检。

然而,为什么在做人脸检测的时候,样本不够多,发现误检漏检都很多?什么情况下会造成人脸检测的误检?

如果正样本训练集合中,存在着负样本(这点非常常见,需要花费较多的人力进行筛选),那么训练出来的分类器,无论如何都会导致一定程度的误检,即便是小样本问题,如果此时训练样本中存在着负样本,那么同样也会导致误检,如下图所示。

对人脸检测中误检漏检的一些理解~_第1张图片

所以,在做人脸检测的时候,如果发现结果不是很理想,如果是漏检较多,那就应该尽可能增加人脸样本,如果是误检较多,那么就要检查一下正样本(人脸)训练集合中,是否有一些干扰样本混在其中。同时,也要观察负样本集合,确保其中不要含有任何人脸样本。

再说说另外一种情况,由于人脸存在着姿态,光照等各种复杂因素。导致正样本集合中人脸分布较为松散,这个时候,有必要进一步把人脸进行细分,分开训练。比如说,侧脸的分为一类,正脸的分为一类,低头的分为一类。然后各自训练,得到多个人脸检测器。那么,此时如果类别之间有所交叉,会不会造成漏检或者误检呢?

对人脸检测中误检漏检的一些理解~_第2张图片

我认为不会,因为就算是正样本集合之间存在交叉,对于单个正样本集合来说,不论其余样本是否均为负样本,它能够保证的只是判断自己能力范围内的正样本,判断不来的,完全可以由其他正样本子类确定。如上图所示,三个正样本子类存在交叉,只要其合集学习到的分类器在红色圈圈内,变和混合单类没有什么区别。

以上分析,均出于个人理解。有错误,请指正,谢谢!

你可能感兴趣的:(对人脸检测中误检漏检的一些理解~)