人脸检测学习笔记(数据集-DLIB人脸检测原理-DLIBOpenCV人脸检测方法及对比) (2)

2)不会检测小脸,因为它训练的最小脸部尺寸为80×80。因此,您需要确保面部大小应该大于应用程序中的面部大小。但是,您可以为较小尺寸的面部训练自己的面部检测器。

3)边界框甚至小于HoG探测器。

基于dlib的方法能够检测大小达(70×70)的人脸,之后它们无法检测到。正如我们之前讨论的那样,我认为这是基于Dlib的方法的主要缺点。因为在大多数情况下不可能事先知道面部的大小。我们可以通过scaling图像来摆脱这个问题,但是与OpenCV-DNN相比,dlib的速度优势消失了。OpenCV方法仍不支持NVIDIA GPU。各场景下的选择建议:

(1)一般情况

在大多数应用程序中,我们不会在前面的图像中知道面部的大小。因此,***使用OpenCV- DNN方法,因为它非常快速且非常准确,即使对于小尺寸的面部也是如此。它还可以检测各种角度的面部。我们建议大多数人使用OpenCV-DNN。

(2)中到大图像尺寸

Dlib HoG是CPU上最快的方法。但它没有检测到小脸(<70x70)。因此,如果您知道您的应用程序不会处理非常小的面部(例如自拍应用程序),那么基于HoG的面部检测器是更好的选择。此外,如果你可以使用GPU,那么MMOD人脸检测器是***的选择,因为它在GPU上非常快,并且还提供各种角度的检测。

(3)高分辨率图像

由于这些算法不能提供高分辨率图像(计算速度),因此当缩小图像时,HoG / MMOD检测器可能会失败。另一方面,OpenCV-DNN方法可以用于这些,因为它检测小脸。

(4)非正脸

非正面可以向右,向左,向上,向下看,基于Haar的探测器完全失效。基于HoG的探测器确实检测左侧或右侧面部的面(因为它是在它们上训练的),但不如基于DNN的OpenCV和Dlib探测器那样精确。

(5)遮挡

DNN方法优于其他两种方法,OpenCV-DNN略好于Dlib-MMOD。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgjgjf.html