使用 dlib 检测眼睛地标

Posted

技术标签:

【中文标题】使用 dlib 检测眼睛地标【英文标题】:Detect Eye Landmark using dlib 【发布时间】:2019-04-20 07:49:17 【问题描述】:

使用 dlib,是否可以在不进行人脸检测的情况下检测眼睛地标?如果是,如何?如果没有,有什么建议或建议吗?谢谢!

Sample

【问题讨论】:

【参考方案1】:

问:是否可以在不进行人脸检测的情况下检测眼睛标志?

答:不,因为 dlib 面部地标需要面部作为输入。

问:如果没有,有什么建议或建议吗?

答:在您的情况下,最简单的人脸检测方法是使用来自 dlib dlib.get_frontal_face_detector() 的人脸检测。但是,您可以使用任何人脸检测,只要您能找到边界框来检测地标。

【讨论】:

如果我只是第一次检测人脸然后使用跟踪怎么办。这可能吗? @Hank 是的,你完全可以做到。这将有助于显着提高您的程序速度。【参考方案2】:

可以通过使用 dlib 训练您自己的对象检测器来实现。简单的 HOG 检测器可以做到这一点。步骤是:

    准备训练数据

    在训练数据集上绘制边界框

    训练并保存为模型

    加载要使用的模型。

您可以从使用 dlib 中的 HOG 的简单对象检测器开始,或者使用深度学习 dlib MMOD 的更高级别。

这里是 MMOD(基于深度学习,精度更高)的链接:http://dlib.net/dnn_mmod_train_find_cars_ex.cpp.html

【讨论】:

以上是关于使用 dlib 检测眼睛地标的主要内容,如果未能解决你的问题,请参考以下文章

给定 dlib 的 68 点面部标志,确定它们有多好

OpenCV+dlib实现疲劳检测

使用opencv在鼻子和眼睛轴上旋转图像

如何填充除某些区域(路径)C#Graphics之外的路径

人脸检测实战高级:使用 OpenCVPython 和 dlib 完成眨眼检测

人脸检测进阶:使用 dlibOpenCV 和 Python 检测眼睛鼻子嘴唇和下巴等面部五官