【问题标题】:Using a different face detector with dlib's landmark detector将不同的人脸检测器与 dlib 的界标检测器一起使用
【发布时间】:2019-03-23 22:49:41
【问题描述】:

我目前正在使用 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 地标检测器来说会稍微不正确?

感谢您的宝贵时间!

【问题讨论】:

  • 我删除了“ML”标签,因为您显然是在使用 Python 编程。请考虑阅读您正在使用的标签的说明。

标签: python opencv dlib


【解决方案1】:

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

【讨论】:

  • 你是对的,将 openCV 返回的矩形转换为 dlib.rectangle 时,我切换了顶部和底部字段。谢谢!
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2019-06-18
    • 2017-02-01
    • 2017-06-01
    • 2017-10-18
    • 2019-12-01
    • 2021-03-22
    • 2019-01-19
    • 2012-04-17
    • 2017-01-18
    相关资源
    最近更新 更多