我目前正在与dlib博客一起研究Adrian Rosebrock的视频眨眼检测器的python实现:
https://www.pyimagesearch.com/author/adrian/
基本上,我正在使用dlib的正面人脸检测器,并将脸部周围的边界框传递到dlib的地标检测器,如下图所示:
有时候dlib的正面人脸检测器找不到人脸,但是其他人脸检测器(例如OpenCV)却能找到人脸。 Adrian的博客听起来好像我可以使用openCV的正面人脸检测器,然后将边界框传递过去。
但是,当我这样做时,地标检测器无法正确找到人的眼睛,如这张照片所示:
我可以和dlib的界标检测器一起使用其他人脸检测器吗?还是我会坚持使用dlib的正面人脸检测器,因为通过其他人脸检测器传递的边界框对于dlib地标检测器来说会有点不正确吗?
谢谢您的时间!
答案 0 :(得分:0)
检查所提供的图像,就好像您没有将正确的参数传递给绘图方法一样。结果看起来正确,只是颠倒了。
答案 1 :(得分:0)
您可以使用自己的面部检测器。您只需要使用 dlib.rectangle()
函数。首先,从人脸检测器中找到边界框,然后将它们映射到 dlib.rectangle(x,y,w,h)
。
然后您可以将此列表中的边界框传递给 predictor(img, rect)
。