将其他人脸检测器与dlib的地标检测器配合使用

时间:2018-10-19 03:54:35

标签: python opencv dlib

我目前正在与dlib博客一起研究Adrian Rosebrock的视频眨眼检测器的python实现:

https://www.pyimagesearch.com/author/adrian/

基本上,我正在使用dlib的正面人脸检测器,并将脸部周围的边界框传递到dlib的地标检测器,如下图所示:

https://imgur.com/xvkfNeG

有时候dlib的正面人脸检测器找不到人脸,但是其他人脸检测器(例如OpenCV)却能找到人脸。 Adrian的博客听起来好像我可以使用openCV的正面人脸检测器,然后将边界框传递过去。

但是,当我这样做时,地标检测器无法正确找到人的眼睛,如这张照片所示:

https://imgur.com/3eAFFsQ

我可以和dlib的界标检测器一起使用其他人脸检测器吗?还是我会坚持使用dlib的正面人脸检测器,因为通过其他人脸检测器传递的边界框对于dlib地标检测器来说会有点不正确吗?

谢谢您的时间!

2 个答案:

答案 0 :(得分:0)

检查所提供的图像,就好像您没有将正确的参数传递给绘图方法一样。结果看起来正确,只是颠倒了。

答案 1 :(得分:0)

您可以使用自己的面部检测器。您只需要使用 dlib.rectangle() 函数。首先,从人脸检测器中找到边界框,然后将它们映射到 dlib.rectangle(x,y,w,h)

然后您可以将此列表中的边界框传递给 predictor(img, rect)